Class JavaWriter
java.lang.Object
org.openzen.zenscript.javabytecode.compiler.JavaWriter
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal org.objectweb.asm.ClassVisitorfinal HighLevelDefinitionfinal JavaMethod -
Constructor Summary
ConstructorsConstructorDescriptionJavaWriter(IZSLogger logger, CodePosition position, org.objectweb.asm.ClassVisitor visitor, boolean nameVariables, JavaMethod method, HighLevelDefinition forDefinition, boolean isExtension, String signature, String descriptor, String[] exceptions, String... annotations) JavaWriter(IZSLogger logger, CodePosition position, org.objectweb.asm.ClassVisitor visitor, boolean nameVariables, JavaMethod method, HighLevelDefinition forDefinition, String signature, String[] exceptions, String... annotations) JavaWriter(IZSLogger logger, CodePosition position, org.objectweb.asm.ClassVisitor visitor, JavaMethod method, HighLevelDefinition forDefinition, String signature, String[] exceptions, String... annotations) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidarrayLoad(org.objectweb.asm.Type type) voidarrayStore(org.objectweb.asm.Type type) voidaThrow()voidbiPush(byte value) voidvoidcheckCast(org.objectweb.asm.Type type) voidvoidvoidconstantClass(JavaClass cls) voidd2f()voidd2i()voidd2l()voiddAdd()voiddCmp()voiddDiv()voiddMul()voiddNeg()voiddRem()voiddSub()voiddup()voiddup(boolean large) voiddup(org.objectweb.asm.Type type) voiddup2()voiddup2X1()voiddup2X2()voiddupX1()voiddupX1(boolean tosLarge, boolean large) voiddupX2()voidvoidend()voidf2d()voidf2i()voidf2l()voidfAdd()voidfCmp()voidfDiv()voidfMul()voidfNeg()voidfRem()voidfSub()voidvoidgetLocalVariable(VariableID variable) org.objectweb.asm.LabelgetNamedLabel(String label) voidgetStaticField(String owner, String name, String descriptor) voidgetStaticField(JavaField field) org.objectweb.asm.commons.LocalVariablesSortervoidgoTo(org.objectweb.asm.Label lbl) voidi2b()voidi2d()voidi2f()voidi2l()voidi2s()voidiAdd()voidiAnd()voidiConst0()voidiConst1()voididec(int local) voidiDiv()voidifACmpEq(org.objectweb.asm.Label lbl) voidifACmpNe(org.objectweb.asm.Label lbl) voidifEQ(org.objectweb.asm.Label lbl) Jump if TOS == 0.voidifGE(org.objectweb.asm.Label lbl) voidifGT(org.objectweb.asm.Label lbl) voidifICmpEQ(org.objectweb.asm.Label lbl) voidifICmpGE(org.objectweb.asm.Label lbl) voidifICmpGT(org.objectweb.asm.Label lbl) voidifICmpLE(org.objectweb.asm.Label lbl) voidifICmpLT(org.objectweb.asm.Label lbl) voidifICmpNE(org.objectweb.asm.Label lbl) voidifLE(org.objectweb.asm.Label lbl) voidifLT(org.objectweb.asm.Label lbl) voidifNE(org.objectweb.asm.Label lbl) voidifNonNull(org.objectweb.asm.Label lbl) voidifNull(org.objectweb.asm.Label lbl) voidiinc(int local) voidiinc(int local, int increment) voidiMul()voidiNeg()voidiNot()voidinstanceOf(String descriptor) voidinstanceOf(org.objectweb.asm.Type type) voidvoidinvokeInterface(JavaMethod method) voidinvokeSpecial(Class owner, String name, String descriptor) voidinvokeSpecial(String ownerInternalName, String name, String descriptor) voidinvokeSpecial(JavaMethod method) voidinvokeStatic(JavaMethod method) voidinvokeVirtual(JavaMethod method) voidiOr()voidiRem()voidiShl()voidiShr()voidiSub()voidiUShr()voidiXor()voidl2d()voidl2f()voidl2i()voidlabel(org.objectweb.asm.Label label) voidlAdd()voidlAnd()voidlCmp()voidlDiv()voidlMul()voidlNeg()voidlNot()voidload(org.objectweb.asm.Type type, int local) voidload(JavaLocalVariableInfo localVariable) voidload(JavaParameterInfo parameter) voidloadInt(int local) voidloadObject(int local) intintlocal(org.objectweb.asm.Type type) voidlookupSwitch(org.objectweb.asm.Label defaultLabel, JavaSwitchLabel[] switchLabels) voidlOr()voidlRem()voidlShl()voidlShr()voidlSub()voidlUShr()voidlXor()voidnameParameter(int modifier, String name) voidnameVariable(int local, String name, org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Type type) voidnewArray(org.objectweb.asm.Type componentType) voidvoidvoidpop()voidpop(boolean large) voidpop2()voidposition(int position) voidvoidvoidputNamedLabel(org.objectweb.asm.Label lbl, String name) voidputStaticField(String owner, String name, String descriptor) voidputStaticField(JavaField field) voidret()voidvoidvoidreturnType(org.objectweb.asm.Type type) voidsetLocalVariable(VariableID variable, JavaLocalVariableInfo info) voidsiPush(short value) voidstart()voidstore(org.objectweb.asm.Type type, int local) voidstore(JavaLocalVariableInfo localVariable) voidstore(JavaParameterInfo parameter) voidstoreInt(int local) voidstoreObject(int local) voidvoidswap()voidtryCatch(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) tryGetLocalVariable(VariableID variable)
-
Field Details
-
method
-
forDefinition
-
clazzVisitor
public final org.objectweb.asm.ClassVisitor clazzVisitor
-
-
Constructor Details
-
Method Details
-
setLocalVariable
-
tryGetLocalVariable
-
getLocalVariable
-
enableDebug
public void enableDebug() -
getVisitor
public org.objectweb.asm.commons.LocalVariablesSorter getVisitor() -
start
public void start() -
end
public void end() -
label
public void label(org.objectweb.asm.Label label) -
local
public int local(org.objectweb.asm.Type type) -
local
-
iConst0
public void iConst0() -
iConst1
public void iConst1() -
biPush
public void biPush(byte value) -
siPush
public void siPush(short value) -
aConstNull
public void aConstNull() -
constant
-
constant
-
pop
public void pop() -
pop
public void pop(boolean large) -
pop2
public void pop2() -
dup
public void dup() -
dup
public void dup(org.objectweb.asm.Type type) -
dup
public void dup(boolean large) -
dup2
public void dup2() -
dupX1
public void dupX1() -
dupX1
public void dupX1(boolean tosLarge, boolean large) -
dupX2
public void dupX2() -
dup2X1
public void dup2X1() -
dup2X2
public void dup2X2() -
store
public void store(org.objectweb.asm.Type type, int local) -
load
public void load(org.objectweb.asm.Type type, int local) -
load
-
store
-
storeInt
public void storeInt(int local) -
loadInt
public void loadInt(int local) -
storeObject
public void storeObject(int local) -
loadObject
public void loadObject(int local) -
arrayLength
public void arrayLength() -
arrayLoad
public void arrayLoad(org.objectweb.asm.Type type) -
arrayStore
public void arrayStore(org.objectweb.asm.Type type) -
newArray
public void newArray(org.objectweb.asm.Type componentType) -
checkCast
-
checkCast
public void checkCast(org.objectweb.asm.Type type) -
iNeg
public void iNeg() -
iAdd
public void iAdd() -
iSub
public void iSub() -
iMul
public void iMul() -
iDiv
public void iDiv() -
iRem
public void iRem() -
iAnd
public void iAnd() -
iOr
public void iOr() -
iXor
public void iXor() -
iNot
public void iNot() -
invertBoolean
public void invertBoolean() -
iShr
public void iShr() -
iUShr
public void iUShr() -
iShl
public void iShl() -
lNeg
public void lNeg() -
lAdd
public void lAdd() -
lSub
public void lSub() -
lMul
public void lMul() -
lDiv
public void lDiv() -
lRem
public void lRem() -
lAnd
public void lAnd() -
lOr
public void lOr() -
lXor
public void lXor() -
lNot
public void lNot() -
lShr
public void lShr() -
lUShr
public void lUShr() -
lShl
public void lShl() -
fNeg
public void fNeg() -
fAdd
public void fAdd() -
fSub
public void fSub() -
fMul
public void fMul() -
fDiv
public void fDiv() -
fRem
public void fRem() -
dNeg
public void dNeg() -
dAdd
public void dAdd() -
dSub
public void dSub() -
dMul
public void dMul() -
dDiv
public void dDiv() -
dRem
public void dRem() -
iinc
public void iinc(int local) -
idec
public void idec(int local) -
iinc
public void iinc(int local, int increment) -
i2b
public void i2b() -
i2s
public void i2s() -
i2l
public void i2l() -
i2f
public void i2f() -
i2d
public void i2d() -
l2i
public void l2i() -
l2f
public void l2f() -
l2d
public void l2d() -
f2i
public void f2i() -
f2l
public void f2l() -
f2d
public void f2d() -
d2i
public void d2i() -
d2l
public void d2l() -
d2f
public void d2f() -
lCmp
public void lCmp() -
fCmp
public void fCmp() -
dCmp
public void dCmp() -
instanceOf
-
instanceOf
public void instanceOf(org.objectweb.asm.Type type) -
invokeSpecial
-
invokeSpecial
-
newObject
-
goTo
public void goTo(org.objectweb.asm.Label lbl) -
ifEQ
public void ifEQ(org.objectweb.asm.Label lbl) Jump if TOS == 0.- Parameters:
lbl- target label
-
ifNE
public void ifNE(org.objectweb.asm.Label lbl) -
ifLT
public void ifLT(org.objectweb.asm.Label lbl) -
ifGT
public void ifGT(org.objectweb.asm.Label lbl) -
ifGE
public void ifGE(org.objectweb.asm.Label lbl) -
ifLE
public void ifLE(org.objectweb.asm.Label lbl) -
ifICmpLE
public void ifICmpLE(org.objectweb.asm.Label lbl) -
ifICmpGE
public void ifICmpGE(org.objectweb.asm.Label lbl) -
ifICmpEQ
public void ifICmpEQ(org.objectweb.asm.Label lbl) -
ifICmpNE
public void ifICmpNE(org.objectweb.asm.Label lbl) -
ifICmpGT
public void ifICmpGT(org.objectweb.asm.Label lbl) -
ifICmpLT
public void ifICmpLT(org.objectweb.asm.Label lbl) -
ifACmpEq
public void ifACmpEq(org.objectweb.asm.Label lbl) -
ifACmpNe
public void ifACmpNe(org.objectweb.asm.Label lbl) -
ifNull
public void ifNull(org.objectweb.asm.Label lbl) -
ifNonNull
public void ifNonNull(org.objectweb.asm.Label lbl) -
ret
public void ret() -
returnType
public void returnType(org.objectweb.asm.Type type) -
returnInt
public void returnInt() -
returnObject
public void returnObject() -
getField
-
putField
-
getStaticField
-
putStaticField
-
aThrow
public void aThrow() -
position
public void position(int position) -
swap
public void swap() -
createLabelName
-
putNamedLabel
-
stringAdd
public void stringAdd() -
getNamedLabel
-
tryCatch
public void tryCatch(org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Label handler, String type) -
nameVariable
public void nameVariable(int local, String name, org.objectweb.asm.Label start, org.objectweb.asm.Label end, org.objectweb.asm.Type type) -
nameParameter
-
lookupSwitch
-
addVariableInfo
-