OSDN Git Service

2003-03-11 Michael Koch <konqueror@gmx.de>
authormkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Mar 2003 10:30:52 +0000 (10:30 +0000)
committermkoch <mkoch@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 11 Mar 2003 10:30:52 +0000 (10:30 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@64165 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/gnu/java/nio/ByteBufferImpl.java
libjava/gnu/java/nio/CharBufferImpl.java
libjava/gnu/java/nio/MappedByteFileBuffer.java
libjava/java/nio/ByteBuffer.java
libjava/java/nio/CharBuffer.java

index 7fd8e12..91f7f8f 100644 (file)
@@ -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()
index 149dc1c..342f331 100644 (file)
@@ -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;
   }
index 5126e28..f35ae4b 100644 (file)
@@ -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.
index e839904..acade62 100644 (file)
@@ -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
index 8b7c601..d55ae6d 100644 (file)
@@ -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)
index e299602..e5b31b4 100644 (file)
@@ -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;
   }
   
   /**