diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-10-06 16:39:27 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-10-06 16:39:27 -0400 |
| commit | 8e2c441b2eae7af27fe311c4539f6932a7f47cea (patch) | |
| tree | 9bb0bd70760ab320431ada61169520689a65a4c1 /src/ir.cpp | |
| parent | 86171afb9b7d7f1c1d5444f894e273ca40e87147 (diff) | |
| download | zig-8e2c441b2eae7af27fe311c4539f6932a7f47cea.tar.gz zig-8e2c441b2eae7af27fe311c4539f6932a7f47cea.zip | |
stage1 parser supports doc comments
Diffstat (limited to 'src/ir.cpp')
| -rw-r--r-- | src/ir.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ir.cpp b/src/ir.cpp index 52b59ddcad..2bfde74da0 100644 --- a/src/ir.cpp +++ b/src/ir.cpp @@ -7945,7 +7945,15 @@ static IrInstruction *ir_gen_err_set_decl(IrBuilder *irb, Scope *parent_scope, A ErrorTableEntry **errors = allocate<ErrorTableEntry *>(irb->codegen->errors_by_index.length + err_count); for (uint32_t i = 0; i < err_count; i += 1) { - AstNode *symbol_node = node->data.err_set_decl.decls.at(i); + AstNode *field_node = node->data.err_set_decl.decls.at(i); + AstNode *symbol_node; + if (field_node->type == NodeTypeSymbol) { + symbol_node = field_node; + } else if (field_node->type == NodeTypeErrorSetField) { + symbol_node = field_node->data.err_set_field.field_name; + } else { + zig_unreachable(); + } assert(symbol_node->type == NodeTypeSymbol); Buf *err_name = symbol_node->data.symbol_expr.symbol; ErrorTableEntry *err = allocate<ErrorTableEntry>(1); @@ -8116,6 +8124,7 @@ static IrInstruction *ir_gen_node_raw(IrBuilder *irb, AstNode *node, Scope *scop case NodeTypeSwitchProng: case NodeTypeSwitchRange: case NodeTypeStructField: + case NodeTypeErrorSetField: case NodeTypeFnDef: case NodeTypeTestDecl: zig_unreachable(); |
