org.objectweb.asm.tree.InsnList.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(5.8k)|赞(0)|评价(0)|浏览(121)

本文整理了Java中org.objectweb.asm.tree.InsnList.<init>()方法的一些代码示例,展示了InsnList.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。InsnList.<init>()方法的具体详情如下:
包路径:org.objectweb.asm.tree.InsnList
类名称:InsnList
方法名:<init>

InsnList.<init>介绍

暂无

代码示例

代码示例来源:origin: jooby-project/jooby

private static InsnList instructions(final MethodNode method, final AbstractInsnNode n) {
 InsnList instructions = new InsnList();
 instructions.add(n);
 new Insn<>(method, n).next().forEach(instructions::add);
 return instructions;
}

代码示例来源:origin: robolectric/robolectric

private InsnList extractCallToSuperConstructor(MutableClass mutableClass, MethodNode ctor) {
 InsnList removedInstructions = new InsnList();
 int startIndex = 0;

代码示例来源:origin: kilim/kilim

InsnList extraInsns = new InsnList();
MethodFlow flow = targetBB.flow;
InsnList instructions = flow.instructions;

代码示例来源:origin: kilim/kilim

public void restoreNonInstructionNodes() {
  InsnList newinsns = new InsnList();
  int sz = instructions.size();
  for (int i = 0; i < sz; i++) {
    LabelNode l = getLabelAt(i);
    if (l != null) {
      newinsns.add(l);
    }
    LineNumberNode ln = lineNumberNodes.get(i);
    if (ln != null) {
      newinsns.add(ln);
    }
    AbstractInsnNode ain = instructions.get(i);
    newinsns.add(ain);
  }
  
  LabelNode l = getLabelAt(sz);
  if (l != null) {
    newinsns.add(l);
  }
  LineNumberNode ln = lineNumberNodes.get(sz);
  if (ln != null) {
    newinsns.add(ln);
  }
  super.instructions = newinsns;
}

代码示例来源:origin: org.ow2.asm/asm-tree

/**
 * Constructs an uninitialized {@link MethodNode}.
 *
 * @param api the ASM API version implemented by this visitor. Must be one of {@link
 *     Opcodes#ASM4}, {@link Opcodes#ASM5}, {@link Opcodes#ASM6} or {@link Opcodes#ASM7}.
 */
public MethodNode(final int api) {
 super(api);
 this.instructions = new InsnList();
}

代码示例来源:origin: org.ow2.asm/asm-debug-all

/**
 * Constructs an uninitialized {@link MethodNode}.
 * 
 * @param api
 *            the ASM API version implemented by this visitor. Must be one
 *            of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}.
 */
public MethodNode(final int api) {
  super(api);
  this.instructions = new InsnList();
}

代码示例来源:origin: stackoverflow.com

List<InsnList> l = Lists.newList();
InsnList il = new InsnList();
for (AbstractInsnNode ain : method.instructions.toArray()) {
  if (ain.getType == AbstractInsnNode.FRAME){
    l.add(il);
    il = new InsnList();
  } else {
    il.add(ain);
  }
}

代码示例来源:origin: de.unkrig/de-unkrig-commons

/**
 * @return An {@link InsnList} that contains the given instruction nodes.
 */
public static InsnList
il(AbstractInsnNode... ains) {
  InsnList insns = new InsnList();
  for (AbstractInsnNode ain : ains) {
    insns.add(ain);
  }
  return insns;
}

代码示例来源:origin: de.unkrig/de-unkrig-commons

/**
 * @return An {@link InsnList} with the single instruction {@code ain}.
 */
public static InsnList
il(AbstractInsnNode ain) {
  InsnList insns = new InsnList();
  insns.add(ain);
  return insns;
}

代码示例来源:origin: EvoSuite/evosuite

/**
 * <p>
 * getDefaultInfectionDistance
 * </p>
 * 
 * @return a {@link org.objectweb.asm.tree.InsnList} object.
 */
public static InsnList getDefaultInfectionDistance() {
  InsnList defaultDistance = new InsnList();
  defaultDistance.add(new LdcInsnNode(0.0));
  return defaultDistance;
}

代码示例来源:origin: mjanicek/rembulan

public InsnList instantiateInsns() {
  InsnList il = new InsnList();
  doInstantiate(il);
  il.add(new FieldInsnNode(
      PUTSTATIC,
      ownerClassType.getInternalName(),
      fieldName,
      fieldType.getDescriptor()));
  return il;
}

代码示例来源:origin: org.lwjgl.lwjgl/lwjgl_util

private static InsnList generateSIZEOFInstructions(final FieldInsnNode fieldInsn, final MappedSubtypeInfo mappedSubtype) {
  if ( !"I".equals(fieldInsn.desc) )
    throw new InternalError();
  final InsnList list = new InsnList();
  if ( fieldInsn.getOpcode() == GETSTATIC ) {
    list.add(getIntNode(mappedSubtype.sizeof));
    return list;
  }
  if ( fieldInsn.getOpcode() == PUTSTATIC )
    throwAccessErrorOnReadOnlyField(fieldInsn.owner, fieldInsn.name);
  throw new InternalError();
}

代码示例来源:origin: org.parboiled/parboiled-java

public static InsnList createArgumentLoaders(String methodDescriptor) {
  checkArgNotNull(methodDescriptor, "methodDescriptor");
  InsnList instructions = new InsnList();
  Type[] types = Type.getArgumentTypes(methodDescriptor);
  for (int i = 0; i < types.length; i++) {
    instructions.add(new VarInsnNode(getLoadingOpcode(types[i]), i + 1));
  }
  return instructions;
}

代码示例来源:origin: com.github.bingoohuang/blackcat-instrument

public static InsnList getClassRefInst(Type type, int majorVersion) {
  char charType = type.getDescriptor().charAt(0);
  if (charType == '[' || charType == 'L')
    return getClassConstantRef(type, majorVersion);
  String wrapper = getWrapper(type, charType);
  InsnList list = new InsnList();
  list.add(new FieldInsnNode(GETSTATIC, wrapper, "TYPE", ci(Class.class)));
  return list;
}

代码示例来源:origin: mjanicek/rembulan

private static InsnList newByteString(ByteString value) {
  InsnList il = new InsnList();
  il.add(new LdcInsnNode(value.toRawString()));
  il.add(new MethodInsnNode(INVOKESTATIC,
      Type.getInternalName(ByteString.class),
      "fromRaw",
      Type.getMethodDescriptor(
          Type.getType(ByteString.class),
          Type.getType(String.class)),
      false));
  return il;
}

代码示例来源:origin: org.lwjgl.lwjgl/lwjgl_util

private static InsnList generateRunViewConstructorInstructions(final MethodInsnNode methodInsn) {
  final InsnList list = new InsnList();
  // stack: this
  list.add(new InsnNode(DUP));
  // stack: this, this
  list.add(new MethodInsnNode(INVOKEVIRTUAL, methodInsn.owner, VIEW_CONSTRUCTOR_NAME, "()V"));
  // stack: this
  return list;
}

代码示例来源:origin: mjanicek/rembulan

private InsnList saveState(int state) {
  InsnList il = new InsnList();
  il.add(ASMUtils.loadInt(state));
  il.add(new VarInsnNode(ISTORE, runMethod.LV_RESUME));
  return il;
}

代码示例来源:origin: mjanicek/rembulan

public InsnList retrieve_0() {
  InsnList il = new InsnList();
  il.add(loadExecutionContext());
  il.add(loadReturnBuffer());
  il.add(ReturnBufferMethods.get(0));
  return il;
}

代码示例来源:origin: mjanicek/rembulan

private InsnList _return() {
  InsnList il = new InsnList();
  if (!isSub()) {
    il.add(new InsnNode(RETURN));
  }
  else {
    il.add(new InsnNode(ACONST_NULL));
    il.add(new InsnNode(ARETURN));
  }
  return il;
}

代码示例来源:origin: mjanicek/rembulan

private InsnList _goto(Label label) {
  InsnList il = new InsnList();
  if (!isSub() || resolver.isLocalLabel(label)) {
    il.add(new JumpInsnNode(GOTO, l(label)));
  }
  else {
    il.add(_nonLocalGoto(label));
  }
  return il;
}

相关文章