Fix erronously using the name of the properties instead of the typename for lookup
This commit is contained in:
@@ -277,10 +277,12 @@ emit_node :: (state : *Codegen_State, node : *AST_Node, indentation : int) {
|
||||
case .Variable; {
|
||||
indent(*state.builder, indentation);
|
||||
|
||||
type_var := h2tv(state.type_variables, node.type_variable);
|
||||
print("type: %\n", type_var.typename);
|
||||
is_properties := node.name == "properties";
|
||||
|
||||
if !is_properties {
|
||||
print_to_builder(*state.builder, "%", node.name);
|
||||
print_to_builder(*state.builder, "%", node.name);
|
||||
}
|
||||
|
||||
if node.children.count > 0 {
|
||||
|
||||
@@ -920,7 +920,7 @@ declare_properties :: (checker : *Semantic_Checker, node : *AST_Node) -> Type_Va
|
||||
name := ifx node.name.count == 0 then "properties" else node.name;
|
||||
type_var := declare_struct(checker, node, name);
|
||||
var := h2tv(checker, type_var);
|
||||
var.typename = name;
|
||||
var.typename = "properties";
|
||||
var.buffer_index = 0;
|
||||
return type_var;
|
||||
}
|
||||
@@ -1204,7 +1204,11 @@ create_variable :: (checker : *Semantic_Checker, node : *AST_Node, field_parent
|
||||
field_access_on_primitive_type(checker, node, find_result.type_variable);
|
||||
return 0;
|
||||
} else {
|
||||
struct_symbol := find_symbol(checker, variable.typename, checker.current_scope);
|
||||
lookup_name : string;
|
||||
if variable.typename == "properties" {
|
||||
lookup_name = variable.name;
|
||||
}
|
||||
struct_symbol := find_symbol(checker, lookup_name, checker.current_scope);
|
||||
type_variable := h2tv(checker, struct_symbol.type_variable);
|
||||
|
||||
previous_scope := use_scope(checker, type_variable.scope);
|
||||
|
||||
Reference in New Issue
Block a user