diff options
Diffstat (limited to 'src/ast_render.cpp')
| -rw-r--r-- | src/ast_render.cpp | 76 |
1 files changed, 27 insertions, 49 deletions
diff --git a/src/ast_render.cpp b/src/ast_render.cpp index 1f8a6bcf5e..fbae957e57 100644 --- a/src/ast_render.cpp +++ b/src/ast_render.cpp @@ -406,10 +406,6 @@ static void render_node(AstRender *ar, AstNode *node) { render_node(ar, node->data.fn_def.body); break; } - case NodeTypeFnDecl: - zig_panic("TODO"); - case NodeTypeParamDecl: - zig_panic("TODO"); case NodeTypeBlock: fprintf(ar->f, "{\n"); ar->indent += ar->indent_size; @@ -463,8 +459,6 @@ static void render_node(AstRender *ar, AstNode *node) { render_node(ar, node->data.type_decl.child_type); break; } - case NodeTypeErrorValueDecl: - zig_panic("TODO"); case NodeTypeBinOpExpr: fprintf(ar->f, "("); render_node(ar, node->data.bin_op_expr.op1); @@ -472,8 +466,6 @@ static void render_node(AstRender *ar, AstNode *node) { render_node(ar, node->data.bin_op_expr.op2); fprintf(ar->f, ")"); break; - case NodeTypeUnwrapErrorExpr: - zig_panic("TODO"); case NodeTypeNumberLiteral: switch (node->data.number_literal.bignum->kind) { case BigNumKindInt: @@ -544,8 +536,6 @@ static void render_node(AstRender *ar, AstNode *node) { render_node(ar, node->data.array_access_expr.subscript); fprintf(ar->f, "]"); break; - case NodeTypeSliceExpr: - zig_panic("TODO"); case NodeTypeFieldAccessExpr: { AstNode *lhs = node->data.field_access_expr.struct_expr; @@ -555,42 +545,9 @@ static void render_node(AstRender *ar, AstNode *node) { print_symbol(ar, rhs); break; } - case NodeTypeUse: - zig_panic("TODO"); - case NodeTypeBoolLiteral: - zig_panic("TODO"); - case NodeTypeNullLiteral: - zig_panic("TODO"); case NodeTypeUndefinedLiteral: - zig_panic("TODO"); - case NodeTypeZeroesLiteral: - zig_panic("TODO"); - case NodeTypeThisLiteral: - zig_panic("TODO"); - case NodeTypeIfBoolExpr: - zig_panic("TODO"); - case NodeTypeIfVarExpr: - zig_panic("TODO"); - case NodeTypeWhileExpr: - zig_panic("TODO"); - case NodeTypeForExpr: - zig_panic("TODO"); - case NodeTypeSwitchExpr: - zig_panic("TODO"); - case NodeTypeSwitchProng: - zig_panic("TODO"); - case NodeTypeSwitchRange: - zig_panic("TODO"); - case NodeTypeLabel: - zig_panic("TODO"); - case NodeTypeGoto: - zig_panic("TODO"); - case NodeTypeBreak: - zig_panic("TODO"); - case NodeTypeContinue: - zig_panic("TODO"); - case NodeTypeAsmExpr: - zig_panic("TODO"); + fprintf(ar->f, "undefined"); + break; case NodeTypeContainerDecl: { const char *struct_name = buf_ptr(node->data.struct_decl.name); @@ -612,8 +569,6 @@ static void render_node(AstRender *ar, AstNode *node) { fprintf(ar->f, "}"); break; } - case NodeTypeStructField: - zig_panic("TODO"); case NodeTypeContainerInitExpr: fprintf(ar->f, "("); render_node(ar, node->data.container_init_expr.type); @@ -621,8 +576,6 @@ static void render_node(AstRender *ar, AstNode *node) { assert(node->data.container_init_expr.entries.length == 0); fprintf(ar->f, "}"); break; - case NodeTypeStructValueField: - zig_panic("TODO"); case NodeTypeArrayType: { fprintf(ar->f, "["); @@ -645,6 +598,31 @@ static void render_node(AstRender *ar, AstNode *node) { case NodeTypeVarLiteral: fprintf(ar->f, "var"); break; + case NodeTypeFnDecl: + case NodeTypeParamDecl: + case NodeTypeErrorValueDecl: + case NodeTypeUnwrapErrorExpr: + case NodeTypeSliceExpr: + case NodeTypeStructField: + case NodeTypeStructValueField: + case NodeTypeUse: + case NodeTypeBoolLiteral: + case NodeTypeNullLiteral: + case NodeTypeZeroesLiteral: + case NodeTypeThisLiteral: + case NodeTypeIfBoolExpr: + case NodeTypeIfVarExpr: + case NodeTypeWhileExpr: + case NodeTypeForExpr: + case NodeTypeSwitchExpr: + case NodeTypeSwitchProng: + case NodeTypeSwitchRange: + case NodeTypeLabel: + case NodeTypeGoto: + case NodeTypeBreak: + case NodeTypeContinue: + case NodeTypeAsmExpr: + zig_panic("TODO more ast rendering"); } } |
