From 29123a37f0da4079a57abcdf686690fb211ae449 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Mon, 1 Apr 2002 19:59:12 +0000 Subject: BitSet.java (BitSet(int)): if nbits < 0 throw NegativeArraySizeException * 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. From-SVN: r51701 --- libjava/java/util/BitSet.java | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'libjava/java/util/BitSet.java') 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. -- cgit v1.1