org.python.compiler
Class CodeCompiler
- java.lang.Object
-
- org.python.antlr.ast.VisitorBase
-
- org.python.antlr.Visitor
-
- org.python.compiler.CodeCompiler
-
- All Implemented Interfaces:
- org.objectweb.asm.Opcodes, VisitorIF, ClassConstants
public class CodeCompiler extends Visitor implements org.objectweb.asm.Opcodes, ClassConstants
-
-
Field Summary
-
Fields inherited from interface org.objectweb.asm.Opcodes
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_RECORD, 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, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, V14, V15, V16, V17, V18, V19, V9
-
Fields inherited from interface org.python.compiler.ClassConstants
$clss, $obj, $objArr, $pyCode, $pyComplex, $pyExc, $pyFloat, $pyFrame, $pyFuncTbl, $pyInteger, $pyLong, $pyObj, $pyObjArr, $pyProxy, $pyRunnable, $pyStr, $pyUnicode, $str, $strArr, $threadState, $throwable
-
-
Constructor Summary
Constructors Constructor and Description CodeCompiler(Module module, boolean print_results)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intbeginLoop()java.lang.ObjectdoTest(org.objectweb.asm.Label end_of_if, If node, int index)voidexceptionTest(int exc, org.objectweb.asm.Label end_of_exceptions, TryExcept node, int index)voidfinishLoop(int savebcf)voidfreeArray(int array)voidfreeArrayRef(int array)StrgetDocStr(java.util.List<stmt> suite)voidgetNone()java.lang.ObjectinvokeNoKeywords(Attribute node, java.util.List<expr> values)voidloadArray(Code code, java.util.List<? extends PythonTree> nodes)voidloadFrame()voidloadThreadState()intmakeArray(java.util.List<? extends PythonTree> nodes)booleanmakeClosure(ScopeInfo scope)java.lang.ObjectseqDel(java.util.List<expr> nodes)java.lang.ObjectseqSet(java.util.List<expr> nodes)voidset(PythonTree node)voidset(PythonTree node, int tmp)voidsetLastI(int idx)voidsetline(int line)voidsetline(PythonTree node)java.lang.ObjectSlice(Subscript node, Slice slice)intstoreTop()java.lang.Objectsuite(java.util.List<stmt> stmts)java.lang.ObjectvisitAssert(Assert node)java.lang.ObjectvisitAssign(Assign node)java.lang.ObjectvisitAttribute(Attribute node)java.lang.ObjectvisitAugAssign(AugAssign node)java.lang.ObjectvisitBinOp(BinOp node)java.lang.ObjectvisitBoolOp(BoolOp node)java.lang.ObjectvisitBreak(Break node)java.lang.ObjectvisitCall(Call node)java.lang.ObjectvisitClassDef(ClassDef node)voidvisitCmpop(cmpopType op)java.lang.ObjectvisitCompare(Compare node)java.lang.ObjectvisitContinue(Continue node)java.lang.ObjectvisitDelete(Delete node)java.lang.ObjectvisitDict(Dict node)java.lang.ObjectvisitDictComp(DictComp node)java.lang.ObjectvisitEllipsis(Ellipsis node)java.lang.ObjectvisitExec(Exec node)java.lang.ObjectvisitExpr(Expr node)java.lang.ObjectvisitExpression(Expression node)java.lang.ObjectvisitExtSlice(ExtSlice node)java.lang.ObjectvisitFor(For node)java.lang.ObjectvisitFunctionDef(FunctionDef node)java.lang.ObjectvisitGeneratorExp(GeneratorExp node)java.lang.ObjectvisitGlobal(Global node)java.lang.ObjectvisitIf(If node)java.lang.ObjectvisitIfExp(IfExp node)java.lang.ObjectvisitImport(Import node)java.lang.ObjectvisitImportFrom(ImportFrom node)java.lang.ObjectvisitIndex(Index node)java.lang.ObjectvisitInteractive(Interactive node)java.lang.ObjectvisitLambda(Lambda node)java.lang.ObjectvisitList(List node)java.lang.ObjectvisitListComp(ListComp node)java.lang.ObjectvisitModule(Module suite)java.lang.ObjectvisitName(Name node)java.lang.ObjectvisitNum(Num node)java.lang.ObjectvisitPass(Pass node)java.lang.ObjectvisitPrint(Print node)java.lang.ObjectvisitRaise(Raise node)java.lang.ObjectvisitRepr(Repr node)java.lang.ObjectvisitReturn(Return node)java.lang.ObjectvisitReturn(Return node, boolean inEval)java.lang.ObjectvisitSet(Set node)java.lang.ObjectvisitSetComp(SetComp node)java.lang.ObjectvisitSlice(Slice node)java.lang.ObjectvisitStr(Str node)java.lang.ObjectvisitSubscript(Subscript node)java.lang.ObjectvisitSuite(Suite node)java.lang.ObjectvisitTryExcept(TryExcept node)java.lang.ObjectvisitTryFinally(TryFinally node)java.lang.ObjectvisitTuple(Tuple node)java.lang.ObjectvisitUnaryOp(UnaryOp node)java.lang.ObjectvisitWhile(While node)java.lang.ObjectvisitWith(With node)java.lang.ObjectvisitYield(Yield node)-
Methods inherited from class org.python.antlr.ast.VisitorBase
visitExceptHandler
-
-
-
-
Constructor Detail
-
CodeCompiler
public CodeCompiler(Module module, boolean print_results)
-
-
Method Detail
-
getNone
public void getNone() throws java.io.IOException- Throws:
java.io.IOException
-
loadFrame
public void loadFrame() throws java.lang.Exception- Throws:
java.lang.Exception
-
loadThreadState
public void loadThreadState() throws java.lang.Exception- Throws:
java.lang.Exception
-
setLastI
public void setLastI(int idx) throws java.lang.Exception- Throws:
java.lang.Exception
-
storeTop
public int storeTop() throws java.lang.Exception- Throws:
java.lang.Exception
-
setline
public void setline(int line) throws java.lang.Exception- Throws:
java.lang.Exception
-
setline
public void setline(PythonTree node) throws java.lang.Exception
- Throws:
java.lang.Exception
-
set
public void set(PythonTree node) throws java.lang.Exception
- Throws:
java.lang.Exception
-
set
public void set(PythonTree node, int tmp) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitInteractive
public java.lang.Object visitInteractive(Interactive node) throws java.lang.Exception
- Specified by:
visitInteractivein interfaceVisitorIF- Overrides:
visitInteractivein classVisitorBase- Throws:
java.lang.Exception
-
visitModule
public java.lang.Object visitModule(Module suite) throws java.lang.Exception
- Specified by:
visitModulein interfaceVisitorIF- Overrides:
visitModulein classVisitorBase- Throws:
java.lang.Exception
-
visitExpression
public java.lang.Object visitExpression(Expression node) throws java.lang.Exception
- Specified by:
visitExpressionin interfaceVisitorIF- Overrides:
visitExpressionin classVisitorBase- Throws:
java.lang.Exception
-
loadArray
public void loadArray(Code code, java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
- Throws:
java.lang.Exception
-
makeArray
public int makeArray(java.util.List<? extends PythonTree> nodes) throws java.lang.Exception
- Throws:
java.lang.Exception
-
freeArray
public void freeArray(int array)
-
freeArrayRef
public void freeArrayRef(int array)
-
makeClosure
public boolean makeClosure(ScopeInfo scope) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitFunctionDef
public java.lang.Object visitFunctionDef(FunctionDef node) throws java.lang.Exception
- Specified by:
visitFunctionDefin interfaceVisitorIF- Overrides:
visitFunctionDefin classVisitorBase- Throws:
java.lang.Exception
-
visitExpr
public java.lang.Object visitExpr(Expr node) throws java.lang.Exception
- Specified by:
visitExprin interfaceVisitorIF- Overrides:
visitExprin classVisitorBase- Throws:
java.lang.Exception
-
visitAssign
public java.lang.Object visitAssign(Assign node) throws java.lang.Exception
- Specified by:
visitAssignin interfaceVisitorIF- Overrides:
visitAssignin classVisitorBase- Throws:
java.lang.Exception
-
visitPrint
public java.lang.Object visitPrint(Print node) throws java.lang.Exception
- Specified by:
visitPrintin interfaceVisitorIF- Overrides:
visitPrintin classVisitorBase- Throws:
java.lang.Exception
-
visitDelete
public java.lang.Object visitDelete(Delete node) throws java.lang.Exception
- Specified by:
visitDeletein interfaceVisitorIF- Overrides:
visitDeletein classVisitorBase- Throws:
java.lang.Exception
-
visitPass
public java.lang.Object visitPass(Pass node) throws java.lang.Exception
- Specified by:
visitPassin interfaceVisitorIF- Overrides:
visitPassin classVisitorBase- Throws:
java.lang.Exception
-
visitBreak
public java.lang.Object visitBreak(Break node) throws java.lang.Exception
- Specified by:
visitBreakin interfaceVisitorIF- Overrides:
visitBreakin classVisitorBase- Throws:
java.lang.Exception
-
visitContinue
public java.lang.Object visitContinue(Continue node) throws java.lang.Exception
- Specified by:
visitContinuein interfaceVisitorIF- Overrides:
visitContinuein classVisitorBase- Throws:
java.lang.Exception
-
visitYield
public java.lang.Object visitYield(Yield node) throws java.lang.Exception
- Specified by:
visitYieldin interfaceVisitorIF- Overrides:
visitYieldin classVisitorBase- Throws:
java.lang.Exception
-
visitReturn
public java.lang.Object visitReturn(Return node) throws java.lang.Exception
- Specified by:
visitReturnin interfaceVisitorIF- Overrides:
visitReturnin classVisitorBase- Throws:
java.lang.Exception
-
visitReturn
public java.lang.Object visitReturn(Return node, boolean inEval) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitRaise
public java.lang.Object visitRaise(Raise node) throws java.lang.Exception
- Specified by:
visitRaisein interfaceVisitorIF- Overrides:
visitRaisein classVisitorBase- Throws:
java.lang.Exception
-
visitImport
public java.lang.Object visitImport(Import node) throws java.lang.Exception
- Specified by:
visitImportin interfaceVisitorIF- Overrides:
visitImportin classVisitorBase- Throws:
java.lang.Exception
-
visitImportFrom
public java.lang.Object visitImportFrom(ImportFrom node) throws java.lang.Exception
- Specified by:
visitImportFromin interfaceVisitorIF- Overrides:
visitImportFromin classVisitorBase- Throws:
java.lang.Exception
-
visitGlobal
public java.lang.Object visitGlobal(Global node) throws java.lang.Exception
- Specified by:
visitGlobalin interfaceVisitorIF- Overrides:
visitGlobalin classVisitorBase- Throws:
java.lang.Exception
-
visitExec
public java.lang.Object visitExec(Exec node) throws java.lang.Exception
- Specified by:
visitExecin interfaceVisitorIF- Overrides:
visitExecin classVisitorBase- Throws:
java.lang.Exception
-
visitAssert
public java.lang.Object visitAssert(Assert node) throws java.lang.Exception
- Specified by:
visitAssertin interfaceVisitorIF- Overrides:
visitAssertin classVisitorBase- Throws:
java.lang.Exception
-
doTest
public java.lang.Object doTest(org.objectweb.asm.Label end_of_if, If node, int index) throws java.lang.Exception- Throws:
java.lang.Exception
-
visitIf
public java.lang.Object visitIf(If node) throws java.lang.Exception
- Specified by:
visitIfin interfaceVisitorIF- Overrides:
visitIfin classVisitorBase- Throws:
java.lang.Exception
-
visitIfExp
public java.lang.Object visitIfExp(IfExp node) throws java.lang.Exception
- Specified by:
visitIfExpin interfaceVisitorIF- Overrides:
visitIfExpin classVisitorBase- Throws:
java.lang.Exception
-
beginLoop
public int beginLoop()
-
finishLoop
public void finishLoop(int savebcf)
-
visitWhile
public java.lang.Object visitWhile(While node) throws java.lang.Exception
- Specified by:
visitWhilein interfaceVisitorIF- Overrides:
visitWhilein classVisitorBase- Throws:
java.lang.Exception
-
visitFor
public java.lang.Object visitFor(For node) throws java.lang.Exception
- Specified by:
visitForin interfaceVisitorIF- Overrides:
visitForin classVisitorBase- Throws:
java.lang.Exception
-
exceptionTest
public void exceptionTest(int exc, org.objectweb.asm.Label end_of_exceptions, TryExcept node, int index) throws java.lang.Exception- Throws:
java.lang.Exception
-
visitTryFinally
public java.lang.Object visitTryFinally(TryFinally node) throws java.lang.Exception
- Specified by:
visitTryFinallyin interfaceVisitorIF- Overrides:
visitTryFinallyin classVisitorBase- Throws:
java.lang.Exception
-
visitTryExcept
public java.lang.Object visitTryExcept(TryExcept node) throws java.lang.Exception
- Specified by:
visitTryExceptin interfaceVisitorIF- Overrides:
visitTryExceptin classVisitorBase- Throws:
java.lang.Exception
-
visitSuite
public java.lang.Object visitSuite(Suite node) throws java.lang.Exception
- Specified by:
visitSuitein interfaceVisitorIF- Overrides:
visitSuitein classVisitorBase- Throws:
java.lang.Exception
-
suite
public java.lang.Object suite(java.util.List<stmt> stmts) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitBoolOp
public java.lang.Object visitBoolOp(BoolOp node) throws java.lang.Exception
- Specified by:
visitBoolOpin interfaceVisitorIF- Overrides:
visitBoolOpin classVisitorBase- Throws:
java.lang.Exception
-
visitCompare
public java.lang.Object visitCompare(Compare node) throws java.lang.Exception
- Specified by:
visitComparein interfaceVisitorIF- Overrides:
visitComparein classVisitorBase- Throws:
java.lang.Exception
-
visitCmpop
public void visitCmpop(cmpopType op) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitBinOp
public java.lang.Object visitBinOp(BinOp node) throws java.lang.Exception
- Specified by:
visitBinOpin interfaceVisitorIF- Overrides:
visitBinOpin classVisitorBase- Throws:
java.lang.Exception
-
visitUnaryOp
public java.lang.Object visitUnaryOp(UnaryOp node) throws java.lang.Exception
- Specified by:
visitUnaryOpin interfaceVisitorIF- Overrides:
visitUnaryOpin classVisitorBase- Throws:
java.lang.Exception
-
visitAugAssign
public java.lang.Object visitAugAssign(AugAssign node) throws java.lang.Exception
- Specified by:
visitAugAssignin interfaceVisitorIF- Overrides:
visitAugAssignin classVisitorBase- Throws:
java.lang.Exception
-
invokeNoKeywords
public java.lang.Object invokeNoKeywords(Attribute node, java.util.List<expr> values) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitCall
public java.lang.Object visitCall(Call node) throws java.lang.Exception
- Specified by:
visitCallin interfaceVisitorIF- Overrides:
visitCallin classVisitorBase- Throws:
java.lang.Exception
-
Slice
public java.lang.Object Slice(Subscript node, Slice slice) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitSubscript
public java.lang.Object visitSubscript(Subscript node) throws java.lang.Exception
- Specified by:
visitSubscriptin interfaceVisitorIF- Overrides:
visitSubscriptin classVisitorBase- Throws:
java.lang.Exception
-
visitIndex
public java.lang.Object visitIndex(Index node) throws java.lang.Exception
- Specified by:
visitIndexin interfaceVisitorIF- Overrides:
visitIndexin classVisitorBase- Throws:
java.lang.Exception
-
visitExtSlice
public java.lang.Object visitExtSlice(ExtSlice node) throws java.lang.Exception
- Specified by:
visitExtSlicein interfaceVisitorIF- Overrides:
visitExtSlicein classVisitorBase- Throws:
java.lang.Exception
-
visitAttribute
public java.lang.Object visitAttribute(Attribute node) throws java.lang.Exception
- Specified by:
visitAttributein interfaceVisitorIF- Overrides:
visitAttributein classVisitorBase- Throws:
java.lang.Exception
-
seqSet
public java.lang.Object seqSet(java.util.List<expr> nodes) throws java.lang.Exception
- Throws:
java.lang.Exception
-
seqDel
public java.lang.Object seqDel(java.util.List<expr> nodes) throws java.lang.Exception
- Throws:
java.lang.Exception
-
visitTuple
public java.lang.Object visitTuple(Tuple node) throws java.lang.Exception
- Specified by:
visitTuplein interfaceVisitorIF- Overrides:
visitTuplein classVisitorBase- Throws:
java.lang.Exception
-
visitList
public java.lang.Object visitList(List node) throws java.lang.Exception
- Specified by:
visitListin interfaceVisitorIF- Overrides:
visitListin classVisitorBase- Throws:
java.lang.Exception
-
visitListComp
public java.lang.Object visitListComp(ListComp node) throws java.lang.Exception
- Specified by:
visitListCompin interfaceVisitorIF- Overrides:
visitListCompin classVisitorBase- Throws:
java.lang.Exception
-
visitSetComp
public java.lang.Object visitSetComp(SetComp node) throws java.lang.Exception
- Specified by:
visitSetCompin interfaceVisitorIF- Overrides:
visitSetCompin classVisitorBase- Throws:
java.lang.Exception
-
visitDictComp
public java.lang.Object visitDictComp(DictComp node) throws java.lang.Exception
- Specified by:
visitDictCompin interfaceVisitorIF- Overrides:
visitDictCompin classVisitorBase- Throws:
java.lang.Exception
-
visitDict
public java.lang.Object visitDict(Dict node) throws java.lang.Exception
- Specified by:
visitDictin interfaceVisitorIF- Overrides:
visitDictin classVisitorBase- Throws:
java.lang.Exception
-
visitSet
public java.lang.Object visitSet(Set node) throws java.lang.Exception
- Specified by:
visitSetin interfaceVisitorIF- Overrides:
visitSetin classVisitorBase- Throws:
java.lang.Exception
-
visitRepr
public java.lang.Object visitRepr(Repr node) throws java.lang.Exception
- Specified by:
visitReprin interfaceVisitorIF- Overrides:
visitReprin classVisitorBase- Throws:
java.lang.Exception
-
visitLambda
public java.lang.Object visitLambda(Lambda node) throws java.lang.Exception
- Specified by:
visitLambdain interfaceVisitorIF- Overrides:
visitLambdain classVisitorBase- Throws:
java.lang.Exception
-
visitEllipsis
public java.lang.Object visitEllipsis(Ellipsis node) throws java.lang.Exception
- Specified by:
visitEllipsisin interfaceVisitorIF- Overrides:
visitEllipsisin classVisitorBase- Throws:
java.lang.Exception
-
visitSlice
public java.lang.Object visitSlice(Slice node) throws java.lang.Exception
- Specified by:
visitSlicein interfaceVisitorIF- Overrides:
visitSlicein classVisitorBase- Throws:
java.lang.Exception
-
visitClassDef
public java.lang.Object visitClassDef(ClassDef node) throws java.lang.Exception
- Specified by:
visitClassDefin interfaceVisitorIF- Overrides:
visitClassDefin classVisitorBase- Throws:
java.lang.Exception
-
visitNum
public java.lang.Object visitNum(Num node) throws java.lang.Exception
- Specified by:
visitNumin interfaceVisitorIF- Overrides:
visitNumin classVisitorBase- Throws:
java.lang.Exception
-
visitName
public java.lang.Object visitName(Name node) throws java.lang.Exception
- Specified by:
visitNamein interfaceVisitorIF- Overrides:
visitNamein classVisitorBase- Throws:
java.lang.Exception
-
visitStr
public java.lang.Object visitStr(Str node) throws java.lang.Exception
- Specified by:
visitStrin interfaceVisitorIF- Overrides:
visitStrin classVisitorBase- Throws:
java.lang.Exception
-
visitGeneratorExp
public java.lang.Object visitGeneratorExp(GeneratorExp node) throws java.lang.Exception
- Specified by:
visitGeneratorExpin interfaceVisitorIF- Overrides:
visitGeneratorExpin classVisitorBase- Throws:
java.lang.Exception
-
visitWith
public java.lang.Object visitWith(With node) throws java.lang.Exception
- Specified by:
visitWithin interfaceVisitorIF- Overrides:
visitWithin classVisitorBase- Throws:
java.lang.Exception
-
-
DMelt 3.0 © DataMelt by jWork.ORG