MCPcopy Index your code
hub / github.com/clojure/clojure / readVerificationTypeInfo

Method readVerificationTypeInfo

src/jvm/clojure/asm/ClassReader.java:3135–3177  ·  view source on GitHub ↗

Reads a JVMS 'verification_type_info' structure and stores it at the given index in the given array. @param verificationTypeInfoOffset the start offset of the 'verification_type_info' structure to read. @param frame the array where the parsed type must be stored. @param index the index in 'fram

(
      final int verificationTypeInfoOffset,
      final Object[] frame,
      final int index,
      final char[] charBuffer,
      final Label[] labels)

Source from the content-addressed store, hash-verified

3133 * @return the end offset of the JVMS 'verification_type_info' structure.
3134 */
3135 private int readVerificationTypeInfo(
3136 final int verificationTypeInfoOffset,
3137 final Object[] frame,
3138 final int index,
3139 final char[] charBuffer,
3140 final Label[] labels) {
3141 int currentOffset = verificationTypeInfoOffset;
3142 int tag = b[currentOffset++] & 0xFF;
3143 switch (tag) {
3144 case Frame.ITEM_TOP:
3145 frame[index] = Opcodes.TOP;
3146 break;
3147 case Frame.ITEM_INTEGER:
3148 frame[index] = Opcodes.INTEGER;
3149 break;
3150 case Frame.ITEM_FLOAT:
3151 frame[index] = Opcodes.FLOAT;
3152 break;
3153 case Frame.ITEM_DOUBLE:
3154 frame[index] = Opcodes.DOUBLE;
3155 break;
3156 case Frame.ITEM_LONG:
3157 frame[index] = Opcodes.LONG;
3158 break;
3159 case Frame.ITEM_NULL:
3160 frame[index] = Opcodes.NULL;
3161 break;
3162 case Frame.ITEM_UNINITIALIZED_THIS:
3163 frame[index] = Opcodes.UNINITIALIZED_THIS;
3164 break;
3165 case Frame.ITEM_OBJECT:
3166 frame[index] = readClass(currentOffset, charBuffer);
3167 currentOffset += 2;
3168 break;
3169 case Frame.ITEM_UNINITIALIZED:
3170 frame[index] = createLabel(readUnsignedShort(currentOffset), labels);
3171 currentOffset += 2;
3172 break;
3173 default:
3174 throw new IllegalArgumentException();
3175 }
3176 return currentOffset;
3177 }
3178
3179 // ----------------------------------------------------------------------------------------------
3180 // Methods to parse attributes

Callers 1

readStackMapFrameMethod · 0.95

Calls 3

readClassMethod · 0.95
createLabelMethod · 0.95
readUnsignedShortMethod · 0.95

Tested by

no test coverage detected