public int getOpcode ( final int opcode ) { if ( opcode == Opcodes . IALOAD || opcode == Opcodes . IASTORE ) { switch ( sort ) { case BOOLEAN : case BYTE : return opcode + 5 ; case CHAR : return opcode + 6 ; case SHORT : return opcode + 7 ; case INT : return opcode ; case FLOAT : return opcode + 2 ; case LONG : return opcode + 1 ; case DOUBLE : return opcode + 3 ; // case ARRAY: // case OBJECT: default : return opcode + 4 ; } } else { switch ( sort ) { case VOID : return opcode + 5 ; case BOOLEAN : case CHAR : case BYTE : case SHORT : case INT : return opcode ; case FLOAT : return opcode + 2 ; case LONG : return opcode + 1 ; case DOUBLE : return opcode + 3 ; // case ARRAY: // case OBJECT: default : return opcode + 4 ; } } }
Returns a JVM instruction opcode adapted to this Java type .