@ Nullable private Integer processArrayElementStore ( ) { if ( stack . getStackDepth ( ) >= 2 ) { OpcodeStack . Item itm = stack . getStackItem ( 2 ) ; int reg = itm . getRegisterNumber ( ) ; if ( reg != - 1 ) { WrapperInfo wi = wrappers . get ( Integer . valueOf ( reg ) ) ; if ( wi != null ) { OpcodeStack . Item elItm = stack . getStackItem ( 0 ) ; wi . wrappedReg = elItm . getRegisterNumber ( ) ; } } else { OpcodeStack . Item elItm = stack . getStackItem ( 0 ) ; reg = elItm . getRegisterNumber ( ) ; if ( reg != - 1 ) { return Integer . valueOf ( reg ) ; } } } return null ; }
processes a store to an array element to see if this array is being used as a wrapper array and if so records the register that is stored within it .