Class CodeGenerator
java.lang.Object
com.strobel.reflection.emit.CodeGenerator
- Author:
- strobelm
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionCodeGenerator(MethodBuilder methodBuilder) CodeGenerator(MethodBuilder methodBuilder, int initialSize) -
Method Summary
Modifier and TypeMethodDescriptionvoidbeginCatchBlock(Type<?> caughtType) voidvoidcall(ConstructorInfo constructor) voidcall(OpCode opCode, MethodInfo method) voidcall(MethodInfo method) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////static booleancanEmitConstant(Object value, Type<?> type) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////declareLocal(Type<?> localType) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////declareLocal(String name, Type<?> localType) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voiddup()/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidvoiddup2()voiddup2x1()voiddup2x2()void/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidvoidvoidvoidvoidvoidvoidemit(OpCode opCode, ConstructorInfo constructor) voidvoidvoidemit(OpCode opCode, MethodInfo method) voidvoidfinal voidemitArray(Type<?> elementType, int count, CodeGenerator.EmitArrayElementCallback emit) voidemitBoolean(boolean value) void/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidemitByte(byte value) voidemitCharacter(char value) voidemitConstant(Object value) voidemitConstant(Object value, Type<?> type) voidemitConstantArray(Object array) voidemitConversion(Type<?> sourceType, Type<?> targetType) voidemitDefaultValue(Type<?> type) voidemitDouble(double value) voidemitFloat(float value) void/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidemitInteger(int value) voidemitLoad(LocalBuilder local) protected voidvoidemitLoadArgument(int index) protected voidemitLoadConstant(int token) voidemitLoadElement(Type<?> elementType) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////protected voidemitLoadLongConstant(int token) voidemitLong(long value) voidemitMethod(MethodBase value) void/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidemitNewArray(Type<?> arrayType) voidemitNewArray(Type<?> arrayType, int dimensionsToInitialize) voidemitNull()voidvoidemitReturn(Type<?> returnType) voidemitShort(short value) voidemitStore(LocalBuilder local) protected voidvoidemitStoreArgument(int index) voidemitStoreElement(Type<?> elementType) voidemitString(String value) voidemitSwitch(int[] keys, SwitchCallback callback) voidemitSwitch(int[] keys, SwitchCallback callback, SwitchOptions options) <E extends Enum<E>>
voidemitSwitch(E[] keys, EnumSwitchCallback<E> callback) <E extends Enum<E>>
voidemitSwitch(E[] keys, EnumSwitchCallback<E> callback, SwitchOptions options) voidemitSwitch(String[] keys, StringSwitchCallback callback) voidemitSwitch(String[] keys, StringSwitchCallback callback, SwitchOptions options) voidemitThis()voidvoidvoidvoidvoid/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidincrement(LocalBuilder local, int delta) /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////voidintoffset()voidpop()voidvoidpop2()void
-
Constructor Details
-
CodeGenerator
-
CodeGenerator
-
-
Method Details
-
offset
public int offset() -
beginExceptionBlock
-
endExceptionBlock
public void endExceptionBlock() -
endTryBlock
public void endTryBlock() -
beginCatchBlock
-
beginFinallyBlock
public void beginFinallyBlock() -
defineLabel
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
markLabel
-
declareLocal
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
declareLocal
-
dup
public void dup()///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
dup2
public void dup2() -
dup2x1
public void dup2x1() -
dup2x2
public void dup2x2() -
dup
-
pop
public void pop() -
pop2
public void pop2() -
pop
-
emit
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
emit
-
call
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
call
-
call
-
emitGoto
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emitReturn
public void emitReturn() -
emitReturn
-
emitNew
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emitNewArray
-
emitNewArray
-
emitArray
public final void emitArray(Type<?> elementType, int count, CodeGenerator.EmitArrayElementCallback emit) -
increment
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emitLoad
-
emitStore
-
emitThis
public void emitThis() -
emitLoadArgument
public void emitLoadArgument(int index) -
emitLoad
-
emitStoreArgument
public void emitStoreArgument(int index) -
emitStore
-
emitLoadElement
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emitStoreElement
-
getField
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
putField
-
canEmitConstant
-
emitConstant
-
emitConstantArray
-
emitConstant
-
emitType
-
emitMethod
-
emitNull
public void emitNull() -
emitDefaultValue
-
emitBoolean
public void emitBoolean(boolean value) -
emitByte
public void emitByte(byte value) -
emitCharacter
public void emitCharacter(char value) -
emitShort
public void emitShort(short value) -
emitInteger
public void emitInteger(int value) -
emitLong
public void emitLong(long value) -
emitFloat
public void emitFloat(float value) -
emitDouble
public void emitDouble(double value) -
emitString
-
emitLoadConstant
protected void emitLoadConstant(int token) -
emitLoadLongConstant
protected void emitLoadLongConstant(int token) -
emitBox
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -
emitUnbox
-
emitConversion
-
emitSwitch
-
emitSwitch
-
emitSwitch
-
emitSwitch
public <E extends Enum<E>> void emitSwitch(E[] keys, EnumSwitchCallback<E> callback, SwitchOptions options) -
emitSwitch
-
emitSwitch
-