handle.getName(), handle.getDesc(), handle.isInterface()); } else if (value instanceof ConstantDynamic) { ConstantDynamic constantDynamic = (ConstantDynamic) value;
private void transformIndyBootstrap(MethodVisitor mv, AbstractInsnNode ain) { InvokeDynamicInsnNode indy = (InvokeDynamicInsnNode)ain; Object[]bsmArgs = indy.bsmArgs; // Is it a lambda conversion if (indy.bsm.getOwner().equals("java/lang/invoke/LambdaMetafactory")) { Handle lambdaBody = (Handle)bsmArgs[1]; String desc = lambdaBody.getDesc(); if (detector.isPausable(lambdaBody.getOwner(), lambdaBody.getName(), desc)) { bsmArgs[0] = addFiberType((Type)bsmArgs[0]); bsmArgs[1] = new Handle(lambdaBody.getTag(), lambdaBody.getOwner(), lambdaBody.getName(), desc.replace(")", D_FIBER_LAST_ARG), lambdaBody.isInterface()); bsmArgs[2] = addFiberType((Type)bsmArgs[2]); } } ain.accept(mv); }
bootstrapMethodHandle.getName(), bootstrapMethodHandle.getDesc(), bootstrapMethodHandle.isInterface()) .index); int numBootstrapArguments = bootstrapMethodArguments.length;
@Override public void visitLdcInsn(Object cst) { if (cst instanceof Handle) { Handle handle = (Handle) cst; handle = new Handle(handle.getTag(), handle.getOwner(), handle.getName(), getMethodDescriptor(handle.getDesc()), handle.isInterface()); StringBuilder buf = stringBuilder; buf.setLength(0); buf.append(tab2).append("LDC "); buf.append(handle.getOwner()).append('.').append(handle.getName()).append(handle.getDesc()); buf.append('\n'); text.add(buf.toString()); return; } super.visitLdcInsn(cst); }
stringBuilder.append(')'); if (handle.isInterface()) { stringBuilder.append(" itf");
stringBuilder.append(')'); if (handle.isInterface()) { stringBuilder.append(" itf");
stringBuilder.append(handle.getName()).append("\", \""); stringBuilder.append(handle.getDesc()).append("\", "); stringBuilder.append(handle.isInterface()).append(")"); } else if (value instanceof ConstantDynamic) { stringBuilder.append("new ConstantDynamic(\"");
handle.getName(), handle.getDesc(), handle.isInterface()); } else if (value instanceof ConstantDynamic) { ConstantDynamic constantDynamic = (ConstantDynamic) value;
handle.getName(), handle.getDesc(), handle.isInterface()); } else if (value instanceof ConstantDynamic) { ConstantDynamic constantDynamic = (ConstantDynamic) value;
handle.getName(), handle.getDesc(), handle.isInterface()); } else if (value instanceof ConstantDynamic) { ConstantDynamic constantDynamic = (ConstantDynamic) value;
public Object mapValue(Object value) { if (value instanceof Type) { return mapType((Type) value); } if (value instanceof Handle) { Handle h = (Handle) value; return new Handle(h.getTag(), mapType(h.getOwner()), mapMethodName( h.getOwner(), h.getName(), h.getDesc()), mapMethodDesc(h.getDesc()), h.isInterface()); } return value; }
public Object mapValue(Object value) { if (value instanceof Type) { return mapType((Type) value); } if (value instanceof Handle) { Handle h = (Handle) value; return new Handle(h.getTag(), mapType(h.getOwner()), mapMethodName( h.getOwner(), h.getName(), h.getDesc()), mapMethodDesc(h.getDesc()), h.isInterface()); } return value; }
bootstrapMethodHandle.getName(), bootstrapMethodHandle.getDesc(), bootstrapMethodHandle.isInterface()) .index); int numBootstrapArguments = bootstrapMethodArguments.length;
bootstrapMethodHandle.getName(), bootstrapMethodHandle.getDesc(), bootstrapMethodHandle.isInterface()) .index); int numBootstrapArguments = bootstrapMethodArguments.length;
bootstrapMethodHandle.getName(), bootstrapMethodHandle.getDesc(), bootstrapMethodHandle.isInterface()) .index); int numBootstrapArguments = bootstrapMethodArguments.length;
bsm.desc, bsm.isInterface()));
bsm.desc, bsm.isInterface()));
? mapDesc(handle.getDesc()) : mapMethodDesc(handle.getDesc()), handle.isInterface());
? mapDesc(handle.getDesc()) : mapMethodDesc(handle.getDesc()), handle.isInterface());
? mapDesc(handle.getDesc()) : mapMethodDesc(handle.getDesc()), handle.isInterface());