Class CodeGenerator
java.lang.Object
org.objectweb.asm.MethodVisitor
org.kohsuke.file_leak_detector.transform.CodeGenerator
public class CodeGenerator
extends org.objectweb.asm.MethodVisitor
Convenience method to generate bytecode.
- Author:
- Kohsuke Kawaguchi
-
Field Summary
Fields inherited from class org.objectweb.asm.MethodVisitor
api, mv -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid_goto(org.objectweb.asm.Label l) void_null()voidaastore()voidaload(int i) voidastore(int i) voidathrow()voiddup()voidiconst(int i) voidifFalse(org.objectweb.asm.Label label) voidinvokeAppStatic(Class<?> userClass, String userMethodName, Class<?>[] argTypes, int[] localIndex) Invokes a static method on the class in the system classloader.voidinvokeAppStatic(String userClassName, String userMethodName, Class<?>[] argTypes, int[] localIndex) voidinvokeVirtual(String owner, String name, String desc) voidvoidvoidpop()voidMethods inherited from class org.objectweb.asm.MethodVisitor
getDelegate, 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
-
Constructor Details
-
CodeGenerator
public CodeGenerator(org.objectweb.asm.MethodVisitor mv)
-
-
Method Details
-
println
-
_null
public void _null() -
newArray
-
iconst
public void iconst(int i) -
dup
public void dup() -
aastore
public void aastore() -
aload
public void aload(int i) -
astore
public void astore(int i) -
pop
public void pop() -
ldc
-
invokeVirtual
-
invokeAppStatic
public void invokeAppStatic(Class<?> userClass, String userMethodName, Class<?>[] argTypes, int[] localIndex) Invokes a static method on the class in the system classloader. This is used for instrumenting classes in the bootstrap classloader, which cannot see the classes in the system classloader. -
invokeAppStatic
-
_goto
public void _goto(org.objectweb.asm.Label l) -
ifFalse
public void ifFalse(org.objectweb.asm.Label label) -
athrow
public void athrow()
-