congrats Icon
New! Tabnine Pro 14-day free trial
Start a free trial
Tabnine Logo
MethodVisitor.visitCode
Code IndexAdd Tabnine to your IDE (free)

How to use
visitCode
method
in
org.objectweb.asm.MethodVisitor

Best Java code snippets using org.objectweb.asm.MethodVisitor.visitCode (Showing top 20 results out of 1,503)

Refine searchRefine arrow

  • MethodVisitor.visitEnd
  • MethodVisitor.visitMaxs
  • MethodVisitor.visitInsn
  • MethodVisitor.visitVarInsn
  • MethodVisitor.visitMethodInsn
origin: CalebFenton/simplify

private void visitClInitStub(MethodVisitor mv) {
  mv.visitCode();
  mv.visitInsn(Opcodes.RETURN);
}
origin: CalebFenton/simplify

private void visitInitStub(ClassDef classDef, MethodVisitor mv) {
  mv.visitCode();
  mv.visitVarInsn(Opcodes.ALOAD, 0);
  if (classDef.getSuperclass() != null) {
    String superName = stripName(classDef.getSuperclass());
    mv.visitMethodInsn(Opcodes.INVOKESPECIAL, superName, "<init>", "()V", false);
  }
  mv.visitInsn(Opcodes.RETURN);
  mv.visitMaxs(0, 0);
  mv.visitEnd();
}
origin: scouter-project/scouter

@Override
public void visitCode() {
  mv.visitVarInsn(Opcodes.ALOAD, 1);
  mv.visitVarInsn(Opcodes.ALOAD, 2);
  if (httpservlet) {
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACEMAIN, START_SERVICE, START_SIGNATURE, false);
  } else {
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACEMAIN, START_FILTER, START_SIGNATURE, false);
  }
  statIdx = newLocal(Type.getType(Object.class));
  mv.visitVarInsn(Opcodes.ASTORE, statIdx);
  mv.visitLabel(startFinally);
  mv.visitVarInsn(Opcodes.ALOAD, statIdx);
  mv.visitVarInsn(Opcodes.ALOAD, 1);
  mv.visitVarInsn(Opcodes.ALOAD, 2);
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACEMAIN, REJECT, REJECT_SIGNATURE, false);
  Label end = new Label();
  mv.visitJumpInsn(IFNULL, end);
  mv.visitInsn(Opcodes.RETURN);
  mv.visitLabel(end);
  mv.visitCode();
}
@Override
origin: CalebFenton/simplify

private void visitMethod(ClassDef classDef, Method method, MethodVisitor mv) {
  mv.visitCode();
  String methodName = method.getName();
  if (methodName.equals("<clinit>")) {
    visitClInitStub(mv);
  } else if (methodName.equals("<init>")) {
    visitInitStub(classDef, mv);
  } else if (methodName.equals("hashCode") && method.getReturnType().equals("I")) {
    visitCallObjectHashCode(mv);
  } else {
    visitMethodStub(mv);
  }
  // Do this at the end so ASM can calculate max stack and locals sizes
  mv.visitMaxs(0, 0);
  mv.visitEnd();
}
origin: pxb1988/dex2jar

    mv.visitCode();
    convertCode(methodNode, mv);
mv.visitEnd();
origin: kilim/kilim

private void visitCode(MethodVisitor mv) {
  mv.visitCode();
  methodFlow.resetLabels();
  visitTryCatchBlocks(mv);
  visitInstructions(mv);
  visitLocals(mv);
  visitLineNumbers(mv);
  mv.visitMaxs(maxStack, maxVars);
}
origin: JCTools/JCTools

private static void implementProxyInstance(ClassVisitor classVisitor, Class<?> iFace, String generatedName) {
  MethodVisitor methodVisitor = classVisitor.visitMethod(Opcodes.ACC_PUBLIC,
      "proxyInstance",
      methodDescriptor(iFace, iFace),
      null,
      null);
  methodVisitor.visitCode();
  methodVisitor.visitVarInsn(Opcodes.ALOAD, LOCALS_INDEX_THIS);
  methodVisitor.visitInsn(Opcodes.ARETURN);
  methodVisitor.visitMaxs(-1, -1);
  methodVisitor.visitEnd();
  
  implementBridgeMethod(classVisitor, generatedName, "proxyInstance", iFace, iFace);
}
origin: alibaba/TProfiler

mv.visitInsn(Opcodes.ACONST_NULL);
mv.visitVarInsn(Opcodes.ASTORE, 30);
mv.visitVarInsn(Opcodes.ALOAD, 2);
mv.visitJumpInsn(Opcodes.IFNULL, sqlIsNull);
mv.visitVarInsn(Opcodes.ALOAD, 2);
mv.visitVarInsn(Opcodes.ASTORE, 30);
mv.visitJumpInsn(Opcodes.GOTO, endIf);
mv.visitInsn(Opcodes.DUP);
mv.visitVarInsn(Opcodes.ALOAD, 4);
mv.visitMethodInsn(Opcodes.INVOKEVIRTUAL, "com/mysql/jdbc/Buffer", "getByteBuffer", "()[B");
mv.visitLdcInsn("utf-8");
mv.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/String", "<init>", "([BLjava/lang/String;)V");
mv.visitVarInsn(Opcodes.ASTORE, 30);
mv.visitVarInsn(Opcodes.ALOAD, 30);
mv.visitMethodInsn(Opcodes.INVOKESTATIC, "com/taobao/profile/Profiler", "start4Mysql", "(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V");
mv.visitCode();
origin: kilim/kilim

private void parseMethodBody() {
  labels.clear();
  declaredLabels.clear();
  mv.visitCode();
  while (true) {
    readLine();
    if (line.startsWith(".end method")) {
      break;
    } else if (line.startsWith(".")) {
      parseMethodDirective();
    } else if (lineMatch(labelPattern)) {
      parseLabel();
    } else {
      parseInstructions();
    }
  }
  checkLabelDeclarations();
  mv.visitMaxs(maxStack, maxLocals);
  mv.visitEnd();
}
origin: org.ow2.asm/asm

 methodVisitor.visitCode();
 readCode(methodVisitor, context, codeOffset);
methodVisitor.visitEnd();
return currentOffset;
origin: JCTools/JCTools

private static void implementProxy(ClassVisitor classVisitor, Class<?> iFace, String generatedName) {
  MethodVisitor methodVisitor = classVisitor.visitMethod(Opcodes.ACC_PUBLIC,
      "proxy",
      methodDescriptor(iFace),
      null,
      null);
  methodVisitor.visitCode();
  methodVisitor.visitVarInsn(Opcodes.ALOAD, LOCALS_INDEX_THIS);
  methodVisitor.visitInsn(Opcodes.ARETURN);
  methodVisitor.visitMaxs(-1, -1);
  methodVisitor.visitEnd();
  
  implementBridgeMethod(classVisitor, generatedName, "proxy", iFace);
}

origin: scouter-project/scouter

    mv.visitVarInsn(Opcodes.ALOAD, sidx);
  mv.visitInsn(Opcodes.AASTORE);
  sidx += tp.getSize();
mv.visitVarInsn(Opcodes.ALOAD, arrVarIdx);
mv.visitMethodInsn(Opcodes.INVOKESTATIC, TRACESUBCALL, START_METHOD, START_SIGNATURE, false);
mv.visitCode();
origin: Sable/soot

 mv.visitCode();
 generateMethodBody(mv, sm);
 mv.visitMaxs(0, 0);
mv.visitEnd();
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();
    mv.visitLabel(e.getValue());
    mv.visitLdcInsn(e.getKey());
    mv.visitInsn(ARETURN);
  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: scouter-project/scouter

@Override
public void visitCode() {
  int sidx = 1;
  mv.visitVarInsn(Opcodes.ALOAD, 0);
  AsmUtil.PUSH(mv, fullName);
  AsmUtil.PUSH(mv, className);
  AsmUtil.PUSH(mv, name);
  AsmUtil.PUSH(mv, desc);
  mv.visitVarInsn(Opcodes.ALOAD, 0);
  int arrVarIdx = newLocal(Type.getType("[Ljava/lang/Object;"));
  AsmUtil.PUSH(mv, paramTypes.length);
  mv.visitTypeInsn(Opcodes.ANEWARRAY, "java/lang/Object");
  mv.visitVarInsn(Opcodes.ASTORE, arrVarIdx);
  for (int i = 0; i < paramTypes.length; i++) {
    Type tp = paramTypes[i];
    mv.visitVarInsn(Opcodes.ALOAD, arrVarIdx);
    AsmUtil.PUSH(mv, i);
    AsmUtil.loadForArrayElement(mv, tp, sidx);
    mv.visitInsn(Opcodes.AASTORE);
    sidx += tp.getSize();
  }
  mv.visitVarInsn(Opcodes.ALOAD, arrVarIdx);
  mv.visitMethodInsn(Opcodes.INVOKESTATIC, TARGET, START_METHOD, START_METHOD_DESC,false);
  statIdx = newLocal(Type.getType(Object.class));
  mv.visitVarInsn(Opcodes.ASTORE, statIdx);
  mv.visitLabel(startFinally);
  mv.visitCode();
}
origin: pxb1988/dex2jar

mv.visitCode();
int start;
if (opcode != INVOKESTATIC) {
  mv.visitVarInsn(ALOAD, 0);
  if (opcode != INVOKESPECIAL) {
    mv.visitTypeInsn(CHECKCAST, toInternal(t.owner));
  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: scouter-project/scouter

AsmUtil.PUSH(mv, paramTypes.length);
mv.visitTypeInsn(Opcodes.ANEWARRAY, "java/lang/Object");
mv.visitVarInsn(Opcodes.ASTORE, arrVarIdx);
  mv.visitVarInsn(Opcodes.ALOAD, arrVarIdx);
  AsmUtil.PUSH(mv, i);
    mv.visitVarInsn(Opcodes.ILOAD, sidx);
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;",
        false);
    break;
  case Type.BYTE:
    mv.visitVarInsn(Opcodes.ILOAD, sidx);
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false);
    break;
  case Type.CHAR:
    mv.visitVarInsn(Opcodes.ILOAD, sidx);
    mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;",
        false);
    break;
    mv.visitVarInsn(Opcodes.ALOAD, sidx);
  mv.visitInsn(Opcodes.AASTORE);
  sidx += type.getSize();
mv.visitMethodInsn(Opcodes.INVOKESTATIC, CLASS, METHOD, SIGNATURE, false);
mv.visitCode();
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.visitInsn(DUP);
    mv.visitVarInsn(Opcodes.ASTORE, 2);
    mv.visitVarInsn(Opcodes.ALOAD, 2);
    mv.visitVarInsn(ALOAD, 0);
    mv.visitFieldInsn(GETFIELD, internalName, FIELD_NAME, Type.getDescriptor(String.class));
    mv.visitInsn(AASTORE);
    mv.visitMethodInsn(INVOKESTATIC, Type.getInternalName(String.class), "format",
      "(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;", false);
    mv.visitMethodInsn(INVOKESPECIAL, internalException, "<init>", "(Ljava/lang/String;)V", false);
    mv.visitInsn(ATHROW);
    mv.visitMaxs(0, 0);
    mv.visitEnd();
origin: scouter-project/scouter

AsmUtil.PUSH(mv, paramTypes.length);
mv.visitTypeInsn(Opcodes.ANEWARRAY, "java/lang/Object");
mv.visitVarInsn(Opcodes.ASTORE, arrVarIdx);
  mv.visitVarInsn(Opcodes.ALOAD, arrVarIdx);
  AsmUtil.PUSH(mv, i);
      mv.visitVarInsn(Opcodes.ILOAD, sidx);
      mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Boolean", "valueOf", "(Z)Ljava/lang/Boolean;",
          false);
      break;
    case Type.BYTE:
      mv.visitVarInsn(Opcodes.ILOAD, sidx);
      mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Byte", "valueOf", "(B)Ljava/lang/Byte;", false);
      break;
    case Type.CHAR:
      mv.visitVarInsn(Opcodes.ILOAD, sidx);
      mv.visitMethodInsn(Opcodes.INVOKESTATIC, "java/lang/Character", "valueOf", "(C)Ljava/lang/Character;",
          false);
      break;
      mv.visitVarInsn(Opcodes.ALOAD, sidx);
  mv.visitInsn(Opcodes.AASTORE);
  sidx += type.getSize();
mv.visitMethodInsn(Opcodes.INVOKESTATIC, CLASS, METHOD, SIGNATURE, false);
mv.visitCode();
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>",
    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();
org.objectweb.asmMethodVisitorvisitCode

Javadoc

Starts the visit of the method's code, if any (i.e. non abstract method).

Popular methods of MethodVisitor

  • 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
  • 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.
  • visitLocalVariable
    Visits a local variable declaration.
  • visitIntInsn,
  • visitLocalVariable,
  • visitAnnotation,
  • visitTryCatchBlock,
  • visitLineNumber,
  • visitFrame,
  • visitTableSwitchInsn,
  • visitParameterAnnotation,
  • visitIincInsn

Popular in Java

  • Running tasks concurrently on multiple threads
  • putExtra (Intent)
  • addToBackStack (FragmentTransaction)
  • orElseThrow (Optional)
    Return the contained value, if present, otherwise throw an exception to be created by the provided s
  • Font (java.awt)
    The Font class represents fonts, which are used to render text in a visible way. A font provides the
  • InputStreamReader (java.io)
    A class for turning a byte stream into a character stream. Data read from the source input stream is
  • DecimalFormat (java.text)
    A concrete subclass of NumberFormat that formats decimal numbers. It has a variety of features desig
  • Deque (java.util)
    A linear collection that supports element insertion and removal at both ends. The name deque is shor
  • NoSuchElementException (java.util)
    Thrown when trying to retrieve an element past the end of an Enumeration or Iterator.
  • SortedMap (java.util)
    A map that has its keys ordered. The sorting is according to either the natural ordering of its keys
  • Top 17 Free Sublime Text Plugins
Tabnine Logo
  • Products

    Search for Java codeSearch for JavaScript code
  • IDE Plugins

    IntelliJ IDEAWebStormVisual StudioAndroid StudioEclipseVisual Studio CodePyCharmSublime TextPhpStormVimAtomGoLandRubyMineEmacsJupyter NotebookJupyter LabRiderDataGripAppCode
  • Company

    About UsContact UsCareers
  • Resources

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