Archived
Simplify code generation using overridden AST methods.
This commit is contained in:
+10
@@ -30,4 +30,14 @@ public class CharacterExpression extends Expression {
|
||||
}
|
||||
|
||||
public final CharacterLiteral CL;
|
||||
|
||||
@Override
|
||||
public boolean isLiteral() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getValue() {
|
||||
return CL.getValue();
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -28,6 +28,14 @@ public abstract class Expression extends AbstractSyntaxTree {
|
||||
|
||||
public TypeDenoter type;
|
||||
|
||||
public boolean isLiteral() {
|
||||
return false;
|
||||
}
|
||||
|
||||
public int getValue() {
|
||||
throw new UnsupportedOperationException();
|
||||
}
|
||||
|
||||
public abstract <TArg, TResult> TResult visit(ExpressionVisitor<TArg, TResult> visitor, TArg arg);
|
||||
|
||||
public <TArg, TResult> TResult visit(ExpressionVisitor<TArg, TResult> visitor) {
|
||||
|
||||
+10
@@ -30,4 +30,14 @@ public class IntegerExpression extends Expression {
|
||||
}
|
||||
|
||||
public final IntegerLiteral IL;
|
||||
|
||||
@Override
|
||||
public boolean isLiteral() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getValue() {
|
||||
return IL.getValue();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user