public void visitVarInsn(final int opcode, final int var) {
		Type type;
		switch (opcode) {
		case Opcodes.LLOAD:
		case Opcodes.LSTORE:
			type = Type.LONG_TYPE;
			break;

		case Opcodes.DLOAD:
		case Opcodes.DSTORE:
			type = Type.DOUBLE_TYPE;
			break;

		case Opcodes.FLOAD:
		case Opcodes.FSTORE:
			type = Type.FLOAT_TYPE;
			break;

		case Opcodes.ILOAD:
		case Opcodes.ISTORE:
			type = Type.INT_TYPE;
			break;

		default:
			// case Opcodes.ALOAD:
			// case Opcodes.ASTORE:
			// case RET:
			type = OBJECT_TYPE;
			break;
		}
		mv.visitVarInsn(opcode, remap(var, type));
	}