diff options
-rw-r--r-- | libjava/ChangeLog | 11 | ||||
-rw-r--r-- | libjava/java/util/BitSet.java | 15 |
2 files changed, 20 insertions, 6 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index e5333f6..4fe72e6 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,5 +1,16 @@ 2002-04-01 Mark Wielaard <mark@klomp.org> + * java/util/BitSet.java (BitSet(int)): if nbits < 0 throw + NegativeArraySizeException + (clear(int)): Use sign extended shift. + (flip(int)): Likewise. + (get(int)): Likewise. + (nextClearBit(int)): Likewise. + (nextSetBit(int)): Likewise. + (set(int)): Likewise. + +2002-04-01 Mark Wielaard <mark@klomp.org> + * mauve-libgcj: Add JDK1.3, JDK1.4, JLS1.2 tests, remove ignored tests that can be compiled now and add testsuite crashers to ignore list. diff --git a/libjava/java/util/BitSet.java b/libjava/java/util/BitSet.java index a85b737..38a9be0 100644 --- a/libjava/java/util/BitSet.java +++ b/libjava/java/util/BitSet.java @@ -102,6 +102,9 @@ public class BitSet implements Cloneable, Serializable */ public BitSet(int nbits) { + if (nbits < 0) + throw new NegativeArraySizeException(); + int length = nbits >>> 6; if ((nbits & LONG_MASK) != 0) ++length; @@ -195,7 +198,7 @@ public class BitSet implements Cloneable, Serializable */ public void clear(int pos) { - int offset = pos >>> 6; + int offset = pos >> 6; ensure(offset); // ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException, // so we'll just let that be our exception. @@ -289,7 +292,7 @@ public class BitSet implements Cloneable, Serializable */ public void flip(int index) { - int offset = index >>> 6; + int offset = index >> 6; ensure(offset); // ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException, // so we'll just let that be our exception. @@ -335,7 +338,7 @@ public class BitSet implements Cloneable, Serializable */ public boolean get(int pos) { - int offset = pos >>> 6; + int offset = pos >> 6; if (offset >= bits.length) return false; // ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException, @@ -498,7 +501,7 @@ public class BitSet implements Cloneable, Serializable */ public int nextClearBit(int from) { - int offset = from >>> 6; + int offset = from >> 6; long mask = 1L << from; while (offset < bits.length) { @@ -535,7 +538,7 @@ public class BitSet implements Cloneable, Serializable */ public int nextSetBit(int from) { - int offset = from >>> 6; + int offset = from >> 6; long mask = 1L << from; while (offset < bits.length) { @@ -583,7 +586,7 @@ public class BitSet implements Cloneable, Serializable */ public void set(int pos) { - int offset = pos >>> 6; + int offset = pos >> 6; ensure(offset); // ArrayIndexOutOfBoundsException subclasses IndexOutOfBoundsException, // so we'll just let that be our exception. |