private Statement store ( final Expression expr , final Optional < Label > firstVarInstruction ) { expr . checkAssignableTo ( resultType ( ) ) ; return new Statement ( ) { @ Override protected void doGen ( CodeBuilder adapter ) { expr . gen ( adapter ) ; if ( firstVarInstruction . isPresent ( ) ) { adapter . mark ( firstVarInstruction . get ( ) ) ; } adapter . visitVarInsn ( resultType ( ) . getOpcode ( Opcodes . ISTORE ) , index ( ) ) ; } } ; }
Writes the value at the top of the stack to the local variable .