From: <zy...@us...> - 2010-08-17 19:23:28
|
Revision: 7097 http://jython.svn.sourceforge.net/jython/?rev=7097&view=rev Author: zyasoft Date: 2010-08-17 19:23:22 +0000 (Tue, 17 Aug 2010) Log Message: ----------- Refactored PyBoolean, PyFloat, PyLong so they consistently use getValue instead of accessing the field value directly. Fixes #1645, although we are awaiting more unit tests on how this be used by user types. Modified Paths: -------------- trunk/jython/src/org/python/core/PyBoolean.java trunk/jython/src/org/python/core/PyFloat.java trunk/jython/src/org/python/core/PyLong.java Modified: trunk/jython/src/org/python/core/PyBoolean.java =================================================================== --- trunk/jython/src/org/python/core/PyBoolean.java 2010-08-16 16:45:29 UTC (rev 7096) +++ trunk/jython/src/org/python/core/PyBoolean.java 2010-08-17 19:23:22 UTC (rev 7097) @@ -7,17 +7,27 @@ import org.python.expose.MethodType; /** - * The builtin python bool. + * The builtin python bool. It would be nice if it didn't extend PyInteger, + * but too hard to avoid pre-Python 2.2 semantics here. */ @ExposedType(name = "bool", isBaseType = false, doc = BuiltinDocs.bool_doc) public class PyBoolean extends PyInteger { public static final PyType TYPE = PyType.fromClass(PyBoolean.class); - private boolean value; + private final boolean value; + public boolean getBooleanValue() { + return value; + } + + @Override + public int getValue() { + return getBooleanValue() ? 1 : 0; + } + public PyBoolean(boolean value) { - super(TYPE, value ? 1 : 0); + super(TYPE, value ? 1 : 0); // XXX is this necessary? this.value = value; } @@ -39,7 +49,7 @@ @ExposedMethod(names = {"__str__", "__repr__"}, doc = BuiltinDocs.bool___str___doc) final String bool_toString() { - return value ? "True" : "False"; + return getBooleanValue() ? "True" : "False"; } @Override @@ -49,7 +59,7 @@ @ExposedMethod(doc = BuiltinDocs.bool___hash___doc) final int bool___hash__() { - return value ? 1 : 0; + return getBooleanValue() ? 1 : 0; } @Override @@ -59,31 +69,31 @@ @ExposedMethod(doc = BuiltinDocs.bool___nonzero___doc) final boolean bool___nonzero__() { - return value; + return getBooleanValue(); } @Override public Object __tojava__(Class<?> c) { if (c == Boolean.TYPE || c == Boolean.class || c == Object.class ) { - return Boolean.valueOf(value); + return Boolean.valueOf(getBooleanValue()); } if (c == Integer.TYPE || c == Number.class || c == Integer.class) { - return Integer.valueOf(value ? 1 : 0); + return Integer.valueOf(getValue()); } if (c == Byte.TYPE || c == Byte.class) { - return Byte.valueOf((byte)(value ? 1 : 0)); + return Byte.valueOf((byte)(getValue())); } if (c == Short.TYPE || c == Short.class) { - return Short.valueOf((short)(value ? 1 : 0)); + return Short.valueOf((short)(getValue())); } if (c == Long.TYPE || c == Long.class) { - return Long.valueOf(value ? 1 : 0); + return Long.valueOf(getValue()); } if (c == Float.TYPE || c == Float.class) { - return Float.valueOf(value ? 1 : 0); + return Float.valueOf(getValue()); } if (c == Double.TYPE || c == Double.class) { - return Double.valueOf(value ? 1 : 0); + return Double.valueOf(getValue()); } return super.__tojava__(c); } @@ -96,7 +106,7 @@ @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.bool___and___doc) final PyObject bool___and__(PyObject right) { if (right instanceof PyBoolean) { - return Py.newBoolean(value & ((PyBoolean)right).value); + return Py.newBoolean(getBooleanValue() & ((PyBoolean) right).getBooleanValue()); } else if (right instanceof PyInteger) { return Py.newInteger(getValue() & ((PyInteger)right).getValue()); } else { @@ -112,7 +122,7 @@ @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.bool___xor___doc) final PyObject bool___xor__(PyObject right) { if (right instanceof PyBoolean) { - return Py.newBoolean(value ^ ((PyBoolean)right).value); + return Py.newBoolean(getBooleanValue() ^ ((PyBoolean) right).getBooleanValue()); } else if (right instanceof PyInteger) { return Py.newInteger(getValue() ^ ((PyInteger)right).getValue()); } else { @@ -128,7 +138,7 @@ @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.bool___or___doc) final PyObject bool___or__(PyObject right) { if (right instanceof PyBoolean) { - return Py.newBoolean(value | ((PyBoolean)right).value); + return Py.newBoolean(getBooleanValue() | ((PyBoolean) right).getBooleanValue()); } else if (right instanceof PyInteger) { return Py.newInteger(getValue() | ((PyInteger)right).getValue()); } else { @@ -143,7 +153,7 @@ @ExposedMethod(doc = BuiltinDocs.bool___neg___doc) final PyObject bool___neg__() { - return Py.newInteger(value ? -1 : 0); + return Py.newInteger(getBooleanValue() ? -1 : 0); } @Override @@ -153,7 +163,7 @@ @ExposedMethod(doc = BuiltinDocs.bool___pos___doc) final PyObject bool___pos__() { - return Py.newInteger(value ? 1 : 0); + return Py.newInteger(getValue()); } @Override @@ -163,6 +173,6 @@ @ExposedMethod(doc = BuiltinDocs.bool___abs___doc) final PyObject bool___abs__() { - return Py.newInteger(value ? 1 : 0); + return Py.newInteger(getValue()); } } Modified: trunk/jython/src/org/python/core/PyFloat.java =================================================================== --- trunk/jython/src/org/python/core/PyFloat.java 2010-08-16 16:45:29 UTC (rev 7096) +++ trunk/jython/src/org/python/core/PyFloat.java 2010-08-17 19:23:22 UTC (rev 7097) @@ -25,8 +25,12 @@ private static final int PREC_REPR = 17; private static final int PREC_STR = 12; - private double value; + private final double value; + public double getValue() { + return value; + } + public PyFloat(PyType subtype, double v) { super(subtype); value = v; @@ -81,10 +85,6 @@ return !Double.isInfinite(value) && !Double.isNaN(value); } - public double getValue() { - return value; - } - @Override public String toString() { return __str__().toString(); @@ -111,7 +111,7 @@ } private String formatDouble(int precision) { - if (Double.isNaN(value)) { + if (Double.isNaN(getValue())) { return "nan"; } @@ -140,17 +140,17 @@ @ExposedMethod(doc = BuiltinDocs.float___hash___doc) final int float___hash__() { - double intPart = Math.floor(value); - double fractPart = value - intPart; + double intPart = Math.floor(getValue()); + double fractPart = getValue() - intPart; if (fractPart == 0) { if (intPart <= Integer.MAX_VALUE && intPart >= Integer.MIN_VALUE) { - return (int) value; + return (int) getValue(); } else { return __long__().hashCode(); } } else { - long v = Double.doubleToLongBits(value); + long v = Double.doubleToLongBits(getValue()); return (int) v ^ (int) (v >> 32); } } @@ -162,17 +162,17 @@ @ExposedMethod(doc = BuiltinDocs.float___nonzero___doc) final boolean float___nonzero__() { - return value != 0; + return getValue() != 0; } @Override public Object __tojava__(Class<?> c) { if (c == Double.TYPE || c == Number.class || c == Double.class || c == Object.class || c == Serializable.class) { - return new Double(value); + return new Double(getValue()); } if (c == Float.TYPE || c == Float.class) { - return new Float(value); + return new Float(getValue()); } return super.__tojava__(c); } @@ -181,7 +181,7 @@ public PyObject __eq__(PyObject other) { // preclude _cmp_unsafe's this == other shortcut because NaN != anything, even // itself - if (Double.isNaN(value)) { + if (Double.isNaN(getValue())) { return Py.False; } return null; @@ -189,7 +189,7 @@ @Override public PyObject __ne__(PyObject other) { - if (Double.isNaN(value)) { + if (Double.isNaN(getValue())) { return Py.True; } return null; @@ -203,11 +203,11 @@ // XXX: needs __doc__ @ExposedMethod(type = MethodType.CMP) final int float___cmp__(PyObject other) { - double i = value; + double i = getValue(); double j; if (other instanceof PyFloat) { - j = ((PyFloat) other).value; + j = ((PyFloat) other).getValue(); } else if (!isFinite()) { // we're infinity: our magnitude exceeds any finite // integer, so it doesn't matter which int we compare i @@ -220,7 +220,7 @@ } else if (other instanceof PyInteger) { j = ((PyInteger) other).getValue(); } else if (other instanceof PyLong) { - BigDecimal v = new BigDecimal(value); + BigDecimal v = new BigDecimal(getValue()); BigDecimal w = new BigDecimal(((PyLong) other).getValue()); return v.compareTo(w); } else { @@ -274,7 +274,7 @@ private static final double coerce(PyObject other) { if (other instanceof PyFloat) { - return ((PyFloat) other).value; + return ((PyFloat) other).getValue(); } else if (other instanceof PyInteger) { return ((PyInteger) other).getValue(); } else if (other instanceof PyLong) { @@ -295,7 +295,7 @@ return null; } double rightv = coerce(right); - return new PyFloat(value + rightv); + return new PyFloat(getValue() + rightv); } @Override @@ -319,7 +319,7 @@ return null; } double rightv = coerce(right); - return new PyFloat(value - rightv); + return new PyFloat(getValue() - rightv); } @Override @@ -333,7 +333,7 @@ return null; } double leftv = coerce(left); - return new PyFloat(leftv - value); + return new PyFloat(leftv - getValue()); } @Override @@ -347,7 +347,7 @@ return null; } double rightv = coerce(right); - return new PyFloat(value * rightv); + return new PyFloat(getValue() * rightv); } @Override @@ -378,7 +378,7 @@ if (rightv == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(value / rightv); + return new PyFloat(getValue() / rightv); } @Override @@ -396,10 +396,10 @@ } double leftv = coerce(left); - if (value == 0) { + if (getValue() == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(leftv / value); + return new PyFloat(leftv / getValue()); } @Override @@ -416,7 +416,7 @@ if (rightv == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(Math.floor(value / rightv)); + return new PyFloat(Math.floor(getValue() / rightv)); } @Override @@ -430,10 +430,10 @@ return null; } double leftv = coerce(left); - if (value == 0) { + if (getValue() == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(Math.floor(leftv / value)); + return new PyFloat(Math.floor(leftv / getValue())); } @Override @@ -450,7 +450,7 @@ if (rightv == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(value / rightv); + return new PyFloat(getValue() / rightv); } @Override @@ -464,10 +464,10 @@ return null; } double leftv = coerce(left); - if (value == 0) { + if (getValue() == 0) { throw Py.ZeroDivisionError("float division"); } - return new PyFloat(leftv / value); + return new PyFloat(leftv / getValue()); } private static double modulo(double x, double y) { @@ -492,7 +492,7 @@ return null; } double rightv = coerce(right); - return new PyFloat(modulo(value, rightv)); + return new PyFloat(modulo(getValue(),rightv)); } @Override @@ -506,7 +506,7 @@ return null; } double leftv = coerce(left); - return new PyFloat(modulo(leftv, value)); + return new PyFloat(modulo(leftv, getValue())); } @Override @@ -524,9 +524,9 @@ if (rightv == 0) { throw Py.ZeroDivisionError("float division"); } - double z = Math.floor(value / rightv); + double z = Math.floor(getValue() / rightv); - return new PyTuple(new PyFloat(z), new PyFloat(value - z * rightv)); + return new PyTuple(new PyFloat(z), new PyFloat(getValue() - z * rightv)); } @Override @@ -536,12 +536,12 @@ } double leftv = coerce(left); - if (value == 0) { + if (getValue() == 0) { throw Py.ZeroDivisionError("float division"); } - double z = Math.floor(leftv / value); + double z = Math.floor(leftv / getValue()); - return new PyTuple(new PyFloat(z), new PyFloat(leftv - z * value)); + return new PyTuple(new PyFloat(z), new PyFloat(leftv - z * getValue())); } @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.float___rdivmod___doc) @@ -565,7 +565,7 @@ throw Py.TypeError("pow() 3rd argument not allowed unless all arguments are integers"); } - return _pow(value, coerce(right), modulo); + return _pow( getValue(), coerce(right), modulo); } @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.float___rpow___doc) @@ -579,7 +579,7 @@ return null; } - return _pow(coerce(left), value, null); + return _pow(coerce(left), getValue(), null); } private static PyFloat _pow(double value, double iw, PyObject modulo) { @@ -612,7 +612,7 @@ @ExposedMethod(doc = BuiltinDocs.float___neg___doc) final PyObject float___neg__() { - return new PyFloat(-value); + return new PyFloat(-getValue()); } @Override @@ -637,7 +637,7 @@ @ExposedMethod(doc = BuiltinDocs.float___abs___doc) final PyObject float___abs__() { - if (value < 0) { + if (getValue() < 0) { return float___neg__(); } return float___float__(); @@ -650,8 +650,8 @@ @ExposedMethod(doc = BuiltinDocs.float___int___doc) final PyObject float___int__() { - if (value <= Integer.MAX_VALUE && value >= Integer.MIN_VALUE) { - return new PyInteger((int) value); + if (getValue() <= Integer.MAX_VALUE && getValue() >= Integer.MIN_VALUE) { + return new PyInteger((int) getValue()); } return __long__(); } @@ -663,7 +663,7 @@ @ExposedMethod(doc = BuiltinDocs.float___long___doc) final PyObject float___long__() { - return new PyLong(value); + return new PyLong(getValue()); } @Override @@ -676,12 +676,12 @@ if (getType() == TYPE) { return this; } - return Py.newFloat(value); + return Py.newFloat(getValue()); } @Override public PyComplex __complex__() { - return new PyComplex(value, 0.); + return new PyComplex(getValue(), 0.); } @ExposedMethod(doc = BuiltinDocs.float___getnewargs___doc) @@ -696,7 +696,7 @@ @Override public double asDouble() { - return value; + return getValue(); } @Override Modified: trunk/jython/src/org/python/core/PyLong.java =================================================================== --- trunk/jython/src/org/python/core/PyLong.java 2010-08-16 16:45:29 UTC (rev 7096) +++ trunk/jython/src/org/python/core/PyLong.java 2010-08-17 19:23:22 UTC (rev 7097) @@ -36,8 +36,12 @@ @Deprecated public static final BigInteger maxULong = MAX_ULONG; - private BigInteger value; + private final BigInteger value; + public BigInteger getValue() { + return value; + } + public PyLong(PyType subType, BigInteger v) { super(subType); value = v; @@ -107,7 +111,7 @@ int intValue = ((PyInteger) tmp).getValue(); return new PyLongDerived(subtype, BigInteger.valueOf(intValue)); } else { - return new PyLongDerived(subtype, ((PyLong) tmp).value); + return new PyLongDerived(subtype, ((PyLong) tmp).getValue()); } } @@ -125,10 +129,6 @@ return new BigDecimal(value).toBigInteger(); } - public BigInteger getValue() { - return value; - } - @Override public String toString() { return long_toString(); @@ -136,7 +136,7 @@ @ExposedMethod(names = {"__str__", "__repr__"}, doc = BuiltinDocs.long___str___doc) final String long_toString() { - return value.toString() + "L"; + return getValue().toString() + "L"; } @Override @@ -146,7 +146,7 @@ @ExposedMethod(doc = BuiltinDocs.long___hash___doc) final int long___hash__() { - return value.intValue(); + return getValue().intValue(); } @Override @@ -160,7 +160,7 @@ } public double doubleValue() { - double v = value.doubleValue(); + double v = getValue().doubleValue(); if (Double.isInfinite(v)) { throw Py.OverflowError("long int too large to convert to float"); } @@ -196,7 +196,7 @@ } public double scaledDoubleValue(int[] exp) { - return scaledDoubleValue(value, exp); + return scaledDoubleValue(getValue(),exp); } public long getLong(long min, long max) { @@ -204,8 +204,8 @@ } public long getLong(long min, long max, String overflowMsg) { - if (value.compareTo(MAX_LONG) <= 0 && value.compareTo(MIN_LONG) >= 0) { - long v = value.longValue(); + if (getValue().compareTo(MAX_LONG) <= 0 && getValue().compareTo(MIN_LONG) >= 0) { + long v = getValue().longValue(); if (v >= min && v <= max) { return v; } @@ -255,7 +255,7 @@ } if (c == BigInteger.class || c == Number.class || c == Object.class || c == Serializable.class) { - return value; + return getValue(); } } catch (PyException e) { return Py.NoConversion; @@ -273,7 +273,7 @@ if (!canCoerce(other)) { return -2; } - return value.compareTo(coerce(other)); + return getValue().compareTo(coerce(other)); } @Override @@ -306,7 +306,7 @@ private static final BigInteger coerce(PyObject other) { if (other instanceof PyLong) { - return ((PyLong) other).value; + return ((PyLong) other).getValue(); } else if (other instanceof PyInteger) { return BigInteger.valueOf(((PyInteger) other).getValue()); } else { @@ -324,7 +324,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.add(coerce(right))); + return Py.newLong(getValue().add(coerce(right))); } @Override @@ -347,7 +347,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.subtract(coerce(right))); + return Py.newLong(getValue().subtract(coerce(right))); } @Override @@ -357,7 +357,7 @@ @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.long___rsub___doc) final PyObject long___rsub__(PyObject left) { - return Py.newLong(coerce(left).subtract(value)); + return Py.newLong(coerce(left).subtract(getValue())); } @Override @@ -374,7 +374,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.multiply(coerce(right))); + return Py.newLong(getValue().multiply(coerce(right))); } @Override @@ -390,7 +390,7 @@ if (!canCoerce(left)) { return null; } - return Py.newLong(coerce(left).multiply(value)); + return Py.newLong(coerce(left).multiply(getValue())); } // Getting signs correct for integer division @@ -426,7 +426,7 @@ if (Options.divisionWarning > 0) { Py.warning(Py.DeprecationWarning, "classic long division"); } - return Py.newLong(divide(value, coerce(right))); + return Py.newLong(divide( getValue(), coerce(right))); } @Override @@ -442,7 +442,7 @@ if (Options.divisionWarning > 0) { Py.warning(Py.DeprecationWarning, "classic long division"); } - return Py.newLong(divide(coerce(left), value)); + return Py.newLong(divide(coerce(left), getValue())); } @Override @@ -455,7 +455,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(divide(value, coerce(right))); + return Py.newLong(divide( getValue(), coerce(right))); } @Override @@ -468,7 +468,7 @@ if (!canCoerce(left)) { return null; } - return Py.newLong(divide(coerce(left), value)); + return Py.newLong(divide(coerce(left), getValue())); } private static final PyFloat true_divide(BigInteger a, BigInteger b) { @@ -511,7 +511,7 @@ if (!canCoerce(right)) { return null; } - return true_divide(this.value, coerce(right)); + return true_divide( this.getValue(), coerce(right)); } @Override @@ -524,7 +524,7 @@ if (!canCoerce(left)) { return null; } - return true_divide(coerce(left), this.value); + return true_divide(coerce(left), this.getValue()); } private BigInteger modulo(BigInteger x, BigInteger y, BigInteger xdivy) { @@ -542,7 +542,7 @@ return null; } BigInteger rightv = coerce(right); - return Py.newLong(modulo(value, rightv, divide(value, rightv))); + return Py.newLong(modulo(getValue(),rightv, divide(getValue(),rightv))); } @Override @@ -556,7 +556,7 @@ return null; } BigInteger leftv = coerce(left); - return Py.newLong(modulo(leftv, value, divide(leftv, value))); + return Py.newLong(modulo(leftv, getValue(), divide(leftv, getValue()))); } @Override @@ -571,8 +571,8 @@ } BigInteger rightv = coerce(right); - BigInteger xdivy = divide(value, rightv); - return new PyTuple(Py.newLong(xdivy), Py.newLong(modulo(value, rightv, xdivy))); + BigInteger xdivy = divide(getValue(),rightv); + return new PyTuple(Py.newLong(xdivy), Py.newLong(modulo(getValue(),rightv, xdivy))); } @Override @@ -587,8 +587,8 @@ } BigInteger leftv = coerce(left); - BigInteger xdivy = divide(leftv, value); - return new PyTuple(Py.newLong(xdivy), Py.newLong(modulo(leftv, value, xdivy))); + BigInteger xdivy = divide(leftv, getValue()); + return new PyTuple(Py.newLong(xdivy), Py.newLong(modulo(leftv, getValue(), xdivy))); } @Override @@ -606,7 +606,7 @@ if (modulo != null && !canCoerce(right)) { return null; } - return _pow(value, coerce(right), modulo, this, right); + return _pow( getValue(), coerce(right), modulo, this, right); } @Override @@ -619,7 +619,7 @@ if (!canCoerce(left)) { return null; } - return _pow(coerce(left), value, null, left, this); + return _pow(coerce(left), getValue(), null, left, this); } public static PyObject _pow(BigInteger value, BigInteger y, PyObject modulo, PyObject left, @@ -693,7 +693,7 @@ if (rightv < 0) { throw Py.ValueError("negative shift count"); } - return Py.newLong(value.shiftLeft(rightv)); + return Py.newLong(getValue().shiftLeft(rightv)); } @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.long___rlshift___doc) @@ -701,7 +701,7 @@ if (!canCoerce(left)) { return null; } - if (value.intValue() < 0) { + if (getValue().intValue() < 0) { throw Py.ValueError("negative shift count"); } return Py.newLong(coerce(left).shiftLeft(coerceInt(this))); @@ -721,7 +721,7 @@ if (rightv < 0) { throw Py.ValueError("negative shift count"); } - return Py.newLong(value.shiftRight(rightv)); + return Py.newLong(getValue().shiftRight(rightv)); } @ExposedMethod(type = MethodType.BINARY, doc = BuiltinDocs.long___rrshift___doc) @@ -729,7 +729,7 @@ if (!canCoerce(left)) { return null; } - if (value.intValue() < 0) { + if (getValue().intValue() < 0) { throw Py.ValueError("negative shift count"); } return Py.newLong(coerce(left).shiftRight(coerceInt(this))); @@ -745,7 +745,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.and(coerce(right))); + return Py.newLong(getValue().and(coerce(right))); } @Override @@ -758,7 +758,7 @@ if (!canCoerce(left)) { return null; } - return Py.newLong(coerce(left).and(value)); + return Py.newLong(coerce(left).and(getValue())); } @Override @@ -771,7 +771,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.xor(coerce(right))); + return Py.newLong(getValue().xor(coerce(right))); } @Override @@ -784,7 +784,7 @@ if (!canCoerce(left)) { return null; } - return Py.newLong(coerce(left).xor(value)); + return Py.newLong(coerce(left).xor(getValue())); } @Override @@ -797,7 +797,7 @@ if (!canCoerce(right)) { return null; } - return Py.newLong(value.or(coerce(right))); + return Py.newLong(getValue().or(coerce(right))); } @Override @@ -810,7 +810,7 @@ if (!canCoerce(left)) { return null; } - return Py.newLong(coerce(left).or(value)); + return Py.newLong(coerce(left).or(getValue())); } @Override @@ -820,7 +820,7 @@ @ExposedMethod(doc = BuiltinDocs.long___neg___doc) final PyObject long___neg__() { - return Py.newLong(value.negate()); + return Py.newLong(getValue().negate()); } @Override @@ -840,7 +840,7 @@ @ExposedMethod(doc = BuiltinDocs.long___abs___doc) final PyObject long___abs__() { - if (value.signum() == -1) { + if (getValue().signum() == -1) { return long___neg__(); } return long___long__(); @@ -853,7 +853,7 @@ @ExposedMethod(doc = BuiltinDocs.long___invert___doc) final PyObject long___invert__() { - return Py.newLong(value.not()); + return Py.newLong(getValue().not()); } @Override @@ -863,8 +863,8 @@ @ExposedMethod(doc = BuiltinDocs.long___int___doc) final PyObject long___int__() { - if (value.compareTo(PyInteger.MAX_INT) <= 0 && value.compareTo(PyInteger.MIN_INT) >= 0) { - return Py.newInteger(value.intValue()); + if (getValue().compareTo(PyInteger.MAX_INT) <= 0 && getValue().compareTo(PyInteger.MIN_INT) >= 0) { + return Py.newInteger(getValue().intValue()); } return long___long__(); } @@ -879,7 +879,7 @@ if (getType() == TYPE) { return this; } - return Py.newLong(value); + return Py.newLong(getValue()); } @Override @@ -908,7 +908,7 @@ @ExposedMethod(doc = BuiltinDocs.long___oct___doc) final PyString long___oct__() { - String s = value.toString(8); + String s = getValue().toString(8); if (s.startsWith("-")) { return new PyString("-0" + s.substring(1, s.length()) + "L"); } else if (s.startsWith("0")) { @@ -925,7 +925,7 @@ @ExposedMethod(doc = BuiltinDocs.long___hex___doc) final PyString long___hex__() { - String s = value.toString(16); + String s = getValue().toString(16); if (s.startsWith("-")) { return new PyString("-0x" + s.substring(1, s.length()) + "L"); } else { @@ -935,12 +935,12 @@ @Override public PyString __str__() { - return Py.newString(value.toString()); + return Py.newString(getValue().toString()); } @Override public PyUnicode __unicode__() { - return new PyUnicode(value.toString()); + return new PyUnicode(getValue().toString()); } @ExposedMethod(doc = BuiltinDocs.long___getnewargs___doc) @@ -970,15 +970,15 @@ @Override public int asIndex(PyObject err) { - boolean tooLow = value.compareTo(PyInteger.MIN_INT) < 0; - boolean tooHigh = value.compareTo(PyInteger.MAX_INT) > 0; + boolean tooLow = getValue().compareTo(PyInteger.MIN_INT) < 0; + boolean tooHigh = getValue().compareTo(PyInteger.MAX_INT) > 0; if (tooLow || tooHigh) { if (err != null) { throw new PyException(err, "cannot fit 'long' into an index-sized integer"); } return tooLow ? Integer.MIN_VALUE : Integer.MAX_VALUE; } - return (int) value.longValue(); + return (int) getValue().longValue(); } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |