TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index
TypeAnnotationInfo(byte[] classFileBytes, int[] contantPoolOffsets, int offset, boolean runtimeVisible, boolean populate) { this(classFileBytes, contantPoolOffsets, offset); this.readOffset = 0; this.targetType = u1At(0); switch (this.targetType) { case AnnotationTargetTypeConstants.CLASS_TYPE_PARAMETER: case AnnotationTargetTypeConstants.METHOD_TYPE_PARAMETER: this.info = u1At(1); // typeParameterIndex this.readOffset += 2; break; this.info = u1At(1); // typeParameterIndex this.info2 = u1At(2); // boundIndex; this.readOffset += 3; break; this.info = u1At(1); // methodFormalParameterIndex this.readOffset += 2; break; int typePathLength = u1At(this.readOffset); this.readOffset ++; if (typePathLength == 0) { int index = 0; for (int i = 0; i < typePathLength; i++) { this.typePath[index++] = u1At(this.readOffset++); // entry kind this.typePath[index++] = u1At(this.readOffset++); // type argument index