public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
public int literalIndexForInvokeDynamic(int bootStrapIndex, char[] selector, char[] descriptor) { int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); int index = this.currentIndex++; int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(InvokeDynamicTag); writeU2(bootStrapIndex); writeU2(nameAndTypeIndex); return index; } public int literalIndexForField(char[] declaringClass, char[] name, char[] signature) {
private int literalIndexForInvokeAndConstantDynamic(int bootStrapIndex, char[] selector, char[] descriptor, int tag) { int index; if ((index = putInDynamicCacheIfAbsent(bootStrapIndex, selector, descriptor, this.currentIndex)) < 0) { this.currentIndex++; if ((index = -index) > 0xFFFF){ this.classFile.referenceBinding.scope.problemReporter().noMoreAvailableSpaceInConstantPool(this.classFile.referenceBinding.scope.referenceType()); } int length = this.offsets.length; if (length <= index) { // resize System.arraycopy(this.offsets, 0, (this.offsets = new int[index * 2]), 0, length); } this.offsets[index] = this.currentOffset; writeU1(tag); int classIndexOffset = this.currentOffset; if (this.currentOffset + 4 >= this.poolContent.length) { resizePoolContents(4); } this.currentOffset+=4; int nameAndTypeIndex = literalIndexForNameAndType(selector, descriptor); this.poolContent[classIndexOffset++] = (byte) (bootStrapIndex >> 8); this.poolContent[classIndexOffset++] = (byte) bootStrapIndex; this.poolContent[classIndexOffset++] = (byte) (nameAndTypeIndex >> 8); this.poolContent[classIndexOffset] = (byte) nameAndTypeIndex; } return index; } // CONSTANT_Dynamic_info JVMS 4.4.10 /jep 309
final int nameAndTypeIndex = literalIndexForNameAndType(selector, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(name, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(selector, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(selector, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(selector, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(selector, signature);
final int nameAndTypeIndex = literalIndexForNameAndType(name, signature);
MethodBinding methodBinding = ((LocalTypeBinding) this.referenceBinding).enclosingMethod; if (methodBinding != null) { int enclosingMethodIndex = this.constantPool.literalIndexForNameAndType(methodBinding.selector, methodBinding.signature(this)); methodIndexByte1 = (byte) (enclosingMethodIndex >> 8); methodIndexByte2 = (byte) enclosingMethodIndex;
MethodBinding methodBinding = ((LocalTypeBinding) this.referenceBinding).enclosingMethod; if (methodBinding != null) { int enclosingMethodIndex = this.constantPool.literalIndexForNameAndType(methodBinding.selector, methodBinding.signature(this)); methodIndexByte1 = (byte) (enclosingMethodIndex >> 8); methodIndexByte2 = (byte) enclosingMethodIndex;
MethodBinding methodBinding = ((LocalTypeBinding) this.referenceBinding).enclosingMethod; if (methodBinding != null) { int enclosingMethodIndex = this.constantPool.literalIndexForNameAndType(methodBinding.selector, methodBinding.signature(this)); methodIndexByte1 = (byte) (enclosingMethodIndex >> 8); methodIndexByte2 = (byte) enclosingMethodIndex;
MethodBinding methodBinding = ((LocalTypeBinding) this.referenceBinding).enclosingMethod; if (methodBinding != null) { int enclosingMethodIndex = this.constantPool.literalIndexForNameAndType(methodBinding.selector, methodBinding.signature(this)); methodIndexByte1 = (byte) (enclosingMethodIndex >> 8); methodIndexByte2 = (byte) enclosingMethodIndex;
MethodBinding methodBinding = ((LocalTypeBinding) this.referenceBinding).enclosingMethod; if (methodBinding != null) { int enclosingMethodIndex = this.constantPool.literalIndexForNameAndType(methodBinding.selector, methodBinding.signature(this)); methodIndexByte1 = (byte) (enclosingMethodIndex >> 8); methodIndexByte2 = (byte) enclosingMethodIndex;