ReferenceFormatter.writeStringReference(writer, parameterName);
return; case ValueType.STRING: ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue)encodedValue).getValue()); return; case ValueType.TYPE: return; case ValueType.METHOD_TYPE: ReferenceFormatter.writeReference(writer, ReferenceType.METHOD_PROTO, ((MethodTypeEncodedValue)encodedValue).getValue()); return; case ValueType.METHOD_HANDLE: ReferenceFormatter.writeReference(writer, ReferenceType.METHOD_HANDLE, ((MethodHandleEncodedValue)encodedValue).getValue()); return;
switch (referenceType) { case ReferenceType.STRING: writeStringReference(writer, ((StringReference)reference).getString()); return; case ReferenceType.TYPE: writeCallSiteReference(writer, (CallSiteReference)reference); return; default:
public static void writeCallSiteReference(IndentingWriter writer, CallSiteReference callSite) throws IOException { writer.write(callSite.getName()); writer.write('('); writer.write('"'); StringUtils.writeEscapedString(writer, callSite.getMethodName()); writer.write("\", "); writeReference(writer, ReferenceType.METHOD_PROTO, callSite.getMethodProto()); for (EncodedValue encodedValue : callSite.getExtraArguments()) { writer.write(", "); EncodedValueAdaptor.writeTo(writer, encodedValue, null); } writer.write(")@"); MethodHandleReference methodHandle = callSite.getMethodHandle(); if (methodHandle.getMethodHandleType() != MethodHandleType.INVOKE_STATIC) { throw new IllegalArgumentException("The linker method handle for a call site must be of type invoke-static"); } writeReference(writer, ReferenceType.METHOD, callSite.getMethodHandle().getMemberReference()); }
if (reference instanceof CallSiteReference) { referenceWritable = indentingWriter -> { ReferenceFormatter.writeCallSiteReference(indentingWriter, (CallSiteReference)reference); }; } else {
return; case ValueType.STRING: ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue)encodedValue).getValue()); return; case ValueType.TYPE: return; case ValueType.METHOD_TYPE: ReferenceFormatter.writeReference(writer, ReferenceType.METHOD_PROTO, ((MethodTypeEncodedValue)encodedValue).getValue()); return; case ValueType.METHOD_HANDLE: ReferenceFormatter.writeReference(writer, ReferenceType.METHOD_HANDLE, ((MethodHandleEncodedValue)encodedValue).getValue()); return;
switch (referenceType) { case ReferenceType.STRING: writeStringReference(writer, ((StringReference)reference).getString()); return; case ReferenceType.TYPE: writeCallSiteReference(writer, (CallSiteReference)reference); return; default:
public static void writeCallSiteReference(IndentingWriter writer, CallSiteReference callSite) throws IOException { writer.write(callSite.getName()); writer.write('('); writer.write('"'); StringUtils.writeEscapedString(writer, callSite.getMethodName()); writer.write("\", "); writeReference(writer, ReferenceType.METHOD_PROTO, callSite.getMethodProto()); for (EncodedValue encodedValue : callSite.getExtraArguments()) { writer.write(", "); EncodedValueAdaptor.writeTo(writer, encodedValue, null); } writer.write(")@"); MethodHandleReference methodHandle = callSite.getMethodHandle(); if (methodHandle.getMethodHandleType() != MethodHandleType.INVOKE_STATIC) { throw new IllegalArgumentException("The linker method handle for a call site must be of type invoke-static"); } writeReference(writer, ReferenceType.METHOD, callSite.getMethodHandle().getMemberReference()); }
if (reference instanceof CallSiteReference) { referenceWritable = indentingWriter -> { ReferenceFormatter.writeCallSiteReference(indentingWriter, (CallSiteReference)reference); }; } else {
@Nullable String signature) throws IOException { if (name != null) { ReferenceFormatter.writeStringReference(writer, name); } else { writer.write("null"); ReferenceFormatter.writeStringReference(writer, signature);
referenceType = ReferenceType.FIELD; ReferenceFormatter.writeReference(writer, referenceType, accessedMember.accessedMember); return true;
@Nullable String signature) throws IOException { if (name != null) { ReferenceFormatter.writeStringReference(writer, name); } else { writer.write("null"); ReferenceFormatter.writeStringReference(writer, signature);
referenceType = ReferenceType.FIELD; ReferenceFormatter.writeReference(writer, referenceType, accessedMember.accessedMember); return true;
@Nullable String signature) throws IOException { if (name != null) { ReferenceFormatter.writeStringReference(writer, name); } else { writer.write("null"); ReferenceFormatter.writeStringReference(writer, signature);
referenceType = ReferenceType.FIELD; ReferenceFormatter.writeReference(writer, referenceType, accessedMember.accessedMember); return true;
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"); } } }
ReferenceFormatter.writeStringReference(writer, parameterName);
ReferenceFormatter.writeStringReference(writer, parameterName);
return; case ValueType.STRING: ReferenceFormatter.writeStringReference(writer, ((StringEncodedValue)encodedValue).getValue()); return; case ValueType.TYPE: