private void push ( final int abstractType ) { // Create and/or resize the output stack array if necessary. if ( outputStack == null ) { outputStack = new int [ 10 ] ; } int outputStackLength = outputStack . length ; if ( outputStackTop >= outputStackLength ) { int [ ] newOutputStack = new int [ Math . max ( outputStackTop + 1 , 2 * outputStackLength ) ] ; System . arraycopy ( outputStack , 0 , newOutputStack , 0 , outputStackLength ) ; outputStack = newOutputStack ; } // Pushes the abstract type on the output stack. outputStack [ outputStackTop ++ ] = abstractType ; // Updates the maximum size reached by the output stack, if needed (note that this size is // relative to the input stack size, which is not known yet). short outputStackSize = ( short ) ( outputStackStart + outputStackTop ) ; if ( outputStackSize > owner . outputStackMax ) { owner . outputStackMax = outputStackSize ; } }
Pushes the given abstract type on the output frame stack .