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
+5
View File
@@ -171,6 +171,11 @@ auto HandleDereference(FunctionContext& context, SemIR::NodeId node_id,
context.SetLocal(node_id, context.GetLocal(node.pointer_id));
}
auto HandleField(FunctionContext& /*context*/, SemIR::NodeId /*node_id*/,
SemIR::Field /*node*/) -> void {
// No action to perform.
}
auto HandleFunctionDeclaration(FunctionContext& /*context*/,
SemIR::NodeId /*node_id*/,
SemIR::FunctionDeclaration node) -> void {