Package javassist.compiler
Class CodeGen
- java.lang.Object
-
- javassist.compiler.ast.Visitor
-
- javassist.compiler.CodeGen
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
CodeGen.ReturnHook
doit() in ReturnHook is called from atReturn().
-
Field Summary
Fields Modifier and Type Field Description protected int
arrayDim
(package private) static int[]
binOp
protected java.util.List<java.lang.Integer>
breakList
protected Bytecode
bytecode
private static int[]
castOp
protected java.lang.String
className
protected java.util.List<java.lang.Integer>
continueList
protected int
exprType
protected boolean
hasReturned
true if the last visited node is a return statement.private static int[]
ifOp
private static int[]
ifOp2
boolean
inStaticMethod
Must be true if compilation is for a static method.(package private) static java.lang.String
javaLangObject
(package private) static java.lang.String
javaLangString
(package private) static java.lang.String
jvmJavaLangObject
(package private) static java.lang.String
jvmJavaLangString
private static int
P_DOUBLE
private static int
P_FLOAT
private static int
P_INT
private static int
P_LONG
private static int
P_OTHER
protected CodeGen.ReturnHook
returnHooks
private int
tempVar
(package private) TypeChecker
typeChecker
-
Fields inherited from interface javassist.bytecode.Opcode
AALOAD, AASTORE, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETSTATIC, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMUL, INEG, INSTANCEOF, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, IUSHR, IXOR, JSR, JSR_W, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_W, LDC2_W, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, STACK_GROW, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, WIDE
-
Fields inherited from interface javassist.compiler.TokenId
ABSTRACT, AND_E, ANDAND, ARRAY, ARSHIFT, ARSHIFT_E, assignOps, BadToken, BLOCK, BOOLEAN, BREAK, BYTE, CALL, CASE, CATCH, CHAR, CharConstant, CLASS, CONST, CONTINUE, DECL, DEFAULT, DIV_E, DO, DOUBLE, DoubleConstant, ELSE, EQ, EXOR_E, EXPR, EXTENDS, FALSE, FINAL, FINALLY, FLOAT, FloatConstant, FOR, GE, GOTO, Identifier, IF, IMPLEMENTS, IMPORT, INSTANCEOF, INT, IntConstant, INTERFACE, LABEL, LE, LONG, LongConstant, LSHIFT, LSHIFT_E, MEMBER, MINUS_E, MINUSMINUS, MOD_E, MUL_E, NATIVE, NEQ, NEW, NULL, opNames, OR_E, OROR, PACKAGE, PLUS_E, PLUSPLUS, PRIVATE, PROTECTED, PUBLIC, RETURN, RSHIFT, RSHIFT_E, SHORT, STATIC, STRICT, StringL, SUPER, SWITCH, SYNCHRONIZED, THIS, THROW, THROWS, TRANSIENT, TRUE, TRY, VOID, VOLATILE, WHILE
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
arrayAccess(ASTree array, ASTree index)
private void
atArithBinExpr(Expr expr, int token, int index, int type1)
private void
atArrayAssign(Expr expr, int op, Expr array, ASTree right, boolean doDup)
abstract void
atArrayInit(ArrayInit init)
void
atArrayPlusPlus(int token, boolean isPost, Expr expr, boolean doDup)
void
atArrayRead(ASTree array, ASTree index)
protected abstract void
atArrayVariableAssign(ArrayInit init, int varType, int varArray, java.lang.String varClass)
protected void
atAssignCore(Expr expr, int op, ASTree right, int type, int dim, java.lang.String cname)
void
atAssignExpr(AssignExpr expr)
protected void
atAssignExpr(AssignExpr expr, boolean doDup)
void
atASTList(ASTList n)
void
atBinExpr(BinExpr expr)
private void
atBreakStmnt(Stmnt st, boolean notCont)
abstract void
atCallExpr(CallExpr expr)
void
atCastExpr(CastExpr expr)
void
atClassObject(Expr expr)
protected void
atClassObject2(java.lang.String cname)
void
atCondExpr(CondExpr expr)
void
atDeclarator(Declarator d)
void
atDoubleConst(DoubleConst d)
void
atExpr(Expr expr)
protected abstract void
atFieldAssign(Expr expr, int op, ASTree left, ASTree right, boolean doDup)
void
atFieldDecl(FieldDecl field)
protected abstract void
atFieldPlusPlus(int token, boolean isPost, ASTree oprand, Expr expr, boolean doDup)
protected abstract void
atFieldRead(ASTree expr)
private void
atForStmnt(Stmnt st)
private void
atIfStmnt(Stmnt st)
void
atInstanceOfExpr(InstanceOfExpr expr)
void
atIntConst(IntConst i)
void
atKeyword(Keyword k)
abstract void
atMember(Member n)
void
atMethodBody(Stmnt s, boolean isCons, boolean isVoid)
void
atMethodDecl(MethodDecl method)
abstract void
atNewExpr(NewExpr n)
(package private) void
atNumCastExpr(int srcType, int destType)
void
atPair(Pair n)
private void
atPlusPlus(int token, ASTree oprand, Expr expr, boolean doDup)
protected void
atPlusPlusCore(int dup_code, boolean doDup, int token, boolean isPost, Expr expr)
protected void
atReturnStmnt(Stmnt st)
protected void
atReturnStmnt2(ASTree result)
void
atStmnt(Stmnt st)
private void
atStringConcatExpr(Expr expr, int type1, int dim1, java.lang.String cname1)
void
atStringL(StringL s)
private void
atStringPlusEq(Expr expr, int type, int dim, java.lang.String cname, ASTree right)
private void
atSwitchStmnt(Stmnt st)
void
atSymbol(Symbol n)
private void
atSyncStmnt(Stmnt st)
private void
atThrowStmnt(Stmnt st)
protected void
atTryStmnt(Stmnt st)
void
atVariable(Variable v)
private void
atVariableAssign(Expr expr, int op, Variable var, Declarator d, ASTree right, boolean doDup)
private void
atWhileStmnt(Stmnt st, boolean notDo)
protected static void
badAssign(Expr expr)
protected static void
badType(Expr expr)
protected static void
badTypes(Expr expr)
private boolean
booleanExpr(boolean branchIf, ASTree expr)
private java.lang.String
checkCastExpr(CastExpr expr, java.lang.String name)
private void
compareExpr(boolean branchIf, int token, int type1, BinExpr expr)
boolean
compileBooleanExpr(boolean branchIf, ASTree expr)
void
compileExpr(ASTree expr)
private int
compileOprands(BinExpr expr)
private int
computeLabel(ASTree expr)
private int
computeStringLabel(ASTree expr, int tmpVar, java.util.List<java.lang.Integer> gotoDefaults)
private void
convertOprandTypes(int type1, int type2, Expr expr)
private void
convToString(int type, int dim)
void
doTypeCheck(ASTree expr)
protected static void
fatal()
protected static int
getArrayReadOp(int type, int dim)
protected static int
getArrayWriteOp(int type, int dim)
(package private) static int
getCompOperator(ASTree expr)
private static int
getListSize(java.util.List<java.lang.Integer> list)
protected int
getLocalVar(Declarator d)
int
getMaxLocals()
protected abstract java.lang.String
getSuperName()
Returns the JVM-internal representation of this super class name.protected int
getTempVar()
Returns a local variable that single or double words can be stored in.protected abstract java.lang.String
getThisName()
Returns the JVM-internal representation of this class name.protected void
incMaxLocals(int size)
protected abstract void
insertDefaultSuperCall()
private boolean
invalidDim(int srcType, int srcDim, java.lang.String srcClass, int destType, int destDim, java.lang.String destClass, boolean isCast)
static boolean
is2word(int type, int dim)
private static boolean
isAlwaysBranch(ASTree expr, boolean branchIf)
(package private) static boolean
isP_INT(int type)
private static boolean
isPlusPlusExpr(ASTree expr)
protected static boolean
isRefType(int type)
(package private) static int
lookupBinOp(int token)
private boolean
needsSuperCall(Stmnt body)
protected void
patchGoto(java.util.List<java.lang.Integer> list, int targetPc)
protected abstract java.lang.String
resolveClassName(java.lang.String jvmClassName)
protected abstract java.lang.String
resolveClassName(ASTList name)
(package private) static boolean
rightIsStrong(int type1, int type2)
void
setMaxLocals(int n)
void
setTypeChecker(TypeChecker checker)
protected static java.lang.String
toJvmArrayName(java.lang.String name, int dim)
protected static java.lang.String
toJvmTypeName(int type, int dim)
private static int
typePrecedence(int type)
-
-
-
Field Detail
-
javaLangObject
static final java.lang.String javaLangObject
- See Also:
- Constant Field Values
-
jvmJavaLangObject
static final java.lang.String jvmJavaLangObject
- See Also:
- Constant Field Values
-
javaLangString
static final java.lang.String javaLangString
- See Also:
- Constant Field Values
-
jvmJavaLangString
static final java.lang.String jvmJavaLangString
- See Also:
- Constant Field Values
-
bytecode
protected Bytecode bytecode
-
tempVar
private int tempVar
-
typeChecker
TypeChecker typeChecker
-
hasReturned
protected boolean hasReturned
true if the last visited node is a return statement.
-
inStaticMethod
public boolean inStaticMethod
Must be true if compilation is for a static method.
-
breakList
protected java.util.List<java.lang.Integer> breakList
-
continueList
protected java.util.List<java.lang.Integer> continueList
-
returnHooks
protected CodeGen.ReturnHook returnHooks
-
exprType
protected int exprType
-
arrayDim
protected int arrayDim
-
className
protected java.lang.String className
-
binOp
static final int[] binOp
-
ifOp
private static final int[] ifOp
-
ifOp2
private static final int[] ifOp2
-
P_DOUBLE
private static final int P_DOUBLE
- See Also:
- Constant Field Values
-
P_FLOAT
private static final int P_FLOAT
- See Also:
- Constant Field Values
-
P_LONG
private static final int P_LONG
- See Also:
- Constant Field Values
-
P_INT
private static final int P_INT
- See Also:
- Constant Field Values
-
P_OTHER
private static final int P_OTHER
- See Also:
- Constant Field Values
-
castOp
private static final int[] castOp
-
-
Constructor Detail
-
CodeGen
public CodeGen(Bytecode b)
-
-
Method Detail
-
setTypeChecker
public void setTypeChecker(TypeChecker checker)
-
fatal
protected static void fatal() throws CompileError
- Throws:
CompileError
-
is2word
public static boolean is2word(int type, int dim)
-
getMaxLocals
public int getMaxLocals()
-
setMaxLocals
public void setMaxLocals(int n)
-
incMaxLocals
protected void incMaxLocals(int size)
-
getTempVar
protected int getTempVar()
Returns a local variable that single or double words can be stored in.
-
getLocalVar
protected int getLocalVar(Declarator d)
-
getThisName
protected abstract java.lang.String getThisName()
Returns the JVM-internal representation of this class name.
-
getSuperName
protected abstract java.lang.String getSuperName() throws CompileError
Returns the JVM-internal representation of this super class name.- Throws:
CompileError
-
resolveClassName
protected abstract java.lang.String resolveClassName(ASTList name) throws CompileError
- Throws:
CompileError
-
resolveClassName
protected abstract java.lang.String resolveClassName(java.lang.String jvmClassName) throws CompileError
- Throws:
CompileError
-
toJvmArrayName
protected static java.lang.String toJvmArrayName(java.lang.String name, int dim)
- Parameters:
name
- the JVM-internal representation. name is not exapnded to java.lang.*.
-
toJvmTypeName
protected static java.lang.String toJvmTypeName(int type, int dim)
-
compileExpr
public void compileExpr(ASTree expr) throws CompileError
- Throws:
CompileError
-
compileBooleanExpr
public boolean compileBooleanExpr(boolean branchIf, ASTree expr) throws CompileError
- Throws:
CompileError
-
doTypeCheck
public void doTypeCheck(ASTree expr) throws CompileError
- Throws:
CompileError
-
atASTList
public void atASTList(ASTList n) throws CompileError
- Overrides:
atASTList
in classVisitor
- Throws:
CompileError
-
atPair
public void atPair(Pair n) throws CompileError
- Overrides:
atPair
in classVisitor
- Throws:
CompileError
-
atSymbol
public void atSymbol(Symbol n) throws CompileError
- Overrides:
atSymbol
in classVisitor
- Throws:
CompileError
-
atFieldDecl
public void atFieldDecl(FieldDecl field) throws CompileError
- Overrides:
atFieldDecl
in classVisitor
- Throws:
CompileError
-
atMethodDecl
public void atMethodDecl(MethodDecl method) throws CompileError
- Overrides:
atMethodDecl
in classVisitor
- Throws:
CompileError
-
atMethodBody
public void atMethodBody(Stmnt s, boolean isCons, boolean isVoid) throws CompileError
- Parameters:
isCons
- true if super() must be called. false if the method is a class initializer.- Throws:
CompileError
-
needsSuperCall
private boolean needsSuperCall(Stmnt body) throws CompileError
- Throws:
CompileError
-
insertDefaultSuperCall
protected abstract void insertDefaultSuperCall() throws CompileError
- Throws:
CompileError
-
atStmnt
public void atStmnt(Stmnt st) throws CompileError
- Overrides:
atStmnt
in classVisitor
- Throws:
CompileError
-
atIfStmnt
private void atIfStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
atWhileStmnt
private void atWhileStmnt(Stmnt st, boolean notDo) throws CompileError
- Throws:
CompileError
-
patchGoto
protected void patchGoto(java.util.List<java.lang.Integer> list, int targetPc)
-
atForStmnt
private void atForStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
atSwitchStmnt
private void atSwitchStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
computeLabel
private int computeLabel(ASTree expr) throws CompileError
- Throws:
CompileError
-
computeStringLabel
private int computeStringLabel(ASTree expr, int tmpVar, java.util.List<java.lang.Integer> gotoDefaults) throws CompileError
- Throws:
CompileError
-
atBreakStmnt
private void atBreakStmnt(Stmnt st, boolean notCont) throws CompileError
- Throws:
CompileError
-
atReturnStmnt
protected void atReturnStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
atReturnStmnt2
protected final void atReturnStmnt2(ASTree result) throws CompileError
- Throws:
CompileError
-
atThrowStmnt
private void atThrowStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
atTryStmnt
protected void atTryStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
atSyncStmnt
private void atSyncStmnt(Stmnt st) throws CompileError
- Throws:
CompileError
-
getListSize
private static int getListSize(java.util.List<java.lang.Integer> list)
-
isPlusPlusExpr
private static boolean isPlusPlusExpr(ASTree expr)
-
atDeclarator
public void atDeclarator(Declarator d) throws CompileError
- Overrides:
atDeclarator
in classVisitor
- Throws:
CompileError
-
atNewExpr
public abstract void atNewExpr(NewExpr n) throws CompileError
- Overrides:
atNewExpr
in classVisitor
- Throws:
CompileError
-
atArrayInit
public abstract void atArrayInit(ArrayInit init) throws CompileError
- Overrides:
atArrayInit
in classVisitor
- Throws:
CompileError
-
atAssignExpr
public void atAssignExpr(AssignExpr expr) throws CompileError
- Overrides:
atAssignExpr
in classVisitor
- Throws:
CompileError
-
atAssignExpr
protected void atAssignExpr(AssignExpr expr, boolean doDup) throws CompileError
- Throws:
CompileError
-
badAssign
protected static void badAssign(Expr expr) throws CompileError
- Throws:
CompileError
-
atVariableAssign
private void atVariableAssign(Expr expr, int op, Variable var, Declarator d, ASTree right, boolean doDup) throws CompileError
- Throws:
CompileError
-
atArrayVariableAssign
protected abstract void atArrayVariableAssign(ArrayInit init, int varType, int varArray, java.lang.String varClass) throws CompileError
- Throws:
CompileError
-
atArrayAssign
private void atArrayAssign(Expr expr, int op, Expr array, ASTree right, boolean doDup) throws CompileError
- Throws:
CompileError
-
atFieldAssign
protected abstract void atFieldAssign(Expr expr, int op, ASTree left, ASTree right, boolean doDup) throws CompileError
- Throws:
CompileError
-
atAssignCore
protected void atAssignCore(Expr expr, int op, ASTree right, int type, int dim, java.lang.String cname) throws CompileError
- Throws:
CompileError
-
atStringPlusEq
private void atStringPlusEq(Expr expr, int type, int dim, java.lang.String cname, ASTree right) throws CompileError
- Throws:
CompileError
-
invalidDim
private boolean invalidDim(int srcType, int srcDim, java.lang.String srcClass, int destType, int destDim, java.lang.String destClass, boolean isCast)
-
atCondExpr
public void atCondExpr(CondExpr expr) throws CompileError
- Overrides:
atCondExpr
in classVisitor
- Throws:
CompileError
-
lookupBinOp
static int lookupBinOp(int token)
-
atBinExpr
public void atBinExpr(BinExpr expr) throws CompileError
- Overrides:
atBinExpr
in classVisitor
- Throws:
CompileError
-
atArithBinExpr
private void atArithBinExpr(Expr expr, int token, int index, int type1) throws CompileError
- Throws:
CompileError
-
atStringConcatExpr
private void atStringConcatExpr(Expr expr, int type1, int dim1, java.lang.String cname1) throws CompileError
- Throws:
CompileError
-
convToString
private void convToString(int type, int dim) throws CompileError
- Throws:
CompileError
-
booleanExpr
private boolean booleanExpr(boolean branchIf, ASTree expr) throws CompileError
- Throws:
CompileError
-
isAlwaysBranch
private static boolean isAlwaysBranch(ASTree expr, boolean branchIf)
-
getCompOperator
static int getCompOperator(ASTree expr) throws CompileError
- Throws:
CompileError
-
compileOprands
private int compileOprands(BinExpr expr) throws CompileError
- Throws:
CompileError
-
compareExpr
private void compareExpr(boolean branchIf, int token, int type1, BinExpr expr) throws CompileError
- Throws:
CompileError
-
badTypes
protected static void badTypes(Expr expr) throws CompileError
- Throws:
CompileError
-
isRefType
protected static boolean isRefType(int type)
-
typePrecedence
private static int typePrecedence(int type)
-
isP_INT
static boolean isP_INT(int type)
-
rightIsStrong
static boolean rightIsStrong(int type1, int type2)
-
convertOprandTypes
private void convertOprandTypes(int type1, int type2, Expr expr) throws CompileError
- Throws:
CompileError
-
atCastExpr
public void atCastExpr(CastExpr expr) throws CompileError
- Overrides:
atCastExpr
in classVisitor
- Throws:
CompileError
-
atInstanceOfExpr
public void atInstanceOfExpr(InstanceOfExpr expr) throws CompileError
- Overrides:
atInstanceOfExpr
in classVisitor
- Throws:
CompileError
-
checkCastExpr
private java.lang.String checkCastExpr(CastExpr expr, java.lang.String name) throws CompileError
- Throws:
CompileError
-
atNumCastExpr
void atNumCastExpr(int srcType, int destType) throws CompileError
- Throws:
CompileError
-
atExpr
public void atExpr(Expr expr) throws CompileError
- Overrides:
atExpr
in classVisitor
- Throws:
CompileError
-
badType
protected static void badType(Expr expr) throws CompileError
- Throws:
CompileError
-
atCallExpr
public abstract void atCallExpr(CallExpr expr) throws CompileError
- Overrides:
atCallExpr
in classVisitor
- Throws:
CompileError
-
atFieldRead
protected abstract void atFieldRead(ASTree expr) throws CompileError
- Throws:
CompileError
-
atClassObject
public void atClassObject(Expr expr) throws CompileError
- Throws:
CompileError
-
atClassObject2
protected void atClassObject2(java.lang.String cname) throws CompileError
- Throws:
CompileError
-
atArrayRead
public void atArrayRead(ASTree array, ASTree index) throws CompileError
- Throws:
CompileError
-
arrayAccess
protected void arrayAccess(ASTree array, ASTree index) throws CompileError
- Throws:
CompileError
-
getArrayReadOp
protected static int getArrayReadOp(int type, int dim)
-
getArrayWriteOp
protected static int getArrayWriteOp(int type, int dim)
-
atPlusPlus
private void atPlusPlus(int token, ASTree oprand, Expr expr, boolean doDup) throws CompileError
- Throws:
CompileError
-
atArrayPlusPlus
public void atArrayPlusPlus(int token, boolean isPost, Expr expr, boolean doDup) throws CompileError
- Throws:
CompileError
-
atPlusPlusCore
protected void atPlusPlusCore(int dup_code, boolean doDup, int token, boolean isPost, Expr expr) throws CompileError
- Throws:
CompileError
-
atFieldPlusPlus
protected abstract void atFieldPlusPlus(int token, boolean isPost, ASTree oprand, Expr expr, boolean doDup) throws CompileError
- Throws:
CompileError
-
atMember
public abstract void atMember(Member n) throws CompileError
- Overrides:
atMember
in classVisitor
- Throws:
CompileError
-
atVariable
public void atVariable(Variable v) throws CompileError
- Overrides:
atVariable
in classVisitor
- Throws:
CompileError
-
atKeyword
public void atKeyword(Keyword k) throws CompileError
- Overrides:
atKeyword
in classVisitor
- Throws:
CompileError
-
atStringL
public void atStringL(StringL s) throws CompileError
- Overrides:
atStringL
in classVisitor
- Throws:
CompileError
-
atIntConst
public void atIntConst(IntConst i) throws CompileError
- Overrides:
atIntConst
in classVisitor
- Throws:
CompileError
-
atDoubleConst
public void atDoubleConst(DoubleConst d) throws CompileError
- Overrides:
atDoubleConst
in classVisitor
- Throws:
CompileError
-
-