Merge GNU Classpath libgcj-snapshot-20090102.

2009-01-06  Andrew John Hughes  <gnu_andrew@member.fsf.org>

	Import GNU Classpath (libgcj-snapshot-20090102).

	* libjava/classpath/lib/java/text/RuleBasedCollator$CollationSorter.class,
	* libjava/classpath/lib/java/text/MessageFormat$MessageFormatElement.class,
	* libjava/classpath/lib/java/text/MessageFormat.class,
	* libjava/classpath/lib/java/text/SimpleDateFormat.class,
	* libjava/classpath/lib/java/text/NumberFormat.class,
	* libjava/classpath/lib/java/text/RuleBasedCollator$CollationElement.class,
	* libjava/classpath/lib/java/text/MessageFormat$Field.class,
	* libjava/classpath/lib/java/text/RuleBasedCollator.class,
	* libjava/classpath/lib/java/text/NumberFormat$Field.class,
	* libjava/classpath/lib/gnu/xml/transform/Bindings.class,
	* libjava/classpath/lib/gnu/java/locale/LocaleData.class,
	* libjava/classpath/lib/gnu/java/awt/peer/gtk/FreetypeGlyphVector.class,
	* libjava/classpath/lib/gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.class,
	* libjava/gnu/java/awt/peer/gtk/FreetypeGlyphVector.h,
	* libjava/java/text/MessageFormat.h,
	* libjava/java/text/RuleBasedCollator$CollationSorter.h,
	* libjava/java/text/RuleBasedCollator.h,
	* libjava/java/text/SimpleDateFormat.h:
	Regenerated.

2009-01-02  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * ChangeLog-2008: New file.

2009-01-02  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/text/MessageFormat.java:
       (setLocale(Locale)): Integer format should use
       NumberFormat.getIntegerInstance.

libjava/classpath/ChangeLog-2008

2008-12-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/text/MessageFormat.java:
       (parse(String,ParsePosition)): Emulate behaviour
       of Vector's setSize() which was being implicitly relied on.

2008-12-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/text/SimpleDateFormat.java:
       Remove superfluous empty line introduced
       in last commit.

2008-12-31  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/text/MessageFormat.java:
       Convert variables to use generic types, use
       CPStringBuilder in place of StringBuilder.
       (Field()): Suppress warning due to only being used by
       deserialization.
       (scanFormat(String,int,CPStringBuilder,List,Locale)):
       Use ArrayList instead of Vector as no synchronisation needed.
       (parse(String,ParsePosition)): Likewise.
       * java/text/NumberFormat.java:
       (Field()): Suppress warning due to only being used by
       deserialization.
       * java/text/RuleBasedCollator.java:
       Convert variables to use generic types.
       (CollationElement): Make fields final.
       (CollationSorter): Likewise.
       (CollationSorter(int,String,int,boolean)): New constructor.
       * java/text/SimpleDateFormat.java,
       Convert variables to use generic types.
       (applyPattern(String)): Clear list rather than creating a new instance.

2008-12-30  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/text/SimpleDateFormat.java:
       (standardChars): Use standard characters from CLDR.
       (RFC822_TIMEZONE_FIELD): Fixed to match new standard
       characters.

2008-12-22  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * java/lang/String.java:
       (byte[],int,int,String): Call new Charset method.
       (stringToCharset(String)): Private method added to
       handle exception conversion.
       (byte[],int,int,Charset): Implemented.
       (byte[], Charset): Likewise.
       (getBytes(String)): Call new Charset method.
       (getBytes(Charset)): Implemented.

2008-12-18  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c:
       Include '\0' in the string.

2008-12-09  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       PR classpath/38473:
       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c:
       (Java_gnu_java_awt_peer_gtk_FreetypeGlyphVector_getGlyphOutlineNative):
       Check that the glyph is an outline before calling
       FT_Outline_Decompose.

2008-11-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * gnu/xml/transform/Bindings.java:
       Add generics to collections.

2008-11-16  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * gnu/javax/crypto/jce/key/SecretKeyGeneratorImpl.java:
       (init(int,SecureRandom)): Improve exception message.

2008-11-06  Mark Wielaard  <mark@klomp.org>

       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
       (getKerning): Removed unused cls, method, values.

2008-11-05  Andrew Haley  <aph@redhat.com>

       * gnu/java/awt/peer/gtk/FreetypeGlyphVector.java (getKerning):
       Return result in a float[], not a Point2D.
       (performDefaultLayout): Call getKerning with a float[].
       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_FreetypeGlyphVector.c
       (getKerning): Return result in a float[], not a Point2D.

2008-11-05  Andrew Haley  <aph@redhat.com>

       * tools/Makefile.am (UPDATE_TOOLS_ZIP, CREATE_TOOLS_ZIP): Exclude
       .svn direcories.

2008-10-23  David Edelsohn  <edelsohn@gnu.org>

       * native/fdlibm/fdlibm.h: Undef hz.

2008-10-20  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * m4/ac_prog_antlr.m4:
       Remove redundant checks.
       * tools/Makefile.am:
       Use gjdoc_gendir when calling antlr.

2008-10-17  Robert Lougher  <rob.lougher@gmail.com>

       * native/jni/gtk-peer/gnu_java_awt_peer_gtk_CairoGraphics2D.c
       (Java_gnu_java_awt_peer_gtk_CairoGraphics2D_cairoDrawGlyphVector):
       Release 'fonts'.

2008-10-16  Tom Tromey  <tromey@redhat.com>

       * tools/gnu/classpath/tools/jar/WorkSet.java (initSet): Use
       foreach.  Change argument type.
       (WorkSet): Change argument type.
       * tools/gnu/classpath/tools/jar/Indexer.java (indexJarFile): Use
       foreach.
       * tools/gnu/classpath/tools/jar/Creator.java
       (writeCommandLineEntries): Use foreach.
       (getAllEntries): Likewise.

2008-10-15  Andrew John Hughes  <gnu_andrew@member.fsf.org>

       * configure.ac:
       Remove superfluous AC_PROG_JAVA call.

From-SVN: r143139
This commit is contained in:
Andrew John Hughes 2009-01-06 22:44:05 +00:00
parent 5e5debf66a
commit c10bf728da
32 changed files with 5129 additions and 4669 deletions

View file

@ -337,8 +337,58 @@ public final class String
* @throws Error if the decoding fails
* @since 1.1
*/
public String(byte[] data, int offset, int count, String encoding)
public String(byte[] data, int offset, int count, final String encoding)
throws UnsupportedEncodingException
{
this(data, offset, count, stringToCharset(encoding));
}
/**
* Wrapper method to convert exceptions resulting from
* the selection of a {@link java.nio.charset.Charset} based on
* a String.
*
* @throws UnsupportedEncodingException if encoding is not found
*/
private static final Charset stringToCharset(final String encoding)
throws UnsupportedEncodingException
{
try
{
return Charset.forName(encoding);
}
catch(IllegalCharsetNameException e)
{
throw new UnsupportedEncodingException("Encoding: "+encoding+
" not found.");
}
catch(UnsupportedCharsetException e)
{
throw new UnsupportedEncodingException("Encoding: "+encoding+
" not found.");
}
}
/**
* Creates a new String using the portion of the byte array starting at the
* offset and ending at offset + count. Uses the specified encoding type
* to decode the byte array, so the resulting string may be longer or
* shorter than the byte array. For more decoding control, use
* {@link java.nio.charset.CharsetDecoder}, and for valid character sets,
* see {@link java.nio.charset.Charset}. Malformed input and unmappable
* character sequences are replaced with the default replacement string
* provided by the {@link java.nio.charset.Charset}.
*
* @param data byte array to copy
* @param offset the offset to start at
* @param count the number of bytes in the array to use
* @param encoding the encoding to use
* @throws NullPointerException if data or encoding is null
* @throws IndexOutOfBoundsException if offset or count is incorrect
* (while unspecified, this is a StringIndexOutOfBoundsException)
* @since 1.6
*/
public String(byte[] data, int offset, int count, Charset encoding)
{
if (offset < 0)
throw new StringIndexOutOfBoundsException("offset: " + offset);
@ -350,7 +400,7 @@ public final class String
+ (offset + count));
try
{
CharsetDecoder csd = Charset.forName(encoding).newDecoder();
CharsetDecoder csd = encoding.newDecoder();
csd.onMalformedInput(CodingErrorAction.REPLACE);
csd.onUnmappableCharacter(CodingErrorAction.REPLACE);
CharBuffer cbuf = csd.decode(ByteBuffer.wrap(data, offset, count));
@ -366,16 +416,12 @@ public final class String
this.offset = 0;
this.count = value.length;
}
} catch(CharacterCodingException e){
throw new UnsupportedEncodingException("Encoding: "+encoding+
" not found.");
} catch(IllegalCharsetNameException e){
throw new UnsupportedEncodingException("Encoding: "+encoding+
" not found.");
} catch(UnsupportedCharsetException e){
throw new UnsupportedEncodingException("Encoding: "+encoding+
" not found.");
}
}
catch(CharacterCodingException e)
{
// This shouldn't ever happen.
throw (InternalError) new InternalError().initCause(e);
}
}
/**
@ -401,6 +447,26 @@ public final class String
this(data, 0, data.length, encoding);
}
/**
* Creates a new String using the byte array. Uses the specified encoding
* type to decode the byte array, so the resulting string may be longer or
* shorter than the byte array. For more decoding control, use
* {@link java.nio.charset.CharsetDecoder}, and for valid character sets,
* see {@link java.nio.charset.Charset}. Malformed input and unmappable
* character sequences are replaced with the default replacement string
* provided by the {@link java.nio.charset.Charset}.
*
* @param data byte array to copy
* @param encoding the name of the encoding to use
* @throws NullPointerException if data or encoding is null
* @see #String(byte[], int, int, java.nio.Charset)
* @since 1.6
*/
public String(byte[] data, Charset encoding)
{
this(data, 0, data.length, encoding);
}
/**
* Creates a new String using the portion of the byte array starting at the
* offset and ending at offset + count. Uses the encoding of the platform's
@ -726,11 +792,30 @@ public final class String
* @throws UnsupportedEncodingException if encoding is not supported
* @since 1.1
*/
public byte[] getBytes(String enc) throws UnsupportedEncodingException
public byte[] getBytes(final String enc)
throws UnsupportedEncodingException
{
return getBytes(stringToCharset(enc));
}
/**
* Converts the Unicode characters in this String to a byte array. Uses the
* specified encoding method, so the result may be longer or shorter than
* the String. For more encoding control, use
* {@link java.nio.charset.CharsetEncoder}, and for valid character sets,
* see {@link java.nio.charset.Charset}. Unsupported characters get
* replaced by the {@link java.nio.charset.Charset}'s default replacement.
*
* @param enc encoding name
* @return the resulting byte array
* @throws NullPointerException if enc is null
* @since 1.6
*/
public byte[] getBytes(Charset enc)
{
try
{
CharsetEncoder cse = Charset.forName(enc).newEncoder();
CharsetEncoder cse = enc.newEncoder();
cse.onMalformedInput(CodingErrorAction.REPLACE);
cse.onUnmappableCharacter(CodingErrorAction.REPLACE);
ByteBuffer bbuf = cse.encode(CharBuffer.wrap(value, offset, count));
@ -742,16 +827,6 @@ public final class String
bbuf.get(bytes);
return bytes;
}
catch(IllegalCharsetNameException e)
{
throw new UnsupportedEncodingException("Encoding: " + enc
+ " not found.");
}
catch(UnsupportedCharsetException e)
{
throw new UnsupportedEncodingException("Encoding: " + enc
+ " not found.");
}
catch(CharacterCodingException e)
{
// This shouldn't ever happen.