Commit 0cb757cc by Tom Tromey Committed by Tom Tromey

javaprims.h: Updated.

	* gcj/javaprims.h: Updated.
	* java/lang/String.java (String(StringBuilder)): New constructor.
	* java/lang/natStringBuilder.cc: New file.
	* java/lang/StringBuilder.java: New file.
	* Makefile.in: Rebuilt.
	* Makefile.am (core_java_source_files): Added StringBuilder.java.
	(nat_source_files): Added natStringBuilder.cc.

From-SVN: r99535
parent aeddae49
2005-05-10 Tom Tromey <tromey@redhat.com>
* gcj/javaprims.h: Updated.
* java/lang/String.java (String(StringBuilder)): New constructor.
* java/lang/natStringBuilder.cc: New file.
* java/lang/StringBuilder.java: New file.
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added StringBuilder.java.
(nat_source_files): Added natStringBuilder.cc.
2005-05-10 Paolo Bonzini <bonzini@gnu.org> 2005-05-10 Paolo Bonzini <bonzini@gnu.org>
PR java/21436 PR java/21436
......
...@@ -2931,6 +2931,7 @@ java/lang/StackTraceElement.java \ ...@@ -2931,6 +2931,7 @@ java/lang/StackTraceElement.java \
java/lang/StrictMath.java \ java/lang/StrictMath.java \
java/lang/String.java \ java/lang/String.java \
java/lang/StringBuffer.java \ java/lang/StringBuffer.java \
java/lang/StringBuilder.java \
java/lang/StringIndexOutOfBoundsException.java \ java/lang/StringIndexOutOfBoundsException.java \
java/lang/System.java \ java/lang/System.java \
java/lang/Thread.java \ java/lang/Thread.java \
...@@ -3926,6 +3927,7 @@ java/lang/natObject.cc \ ...@@ -3926,6 +3927,7 @@ java/lang/natObject.cc \
java/lang/natRuntime.cc \ java/lang/natRuntime.cc \
java/lang/natString.cc \ java/lang/natString.cc \
java/lang/natStringBuffer.cc \ java/lang/natStringBuffer.cc \
java/lang/natStringBuilder.cc \
java/lang/natSystem.cc \ java/lang/natSystem.cc \
java/lang/natThread.cc \ java/lang/natThread.cc \
java/lang/natVMClassLoader.cc \ java/lang/natVMClassLoader.cc \
......
...@@ -264,8 +264,8 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ ...@@ -264,8 +264,8 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
java/lang/natFloat.cc java/lang/natMath.cc \ java/lang/natFloat.cc java/lang/natMath.cc \
java/lang/natObject.cc java/lang/natRuntime.cc \ java/lang/natObject.cc java/lang/natRuntime.cc \
java/lang/natString.cc java/lang/natStringBuffer.cc \ java/lang/natString.cc java/lang/natStringBuffer.cc \
java/lang/natSystem.cc java/lang/natThread.cc \ java/lang/natStringBuilder.cc java/lang/natSystem.cc \
java/lang/natVMClassLoader.cc \ java/lang/natThread.cc java/lang/natVMClassLoader.cc \
java/lang/natVMSecurityManager.cc java/lang/natVMThrowable.cc \ java/lang/natVMSecurityManager.cc java/lang/natVMThrowable.cc \
java/lang/ref/natReference.cc java/lang/reflect/natArray.cc \ java/lang/ref/natReference.cc java/lang/reflect/natArray.cc \
java/lang/reflect/natConstructor.cc \ java/lang/reflect/natConstructor.cc \
...@@ -337,6 +337,7 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \ ...@@ -337,6 +337,7 @@ am__libgcj0_convenience_la_SOURCES_DIST = prims.cc jni.cc exception.cc \
java/lang/StackOverflowError.java \ java/lang/StackOverflowError.java \
java/lang/StackTraceElement.java java/lang/StrictMath.java \ java/lang/StackTraceElement.java java/lang/StrictMath.java \
java/lang/String.java java/lang/StringBuffer.java \ java/lang/String.java java/lang/StringBuffer.java \
java/lang/StringBuilder.java \
java/lang/StringIndexOutOfBoundsException.java \ java/lang/StringIndexOutOfBoundsException.java \
java/lang/System.java java/lang/Thread.java \ java/lang/System.java java/lang/Thread.java \
java/lang/ThreadDeath.java java/lang/ThreadGroup.java \ java/lang/ThreadDeath.java java/lang/ThreadGroup.java \
...@@ -2312,8 +2313,8 @@ am__objects_5 = gnu/classpath/natSystemProperties.lo \ ...@@ -2312,8 +2313,8 @@ am__objects_5 = gnu/classpath/natSystemProperties.lo \
java/lang/natFloat.lo java/lang/natMath.lo \ java/lang/natFloat.lo java/lang/natMath.lo \
java/lang/natObject.lo java/lang/natRuntime.lo \ java/lang/natObject.lo java/lang/natRuntime.lo \
java/lang/natString.lo java/lang/natStringBuffer.lo \ java/lang/natString.lo java/lang/natStringBuffer.lo \
java/lang/natSystem.lo java/lang/natThread.lo \ java/lang/natStringBuilder.lo java/lang/natSystem.lo \
java/lang/natVMClassLoader.lo \ java/lang/natThread.lo java/lang/natVMClassLoader.lo \
java/lang/natVMSecurityManager.lo java/lang/natVMThrowable.lo \ java/lang/natVMSecurityManager.lo java/lang/natVMThrowable.lo \
java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \ java/lang/ref/natReference.lo java/lang/reflect/natArray.lo \
java/lang/reflect/natConstructor.lo \ java/lang/reflect/natConstructor.lo \
...@@ -2381,7 +2382,7 @@ am__objects_8 = java/lang/AbstractMethodError.lo \ ...@@ -2381,7 +2382,7 @@ am__objects_8 = java/lang/AbstractMethodError.lo \
java/lang/SecurityManager.lo java/lang/Short.lo \ java/lang/SecurityManager.lo java/lang/Short.lo \
java/lang/StackOverflowError.lo java/lang/StackTraceElement.lo \ java/lang/StackOverflowError.lo java/lang/StackTraceElement.lo \
java/lang/StrictMath.lo java/lang/String.lo \ java/lang/StrictMath.lo java/lang/String.lo \
java/lang/StringBuffer.lo \ java/lang/StringBuffer.lo java/lang/StringBuilder.lo \
java/lang/StringIndexOutOfBoundsException.lo \ java/lang/StringIndexOutOfBoundsException.lo \
java/lang/System.lo java/lang/Thread.lo \ java/lang/System.lo java/lang/Thread.lo \
java/lang/ThreadDeath.lo java/lang/ThreadGroup.lo \ java/lang/ThreadDeath.lo java/lang/ThreadGroup.lo \
...@@ -6735,6 +6736,7 @@ java/lang/StackTraceElement.java \ ...@@ -6735,6 +6736,7 @@ java/lang/StackTraceElement.java \
java/lang/StrictMath.java \ java/lang/StrictMath.java \
java/lang/String.java \ java/lang/String.java \
java/lang/StringBuffer.java \ java/lang/StringBuffer.java \
java/lang/StringBuilder.java \
java/lang/StringIndexOutOfBoundsException.java \ java/lang/StringIndexOutOfBoundsException.java \
java/lang/System.java \ java/lang/System.java \
java/lang/Thread.java \ java/lang/Thread.java \
...@@ -7719,6 +7721,7 @@ java/lang/natObject.cc \ ...@@ -7719,6 +7721,7 @@ java/lang/natObject.cc \
java/lang/natRuntime.cc \ java/lang/natRuntime.cc \
java/lang/natString.cc \ java/lang/natString.cc \
java/lang/natStringBuffer.cc \ java/lang/natStringBuffer.cc \
java/lang/natStringBuilder.cc \
java/lang/natSystem.cc \ java/lang/natSystem.cc \
java/lang/natThread.cc \ java/lang/natThread.cc \
java/lang/natVMClassLoader.cc \ java/lang/natVMClassLoader.cc \
...@@ -8369,6 +8372,8 @@ java/lang/natString.lo: java/lang/$(am__dirstamp) \ ...@@ -8369,6 +8372,8 @@ java/lang/natString.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/natStringBuffer.lo: java/lang/$(am__dirstamp) \ java/lang/natStringBuffer.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/natStringBuilder.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/natSystem.lo: java/lang/$(am__dirstamp) \ java/lang/natSystem.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/natThread.lo: java/lang/$(am__dirstamp) \ java/lang/natThread.lo: java/lang/$(am__dirstamp) \
...@@ -8676,6 +8681,8 @@ java/lang/String.lo: java/lang/$(am__dirstamp) \ ...@@ -8676,6 +8681,8 @@ java/lang/String.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/StringBuffer.lo: java/lang/$(am__dirstamp) \ java/lang/StringBuffer.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/StringBuilder.lo: java/lang/$(am__dirstamp) \
java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/StringIndexOutOfBoundsException.lo: \ java/lang/StringIndexOutOfBoundsException.lo: \
java/lang/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp) java/lang/$(am__dirstamp) java/lang/$(DEPDIR)/$(am__dirstamp)
java/lang/System.lo: java/lang/$(am__dirstamp) \ java/lang/System.lo: java/lang/$(am__dirstamp) \
...@@ -17174,6 +17181,8 @@ mostlyclean-compile: ...@@ -17174,6 +17181,8 @@ mostlyclean-compile:
-rm -f java/lang/String.lo -rm -f java/lang/String.lo
-rm -f java/lang/StringBuffer.$(OBJEXT) -rm -f java/lang/StringBuffer.$(OBJEXT)
-rm -f java/lang/StringBuffer.lo -rm -f java/lang/StringBuffer.lo
-rm -f java/lang/StringBuilder.$(OBJEXT)
-rm -f java/lang/StringBuilder.lo
-rm -f java/lang/StringIndexOutOfBoundsException.$(OBJEXT) -rm -f java/lang/StringIndexOutOfBoundsException.$(OBJEXT)
-rm -f java/lang/StringIndexOutOfBoundsException.lo -rm -f java/lang/StringIndexOutOfBoundsException.lo
-rm -f java/lang/System.$(OBJEXT) -rm -f java/lang/System.$(OBJEXT)
...@@ -17266,6 +17275,8 @@ mostlyclean-compile: ...@@ -17266,6 +17275,8 @@ mostlyclean-compile:
-rm -f java/lang/natString.lo -rm -f java/lang/natString.lo
-rm -f java/lang/natStringBuffer.$(OBJEXT) -rm -f java/lang/natStringBuffer.$(OBJEXT)
-rm -f java/lang/natStringBuffer.lo -rm -f java/lang/natStringBuffer.lo
-rm -f java/lang/natStringBuilder.$(OBJEXT)
-rm -f java/lang/natStringBuilder.lo
-rm -f java/lang/natSystem.$(OBJEXT) -rm -f java/lang/natSystem.$(OBJEXT)
-rm -f java/lang/natSystem.lo -rm -f java/lang/natSystem.lo
-rm -f java/lang/natThread.$(OBJEXT) -rm -f java/lang/natThread.$(OBJEXT)
...@@ -21174,6 +21185,7 @@ distclean-compile: ...@@ -21174,6 +21185,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StrictMath.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StrictMath.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/String.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/String.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StringBuffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StringBuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StringBuilder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StringIndexOutOfBoundsException.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/StringIndexOutOfBoundsException.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/System.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/System.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/Thread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/Thread.Plo@am__quote@
...@@ -21220,6 +21232,7 @@ distclean-compile: ...@@ -21220,6 +21232,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natRuntime.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natRuntime.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natString.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natString.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natStringBuffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natStringBuffer.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natStringBuilder.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natSystem.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natSystem.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natThread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natThread.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMClassLoader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@java/lang/$(DEPDIR)/natVMClassLoader.Plo@am__quote@
// javaprims.h - Main external header file for libgcj. -*- c++ -*- // javaprims.h - Main external header file for libgcj. -*- c++ -*-
/* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 /* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation Free Software Foundation
This file is part of libgcj. This file is part of libgcj.
...@@ -78,24 +78,24 @@ extern "Java" ...@@ -78,24 +78,24 @@ extern "Java"
class IOException; class IOException;
class InputStream; class InputStream;
class InputStreamReader; class InputStreamReader;
class InterfaceComparator;
class InterruptedIOException; class InterruptedIOException;
class InvalidClassException; class InvalidClassException;
class InvalidObjectException; class InvalidObjectException;
class LineNumberInputStream; class LineNumberInputStream;
class LineNumberReader; class LineNumberReader;
class MemberComparator;
class MyIOException;
class NotActiveException; class NotActiveException;
class NotSerializableException; class NotSerializableException;
class ObjectInput; class ObjectInput;
class ObjectInputStream; class ObjectInputStream;
class ObjectInputStream$GetField; class ObjectInputStream$GetField;
class ObjectInputStream$ValidatorAndPriority;
class ObjectInputValidation; class ObjectInputValidation;
class ObjectOutput; class ObjectOutput;
class ObjectOutputStream; class ObjectOutputStream;
class ObjectOutputStream$PutField; class ObjectOutputStream$PutField;
class ObjectStreamClass; class ObjectStreamClass;
class ObjectStreamClass$InterfaceComparator;
class ObjectStreamClass$MemberComparator;
class ObjectStreamConstants; class ObjectStreamConstants;
class ObjectStreamException; class ObjectStreamException;
class ObjectStreamField; class ObjectStreamField;
...@@ -124,7 +124,6 @@ extern "Java" ...@@ -124,7 +124,6 @@ extern "Java"
class UTFDataFormatException; class UTFDataFormatException;
class UnsupportedEncodingException; class UnsupportedEncodingException;
class VMObjectStreamClass; class VMObjectStreamClass;
class ValidatorAndPriority;
class WriteAbortedException; class WriteAbortedException;
class Writer; class Writer;
} }
...@@ -204,6 +203,7 @@ extern "Java" ...@@ -204,6 +203,7 @@ extern "Java"
class String; class String;
class String$CaseInsensitiveComparator; class String$CaseInsensitiveComparator;
class StringBuffer; class StringBuffer;
class StringBuilder;
class StringIndexOutOfBoundsException; class StringIndexOutOfBoundsException;
class System; class System;
class Thread; class Thread;
...@@ -211,6 +211,7 @@ extern "Java" ...@@ -211,6 +211,7 @@ extern "Java"
class ThreadGroup; class ThreadGroup;
class ThreadLocal; class ThreadLocal;
class Throwable; class Throwable;
class Throwable$StaticData;
class UnknownError; class UnknownError;
class UnsatisfiedLinkError; class UnsatisfiedLinkError;
class UnsupportedClassVersionError; class UnsupportedClassVersionError;
...@@ -256,6 +257,8 @@ extern "Java" ...@@ -256,6 +257,8 @@ extern "Java"
{ {
class AbstractCollection; class AbstractCollection;
class AbstractList; class AbstractList;
class AbstractList$RandomAccessSubList;
class AbstractList$SubList;
class AbstractMap; class AbstractMap;
class AbstractMap$BasicMapEntry; class AbstractMap$BasicMapEntry;
class AbstractSequentialList; class AbstractSequentialList;
...@@ -342,7 +345,6 @@ extern "Java" ...@@ -342,7 +345,6 @@ extern "Java"
class PropertyResourceBundle; class PropertyResourceBundle;
class Random; class Random;
class RandomAccess; class RandomAccess;
class RandomAccessSubList;
class ResourceBundle; class ResourceBundle;
class ResourceBundle$BundleKey; class ResourceBundle$BundleKey;
class Set; class Set;
...@@ -351,7 +353,6 @@ extern "Java" ...@@ -351,7 +353,6 @@ extern "Java"
class SortedSet; class SortedSet;
class Stack; class Stack;
class StringTokenizer; class StringTokenizer;
class SubList;
class TimeZone; class TimeZone;
class Timer; class Timer;
class Timer$Scheduler; class Timer$Scheduler;
...@@ -376,6 +377,7 @@ extern "Java" ...@@ -376,6 +377,7 @@ extern "Java"
class JarEntry; class JarEntry;
class JarException; class JarException;
class JarFile; class JarFile;
class JarFile$EntryInputStream;
class JarFile$JarEnumeration; class JarFile$JarEnumeration;
class JarInputStream; class JarInputStream;
class JarOutputStream; class JarOutputStream;
......
/* String.java -- immutable character sequences; the object of string literals /* String.java -- immutable character sequences; the object of string literals
Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GNU Classpath. This file is part of GNU Classpath.
...@@ -398,6 +398,18 @@ public final class String implements Serializable, Comparable, CharSequence ...@@ -398,6 +398,18 @@ public final class String implements Serializable, Comparable, CharSequence
} }
/** /**
* Creates a new String using the character sequence represented by
* the StringBuilder. Subsequent changes to buf do not affect the String.
*
* @param buffer StringBuilder to copy
* @throws NullPointerException if buffer is null
*/
public String(StringBuilder buffer)
{
this(buffer.value, 0, buffer.count);
}
/**
* Special constructor which can share an array when safe to do so. * Special constructor which can share an array when safe to do so.
* *
* @param data the characters to copy * @param data the characters to copy
......
// Native methods for StringBuilder.
/* Copyright (C) 2005 Free Software Foundation
This file is part of libgcj.
This software is copyrighted work licensed under the terms of the
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
details. */
#include <config.h>
#include <gcj/cni.h>
#include <java/lang/StringBuilder.h>
#include <java/lang/String.h>
jboolean
java::lang::StringBuilder::regionMatches(jint offset, jstring other)
{
int len = other->count;
int index = 0;
jchar *sc = elements (value);
jchar *oc = _Jv_GetStringChars (other);
while (--len >= 0)
{
if (sc[offset++] != oc[index++])
return false;
}
return true;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment