diff options
author | Michael Koch <konqueror@gmx.de> | 2003-03-11 10:30:52 +0000 |
---|---|---|
committer | Michael Koch <mkoch@gcc.gnu.org> | 2003-03-11 10:30:52 +0000 |
commit | b772d2f5927f157e016f434b59a33090c1137c06 (patch) | |
tree | 4ef30ee00b28507236135a22d7c2c45687ab7248 /libjava | |
parent | 37bd08f8df0003521d3da3b37a25235fd421bce6 (diff) | |
download | gcc-b772d2f5927f157e016f434b59a33090c1137c06.zip gcc-b772d2f5927f157e016f434b59a33090c1137c06.tar.gz gcc-b772d2f5927f157e016f434b59a33090c1137c06.tar.bz2 |
2003-03-11 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/ByteBufferImpl.java
(putInt): Use limit() instead of limit.
* gnu/java/nio/CharBufferImpl.java
(slice): Fixed implementation.
(subSequence): Better bounds checking.
* gnu/java/nio/MappedByteFileBuffer.java:
Import all needed classes directly.
* java/nio/ByteBuffer.java
(hashCode): New dummy method.
* java/nio/CharBuffer.java
(array_offset): New member variable.
(hasArray): Fixed documentation.
(arrayOffset): Return array_offset.
From-SVN: r64165
Diffstat (limited to 'libjava')
-rw-r--r-- | libjava/ChangeLog | 16 | ||||
-rw-r--r-- | libjava/gnu/java/nio/ByteBufferImpl.java | 4 | ||||
-rw-r--r-- | libjava/gnu/java/nio/CharBufferImpl.java | 10 | ||||
-rw-r--r-- | libjava/gnu/java/nio/MappedByteFileBuffer.java | 10 | ||||
-rw-r--r-- | libjava/java/nio/ByteBuffer.java | 9 | ||||
-rw-r--r-- | libjava/java/nio/CharBuffer.java | 5 |
6 files changed, 45 insertions, 9 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog index 7fd8e12..91f7f8f 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,19 @@ +2003-03-11 Michael Koch <konqueror@gmx.de> + + * gnu/java/nio/ByteBufferImpl.java + (putInt): Use limit() instead of limit. + * gnu/java/nio/CharBufferImpl.java + (slice): Fixed implementation. + (subSequence): Better bounds checking. + * gnu/java/nio/MappedByteFileBuffer.java: + Import all needed classes directly. + * java/nio/ByteBuffer.java + (hashCode): New dummy method. + * java/nio/CharBuffer.java + (array_offset): New member variable. + (hasArray): Fixed documentation. + (arrayOffset): Return array_offset. + 2003-03-10 2003-02-27 Mohan Embar <gnustuff@thisiscool.com> * include/jvm.h: removed declaration of _Jv_ThisExecutable() diff --git a/libjava/gnu/java/nio/ByteBufferImpl.java b/libjava/gnu/java/nio/ByteBufferImpl.java index 149dc1c..342f331 100644 --- a/libjava/gnu/java/nio/ByteBufferImpl.java +++ b/libjava/gnu/java/nio/ByteBufferImpl.java @@ -320,7 +320,7 @@ public final class ByteBufferImpl extends ByteBuffer if (readOnly) throw new ReadOnlyBufferException (); - nio_put_Short (this, position (), limit(), value); + nio_put_Short (this, position (), limit (), value); inc_pos (2); return this; } @@ -352,7 +352,7 @@ public final class ByteBufferImpl extends ByteBuffer if (readOnly) throw new ReadOnlyBufferException (); - nio_put_Int (this, position (), limit , value); + nio_put_Int (this, position (), limit (), value); inc_pos (4); return this; } diff --git a/libjava/gnu/java/nio/CharBufferImpl.java b/libjava/gnu/java/nio/CharBufferImpl.java index 5126e28..f35ae4b 100644 --- a/libjava/gnu/java/nio/CharBufferImpl.java +++ b/libjava/gnu/java/nio/CharBufferImpl.java @@ -98,7 +98,8 @@ public final class CharBufferImpl extends CharBuffer public CharBuffer slice() { - return new CharBufferImpl (this); + return new CharBufferImpl (backing_buffer, arrayOffset () + position (), + remaining ()); } public CharBuffer duplicate() @@ -125,9 +126,10 @@ public final class CharBufferImpl extends CharBuffer final public CharSequence subSequence (int start, int end) { - if (start < 0 || - end > length () || - start > end) + if (start < 0 + || start > length () + || end < start + || end > length ()) throw new IndexOutOfBoundsException (); // No support for direct buffers yet. diff --git a/libjava/gnu/java/nio/MappedByteFileBuffer.java b/libjava/gnu/java/nio/MappedByteFileBuffer.java index e839904..acade62 100644 --- a/libjava/gnu/java/nio/MappedByteFileBuffer.java +++ b/libjava/gnu/java/nio/MappedByteFileBuffer.java @@ -36,7 +36,15 @@ obligated to do so. If you do not wish to do so, delete this exception statement from your version. */ package gnu.java.nio; -import java.nio.*; + +import java.nio.ByteBuffer; +import java.nio.CharBuffer; +import java.nio.DoubleBuffer; +import java.nio.FloatBuffer; +import java.nio.IntBuffer; +import java.nio.LongBuffer; +import java.nio.ShortBuffer; +import java.nio.MappedByteBuffer; import java.io.IOException; final public class MappedByteFileBuffer diff --git a/libjava/java/nio/ByteBuffer.java b/libjava/java/nio/ByteBuffer.java index 8b7c601..d55ae6d 100644 --- a/libjava/java/nio/ByteBuffer.java +++ b/libjava/java/nio/ByteBuffer.java @@ -247,6 +247,15 @@ public abstract class ByteBuffer extends Buffer implements Comparable } /** + * Returns the current hash code of this buffer. + */ + public int hashCode() + { + // FIXME: Check what SUN calcs here + return super.hashCode(); + } + + /** * Tells whether or not this buffer is equal to another object. */ public boolean equals (Object obj) diff --git a/libjava/java/nio/CharBuffer.java b/libjava/java/nio/CharBuffer.java index e299602..e5b31b4 100644 --- a/libjava/java/nio/CharBuffer.java +++ b/libjava/java/nio/CharBuffer.java @@ -45,6 +45,7 @@ import gnu.java.nio.CharBufferImpl; public abstract class CharBuffer extends Buffer implements Comparable, CharSequence { + protected int array_offset = 0; protected char [] backing_buffer; /** @@ -201,7 +202,7 @@ public abstract class CharBuffer extends Buffer } /** - * Tells wether this is buffer is backed by an array or not. + * Tells wether this is buffer is backed by an accessible array or not. */ public final boolean hasArray () { @@ -242,7 +243,7 @@ public abstract class CharBuffer extends Buffer if (isReadOnly ()) throw new ReadOnlyBufferException (); - return 0; + return array_offset; } /** |