public static void writeMethodDescriptor(Writer writer, MethodReference methodReference) throws IOException { writeMethodDescriptor(writer, methodReference, false); }
public static void writeMethodDescriptor(Writer writer, MethodReference methodReference) throws IOException { writeMethodDescriptor(writer, methodReference, false); }
public static void writeMethodHandle(Writer writer, MethodHandleReference methodHandleReference) throws IOException { writer.write(MethodHandleType.toString(methodHandleReference.getMethodHandleType())); writer.write('@'); Reference memberReference = methodHandleReference.getMemberReference(); if (memberReference instanceof MethodReference) { writeMethodDescriptor(writer, (MethodReference)memberReference); } else { writeFieldDescriptor(writer, (FieldReference)memberReference); } }
public static void writeMethodHandle(Writer writer, MethodHandleReference methodHandleReference) throws IOException { writer.write(MethodHandleType.toString(methodHandleReference.getMethodHandleType())); writer.write('@'); Reference memberReference = methodHandleReference.getMemberReference(); if (memberReference instanceof MethodReference) { writeMethodDescriptor(writer, (MethodReference)memberReference); } else { writeFieldDescriptor(writer, (FieldReference)memberReference); } }
public static void writeCallSite(Writer writer, CallSiteReference callSiteReference) throws IOException { writer.write(callSiteReference.getName()); writer.write('('); writer.write('"'); StringUtils.writeEscapedString(writer, callSiteReference.getMethodName()); writer.write('"'); writer.write(", "); writeMethodProtoDescriptor(writer, callSiteReference.getMethodProto()); for (EncodedValue encodedValue : callSiteReference.getExtraArguments()) { writer.write(", "); EncodedValueUtils.writeEncodedValue(writer, encodedValue); } writer.write(")@"); MethodHandleReference methodHandle = callSiteReference.getMethodHandle(); if (methodHandle.getMethodHandleType() != MethodHandleType.INVOKE_STATIC) { throw new IllegalArgumentException("The linker method handle for a call site must be of type invoke-static"); } writeMethodDescriptor(writer, (MethodReference)callSiteReference.getMethodHandle().getMemberReference()); }
public static void writeCallSite(Writer writer, CallSiteReference callSiteReference) throws IOException { writer.write(callSiteReference.getName()); writer.write('('); writer.write('"'); StringUtils.writeEscapedString(writer, callSiteReference.getMethodName()); writer.write('"'); writer.write(", "); writeMethodProtoDescriptor(writer, callSiteReference.getMethodProto()); for (EncodedValue encodedValue : callSiteReference.getExtraArguments()) { writer.write(", "); EncodedValueUtils.writeEncodedValue(writer, encodedValue); } writer.write(")@"); MethodHandleReference methodHandle = callSiteReference.getMethodHandle(); if (methodHandle.getMethodHandleType() != MethodHandleType.INVOKE_STATIC) { throw new IllegalArgumentException("The linker method handle for a call site must be of type invoke-static"); } writeMethodDescriptor(writer, (MethodReference)callSiteReference.getMethodHandle().getMemberReference()); }
public static void writeReference(IndentingWriter writer, int referenceType, Reference reference) throws IOException { switch (referenceType) { case ReferenceType.STRING: writeStringReference(writer, ((StringReference)reference).getString()); return; case ReferenceType.TYPE: writer.write(((TypeReference)reference).getType()); return; case ReferenceType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, (MethodReference)reference); return; case ReferenceType.FIELD: ReferenceUtil.writeFieldDescriptor(writer, (FieldReference)reference); return; default: throw new IllegalStateException("Unknown reference type"); } } }
break; case ValueType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, ((MethodEncodedValue)encodedValue).getValue()); break; case ValueType.TYPE:
break; case ValueType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, ((MethodEncodedValue)encodedValue).getValue()); break; case ValueType.TYPE:
return; case ReferenceType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, (MethodReference)reference); return; case ReferenceType.FIELD:
return; case ReferenceType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, (MethodReference)reference); return; case ReferenceType.FIELD:
useImplicitReference = true; ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference); return; case ValueType.NULL:
useImplicitReference = true; ReferenceUtil.writeMethodDescriptor(writer, methodEncodedValue.getValue(), useImplicitReference); return; case ValueType.NULL:
return; case ValueType.METHOD: ReferenceUtil.writeMethodDescriptor(writer, ((MethodEncodedValue)encodedValue).getValue()); return; case ValueType.NULL: