private int readFrameType ( final Object [ ] frame , final int index , int v , final char [ ] buf , final Label [ ] labels ) { int type = b [ v ++ ] & 0xFF ; switch ( type ) { case 0 : frame [ index ] = Opcodes . TOP ; break ; case 1 : frame [ index ] = Opcodes . INTEGER ; break ; case 2 : frame [ index ] = Opcodes . FLOAT ; break ; case 3 : frame [ index ] = Opcodes . DOUBLE ; break ; case 4 : frame [ index ] = Opcodes . LONG ; break ; case 5 : frame [ index ] = Opcodes . NULL ; break ; case 6 : frame [ index ] = Opcodes . UNINITIALIZED_THIS ; break ; case 7 : // Object frame [ index ] = readClass ( v , buf ) ; v += 2 ; break ; default : // Uninitialized frame [ index ] = readLabel ( readUnsignedShort ( v ) , labels ) ; v += 2 ; } return v ; }
Reads a stack map frame type and stores it at the given index in the given array .