addIstore(n); else if (type == CtClass.longType) { addLstore(n); return 2;
protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }
addIstore(n); else if (type == CtClass.longType) { addLstore(n); return 2;
@Override protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }
break; case LRETURN : b.addLstore(getVar(2)); jsrJmp(b); b.addLload(var);
bytecode.addFstore(varNo); else if (varType == LONG) bytecode.addLstore(varNo); else if (isRefType(varType)) bytecode.addAstore(varNo);
break; case LRETURN : b.addLstore(getVar(2)); jsrJmp(b); b.addLload(var);
bytecode.addFstore(varNo); else if (varType == LONG) bytecode.addLstore(varNo); else if (isRefType(varType)) bytecode.addAstore(varNo);
b.addLstore(returnVarNo);
b.addLstore(returnVarNo);
bytecode.addOpcode(DUP2); bytecode.addLstore(var);
bytecode.addOpcode(DUP2); bytecode.addLstore(var);
private static void addTypeDependDataStore(Bytecode code, String typeName, int i) { if ((typeName.charAt(0) == 'L') && (typeName.charAt(typeName.length() - 1) == ';') || (typeName.charAt(0) == '[')) { // reference type code.addAstore(i); } else if (typeName.equals("Z") || typeName.equals("B") || typeName.equals("C") || typeName.equals("I") || typeName.equals("S")) { // boolean, byte, char, int, short code.addIstore(i); } else if (typeName.equals("D")) { // double code.addDstore(i); } else if (typeName.equals("F")) { // float code.addFstore(i); } else if (typeName.equals("J")) { // long code.addLstore(i); } else { // bad type throw new RuntimeException("bad type: " + typeName); } }
private static void addTypeDependDataStore(Bytecode code, String typeName, int i) { if ((typeName.charAt(0) == 'L') && (typeName.charAt(typeName.length() - 1) == ';') || (typeName.charAt(0) == '[')) { // reference type code.addAstore(i); } else if (typeName.equals("Z") || typeName.equals("B") || typeName.equals("C") || typeName.equals("I") || typeName.equals("S")) { // boolean, byte, char, int, short code.addIstore(i); } else if (typeName.equals("D")) { // double code.addDstore(i); } else if (typeName.equals("F")) { // float code.addFstore(i); } else if (typeName.equals("J")) { // long code.addLstore(i); } else { // bad type throw new RuntimeException("bad type: " + typeName); } }
addIstore(n); else if (type == CtClass.longType) { addLstore(n); return 2;
addIstore(n); else if (type == CtClass.longType) { addLstore(n); return 2;
protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }
protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }
protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }
protected boolean doit(Bytecode b, int opcode) { switch (opcode) { case Opcode.RETURN : break; case ARETURN : b.addAstore(var); break; case IRETURN : b.addIstore(var); break; case LRETURN : b.addLstore(var); break; case DRETURN : b.addDstore(var); break; case FRETURN : b.addFstore(var); break; default : throw new RuntimeException("fatal"); } b.addOpcode(Opcode.GOTO); b.addIndex(target - b.currentPc() + 3); return true; } }