Tabnine Logo
MethodVisitor
Code IndexAdd Tabnine to your IDE (free)

How to use
MethodVisitor
in
org.objectweb.asm

Best Java code snippets using org.objectweb.asm.MethodVisitor (Showing top 20 results out of 2,295)

Refine searchRefine arrow

  • Type
  • Label
  • ClassWriter
  • ClassVisitor
origin: scouter-project/scouter

@Override
public void visitMaxs(int maxStack, int maxLocals) {
  Label endFinally = new Label();
  mv.visitTryCatchBlock(startFinally, endFinally, endFinally, null);
  mv.visitLabel(endFinally);
  mv.visitInsn(DUP);
  int errIdx = newLocal(Type.getType(Throwable.class));
  mv.visitVarInsn(Opcodes.ASTORE, errIdx);
  mv.visitVarInsn(Opcodes.ALOAD, statIdx);
  mv.visitVarInsn(Opcodes.ALOAD, errIdx);
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACE_MAIN, END_METHOD, END_SIGNATURE, false);
  mv.visitInsn(ATHROW);
  mv.visitMaxs(maxStack + 8, maxLocals + 2);
}
origin: pxb1988/dex2jar

private void genSwitchMethod(ClassVisitor cw, String typeName, String methodName, CB callback) {
  MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, methodName, "()Ljava/lang/String;", null, null);
  mv.visitCode();
  mv.visitVarInsn(ALOAD, 0);
  mv.visitFieldInsn(GETFIELD, typeName, "idx", "I");
  Label def = new Label();
  Label[] labels = new Label[callbacks.size()];
    Label label = strMap.get(key);
    if (label == null) {
      label = new Label();
      strMap.put(key, label);
  mv.visitTableSwitchInsn(0, callbacks.size() - 1, def, labels);
    mv.visitLabel(e.getValue());
    mv.visitLdcInsn(e.getKey());
    mv.visitInsn(ARETURN);
  mv.visitLabel(def);
  mv.visitTypeInsn(NEW, "java/lang/RuntimeException");
  mv.visitInsn(DUP);
  mv.visitLdcInsn("invalid idx");
  mv.visitMethodInsn(INVOKESPECIAL, "java/lang/RuntimeException", "<init>", "(Ljava/lang/String;)V");
  mv.visitInsn(ATHROW);
  mv.visitMaxs(-1, -1);
  mv.visitEnd();
origin: Meituan-Dianping/Robust

private static void createFloatObj(MethodVisitor mv, int argsPostion) {
  mv.visitTypeInsn(Opcodes.NEW, "java/lang/Float");
  mv.visitInsn(Opcodes.DUP);
  mv.visitVarInsn(Opcodes.FLOAD, argsPostion);
  mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/Float", "<init>", "(F)V");
  mv.visitInsn(Opcodes.AASTORE);
}
origin: CalebFenton/simplify

private void visitMethodStub(MethodVisitor mv) {
  mv.visitTypeInsn(Opcodes.NEW, "java/lang/RuntimeException");
  mv.visitInsn(Opcodes.DUP);
  mv.visitLdcInsn("Stub!");
  String owner = "java/lang/RuntimeException";
  String name = "<init>";
  String desc = "(Ljava/lang/String;)V";
  mv.visitMethodInsn(Opcodes.INVOKESPECIAL, owner, name, desc, false);
  mv.visitInsn(Opcodes.ATHROW);
}
origin: CalebFenton/simplify

private void visitCallObjectHashCode(MethodVisitor mv) {
  mv.visitVarInsn(Opcodes.ALOAD, 0);
  String owner = "java/lang/Object";
  String name = "hashCode";
  String desc = "()I";
  mv.visitMethodInsn(Opcodes.INVOKESPECIAL, owner, name, desc, false);
  mv.visitInsn(Opcodes.IRETURN);
}
origin: fengjiachun/Jupiter

mv = cw.visitMethod(ACC_PUBLIC, "<init>", "()V", null, null);
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitMethodInsn(INVOKESPECIAL, superClassNameInternal, "<init>", "()V", false);
mv.visitInsn(RETURN);
mv.visitMaxs(0, 0);
mv.visitEnd();
mv.visitCode();
  mv.visitVarInsn(ALOAD, 1);
  mv.visitTypeInsn(CHECKCAST, classNameInternal);
  mv.visitVarInsn(ASTORE, 4);
  mv.visitVarInsn(ILOAD, 2);
  Label[] labels = new Label[n];
  for (int i = 0; i < n; i++) {
    labels[i] = new Label();
  Label defaultLabel = new Label(); // the default handler block
  mv.visitTableSwitchInsn(0, labels.length - 1, defaultLabel, labels);
    mv.visitLabel(labels[i]);
    if (i == 0) {
      mv.visitFrame(Opcodes.F_APPEND, 1, new Object[] { classNameInternal }, 0, null);
    } else {
      mv.visitFrame(Opcodes.F_SAME, 0, null, 0, null);
    mv.visitVarInsn(ALOAD, 4);
origin: glowroot/glowroot

@RequiresNonNull({"type", "metaHolderInternalName", "loader"})
private void generateMetaHolder() throws Exception {
  ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_MAXS + ClassWriter.COMPUTE_FRAMES);
  cw.visit(V1_5, ACC_PUBLIC + ACC_SUPER, metaHolderInternalName, null, "java/lang/Object",
      null);
  Type metaHolderType = Type.getObjectType(metaHolderInternalName);
  MethodVisitor mv = cw.visitMethod(ACC_STATIC, "<clinit>", "()V", null, null);
  mv.visitCode();
  Label l0 = new Label();
  Label l1 = new Label();
  Label l2 = new Label();
  mv.visitTryCatchBlock(l0, l1, l2, "java/lang/Throwable");
  mv.visitLabel(l0);
  for (Type classMetaType : classMetaTypes) {
    String classMetaInternalName = classMetaType.getInternalName();
    String classMetaFieldName =
        "glowroot$class$meta$" + classMetaInternalName.replace('/', '$');
        "L" + classMetaInternalName + ";", null, null);
    fv.visitEnd();
    mv.visitTypeInsn(NEW, classMetaInternalName);
    mv.visitInsn(DUP);
    mv.visitTypeInsn(NEW, classInfoImplType.getInternalName());
    mv.visitInsn(DUP);
    mv.visitLdcInsn(type.getClassName());
    mv.visitLdcInsn(metaHolderType);
    mv.visitMethodInsn(INVOKEVIRTUAL, "java/lang/Class", "getClassLoader",
        "()Ljava/lang/ClassLoader;", false);
    mv.visitMethodInsn(INVOKESPECIAL, classInfoImplType.getInternalName(), "<init>",
        "(Ljava/lang/String;Ljava/lang/ClassLoader;)V", false);
origin: JCTools/JCTools

MethodVisitor methodVisitor = classVisitor.visitMethod(Opcodes.ACC_PUBLIC,
    "process",
    methodDescriptor(int.class, iFace, int.class),
    null,
    null);
methodVisitor.visitCode();
Label localScopeStart = new Label();
methodVisitor.visitLabel(localScopeStart);
methodVisitor.visitInsn(Opcodes.ICONST_0);
methodVisitor.visitVarInsn(Opcodes.ISTORE, localIndexOfLoopIndex);
Label loopStart = new Label(), loopEnd = new Label();
methodVisitor.visitLabel(loopStart);
methodVisitor.visitVarInsn(Opcodes.ILOAD, localIndexOfLoopIndex);
methodVisitor.visitVarInsn(Opcodes.ILOAD, localIndexOfLimit);
methodVisitor.visitJumpInsn(Opcodes.IF_ICMPGE, loopEnd);
methodVisitor.visitVarInsn(Opcodes.LSTORE, localIndexOfROffset);
methodVisitor.visitVarInsn(Opcodes.LLOAD, localIndexOfROffset);
methodVisitor.visitLdcInsn(ProxyChannelRingBuffer.EOF);
methodVisitor.visitInsn(Opcodes.LCMP);
methodVisitor.visitJumpInsn(Opcodes.IFEQ, loopEnd);
methodVisitor.visitVarInsn(Opcodes.ISTORE, localIndexOfTypeId);
methodVisitor.visitVarInsn(Opcodes.ILOAD, localIndexOfTypeId);
origin: scouter-project/scouter

@Override
public void visitCode() {
  mv.visitVarInsn(ALOAD, 0);
  mv.visitFieldInsn(GETFIELD, ownerClass, "producerConfig", "Lorg/apache/kafka/clients/producer/ProducerConfig;");
  mv.visitVarInsn(ALOAD, 1);
  mv.visitMethodInsn(INVOKEVIRTUAL, "org/apache/kafka/clients/producer/ProducerRecord", "topic", "()Ljava/lang/String;", false);
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACE_KAFKA, START_METHOD, START_SIGNATURE, false);
  statIdx = newLocal(Type.getType(Object.class));
  mv.visitVarInsn(Opcodes.ASTORE, statIdx);
  mv.visitLabel(startFinally);
  mv.visitCode();
}
origin: pxb1988/dex2jar

mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitMethodInsn(INVOKESPECIAL, "java/lang/Object", "<init>", "()V");
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ALOAD, 1);
mv.visitFieldInsn(PUTFIELD, typeName, "thiz", "Ljava/lang/Object;");
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ALOAD, 2);
mv.visitFieldInsn(PUTFIELD, typeName, "args", "[Ljava/lang/Object;");
mv.visitVarInsn(ALOAD, 0);
mv.visitVarInsn(ILOAD, 3);
mv.visitFieldInsn(PUTFIELD, typeName, "idx", "I");
mv.visitInsn(RETURN);
mv.visitMaxs(-1, -1);
mv.visitEnd();
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, typeName, "args", "[Ljava/lang/Object;");
mv.visitInsn(ARETURN);
mv.visitMaxs(-1, -1);
mv.visitEnd();
mv.visitCode();
mv.visitVarInsn(ALOAD, 0);
mv.visitFieldInsn(GETFIELD, typeName, "thiz", "Ljava/lang/Object;");
mv.visitInsn(ARETURN);
mv.visitMaxs(-1, -1);
mv.visitEnd();
origin: SpongePowered/SpongeAPI

private void generateMethods(ClassWriter cw, String internalName, List<Method> methods, Class<?> exceptionType) {
  for (Method method: methods) {
    MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, method.getName(), Type.getMethodDescriptor(method), null, null);
    mv.visitCode();
    mv.visitTypeInsn(NEW, internalException);
    mv.visitInsn(DUP);
    mv.visitLdcInsn("A method was invoked on a dummy class, due to the static field %s not being initialized "
        + "(most likely in a CatalogType-related class).\n"
        + "Method: " + method);
    mv.visitLdcInsn(1);
    mv.visitTypeInsn(ANEWARRAY, "java/lang/String");
    mv.visitVarInsn(Opcodes.ASTORE, 2);
    mv.visitVarInsn(Opcodes.ALOAD, 2);
    mv.visitLdcInsn(0);
    mv.visitVarInsn(ALOAD, 0);
    mv.visitFieldInsn(GETFIELD, internalName, FIELD_NAME, Type.getDescriptor(String.class));
    mv.visitInsn(AASTORE);
    mv.visitVarInsn(ALOAD, 2);
    mv.visitMethodInsn(INVOKESTATIC, Type.getInternalName(String.class), "format",
      "(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;", false);
origin: CalebFenton/simplify

    .visitMethod(Opcodes.ACC_STATIC, "<clinit>", "()V", null, null);
mv.visitCode();
for (int i = 0; i < fieldCount; i++) {
  String fieldName = fieldNames.get(i);
  mv.visitTypeInsn(Opcodes.NEW, name);
  mv.visitInsn(Opcodes.DUP);
  mv.visitLdcInsn(fieldName);
  mv.visitIntInsn(Opcodes.BIPUSH, i);
  mv.visitMethodInsn(Opcodes.INVOKESPECIAL, name, "<init>", "(Ljava/lang/String;I)V",
            false);
  mv.visitFieldInsn(Opcodes.PUTSTATIC, name, fieldName, classDef.getType());
mv.visitIntInsn(Opcodes.BIPUSH, fieldCount);
mv.visitTypeInsn(Opcodes.ANEWARRAY, name);
  mv.visitInsn(Opcodes.DUP);
  mv.visitIntInsn(Opcodes.BIPUSH, i);
  mv.visitFieldInsn(Opcodes.GETSTATIC, name, fieldName, classDef.getType());
  mv.visitInsn(Opcodes.AASTORE);
mv.visitFieldInsn(Opcodes.PUTSTATIC, name, valuesFieldName, "[" + classDef.getType());
mv.visitInsn(Opcodes.RETURN);
mv.visitMaxs(0, 0);
mv.visitEnd();
    .visitMethod(Opcodes.ACC_PRIVATE, "<init>", "(Ljava/lang/String;I)V", null, null);
mv.visitCode();
mv.visitVarInsn(Opcodes.ALOAD, 0);
origin: glowroot/glowroot

    cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "isEnabled", descriptor, null, null);
visitAnnotation(mv, "Lorg/glowroot/agent/plugin/api/weaving/IsEnabled;");
mv.visitCode();
if (checkNotInTransaction && !checkPropertyNotEnabled) {
  mv.visitVarInsn(ALOAD, 0);
  mv.visitMethodInsn(INVOKEINTERFACE,
      "org/glowroot/agent/plugin/api/OptionalThreadContext", "isInTransaction", "()Z",
      true);
  Label returnTrueLabel = new Label();
  mv.visitJumpInsn(IFEQ, returnTrueLabel);
  mv.visitInsn(ICONST_0);
  mv.visitInsn(IRETURN);
  mv.visitLabel(returnTrueLabel);
  mv.visitInsn(ICONST_1);
  mv.visitInsn(IRETURN);
} else if (!checkNotInTransaction) {
  mv.visitFieldInsn(GETSTATIC, adviceInternalName, "enabled",
      "Lorg/glowroot/agent/plugin/api/config/BooleanProperty;");
  mv.visitMethodInsn(INVOKEINTERFACE,
      "org/glowroot/agent/plugin/api/config/BooleanProperty", "value", "()Z", true);
  mv.visitInsn(IRETURN);
} else {
  mv.visitVarInsn(ALOAD, 0);
  mv.visitMethodInsn(INVOKEINTERFACE,
      "org/glowroot/agent/plugin/api/OptionalThreadContext", "isInTransaction", "()Z",
      true);
  Label returnTrueLabel = new Label();
  mv.visitJumpInsn(IFEQ, returnTrueLabel);
origin: JCTools/JCTools

    null,
    null);
methodVisitor.visitCode();
int localIndexOfWaitStrategy = locals.newLocal(WaitStrategy.class);
methodVisitor.visitVarInsn(Opcodes.ALOAD, LOCALS_INDEX_THIS);
methodVisitor.visitVarInsn(Opcodes.ILOAD, localIndexOfCapacity);
methodVisitor.visitLdcInsn(primitiveMessageSize);
methodVisitor.visitLdcInsn(referenceMessageSize);
methodVisitor.visitMethodInsn(Opcodes.INVOKESPECIAL,
    Type.getInternalName(parentType),
    "<init>",
    methodDescriptor(void.class,
    false);
methodVisitor.visitVarInsn(Opcodes.ALOAD, LOCALS_INDEX_THIS);
methodVisitor.visitVarInsn(Opcodes.ALOAD, localIndexOfWaitStrategy);
methodVisitor.visitFieldInsn(Opcodes.PUTFIELD, generatedName, "waitStrategy", Type.getDescriptor(WaitStrategy.class));
methodVisitor.visitInsn(Opcodes.RETURN);
methodVisitor.visitMaxs(-1, -1);
methodVisitor.visitEnd();
origin: pxb1988/dex2jar

  n.desc = "(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;";
MethodVisitor mv = cv.visitMethod(opcode == INVOKESPECIAL ? ACC_PUBLIC : ACC_PUBLIC
    | ACC_STATIC, n.name, n.desc, null, null);
mv.visitCode();
int start;
if (opcode != INVOKESTATIC) {
  mv.visitVarInsn(ALOAD, 0);
  if (opcode != INVOKESPECIAL) {
    mv.visitTypeInsn(CHECKCAST, toInternal(t.owner));
  start = 0;
Type[] args = Type.getArgumentTypes(t.desc);
  mv.visitVarInsn(ALOAD, start);
  mv.visitLdcInsn(i);
  mv.visitInsn(AALOAD);
  unBox(args[i], OBJECT_TYPE, mv);
mv.visitMethodInsn(opcode, toInternal(t.owner), t.name, t.desc);
Type ret = Type.getReturnType(t.desc);
box(ret, mv);
mv.visitInsn(ARETURN);
mv.visitMaxs(-1, -1);
mv.visitEnd();
return n;
origin: JCTools/JCTools

MethodVisitor methodVisitor = classVisitor.visitMethod(Opcodes.ACC_BRIDGE | Opcodes.ACC_SYNTHETIC | Opcodes.ACC_PUBLIC,
    methodName,
    methodDescriptor(bridgeMethodReturnType, bridgeMethodParameterTypes),
    null);
methodVisitor.visitCode();
methodVisitor.visitVarInsn(Opcodes.ALOAD, LOCALS_INDEX_THIS);
for (Class<?> parameterType : parameterTypes) {
  int localIndexOfParameter = locals.newLocal(parameterType);
  int loadOpCode = Type.getType(parameterType).getOpcode(Opcodes.ILOAD);
  methodVisitor.visitVarInsn(loadOpCode, localIndexOfParameter);
    methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, Type.getInternalName(parameterType));
methodVisitor.visitMethodInsn(Opcodes.INVOKEVIRTUAL,
    generatedName,
    methodName,
  methodVisitor.visitTypeInsn(Opcodes.CHECKCAST, Type.getInternalName(returnType));
int returnOpcode = Type.getType(returnType).getOpcode(Opcodes.IRETURN);
methodVisitor.visitInsn(returnOpcode);
methodVisitor.visitMaxs(-1, -1);
methodVisitor.visitEnd();
origin: glowroot/glowroot

String travelerType =
    entryOrTimer ? "Ljava/lang/Object;" : "Lorg/glowroot/agent/plugin/api/TraceEntry;";
MethodVisitor mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "onReturn",
    "(Lorg/glowroot/agent/plugin/api/weaving/OptionalReturn;" + travelerType + ")V",
    null, null);
checkNotNull(mv.visitParameterAnnotation(0,
    "Lorg/glowroot/agent/plugin/api/weaving/BindOptionalReturn;", true)).visitEnd();
checkNotNull(mv.visitParameterAnnotation(1,
    "Lorg/glowroot/agent/plugin/api/weaving/BindTraveler;", true)).visitEnd();
int travelerParamIndex = 1;
visitAnnotation(mv, "Lorg/glowroot/agent/plugin/api/weaving/OnReturn;");
mv.visitCode();
if (!config.traceEntryEnabledProperty().isEmpty()) {
  mv.visitVarInsn(ALOAD, travelerParamIndex);
  mv.visitTypeInsn(INSTANCEOF, "org/glowroot/agent/plugin/api/TraceEntry");
  Label label = new Label();
  mv.visitJumpInsn(IFNE, label);
  mv.visitVarInsn(ALOAD, travelerParamIndex);
  mv.visitTypeInsn(CHECKCAST, "org/glowroot/agent/plugin/api/Timer");
  mv.visitMethodInsn(INVOKEINTERFACE, "org/glowroot/agent/plugin/api/Timer", "stop",
      "()V", true);
  mv.visitInsn(RETURN);
  mv.visitLabel(label);
mv.visitVarInsn(ALOAD, 1);
mv.visitVarInsn(ALOAD, 0);
mv.visitMethodInsn(INVOKEINTERFACE, "org/glowroot/agent/plugin/api/weaving/OptionalReturn",
    "isVoid", "()Z", true);
origin: net.sf.esfinge/classmock

private void createValueOfEnum() {
  final int opcodes = VisibilityEnum.PUBLIC.getOpCodes() + ModifierEnum.STATIC.getOpCodes();
  final MethodVisitor mv = this.cw.visitMethod(opcodes, "valueOf", "(Ljava/lang/String;)" + this.getEntityEnumName(), null, null);
  mv.visitCode();
  final Label l0 = new Label();
  mv.visitLabel(l0);
  mv.visitLineNumber(1, l0);
  mv.visitLdcInsn(Type.getType(this.getEntityEnumName()));
  mv.visitVarInsn(Opcodes.ALOAD, 0);
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Enum", "valueOf", "(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;", false);
  mv.visitTypeInsn(Opcodes.CHECKCAST, this.getEntityName());
  mv.visitInsn(Opcodes.ARETURN);
  mv.visitMaxs(2, 1);
  mv.visitEnd();
}
origin: SpongePowered/SpongeAPI

private void generateConstructor(ClassWriter cw, String internalName) {
  cw.visitField(Modifier.PRIVATE, FIELD_NAME, Type.getDescriptor(String.class), null, null);
  MethodVisitor mv = cw.visitMethod(ACC_PUBLIC, "<init>", "(Ljava/lang/String;)V", null, null);
  // Load 'this'
  mv.visitVarInsn(ALOAD, 0);
  // Cal super()
  mv.visitMethodInsn(INVOKESPECIAL, Type.getInternalName(Object.class), "<init>", "()V", false);
  // Load 'this'
  mv.visitVarInsn(ALOAD, 0);
  // Load first method parameter (the fieldName)
  mv.visitVarInsn(ALOAD, 1);
  // Store first parameter in field FIELD_NAME
  mv.visitFieldInsn(PUTFIELD, internalName, FIELD_NAME, Type.getDescriptor(String.class));
  mv.visitInsn(RETURN);
  mv.visitMaxs(0, 0);
  mv.visitEnd();
}
origin: meituan/WMRouter

long ms = System.currentTimeMillis();
ClassWriter writer = new ClassWriter(ClassWriter.COMPUTE_FRAMES | ClassWriter.COMPUTE_MAXS);
ClassVisitor cv = new ClassVisitor(Opcodes.ASM5, writer) {
};
String className = Const.SERVICE_LOADER_INIT.replace('.', '/');
cv.visit(50, Opcodes.ACC_PUBLIC, className, null, "java/lang/Object", null);
MethodVisitor mv = cv.visitMethod(Opcodes.ACC_PUBLIC | Opcodes.ACC_STATIC,
    Const.INIT_METHOD, "()V", null, null);
mv.visitCode();
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, clazz.replace('.', '/'),
      "init",
      "()V",
      false);
mv.visitMaxs(0, 0);
mv.visitInsn(Opcodes.RETURN);
mv.visitEnd();
cv.visitEnd();
new FileOutputStream(dest).write(writer.toByteArray());
org.objectweb.asmMethodVisitor

Javadoc

A visitor to visit a Java method. The methods of this class must be called in the following order: ( visitParameter )* [ visitAnnotationDefault ] ( visitAnnotation | visitParameterAnnotation visitTypeAnnotation | visitAttribute )* [ visitCode ( visitFrame | visitXInsn | visitLabel | visitInsnAnnotation | visitTryCatchBlock | visitTryCatchAnnotation | visitLocalVariable | visitLocalVariableAnnotation | visitLineNumber ) visitMaxs ] visitEnd. In addition, the visitXInsn and visitLabel methods must be called in the sequential order of the bytecode instructions of the visited code, visitInsnAnnotation must be called after the annotated instruction, visitTryCatchBlock must be called before the labels passed as arguments have been visited, visitTryCatchBlockAnnotation must be called after the corresponding try catch block has been visited, and the visitLocalVariable, visitLocalVariableAnnotation and visitLineNumber methods must be called after the labels passed as arguments have been visited.

Most used methods

  • visitMethodInsn
    Visits a method instruction. A method instruction is an instruction that invokes a method.
  • visitInsn
    Visits a zero operand instruction.
  • visitVarInsn
    Visits a local variable instruction. A local variable instruction is an instruction that loads or st
  • visitMaxs
    Visits the maximum stack size and the maximum number of local variables of the method.
  • visitEnd
    Visits the end of the method. This method, which is the last one to be called, is used to inform the
  • visitCode
    Starts the visit of the method's code, if any (i.e. non abstract method).
  • visitFieldInsn
    Visits a field instruction. A field instruction is an instruction that loads or stores the value of
  • visitTypeInsn
    Visits a type instruction. A type instruction is an instruction that takes the internal name of a cl
  • visitLabel
    Visits a label. A label designates the instruction that will be visited just after it.
  • visitLdcInsn
    Visits a LDC instruction. Note that new constant types may be added in future versions of the Java V
  • visitJumpInsn
    Visits a jump instruction. A jump instruction is an instruction that may jump to another instruction
  • visitIntInsn
    Visits an instruction with a single int operand.
  • visitJumpInsn,
  • visitIntInsn,
  • visitLocalVariable,
  • visitAnnotation,
  • visitTryCatchBlock,
  • visitLineNumber,
  • visitFrame,
  • visitTableSwitchInsn,
  • visitParameterAnnotation,
  • visitIincInsn

Popular in Java

  • Running tasks concurrently on multiple threads
  • requestLocationUpdates (LocationManager)
  • putExtra (Intent)
  • scheduleAtFixedRate (ScheduledExecutorService)
  • GridBagLayout (java.awt)
    The GridBagLayout class is a flexible layout manager that aligns components vertically and horizonta
  • MessageFormat (java.text)
    Produces concatenated messages in language-neutral way. New code should probably use java.util.Forma
  • Notification (javax.management)
  • JLabel (javax.swing)
  • JPanel (javax.swing)
  • Get (org.apache.hadoop.hbase.client)
    Used to perform Get operations on a single row. To get everything for a row, instantiate a Get objec
  • Top Sublime Text plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

    FAQBlogTabnine AcademyTerms of usePrivacy policyJava Code IndexJavascript Code Index
Get Tabnine for your IDE now