mirror of
https://codeberg.org/ziglang/zig.git
synced 2025-12-06 13:54:21 +00:00
inline AstNodeStatementExpression
This commit is contained in:
parent
22421447fb
commit
311fd67083
3 changed files with 3 additions and 21 deletions
|
|
@ -292,9 +292,6 @@ static void analyze_node(CodeGen *g, AstNode *node) {
|
|||
analyze_node(g, child);
|
||||
}
|
||||
break;
|
||||
case NodeTypeStatementExpression:
|
||||
analyze_node(g, node->data.statement_expression.expression);
|
||||
break;
|
||||
case NodeTypeStatementReturn:
|
||||
analyze_node(g, node->data.statement_return.expression);
|
||||
break;
|
||||
|
|
@ -520,10 +517,9 @@ static void gen_block(CodeGen *g, AstNode *block_node) {
|
|||
LLVMBuildRet(g->builder, value);
|
||||
break;
|
||||
}
|
||||
case NodeTypeStatementExpression:
|
||||
case NodeTypeExpression:
|
||||
{
|
||||
AstNode *expr_node = statement_node->data.statement_expression.expression;
|
||||
gen_expr(g, expr_node);
|
||||
gen_expr(g, statement_node);
|
||||
break;
|
||||
}
|
||||
case NodeTypeRoot:
|
||||
|
|
@ -533,7 +529,6 @@ static void gen_block(CodeGen *g, AstNode *block_node) {
|
|||
case NodeTypeParamDecl:
|
||||
case NodeTypeType:
|
||||
case NodeTypeBlock:
|
||||
case NodeTypeExpression:
|
||||
case NodeTypeFnCall:
|
||||
case NodeTypeExternBlock:
|
||||
case NodeTypeDirective:
|
||||
|
|
|
|||
|
|
@ -41,8 +41,6 @@ const char *node_type_str(NodeType node_type) {
|
|||
return "Type";
|
||||
case NodeTypeBlock:
|
||||
return "Block";
|
||||
case NodeTypeStatementExpression:
|
||||
return "StatementExpression";
|
||||
case NodeTypeStatementReturn:
|
||||
return "StatementReturn";
|
||||
case NodeTypeExpression:
|
||||
|
|
@ -132,10 +130,6 @@ void ast_print(AstNode *node, int indent) {
|
|||
fprintf(stderr, "ReturnStatement\n");
|
||||
ast_print(node->data.statement_return.expression, indent + 2);
|
||||
break;
|
||||
case NodeTypeStatementExpression:
|
||||
fprintf(stderr, "ExpressionStatement\n");
|
||||
ast_print(node->data.statement_expression.expression, indent + 2);
|
||||
break;
|
||||
case NodeTypeExternBlock:
|
||||
{
|
||||
fprintf(stderr, "%s\n", node_type_str(node->type));
|
||||
|
|
@ -466,8 +460,7 @@ static AstNode *ast_parse_statement(ParseContext *pc, int token_index, int *new_
|
|||
token->id == TokenIdKeywordUnreachable ||
|
||||
token->id == TokenIdNumberLiteral)
|
||||
{
|
||||
AstNode *node = ast_create_node(NodeTypeStatementExpression, token);
|
||||
node->data.statement_expression.expression = ast_parse_expression(pc, token_index, &token_index);
|
||||
AstNode *node = ast_parse_expression(pc, token_index, &token_index);
|
||||
|
||||
Token *semicolon = &pc->tokens->at(token_index);
|
||||
token_index += 1;
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@ enum NodeType {
|
|||
NodeTypeFnCall,
|
||||
NodeTypeExternBlock,
|
||||
NodeTypeDirective,
|
||||
NodeTypeStatementExpression,
|
||||
NodeTypeStatementReturn,
|
||||
};
|
||||
|
||||
|
|
@ -71,10 +70,6 @@ struct AstNodeBlock {
|
|||
ZigList<AstNode *> statements;
|
||||
};
|
||||
|
||||
struct AstNodeStatementExpression {
|
||||
AstNode *expression;
|
||||
};
|
||||
|
||||
struct AstNodeStatementReturn {
|
||||
AstNode *expression;
|
||||
};
|
||||
|
|
@ -124,7 +119,6 @@ struct AstNode {
|
|||
AstNodeType type;
|
||||
AstNodeParamDecl param_decl;
|
||||
AstNodeBlock block;
|
||||
AstNodeStatementExpression statement_expression;
|
||||
AstNodeStatementReturn statement_return;
|
||||
AstNodeExpression expression;
|
||||
AstNodeFnCall fn_call;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue