private static int computeSize(final BootstrapMethodsTableEntry[] bootstrapMethods) { int size = 2; if (bootstrapMethods == null) { return size; } for (final BootstrapMethodsTableEntry bootstrapMethod : bootstrapMethods) { size += (2 + (2 * bootstrapMethod.getArguments().size())); } return size; } }
@Override public DynamicCallSite lookupDynamicCallSite(final int token) { final ConstantPool.InvokeDynamicInfoEntry entry = _constantPool.getEntry(token); final BootstrapMethodsAttribute attribute = SourceAttribute.find(AttributeNames.BootstrapMethods, _typeDefinition.getSourceAttributes()); final BootstrapMethodsTableEntry bootstrapMethod = attribute.getBootstrapMethods() .get(entry.bootstrapMethodAttributeIndex); final ConstantPool.NameAndTypeDescriptorEntry nameAndType = _constantPool.getEntry(entry.nameAndTypeDescriptorIndex); return new DynamicCallSite( bootstrapMethod.getMethod(), bootstrapMethod.getArguments(), nameAndType.getName(), _parser.parseMethodSignature(nameAndType.getType()) ); }
@Override public DynamicCallSite lookupDynamicCallSite(final int token) { final ConstantPool.InvokeDynamicInfoEntry entry = _constantPool.getEntry(token); final BootstrapMethodsAttribute attribute = SourceAttribute.find(AttributeNames.BootstrapMethods, _typeDefinition.getSourceAttributes()); final BootstrapMethodsTableEntry bootstrapMethod = attribute.getBootstrapMethods() .get(entry.bootstrapMethodAttributeIndex); final ConstantPool.NameAndTypeDescriptorEntry nameAndType = _constantPool.getEntry(entry.nameAndTypeDescriptorIndex); return new DynamicCallSite( entry.bootstrapMethodAttributeIndex, bootstrapMethod.getMethodHandle(), bootstrapMethod.getArguments(), nameAndType.getName(), _parser.parseMethodSignature(nameAndType.getType()) ); }
methods[i] = new BootstrapMethodsTableEntry(bootstrapMethod, arguments);
@Override public DynamicCallSite lookupDynamicCallSite(final int token) { final ConstantPool.InvokeDynamicInfoEntry entry = _constantPool.getEntry(token); final BootstrapMethodsAttribute attribute = SourceAttribute.find(AttributeNames.BootstrapMethods, _typeDefinition.getSourceAttributes()); final BootstrapMethodsTableEntry bootstrapMethod = attribute.getBootstrapMethods() .get(entry.bootstrapMethodAttributeIndex); final ConstantPool.NameAndTypeDescriptorEntry nameAndType = _constantPool.getEntry(entry.nameAndTypeDescriptorIndex); return new DynamicCallSite( bootstrapMethod.getMethod(), bootstrapMethod.getArguments(), nameAndType.getName(), _parser.parseMethodSignature(nameAndType.getType()) ); }
private void writeBootstrapMethodEntry(final ITextOutput output, final TypeDefinition type, final BootstrapMethodsTableEntry entry) { DecompilerHelpers.writeMethodHandle(output, entry.getMethodHandle()); output.writeLine(); output.indent(); try { output.writeAttribute("Arguments"); output.writeDelimiter(":"); output.writeLine(); output.indent(); try { for (final Object argument : entry.getArguments()) { DecompilerHelpers.writeOperand(output, argument); output.writeLine(); } } finally { output.unindent(); } } finally { output.unindent(); } }
methods[i] = new BootstrapMethodsTableEntry(bootstrapMethod, arguments);
private static int computeSize(final BootstrapMethodsTableEntry[] bootstrapMethods) { int size = 2; if (bootstrapMethods == null) { return size; } for (final BootstrapMethodsTableEntry bootstrapMethod : bootstrapMethods) { size += (2 + (2 * bootstrapMethod.getArguments().size())); } return size; } }
methods[i] = new BootstrapMethodsTableEntry(bootstrapMethodHandle, arguments);
private static int computeSize(final BootstrapMethodsTableEntry[] bootstrapMethods) { int size = 2; if (bootstrapMethods == null) { return size; } for (final BootstrapMethodsTableEntry bootstrapMethod : bootstrapMethods) { size += (2 + (2 * bootstrapMethod.getArguments().size())); } return size; } }