|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jruby.compiler.impl.StandardASMCompiler
public class StandardASMCompiler
Nested Class Summary | |
---|---|
class |
StandardASMCompiler.AbstractMethodCompiler
|
class |
StandardASMCompiler.ASMClosureCompiler
|
class |
StandardASMCompiler.ASMMethodCompiler
|
Field Summary | |
---|---|
static int |
ARGS_INDEX
|
static int |
CLOSURE_INDEX
|
static int |
DYNAMIC_SCOPE_INDEX
|
static int |
EXCEPTION_INDEX
|
static int |
FIRST_TEMP_INDEX
|
static int |
NIL_INDEX
|
static int |
PREVIOUS_EXCEPTION_INDEX
|
static int |
RUNTIME_INDEX
|
static int |
SELF_INDEX
|
static int |
THIS
|
static int |
THREADCONTEXT_INDEX
|
static int |
VARS_ARRAY_INDEX
|
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_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, 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, 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, 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, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6 |
Constructor Summary | |
---|---|
StandardASMCompiler(java.lang.String classname,
java.lang.String sourcename)
Creates a new instance of StandardCompilerContext |
Method Summary | |
---|---|
void |
buildStaticScopeNames(SkinnyMethodAdapter method,
StaticScope scope)
|
void |
endScript(boolean generateRun,
boolean generateLoad,
boolean generateMain)
End compilation for the current script, closing all context and structures used for the compilation. |
CacheCompiler |
getCacheCompiler()
|
byte[] |
getClassByteArray()
|
SkinnyMethodAdapter |
getClassInitMethod()
|
java.lang.String |
getClassname()
|
org.objectweb.asm.ClassVisitor |
getClassVisitor()
|
SkinnyMethodAdapter |
getInitMethod()
|
java.lang.String |
getNewConstant(java.lang.String type,
java.lang.String name_prefix)
|
java.lang.String |
getNewConstant(java.lang.String type,
java.lang.String name_prefix,
java.lang.Object init)
|
java.lang.String |
getNewField(java.lang.String type,
java.lang.String name,
java.lang.Object init)
|
java.lang.String |
getNewStaticConstant(java.lang.String type,
java.lang.String name_prefix)
|
java.lang.String |
getSourcename()
|
java.lang.Class<?> |
loadClass(JRubyClassLoader classLoader)
|
MethodCompiler |
startMethod(java.lang.String friendlyName,
CompilerCallback args,
StaticScope scope,
ASTInspector inspector)
Begin compilation for a method that has the specified number of local variables. |
void |
startScript(StaticScope scope)
Begin compilation for a script, preparing all necessary context and code to support this script's compiled representation. |
void |
writeClass(java.io.File destination)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int THIS
public static final int THREADCONTEXT_INDEX
public static final int SELF_INDEX
public static final int ARGS_INDEX
public static final int CLOSURE_INDEX
public static final int DYNAMIC_SCOPE_INDEX
public static final int RUNTIME_INDEX
public static final int VARS_ARRAY_INDEX
public static final int NIL_INDEX
public static final int EXCEPTION_INDEX
public static final int PREVIOUS_EXCEPTION_INDEX
public static final int FIRST_TEMP_INDEX
Constructor Detail |
---|
public StandardASMCompiler(java.lang.String classname, java.lang.String sourcename)
Method Detail |
---|
public byte[] getClassByteArray()
public java.lang.Class<?> loadClass(JRubyClassLoader classLoader) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
public void writeClass(java.io.File destination) throws java.io.IOException
java.io.IOException
public java.lang.String getClassname()
public java.lang.String getSourcename()
public org.objectweb.asm.ClassVisitor getClassVisitor()
public void startScript(StaticScope scope)
ScriptCompiler
startScript
in interface ScriptCompiler
public void endScript(boolean generateRun, boolean generateLoad, boolean generateMain)
ScriptCompiler
endScript
in interface ScriptCompiler
public void buildStaticScopeNames(SkinnyMethodAdapter method, StaticScope scope)
public SkinnyMethodAdapter getInitMethod()
public SkinnyMethodAdapter getClassInitMethod()
public CacheCompiler getCacheCompiler()
public MethodCompiler startMethod(java.lang.String friendlyName, CompilerCallback args, StaticScope scope, ASTInspector inspector)
ScriptCompiler
startMethod
in interface ScriptCompiler
friendlyName
- The outward user-readable name of the method. A unique name will be generated based on this.
public java.lang.String getNewConstant(java.lang.String type, java.lang.String name_prefix)
public java.lang.String getNewConstant(java.lang.String type, java.lang.String name_prefix, java.lang.Object init)
public java.lang.String getNewField(java.lang.String type, java.lang.String name, java.lang.Object init)
public java.lang.String getNewStaticConstant(java.lang.String type, java.lang.String name_prefix)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |