Add a Field node for fields in a class. (#3332)

This replaces the use of `VarStorage` in this case.

Add an `UnboundFieldType` type as the type of a field, in cases where
it's referenced without an accompanying object.

Add a `BindName` node to describe the name binding performed for both
variables and fields so that we can handle them more uniformly.
This commit is contained in:
Richard Smith
2023-10-25 18:49:36 +00:00
committed by GitHub
parent 74c3c665fa
commit 7f2f4bec4f
107 changed files with 792 additions and 450 deletions
+2 -1
View File
@@ -12,5 +12,6 @@ var a: [1; 39999999999999999993];
// CHECK:STDOUT: file "fail_bound_overflow.carbon" {
// CHECK:STDOUT: %.loc10_9: i32 = int_literal 1
// CHECK:STDOUT: %.loc10_12: i32 = int_literal 39999999999999999993
// CHECK:STDOUT: %a: ref <error> = var "a"
// CHECK:STDOUT: %a.var: ref <error> = var "a"
// CHECK:STDOUT: %a: ref <error> = bind_name "a", %a.var
// CHECK:STDOUT: }