natString.cc (init(gnu.gcj.runtime.StringBuffer)): New method.
authorTom Tromey <tromey@redhat.com>
Mon, 28 Jul 2003 16:12:00 +0000 (16:12 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 28 Jul 2003 16:12:00 +0000 (16:12 +0000)
* java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
New method.
Include gnu/gcj/runtime/StringBuffer.h.
* java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
native method.
(String(gnu.gcj.runtime.StringBuffer)): Use it.

From-SVN: r69890

libjava/ChangeLog
libjava/java/lang/String.java
libjava/java/lang/natString.cc

index f7d6e0de3223a2f6170e9e585e7cd469f7d77081..9c4177f9fd47bdf3b22c299814f9d40a3f331a7d 100644 (file)
@@ -1,3 +1,12 @@
+2003-07-28  Tom Tromey  <tromey@redhat.com>
+
+       * java/lang/natString.cc (init(gnu.gcj.runtime.StringBuffer)):
+       New method.
+       Include gnu/gcj/runtime/StringBuffer.h.
+       * java/lang/String.java (init(gnu.gcj.runtime.StringBuffer)): New
+       native method.
+       (String(gnu.gcj.runtime.StringBuffer)): Use it.
+
 2003-07-27  Anthony Green  <green@redhat.com>
 
        * configure.in: Fix newlib check.
index fe00b9100cc24b3b5543a50a5251d2b583e4f811..6844405e34c525437009c6d998e402b0fd6dc4bc 100644 (file)
@@ -419,7 +419,7 @@ public final class String implements Serializable, Comparable, CharSequence
   {
     // No need to synchronize or mark the buffer, since we know it is
     // only used once.
-    init (buffer.value, 0, buffer.count, true);
+    init (buffer);
   }
 
   /**
@@ -1253,5 +1253,6 @@ public final class String implements Serializable, Comparable, CharSequence
   private native void init(byte[] chars, int hibyte, int offset, int count);
   private native void init(byte[] chars, int offset, int count, String enc)
     throws UnsupportedEncodingException;
+  private native void init(gnu.gcj.runtime.StringBuffer buffer);
   private static native void rehash();
 }
index 98309cfe62ea2a066baa273fcfbf73102b1b5eef..6fd928478b565936d5b5af8ab8cae5c57582ff7c 100644 (file)
@@ -28,6 +28,7 @@ details.  */
 #include <java/util/Locale.h>
 #include <gnu/gcj/convert/UnicodeToBytes.h>
 #include <gnu/gcj/convert/BytesToUnicode.h>
+#include <gnu/gcj/runtime/StringBuffer.h>
 #include <jvm.h>
 
 static void unintern (jobject);
@@ -525,6 +526,12 @@ java::lang::String::init (jbyteArray bytes, jint offset, jint count,
   this->count = outpos;
 }
 
+void
+java::lang::String::init (gnu::gcj::runtime::StringBuffer *buffer)
+{
+  init (buffer->value, 0, buffer->count, true);
+}
+
 jboolean
 java::lang::String::equals(jobject anObject)
 {