public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethod(TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { if ((declaringClass.tagBits & TagBits.ContainsNestedTypeReferences) != 0) { Util.recordNestedType(this.classFile, declaringClass); } return this.literalIndexForMethod(declaringClass.constantPoolName(), selector, signature, isInterface); } public int literalIndexForNameAndType(char[] name, char[] signature) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
public int literalIndexForMethodHandle(int referenceKind, TypeBinding declaringClass, char[] selector, char[] signature, boolean isInterface) { int indexForMethod = literalIndexForMethod(declaringClass, selector, signature, isInterface); 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(MethodHandleTag); writeU1(referenceKind); writeU2(indexForMethod); return index; } public int literalIndexForMethodType(char[] descriptor) {
private void invoke18(byte opcode, int receiverAndArgsSize, int returnTypeSize, char[] declaringClass, boolean isInterface, char[] selector, char[] signature) { this.countLabels = 0; if (opcode == Opcodes.OPC_invokeinterface) { // invokeinterface if (this.classFileOffset + 4 >= this.bCodeStream.length) { resizeByteArray(); } this.position +=3; this.bCodeStream[this.classFileOffset++] = opcode; writeUnsignedShort(this.constantPool.literalIndexForMethod(declaringClass, selector, signature, true)); this.bCodeStream[this.classFileOffset++] = (byte) receiverAndArgsSize; this.bCodeStream[this.classFileOffset++] = 0; } else { // invokespecial // invokestatic // invokevirtual if (this.classFileOffset + 2 >= this.bCodeStream.length) { resizeByteArray(); } this.position++; this.bCodeStream[this.classFileOffset++] = opcode; writeUnsignedShort(this.constantPool.literalIndexForMethod(declaringClass, selector, signature, isInterface)); } this.stackDepth += returnTypeSize - receiverAndArgsSize; if (this.stackDepth > this.stackMax) { this.stackMax = this.stackDepth; } }