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) |
visitExceptHandlerpublic CodeCompiler(Module module, boolean print_results)
public void getNone()
throws java.io.IOException
java.io.IOExceptionpublic void loadFrame()
throws java.lang.Exception
java.lang.Exceptionpublic void loadThreadState()
throws java.lang.Exception
java.lang.Exceptionpublic void setLastI(int idx)
throws java.lang.Exception
java.lang.Exceptionpublic int storeTop()
throws java.lang.Exception
java.lang.Exceptionpublic void setline(int line)
throws java.lang.Exception
java.lang.Exceptionpublic void setline(PythonTree node) throws java.lang.Exception
java.lang.Exceptionpublic void set(PythonTree node) throws java.lang.Exception
java.lang.Exceptionpublic void set(PythonTree node, int tmp) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitInteractive(Interactive node) throws java.lang.Exception
visitInteractive in interface VisitorIFvisitInteractive in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitModule(Module suite) throws java.lang.Exception
visitModule in interface VisitorIFvisitModule in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitExpression(Expression node) throws java.lang.Exception
visitExpression in interface VisitorIFvisitExpression in class VisitorBasejava.lang.Exceptionpublic void loadArray(Code code, java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
java.lang.Exceptionpublic int makeArray(java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
java.lang.Exceptionpublic void freeArray(int array)
public void freeArrayRef(int array)
public boolean makeClosure(ScopeInfo scope) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitFunctionDef(FunctionDef node) throws java.lang.Exception
visitFunctionDef in interface VisitorIFvisitFunctionDef in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitExpr(Expr node) throws java.lang.Exception
visitExpr in interface VisitorIFvisitExpr in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitAssign(Assign node) throws java.lang.Exception
visitAssign in interface VisitorIFvisitAssign in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitPrint(Print node) throws java.lang.Exception
visitPrint in interface VisitorIFvisitPrint in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitDelete(Delete node) throws java.lang.Exception
visitDelete in interface VisitorIFvisitDelete in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitPass(Pass node) throws java.lang.Exception
visitPass in interface VisitorIFvisitPass in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitBreak(Break node) throws java.lang.Exception
visitBreak in interface VisitorIFvisitBreak in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitContinue(Continue node) throws java.lang.Exception
visitContinue in interface VisitorIFvisitContinue in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitYield(Yield node) throws java.lang.Exception
visitYield in interface VisitorIFvisitYield in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitReturn(Return node) throws java.lang.Exception
visitReturn in interface VisitorIFvisitReturn in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitReturn(Return node, boolean inEval) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitRaise(Raise node) throws java.lang.Exception
visitRaise in interface VisitorIFvisitRaise in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitImport(Import node) throws java.lang.Exception
visitImport in interface VisitorIFvisitImport in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitImportFrom(ImportFrom node) throws java.lang.Exception
visitImportFrom in interface VisitorIFvisitImportFrom in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitGlobal(Global node) throws java.lang.Exception
visitGlobal in interface VisitorIFvisitGlobal in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitExec(Exec node) throws java.lang.Exception
visitExec in interface VisitorIFvisitExec in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitAssert(Assert node) throws java.lang.Exception
visitAssert in interface VisitorIFvisitAssert in class VisitorBasejava.lang.Exceptionpublic java.lang.Object doTest(org.objectweb.asm.Label end_of_if,
If node,
int index)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitIf(If node) throws java.lang.Exception
visitIf in interface VisitorIFvisitIf in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitIfExp(IfExp node) throws java.lang.Exception
visitIfExp in interface VisitorIFvisitIfExp in class VisitorBasejava.lang.Exceptionpublic int beginLoop()
public void finishLoop(int savebcf)
public java.lang.Object visitWhile(While node) throws java.lang.Exception
visitWhile in interface VisitorIFvisitWhile in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitFor(For node) throws java.lang.Exception
visitFor in interface VisitorIFvisitFor in class VisitorBasejava.lang.Exceptionpublic void exceptionTest(int exc,
org.objectweb.asm.Label end_of_exceptions,
TryExcept node,
int index)
throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitTryFinally(TryFinally node) throws java.lang.Exception
visitTryFinally in interface VisitorIFvisitTryFinally in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitTryExcept(TryExcept node) throws java.lang.Exception
visitTryExcept in interface VisitorIFvisitTryExcept in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitSuite(Suite node) throws java.lang.Exception
visitSuite in interface VisitorIFvisitSuite in class VisitorBasejava.lang.Exceptionpublic java.lang.Object suite(java.util.List<stmt> stmts) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitBoolOp(BoolOp node) throws java.lang.Exception
visitBoolOp in interface VisitorIFvisitBoolOp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitCompare(Compare node) throws java.lang.Exception
visitCompare in interface VisitorIFvisitCompare in class VisitorBasejava.lang.Exceptionpublic void visitCmpop(cmpopType op) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitBinOp(BinOp node) throws java.lang.Exception
visitBinOp in interface VisitorIFvisitBinOp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitUnaryOp(UnaryOp node) throws java.lang.Exception
visitUnaryOp in interface VisitorIFvisitUnaryOp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitAugAssign(AugAssign node) throws java.lang.Exception
visitAugAssign in interface VisitorIFvisitAugAssign in class VisitorBasejava.lang.Exceptionpublic java.lang.Object invokeNoKeywords(Attribute node, java.util.List<expr> values) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitCall(Call node) throws java.lang.Exception
visitCall in interface VisitorIFvisitCall in class VisitorBasejava.lang.Exceptionpublic java.lang.Object Slice(Subscript node, Slice slice) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitSubscript(Subscript node) throws java.lang.Exception
visitSubscript in interface VisitorIFvisitSubscript in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitIndex(Index node) throws java.lang.Exception
visitIndex in interface VisitorIFvisitIndex in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitExtSlice(ExtSlice node) throws java.lang.Exception
visitExtSlice in interface VisitorIFvisitExtSlice in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitAttribute(Attribute node) throws java.lang.Exception
visitAttribute in interface VisitorIFvisitAttribute in class VisitorBasejava.lang.Exceptionpublic java.lang.Object seqSet(java.util.List<expr> nodes) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object seqDel(java.util.List<expr> nodes) throws java.lang.Exception
java.lang.Exceptionpublic java.lang.Object visitTuple(Tuple node) throws java.lang.Exception
visitTuple in interface VisitorIFvisitTuple in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitList(List node) throws java.lang.Exception
visitList in interface VisitorIFvisitList in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitListComp(ListComp node) throws java.lang.Exception
visitListComp in interface VisitorIFvisitListComp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitSetComp(SetComp node) throws java.lang.Exception
visitSetComp in interface VisitorIFvisitSetComp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitDictComp(DictComp node) throws java.lang.Exception
visitDictComp in interface VisitorIFvisitDictComp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitDict(Dict node) throws java.lang.Exception
visitDict in interface VisitorIFvisitDict in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitSet(Set node) throws java.lang.Exception
visitSet in interface VisitorIFvisitSet in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitRepr(Repr node) throws java.lang.Exception
visitRepr in interface VisitorIFvisitRepr in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitLambda(Lambda node) throws java.lang.Exception
visitLambda in interface VisitorIFvisitLambda in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitEllipsis(Ellipsis node) throws java.lang.Exception
visitEllipsis in interface VisitorIFvisitEllipsis in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitSlice(Slice node) throws java.lang.Exception
visitSlice in interface VisitorIFvisitSlice in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitClassDef(ClassDef node) throws java.lang.Exception
visitClassDef in interface VisitorIFvisitClassDef in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitNum(Num node) throws java.lang.Exception
visitNum in interface VisitorIFvisitNum in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitName(Name node) throws java.lang.Exception
visitName in interface VisitorIFvisitName in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitStr(Str node) throws java.lang.Exception
visitStr in interface VisitorIFvisitStr in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitGeneratorExp(GeneratorExp node) throws java.lang.Exception
visitGeneratorExp in interface VisitorIFvisitGeneratorExp in class VisitorBasejava.lang.Exceptionpublic java.lang.Object visitWith(With node) throws java.lang.Exception
visitWith in interface VisitorIFvisitWith in class VisitorBasejava.lang.Exceptionprotected java.lang.Object unhandled_node(PythonTree node) throws java.lang.Exception
unhandled_node in class Visitorjava.lang.Exception