diff --git a/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java b/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java index 2290278..f731c57 100644 --- a/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java +++ b/src/main/java/org/jcnc/snow/compiler/ir/builder/StatementBuilder.java @@ -66,12 +66,12 @@ public class StatementBuilder { buildIf(ifNode); return; } - if (stmt instanceof ExpressionStatementNode(ExpressionNode exp)) { + if (stmt instanceof ExpressionStatementNode(ExpressionNode exp, _, _, _)) { // 纯表达式语句,如 foo(); expr.build(exp); return; } - if (stmt instanceof AssignmentNode(String var, ExpressionNode rhs)) { + if (stmt instanceof AssignmentNode(String var, ExpressionNode rhs, _, _, _)) { // 赋值语句,如 a = b + 1; final String type = ctx.getScope().lookupType(var); @@ -208,7 +208,10 @@ public class StatementBuilder { if (cond instanceof BinaryExpressionNode( ExpressionNode left, String operator, - ExpressionNode right + ExpressionNode right, + _, + _, + _ ) && ComparisonUtils.isComparisonOperator(operator)) { diff --git a/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/expression/CallExpressionAnalyzer.java b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/expression/CallExpressionAnalyzer.java index b82d78f..9a6f923 100644 --- a/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/expression/CallExpressionAnalyzer.java +++ b/src/main/java/org/jcnc/snow/compiler/semantic/analyzers/expression/CallExpressionAnalyzer.java @@ -51,8 +51,8 @@ public class CallExpressionAnalyzer implements ExpressionAnalyzer