authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-07-17 16:30:41-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2016-07-17 16:30:41-07:00
log425c0ffa014fb950a4f9f90aa9a200fbc4d8e091
tree8575e5e71c8c8985dc967fb36257c28793a21bba
parent3971bf3d728ebb78a90caab504827db8a4c24423

rename NodeTypeStructDecl to NodeTypeContainerDecl


7 files changed, 25 insertions(+), 25 deletions(-)

src/all_types.hpp+1-1
...@@ -179,7 +179,7 @@ enum NodeType {...@@ -179,7 +179,7 @@ enum NodeType {
179 NodeTypeBreak,179 NodeTypeBreak,
180 NodeTypeContinue,180 NodeTypeContinue,
181 NodeTypeAsmExpr,181 NodeTypeAsmExpr,
182 NodeTypeStructDecl,182 NodeTypeContainerDecl,
183 NodeTypeStructField,183 NodeTypeStructField,
184 NodeTypeContainerInitExpr,184 NodeTypeContainerInitExpr,
185 NodeTypeStructValueField,185 NodeTypeStructValueField,
src/analyze.cpp+14-14
...@@ -95,7 +95,7 @@ static AstNode *first_executing_node(AstNode *node) {...@@ -95,7 +95,7 @@ static AstNode *first_executing_node(AstNode *node) {
95 case NodeTypeBreak:95 case NodeTypeBreak:
96 case NodeTypeContinue:96 case NodeTypeContinue:
97 case NodeTypeAsmExpr:97 case NodeTypeAsmExpr:
98 case NodeTypeStructDecl:98 case NodeTypeContainerDecl:
99 case NodeTypeStructField:99 case NodeTypeStructField:
100 case NodeTypeStructValueField:100 case NodeTypeStructValueField:
101 case NodeTypeWhileExpr:101 case NodeTypeWhileExpr:
...@@ -1505,7 +1505,7 @@ static void preview_generic_fn_proto(CodeGen *g, ImportTableEntry *import, AstNo...@@ -1505,7 +1505,7 @@ static void preview_generic_fn_proto(CodeGen *g, ImportTableEntry *import, AstNo
1505 }1505 }
15061506
1507 node->data.fn_proto.generic_fn_type = get_generic_fn_type(g, node);1507 node->data.fn_proto.generic_fn_type = get_generic_fn_type(g, node);
1508 } else if (node->type == NodeTypeStructDecl) {1508 } else if (node->type == NodeTypeContainerDecl) {
1509 if (node->data.struct_decl.generic_params_is_var_args) {1509 if (node->data.struct_decl.generic_params_is_var_args) {
1510 add_node_error(g, node, buf_sprintf("generic parameters cannot be var args"));1510 add_node_error(g, node, buf_sprintf("generic parameters cannot be var args"));
1511 node->data.struct_decl.skip = true;1511 node->data.struct_decl.skip = true;
...@@ -1589,7 +1589,7 @@ static void preview_fn_proto(CodeGen *g, ImportTableEntry *import, AstNode *prot...@@ -1589,7 +1589,7 @@ static void preview_fn_proto(CodeGen *g, ImportTableEntry *import, AstNode *prot
1589}1589}
15901590
1591static void scan_struct_decl(CodeGen *g, ImportTableEntry *import, BlockContext *context, AstNode *node) {1591static void scan_struct_decl(CodeGen *g, ImportTableEntry *import, BlockContext *context, AstNode *node) {
1592 assert(node->type == NodeTypeStructDecl);1592 assert(node->type == NodeTypeContainerDecl);
15931593
1594 if (node->data.struct_decl.type_entry) {1594 if (node->data.struct_decl.type_entry) {
1595 // already scanned; we can ignore. This can happen from importing from an .h file.1595 // already scanned; we can ignore. This can happen from importing from an .h file.
...@@ -1666,7 +1666,7 @@ static void resolve_top_level_decl(CodeGen *g, AstNode *node, bool pointer_only)...@@ -1666,7 +1666,7 @@ static void resolve_top_level_decl(CodeGen *g, AstNode *node, bool pointer_only)
1666 if (tld->resolution != TldResolutionUnresolved) {1666 if (tld->resolution != TldResolutionUnresolved) {
1667 return;1667 return;
1668 }1668 }
1669 if (pointer_only && node->type == NodeTypeStructDecl) {1669 if (pointer_only && node->type == NodeTypeContainerDecl) {
1670 return;1670 return;
1671 }1671 }
16721672
...@@ -1685,7 +1685,7 @@ static void resolve_top_level_decl(CodeGen *g, AstNode *node, bool pointer_only)...@@ -1685,7 +1685,7 @@ static void resolve_top_level_decl(CodeGen *g, AstNode *node, bool pointer_only)
1685 case NodeTypeFnProto:1685 case NodeTypeFnProto:
1686 preview_fn_proto(g, import, node);1686 preview_fn_proto(g, import, node);
1687 break;1687 break;
1688 case NodeTypeStructDecl:1688 case NodeTypeContainerDecl:
1689 resolve_struct_decl(g, import, node);1689 resolve_struct_decl(g, import, node);
1690 break;1690 break;
1691 case NodeTypeVariableDeclaration:1691 case NodeTypeVariableDeclaration:
...@@ -3013,7 +3013,7 @@ static TypeTableEntry *analyze_decl_ref(CodeGen *g, AstNode *source_node, AstNod...@@ -3013,7 +3013,7 @@ static TypeTableEntry *analyze_decl_ref(CodeGen *g, AstNode *source_node, AstNod
3013 assert(fn_entry->type_entry);3013 assert(fn_entry->type_entry);
3014 return resolve_expr_const_val_as_fn(g, source_node, fn_entry, depends_on_compile_var);3014 return resolve_expr_const_val_as_fn(g, source_node, fn_entry, depends_on_compile_var);
3015 }3015 }
3016 } else if (decl_node->type == NodeTypeStructDecl) {3016 } else if (decl_node->type == NodeTypeContainerDecl) {
3017 if (decl_node->data.struct_decl.generic_params.length > 0) {3017 if (decl_node->data.struct_decl.generic_params.length > 0) {
3018 TypeTableEntry *type_entry = decl_node->data.struct_decl.generic_fn_type;3018 TypeTableEntry *type_entry = decl_node->data.struct_decl.generic_fn_type;
3019 assert(type_entry);3019 assert(type_entry);
...@@ -5355,7 +5355,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp...@@ -5355,7 +5355,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp
5355 ZigList<AstNode *> *generic_params;5355 ZigList<AstNode *> *generic_params;
5356 if (decl_node->type == NodeTypeFnProto) {5356 if (decl_node->type == NodeTypeFnProto) {
5357 generic_params = &decl_node->data.fn_proto.generic_params;5357 generic_params = &decl_node->data.fn_proto.generic_params;
5358 } else if (decl_node->type == NodeTypeStructDecl) {5358 } else if (decl_node->type == NodeTypeContainerDecl) {
5359 generic_params = &decl_node->data.struct_decl.generic_params;5359 generic_params = &decl_node->data.struct_decl.generic_params;
5360 } else {5360 } else {
5361 zig_unreachable();5361 zig_unreachable();
...@@ -5423,7 +5423,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp...@@ -5423,7 +5423,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp
5423 if (impl_decl_node->type == NodeTypeFnProto) {5423 if (impl_decl_node->type == NodeTypeFnProto) {
5424 FnTableEntry *fn_table_entry = impl_decl_node->data.fn_proto.fn_table_entry;5424 FnTableEntry *fn_table_entry = impl_decl_node->data.fn_proto.fn_table_entry;
5425 return resolve_expr_const_val_as_fn(g, node, fn_table_entry, false);5425 return resolve_expr_const_val_as_fn(g, node, fn_table_entry, false);
5426 } else if (impl_decl_node->type == NodeTypeStructDecl) {5426 } else if (impl_decl_node->type == NodeTypeContainerDecl) {
5427 TypeTableEntry *type_entry = impl_decl_node->data.struct_decl.type_entry;5427 TypeTableEntry *type_entry = impl_decl_node->data.struct_decl.type_entry;
5428 return resolve_expr_const_val_as_type(g, node, type_entry, false);5428 return resolve_expr_const_val_as_type(g, node, type_entry, false);
5429 } else {5429 } else {
...@@ -5440,7 +5440,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp...@@ -5440,7 +5440,7 @@ static TypeTableEntry *analyze_generic_fn_call(CodeGen *g, ImportTableEntry *imp
5440 g->generic_table.put(generic_fn_type_id, impl_decl_node);5440 g->generic_table.put(generic_fn_type_id, impl_decl_node);
5441 FnTableEntry *fn_table_entry = impl_decl_node->data.fn_proto.fn_table_entry;5441 FnTableEntry *fn_table_entry = impl_decl_node->data.fn_proto.fn_table_entry;
5442 return resolve_expr_const_val_as_fn(g, node, fn_table_entry, false);5442 return resolve_expr_const_val_as_fn(g, node, fn_table_entry, false);
5443 } else if (decl_node->type == NodeTypeStructDecl) {5443 } else if (decl_node->type == NodeTypeContainerDecl) {
5444 AstNode *impl_decl_node = ast_clone_subtree(decl_node, &g->next_node_index);5444 AstNode *impl_decl_node = ast_clone_subtree(decl_node, &g->next_node_index);
5445 g->generic_table.put(generic_fn_type_id, impl_decl_node);5445 g->generic_table.put(generic_fn_type_id, impl_decl_node);
5446 scan_struct_decl(g, import, child_context, impl_decl_node);5446 scan_struct_decl(g, import, child_context, impl_decl_node);
...@@ -6291,7 +6291,7 @@ static TypeTableEntry *analyze_expression_pointer_only(CodeGen *g, ImportTableEn...@@ -6291,7 +6291,7 @@ static TypeTableEntry *analyze_expression_pointer_only(CodeGen *g, ImportTableEn
6291 case NodeTypeFnDef:6291 case NodeTypeFnDef:
6292 case NodeTypeUse:6292 case NodeTypeUse:
6293 case NodeTypeLabel:6293 case NodeTypeLabel:
6294 case NodeTypeStructDecl:6294 case NodeTypeContainerDecl:
6295 case NodeTypeStructField:6295 case NodeTypeStructField:
6296 case NodeTypeStructValueField:6296 case NodeTypeStructValueField:
6297 case NodeTypeErrorValueDecl:6297 case NodeTypeErrorValueDecl:
...@@ -6408,7 +6408,7 @@ static void add_top_level_decl(CodeGen *g, ImportTableEntry *import, BlockContex...@@ -6408,7 +6408,7 @@ static void add_top_level_decl(CodeGen *g, ImportTableEntry *import, BlockContex
64086408
6409 bool want_as_export = (g->check_unused || g->is_test_build || tld->visib_mod == VisibModExport);6409 bool want_as_export = (g->check_unused || g->is_test_build || tld->visib_mod == VisibModExport);
6410 bool is_generic = (node->type == NodeTypeFnProto && node->data.fn_proto.generic_params.length > 0) ||6410 bool is_generic = (node->type == NodeTypeFnProto && node->data.fn_proto.generic_params.length > 0) ||
6411 (node->type == NodeTypeStructDecl && node->data.struct_decl.generic_params.length > 0);6411 (node->type == NodeTypeContainerDecl && node->data.struct_decl.generic_params.length > 0);
6412 if (!is_generic && want_as_export) {6412 if (!is_generic && want_as_export) {
6413 g->export_queue.append(node);6413 g->export_queue.append(node);
6414 }6414 }
...@@ -6433,7 +6433,7 @@ static void scan_decls(CodeGen *g, ImportTableEntry *import, BlockContext *conte...@@ -6433,7 +6433,7 @@ static void scan_decls(CodeGen *g, ImportTableEntry *import, BlockContext *conte
6433 scan_decls(g, import, context, child);6433 scan_decls(g, import, context, child);
6434 }6434 }
6435 break;6435 break;
6436 case NodeTypeStructDecl:6436 case NodeTypeContainerDecl:
6437 {6437 {
6438 Buf *name = &node->data.struct_decl.name;6438 Buf *name = &node->data.struct_decl.name;
6439 add_top_level_decl(g, import, context, node, name);6439 add_top_level_decl(g, import, context, node, name);
...@@ -6782,7 +6782,7 @@ Expr *get_resolved_expr(AstNode *node) {...@@ -6782,7 +6782,7 @@ Expr *get_resolved_expr(AstNode *node) {
6782 case NodeTypeParamDecl:6782 case NodeTypeParamDecl:
6783 case NodeTypeDirective:6783 case NodeTypeDirective:
6784 case NodeTypeUse:6784 case NodeTypeUse:
6785 case NodeTypeStructDecl:6785 case NodeTypeContainerDecl:
6786 case NodeTypeStructField:6786 case NodeTypeStructField:
6787 case NodeTypeStructValueField:6787 case NodeTypeStructValueField:
6788 case NodeTypeErrorValueDecl:6788 case NodeTypeErrorValueDecl:
...@@ -6800,7 +6800,7 @@ static TopLevelDecl *get_as_top_level_decl(AstNode *node) {...@@ -6800,7 +6800,7 @@ static TopLevelDecl *get_as_top_level_decl(AstNode *node) {
6800 return &node->data.fn_proto.top_level_decl;6800 return &node->data.fn_proto.top_level_decl;
6801 case NodeTypeFnDef:6801 case NodeTypeFnDef:
6802 return &node->data.fn_def.fn_proto->data.fn_proto.top_level_decl;6802 return &node->data.fn_def.fn_proto->data.fn_proto.top_level_decl;
6803 case NodeTypeStructDecl:6803 case NodeTypeContainerDecl:
6804 return &node->data.struct_decl.top_level_decl;6804 return &node->data.struct_decl.top_level_decl;
6805 case NodeTypeErrorValueDecl:6805 case NodeTypeErrorValueDecl:
6806 return &node->data.error_value_decl.top_level_decl;6806 return &node->data.error_value_decl.top_level_decl;
src/ast_render.cpp+3-3
...@@ -170,8 +170,8 @@ static const char *node_type_str(NodeType node_type) {...@@ -170,8 +170,8 @@ static const char *node_type_str(NodeType node_type) {
170 return "AsmExpr";170 return "AsmExpr";
171 case NodeTypeFieldAccessExpr:171 case NodeTypeFieldAccessExpr:
172 return "FieldAccessExpr";172 return "FieldAccessExpr";
173 case NodeTypeStructDecl:173 case NodeTypeContainerDecl:
174 return "StructDecl";174 return "ContainerDecl";
175 case NodeTypeStructField:175 case NodeTypeStructField:
176 return "StructField";176 return "StructField";
177 case NodeTypeStructValueField:177 case NodeTypeStructValueField:
...@@ -565,7 +565,7 @@ static void render_node(AstRender *ar, AstNode *node) {...@@ -565,7 +565,7 @@ static void render_node(AstRender *ar, AstNode *node) {
565 zig_panic("TODO");565 zig_panic("TODO");
566 case NodeTypeAsmExpr:566 case NodeTypeAsmExpr:
567 zig_panic("TODO");567 zig_panic("TODO");
568 case NodeTypeStructDecl:568 case NodeTypeContainerDecl:
569 {569 {
570 const char *struct_name = buf_ptr(&node->data.struct_decl.name);570 const char *struct_name = buf_ptr(&node->data.struct_decl.name);
571 const char *pub_str = visib_mod_string(node->data.struct_decl.top_level_decl.visib_mod);571 const char *pub_str = visib_mod_string(node->data.struct_decl.top_level_decl.visib_mod);
src/codegen.cpp+1-1
...@@ -3487,7 +3487,7 @@ static LLVMValueRef gen_expr(CodeGen *g, AstNode *node) {...@@ -3487,7 +3487,7 @@ static LLVMValueRef gen_expr(CodeGen *g, AstNode *node) {
3487 case NodeTypeParamDecl:3487 case NodeTypeParamDecl:
3488 case NodeTypeDirective:3488 case NodeTypeDirective:
3489 case NodeTypeUse:3489 case NodeTypeUse:
3490 case NodeTypeStructDecl:3490 case NodeTypeContainerDecl:
3491 case NodeTypeStructField:3491 case NodeTypeStructField:
3492 case NodeTypeStructValueField:3492 case NodeTypeStructValueField:
3493 case NodeTypeSwitchProng:3493 case NodeTypeSwitchProng:
src/eval.cpp+1-1
...@@ -1269,7 +1269,7 @@ static bool eval_expr(EvalFn *ef, AstNode *node, ConstExprValue *out) {...@@ -1269,7 +1269,7 @@ static bool eval_expr(EvalFn *ef, AstNode *node, ConstExprValue *out) {
1269 case NodeTypeGoto:1269 case NodeTypeGoto:
1270 case NodeTypeBreak:1270 case NodeTypeBreak:
1271 case NodeTypeContinue:1271 case NodeTypeContinue:
1272 case NodeTypeStructDecl:1272 case NodeTypeContainerDecl:
1273 case NodeTypeStructField:1273 case NodeTypeStructField:
1274 case NodeTypeStructValueField:1274 case NodeTypeStructValueField:
1275 case NodeTypeArrayType:1275 case NodeTypeArrayType:
src/parseh.cpp+2-2
...@@ -936,7 +936,7 @@ static void visit_enum_decl(Context *c, const EnumDecl *enum_decl) {...@@ -936,7 +936,7 @@ static void visit_enum_decl(Context *c, const EnumDecl *enum_decl) {
936 if (enum_type->id == TypeTableEntryIdEnum) {936 if (enum_type->id == TypeTableEntryIdEnum) {
937 if (enum_type->data.enumeration.complete) {937 if (enum_type->data.enumeration.complete) {
938 // now create top level decl for the type938 // now create top level decl for the type
939 AstNode *enum_node = create_node(c, NodeTypeStructDecl);939 AstNode *enum_node = create_node(c, NodeTypeContainerDecl);
940 buf_init_from_buf(&enum_node->data.struct_decl.name, &enum_type->name);940 buf_init_from_buf(&enum_node->data.struct_decl.name, &enum_type->name);
941 enum_node->data.struct_decl.kind = ContainerKindEnum;941 enum_node->data.struct_decl.kind = ContainerKindEnum;
942 enum_node->data.struct_decl.top_level_decl.visib_mod = VisibModExport;942 enum_node->data.struct_decl.top_level_decl.visib_mod = VisibModExport;
...@@ -1113,7 +1113,7 @@ static void visit_record_decl(Context *c, const RecordDecl *record_decl) {...@@ -1113,7 +1113,7 @@ static void visit_record_decl(Context *c, const RecordDecl *record_decl) {
11131113
1114 if (struct_type->data.structure.complete) {1114 if (struct_type->data.structure.complete) {
1115 // now create a top level decl node for the type1115 // now create a top level decl node for the type
1116 AstNode *struct_node = create_node(c, NodeTypeStructDecl);1116 AstNode *struct_node = create_node(c, NodeTypeContainerDecl);
1117 buf_init_from_buf(&struct_node->data.struct_decl.name, &struct_type->name);1117 buf_init_from_buf(&struct_node->data.struct_decl.name, &struct_type->name);
1118 struct_node->data.struct_decl.kind = ContainerKindStruct;1118 struct_node->data.struct_decl.kind = ContainerKindStruct;
1119 struct_node->data.struct_decl.top_level_decl.visib_mod = VisibModExport;1119 struct_node->data.struct_decl.top_level_decl.visib_mod = VisibModExport;
src/parser.cpp+3-3
...@@ -2659,7 +2659,7 @@ static AstNode *ast_parse_container_decl(ParseContext *pc, int *token_index,...@@ -2659,7 +2659,7 @@ static AstNode *ast_parse_container_decl(ParseContext *pc, int *token_index,
26592659
2660 Token *struct_name = ast_eat_token(pc, token_index, TokenIdSymbol);2660 Token *struct_name = ast_eat_token(pc, token_index, TokenIdSymbol);
26612661
2662 AstNode *node = ast_create_node(pc, NodeTypeStructDecl, first_token);2662 AstNode *node = ast_create_node(pc, NodeTypeContainerDecl, first_token);
2663 node->data.struct_decl.kind = kind;2663 node->data.struct_decl.kind = kind;
2664 ast_buf_from_token(pc, struct_name, &node->data.struct_decl.name);2664 ast_buf_from_token(pc, struct_name, &node->data.struct_decl.name);
2665 node->data.struct_decl.top_level_decl.visib_mod = visib_mod;2665 node->data.struct_decl.top_level_decl.visib_mod = visib_mod;
...@@ -3077,7 +3077,7 @@ void ast_visit_node_children(AstNode *node, void (*visit)(AstNode **, void *cont...@@ -3077,7 +3077,7 @@ void ast_visit_node_children(AstNode *node, void (*visit)(AstNode **, void *cont
3077 visit_field(&asm_output->return_type, visit, context);3077 visit_field(&asm_output->return_type, visit, context);
3078 }3078 }
3079 break;3079 break;
3080 case NodeTypeStructDecl:3080 case NodeTypeContainerDecl:
3081 visit_node_list(&node->data.struct_decl.fields, visit, context);3081 visit_node_list(&node->data.struct_decl.fields, visit, context);
3082 visit_node_list(&node->data.struct_decl.decls, visit, context);3082 visit_node_list(&node->data.struct_decl.decls, visit, context);
3083 visit_node_list(node->data.struct_decl.top_level_decl.directives, visit, context);3083 visit_node_list(node->data.struct_decl.top_level_decl.directives, visit, context);
...@@ -3319,7 +3319,7 @@ AstNode *ast_clone_subtree(AstNode *old_node, uint32_t *next_node_index) {...@@ -3319,7 +3319,7 @@ AstNode *ast_clone_subtree(AstNode *old_node, uint32_t *next_node_index) {
3319 case NodeTypeAsmExpr:3319 case NodeTypeAsmExpr:
3320 zig_panic("TODO");3320 zig_panic("TODO");
3321 break;3321 break;
3322 case NodeTypeStructDecl:3322 case NodeTypeContainerDecl:
3323 clone_subtree_list(&new_node->data.struct_decl.fields, &old_node->data.struct_decl.fields,3323 clone_subtree_list(&new_node->data.struct_decl.fields, &old_node->data.struct_decl.fields,
3324 next_node_index);3324 next_node_index);
3325 clone_subtree_list(&new_node->data.struct_decl.decls, &old_node->data.struct_decl.decls,3325 clone_subtree_list(&new_node->data.struct_decl.decls, &old_node->data.struct_decl.decls,