public int newLocal(final Type type) {
		Object t;
		switch (type.getSort()) {
		case Type.BOOLEAN:
		case Type.CHAR:
		case Type.BYTE:
		case Type.SHORT:
		case Type.INT:
			t = Opcodes.INTEGER;
			break;
		case Type.FLOAT:
			t = Opcodes.FLOAT;
			break;
		case Type.LONG:
			t = Opcodes.LONG;
			break;
		case Type.DOUBLE:
			t = Opcodes.DOUBLE;
			break;
		case Type.ARRAY:
			t = type.getDescriptor();
			break;
		// case Type.OBJECT:
		default:
			t = type.getInternalName();
			break;
		}
		int local = nextLocal;
		nextLocal += type.getSize();
		setLocalType(local, type);
		setFrameLocal(local, t);
		return local;
	}