Package dev.quantumfusion.hyphen.codegen
Class MethodHandler
java.lang.Object
org.objectweb.asm.MethodVisitor
dev.quantumfusion.hyphen.codegen.MethodHandler
- All Implemented Interfaces:
AutoCloseable
Our enhanced MethodVisitor with some helper functions for Hyphen Serializer Generation
-
Field Summary
FieldsFields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Constructor Summary
ConstructorsConstructorDescriptionMethodHandler(org.objectweb.asm.ClassWriter cw, MethodInfo methodInfo, String self, Class<?> dataClass, Class<?> ioClass, boolean compactVars, boolean spark, boolean synthetic)MethodHandler(org.objectweb.asm.MethodVisitor methodVisitor, String self, Class<?> dataClass, Class<?> ioClass, boolean instanceMethod) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcallInst(MethodInfo info)voidclose()org.objectweb.asm.LabelvoiddefineLabel(org.objectweb.asm.Label label)voidstatic StringgetParamName(int id)voidorg.objectweb.asm.Labeljump(int op)voidjump(int op, org.objectweb.asm.Label label)voidloadIO()voidop(int... op)voidparameterOp(int op, int parameter)voidvoidthrowException(String error)voidvoidvoidvoidvisitFieldInsn(int opcode, Class<?> owner, String name, Class<?> descriptor)Methods inherited from class org.objectweb.asm.MethodVisitor
visitAnnotableParameterCount, visitAnnotation, visitAnnotationDefault, visitAttribute, visitCode, visitEnd, visitFieldInsn, visitFrame, visitIincInsn, visitInsn, visitInsnAnnotation, visitIntInsn, visitInvokeDynamicInsn, visitJumpInsn, visitLabel, visitLdcInsn, visitLineNumber, visitLocalVariable, visitLocalVariableAnnotation, visitLookupSwitchInsn, visitMaxs, visitMethodInsn, visitMethodInsn, visitMultiANewArrayInsn, visitParameter, visitParameterAnnotation, visitTableSwitchInsn, visitTryCatchAnnotation, visitTryCatchBlock, visitTypeAnnotation, visitTypeInsn, visitVarInsn
-
Field Details
-
self
-
dataClass
-
ioClass
-
-
Constructor Details
-
MethodHandler
-
MethodHandler
public MethodHandler(org.objectweb.asm.ClassWriter cw, MethodInfo methodInfo, String self, Class<?> dataClass, Class<?> ioClass, boolean compactVars, boolean spark, boolean synthetic)
-
-
Method Details
-
typeOp
-
visitFieldInsn
-
callInst
-
callInst
-
op
public void op(int... op) -
parameterOp
public void parameterOp(int op, int parameter) -
varOp
-
varOp
-
loadIO
public void loadIO() -
getParamName
-
throwException
-
getIO
-
putIO
-
jump
public org.objectweb.asm.Label jump(int op) -
jump
public void jump(int op, org.objectweb.asm.Label label) -
defineLabel
public void defineLabel(org.objectweb.asm.Label label) -
defineLabel
public org.objectweb.asm.Label defineLabel() -
addVar
-
addVar
-
getVar
-
inc
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-