protected static Variable snarfFieldValue ( FieldInstruction fieldIns , ConstantPoolGen cpg , ValueNumberFrame frame ) throws DataflowAnalysisException { if ( isLongOrDouble ( fieldIns , cpg ) ) { int numSlots = frame . getNumSlots ( ) ; ValueNumber topValue = frame . getValue ( numSlots - 1 ) ; ValueNumber nextValue = frame . getValue ( numSlots - 2 ) ; return new LongOrDoubleLocalVariable ( topValue , nextValue ) ; } else { return new LocalVariable ( frame . getTopValue ( ) ) ; } }
Get a Variable representing the stack value which will either be stored into or loaded from a field .