public DexInstruction_StaticGetWide( DexCode methodCode, Instruction insn, DexCode_ParsingState parsingState) throws InstructionParsingException, UnknownTypeException { super(methodCode); if (insn instanceof Instruction21c && insn.opcode == Opcode.SGET_WIDE) { val insnStaticGet = (Instruction21c) insn; val refItem = (FieldIdItem) insnStaticGet.getReferencedItem(); regTo1 = parsingState.getRegister(insnStaticGet.getRegisterA()); regTo2 = parsingState.getRegister(insnStaticGet.getRegisterA() + 1); fieldClass = DexClassType.parse( refItem.getContainingClass().getTypeDescriptor(), parsingState.getCache()); fieldType = DexRegisterType.parse( refItem.getFieldType().getTypeDescriptor(), parsingState.getCache()); fieldName = refItem.getFieldName().getStringValue(); } else throw FORMAT_EXCEPTION; Opcode_GetPutWide.checkTypeIsWide(this.fieldType); }