public class CodeCompiler extends Visitor implements org.objectweb.asm.Opcodes, ClassConstants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V9
$clss, $obj, $objArr, $pyCode, $pyComplex, $pyExc, $pyFloat, $pyFrame, $pyFuncTbl, $pyInteger, $pyLong, $pyObj, $pyObjArr, $pyProxy, $pyRunnable, $pyStr, $pyUnicode, $str, $strArr, $threadState, $throwable
Constructor and Description |
---|
CodeCompiler(Module module,
boolean print_results) |
Modifier and Type | Method and Description |
---|---|
int |
beginLoop() |
java.lang.Object |
doTest(org.objectweb.asm.Label end_of_if,
If node,
int index) |
void |
exceptionTest(int exc,
org.objectweb.asm.Label end_of_exceptions,
TryExcept node,
int index) |
void |
finishLoop(int savebcf) |
void |
freeArray(int array) |
void |
freeArrayRef(int array) |
Str |
getDocStr(java.util.List<stmt> suite) |
void |
getNone() |
java.lang.Object |
invokeNoKeywords(Attribute node,
java.util.List<expr> values) |
void |
loadArray(Code code,
java.util.List<? extends PythonTree> nodes) |
void |
loadFrame() |
void |
loadThreadState() |
int |
makeArray(java.util.List<? extends PythonTree> nodes) |
boolean |
makeClosure(ScopeInfo scope) |
java.lang.Object |
seqDel(java.util.List<expr> nodes) |
java.lang.Object |
seqSet(java.util.List<expr> nodes) |
void |
set(PythonTree node) |
void |
set(PythonTree node,
int tmp) |
void |
setLastI(int idx) |
void |
setline(int line) |
void |
setline(PythonTree node) |
java.lang.Object |
Slice(Subscript node,
Slice slice) |
int |
storeTop() |
java.lang.Object |
suite(java.util.List<stmt> stmts) |
protected java.lang.Object |
unhandled_node(PythonTree node) |
java.lang.Object |
visitAssert(Assert node) |
java.lang.Object |
visitAssign(Assign node) |
java.lang.Object |
visitAttribute(Attribute node) |
java.lang.Object |
visitAugAssign(AugAssign node) |
java.lang.Object |
visitBinOp(BinOp node) |
java.lang.Object |
visitBoolOp(BoolOp node) |
java.lang.Object |
visitBreak(Break node) |
java.lang.Object |
visitCall(Call node) |
java.lang.Object |
visitClassDef(ClassDef node) |
void |
visitCmpop(cmpopType op) |
java.lang.Object |
visitCompare(Compare node) |
java.lang.Object |
visitContinue(Continue node) |
java.lang.Object |
visitDelete(Delete node) |
java.lang.Object |
visitDict(Dict node) |
java.lang.Object |
visitDictComp(DictComp node) |
java.lang.Object |
visitEllipsis(Ellipsis node) |
java.lang.Object |
visitExec(Exec node) |
java.lang.Object |
visitExpr(Expr node) |
java.lang.Object |
visitExpression(Expression node) |
java.lang.Object |
visitExtSlice(ExtSlice node) |
java.lang.Object |
visitFor(For node) |
java.lang.Object |
visitFunctionDef(FunctionDef node) |
java.lang.Object |
visitGeneratorExp(GeneratorExp node) |
java.lang.Object |
visitGlobal(Global node) |
java.lang.Object |
visitIf(If node) |
java.lang.Object |
visitIfExp(IfExp node) |
java.lang.Object |
visitImport(Import node) |
java.lang.Object |
visitImportFrom(ImportFrom node) |
java.lang.Object |
visitIndex(Index node) |
java.lang.Object |
visitInteractive(Interactive node) |
java.lang.Object |
visitLambda(Lambda node) |
java.lang.Object |
visitList(List node) |
java.lang.Object |
visitListComp(ListComp node) |
java.lang.Object |
visitModule(Module suite) |
java.lang.Object |
visitName(Name node) |
java.lang.Object |
visitNum(Num node) |
java.lang.Object |
visitPass(Pass node) |
java.lang.Object |
visitPrint(Print node) |
java.lang.Object |
visitRaise(Raise node) |
java.lang.Object |
visitRepr(Repr node) |
java.lang.Object |
visitReturn(Return node) |
java.lang.Object |
visitReturn(Return node,
boolean inEval) |
java.lang.Object |
visitSet(Set node) |
java.lang.Object |
visitSetComp(SetComp node) |
java.lang.Object |
visitSlice(Slice node) |
java.lang.Object |
visitStr(Str node) |
java.lang.Object |
visitSubscript(Subscript node) |
java.lang.Object |
visitSuite(Suite node) |
java.lang.Object |
visitTryExcept(TryExcept node) |
java.lang.Object |
visitTryFinally(TryFinally node) |
java.lang.Object |
visitTuple(Tuple node) |
java.lang.Object |
visitUnaryOp(UnaryOp node) |
java.lang.Object |
visitWhile(While node) |
java.lang.Object |
visitWith(With node) |
java.lang.Object |
visitYield(Yield node) |
visitExceptHandler
public CodeCompiler(Module module, boolean print_results)
public void getNone() throws java.io.IOException
java.io.IOException
public void loadFrame() throws java.lang.Exception
java.lang.Exception
public void loadThreadState() throws java.lang.Exception
java.lang.Exception
public void setLastI(int idx) throws java.lang.Exception
java.lang.Exception
public int storeTop() throws java.lang.Exception
java.lang.Exception
public void setline(int line) throws java.lang.Exception
java.lang.Exception
public void setline(PythonTree node) throws java.lang.Exception
java.lang.Exception
public void set(PythonTree node) throws java.lang.Exception
java.lang.Exception
public void set(PythonTree node, int tmp) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitInteractive(Interactive node) throws java.lang.Exception
visitInteractive
in interface VisitorIF
visitInteractive
in class VisitorBase
java.lang.Exception
public java.lang.Object visitModule(Module suite) throws java.lang.Exception
visitModule
in interface VisitorIF
visitModule
in class VisitorBase
java.lang.Exception
public java.lang.Object visitExpression(Expression node) throws java.lang.Exception
visitExpression
in interface VisitorIF
visitExpression
in class VisitorBase
java.lang.Exception
public void loadArray(Code code, java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
java.lang.Exception
public int makeArray(java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
java.lang.Exception
public void freeArray(int array)
public void freeArrayRef(int array)
public boolean makeClosure(ScopeInfo scope) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitFunctionDef(FunctionDef node) throws java.lang.Exception
visitFunctionDef
in interface VisitorIF
visitFunctionDef
in class VisitorBase
java.lang.Exception
public java.lang.Object visitExpr(Expr node) throws java.lang.Exception
visitExpr
in interface VisitorIF
visitExpr
in class VisitorBase
java.lang.Exception
public java.lang.Object visitAssign(Assign node) throws java.lang.Exception
visitAssign
in interface VisitorIF
visitAssign
in class VisitorBase
java.lang.Exception
public java.lang.Object visitPrint(Print node) throws java.lang.Exception
visitPrint
in interface VisitorIF
visitPrint
in class VisitorBase
java.lang.Exception
public java.lang.Object visitDelete(Delete node) throws java.lang.Exception
visitDelete
in interface VisitorIF
visitDelete
in class VisitorBase
java.lang.Exception
public java.lang.Object visitPass(Pass node) throws java.lang.Exception
visitPass
in interface VisitorIF
visitPass
in class VisitorBase
java.lang.Exception
public java.lang.Object visitBreak(Break node) throws java.lang.Exception
visitBreak
in interface VisitorIF
visitBreak
in class VisitorBase
java.lang.Exception
public java.lang.Object visitContinue(Continue node) throws java.lang.Exception
visitContinue
in interface VisitorIF
visitContinue
in class VisitorBase
java.lang.Exception
public java.lang.Object visitYield(Yield node) throws java.lang.Exception
visitYield
in interface VisitorIF
visitYield
in class VisitorBase
java.lang.Exception
public java.lang.Object visitReturn(Return node) throws java.lang.Exception
visitReturn
in interface VisitorIF
visitReturn
in class VisitorBase
java.lang.Exception
public java.lang.Object visitReturn(Return node, boolean inEval) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitRaise(Raise node) throws java.lang.Exception
visitRaise
in interface VisitorIF
visitRaise
in class VisitorBase
java.lang.Exception
public java.lang.Object visitImport(Import node) throws java.lang.Exception
visitImport
in interface VisitorIF
visitImport
in class VisitorBase
java.lang.Exception
public java.lang.Object visitImportFrom(ImportFrom node) throws java.lang.Exception
visitImportFrom
in interface VisitorIF
visitImportFrom
in class VisitorBase
java.lang.Exception
public java.lang.Object visitGlobal(Global node) throws java.lang.Exception
visitGlobal
in interface VisitorIF
visitGlobal
in class VisitorBase
java.lang.Exception
public java.lang.Object visitExec(Exec node) throws java.lang.Exception
visitExec
in interface VisitorIF
visitExec
in class VisitorBase
java.lang.Exception
public java.lang.Object visitAssert(Assert node) throws java.lang.Exception
visitAssert
in interface VisitorIF
visitAssert
in class VisitorBase
java.lang.Exception
public java.lang.Object doTest(org.objectweb.asm.Label end_of_if, If node, int index) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitIf(If node) throws java.lang.Exception
visitIf
in interface VisitorIF
visitIf
in class VisitorBase
java.lang.Exception
public java.lang.Object visitIfExp(IfExp node) throws java.lang.Exception
visitIfExp
in interface VisitorIF
visitIfExp
in class VisitorBase
java.lang.Exception
public int beginLoop()
public void finishLoop(int savebcf)
public java.lang.Object visitWhile(While node) throws java.lang.Exception
visitWhile
in interface VisitorIF
visitWhile
in class VisitorBase
java.lang.Exception
public java.lang.Object visitFor(For node) throws java.lang.Exception
visitFor
in interface VisitorIF
visitFor
in class VisitorBase
java.lang.Exception
public void exceptionTest(int exc, org.objectweb.asm.Label end_of_exceptions, TryExcept node, int index) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitTryFinally(TryFinally node) throws java.lang.Exception
visitTryFinally
in interface VisitorIF
visitTryFinally
in class VisitorBase
java.lang.Exception
public java.lang.Object visitTryExcept(TryExcept node) throws java.lang.Exception
visitTryExcept
in interface VisitorIF
visitTryExcept
in class VisitorBase
java.lang.Exception
public java.lang.Object visitSuite(Suite node) throws java.lang.Exception
visitSuite
in interface VisitorIF
visitSuite
in class VisitorBase
java.lang.Exception
public java.lang.Object suite(java.util.List<stmt> stmts) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitBoolOp(BoolOp node) throws java.lang.Exception
visitBoolOp
in interface VisitorIF
visitBoolOp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitCompare(Compare node) throws java.lang.Exception
visitCompare
in interface VisitorIF
visitCompare
in class VisitorBase
java.lang.Exception
public void visitCmpop(cmpopType op) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitBinOp(BinOp node) throws java.lang.Exception
visitBinOp
in interface VisitorIF
visitBinOp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitUnaryOp(UnaryOp node) throws java.lang.Exception
visitUnaryOp
in interface VisitorIF
visitUnaryOp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitAugAssign(AugAssign node) throws java.lang.Exception
visitAugAssign
in interface VisitorIF
visitAugAssign
in class VisitorBase
java.lang.Exception
public java.lang.Object invokeNoKeywords(Attribute node, java.util.List<expr> values) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitCall(Call node) throws java.lang.Exception
visitCall
in interface VisitorIF
visitCall
in class VisitorBase
java.lang.Exception
public java.lang.Object Slice(Subscript node, Slice slice) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitSubscript(Subscript node) throws java.lang.Exception
visitSubscript
in interface VisitorIF
visitSubscript
in class VisitorBase
java.lang.Exception
public java.lang.Object visitIndex(Index node) throws java.lang.Exception
visitIndex
in interface VisitorIF
visitIndex
in class VisitorBase
java.lang.Exception
public java.lang.Object visitExtSlice(ExtSlice node) throws java.lang.Exception
visitExtSlice
in interface VisitorIF
visitExtSlice
in class VisitorBase
java.lang.Exception
public java.lang.Object visitAttribute(Attribute node) throws java.lang.Exception
visitAttribute
in interface VisitorIF
visitAttribute
in class VisitorBase
java.lang.Exception
public java.lang.Object seqSet(java.util.List<expr> nodes) throws java.lang.Exception
java.lang.Exception
public java.lang.Object seqDel(java.util.List<expr> nodes) throws java.lang.Exception
java.lang.Exception
public java.lang.Object visitTuple(Tuple node) throws java.lang.Exception
visitTuple
in interface VisitorIF
visitTuple
in class VisitorBase
java.lang.Exception
public java.lang.Object visitList(List node) throws java.lang.Exception
visitList
in interface VisitorIF
visitList
in class VisitorBase
java.lang.Exception
public java.lang.Object visitListComp(ListComp node) throws java.lang.Exception
visitListComp
in interface VisitorIF
visitListComp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitSetComp(SetComp node) throws java.lang.Exception
visitSetComp
in interface VisitorIF
visitSetComp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitDictComp(DictComp node) throws java.lang.Exception
visitDictComp
in interface VisitorIF
visitDictComp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitDict(Dict node) throws java.lang.Exception
visitDict
in interface VisitorIF
visitDict
in class VisitorBase
java.lang.Exception
public java.lang.Object visitSet(Set node) throws java.lang.Exception
visitSet
in interface VisitorIF
visitSet
in class VisitorBase
java.lang.Exception
public java.lang.Object visitRepr(Repr node) throws java.lang.Exception
visitRepr
in interface VisitorIF
visitRepr
in class VisitorBase
java.lang.Exception
public java.lang.Object visitLambda(Lambda node) throws java.lang.Exception
visitLambda
in interface VisitorIF
visitLambda
in class VisitorBase
java.lang.Exception
public java.lang.Object visitEllipsis(Ellipsis node) throws java.lang.Exception
visitEllipsis
in interface VisitorIF
visitEllipsis
in class VisitorBase
java.lang.Exception
public java.lang.Object visitSlice(Slice node) throws java.lang.Exception
visitSlice
in interface VisitorIF
visitSlice
in class VisitorBase
java.lang.Exception
public java.lang.Object visitClassDef(ClassDef node) throws java.lang.Exception
visitClassDef
in interface VisitorIF
visitClassDef
in class VisitorBase
java.lang.Exception
public java.lang.Object visitNum(Num node) throws java.lang.Exception
visitNum
in interface VisitorIF
visitNum
in class VisitorBase
java.lang.Exception
public java.lang.Object visitName(Name node) throws java.lang.Exception
visitName
in interface VisitorIF
visitName
in class VisitorBase
java.lang.Exception
public java.lang.Object visitStr(Str node) throws java.lang.Exception
visitStr
in interface VisitorIF
visitStr
in class VisitorBase
java.lang.Exception
public java.lang.Object visitGeneratorExp(GeneratorExp node) throws java.lang.Exception
visitGeneratorExp
in interface VisitorIF
visitGeneratorExp
in class VisitorBase
java.lang.Exception
public java.lang.Object visitWith(With node) throws java.lang.Exception
visitWith
in interface VisitorIF
visitWith
in class VisitorBase
java.lang.Exception
protected java.lang.Object unhandled_node(PythonTree node) throws java.lang.Exception
unhandled_node
in class Visitor
java.lang.Exception