* Makefile.am (libgcj_la_SOURCES): Remove name-finder.cc.
(core_java_source_files): Add VMThrowable.java and NameFinder.java
(nat_source_files): Remove natThrowable.cc, add natVMThrowable.cc
and natNameFinder.cc.
* Makefile.in: Regenerate.
* prims.cc: Use trace_enabled from VMThrowable.
* name-finder.cc: Removed.
* gcj/javaprims.h: Add class VMThrowable.
* gnu/gcj/runtime/NameFinder.java: New file.
* gnu/gcj/runtime/natNameFinder.cc: Likewise.
* include/name-finder.h: Removed.
* java/lang/Throwable.java (printStackTrace (PrintStream)): Use new
method stackTraceString().
(printStackTrace (PrintWriter)): Likewise.
(stackTraceString): Complete rewrite of old printStackTrace using
StringBuffer.
(stackTraceStringBuffer): New helper method for stackTraceString().
(fillInStackTrace): Delegate to VMTrowable.
(getStackTrace): Likewise.
(getStackTrace0): Removed.
(trace_enabled, stackTraceBytes): Moved to new VMThrowable.java.
(setStackTrace): Copy given array.
* java/lang/natThrowable.cc: Removed (replaced by natVMThrowable).
* java/lang/VMThrowable.java: New class.
* java/lang/natVMThrowable.cc: New file.
From-SVN: r56556
2002-08-09 Mark Wielaard <mark@klomp.org>
* java/awt/image/MemoryImageSource.java: Change constructor to take
int[] not byte[].
* java/awt/Graphics2D.java: Uncomment methods that can now be
compiled.
* java/awt/GridBagLayout.java: New stub implementation.
* javax/swing/text/html/HTML.java: Stub implementation.
* javax/swing/text/html/parser/ParserDelegator.java: New stub
implementation.
2002-08-09 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* gnu/awt/j2d/Graphics2DImpl.java: Implement stubs for new abstract
methods in Graphics2D.
* Makefile.am: Add new files.
* Makefile.in: Rebuilt.
From-SVN: r56152
Fixes PR libgcj/6389:
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Added natTimeZone.cc.
* java/util/natTimeZone.cc: New file.
* java/util/TimeZone.java (getDefaultTimeZoneId): New method.
* java/lang/System.java: Merged with Classpath.
* java/lang/Runtime.java: Merged with Classpath.
* java/lang/natSystem.cc (setErr0): Renamed from setErr; don't run
security check.
(setIn0): Renamed from setIn; don't run security check.
(setOut0): Renamed from setOut; don't run security check.
(file_encoding, getpwuid_adaptor, getSystemTimeZone,
init_properties): Moved to natRuntime.cc.
Moved many includes to natRuntime.cc.
(isWordsBigEndian): New method.
* java/lang/natRuntime.cc: Include Long.h, also other includes
previously in natSystem.cc.
(maxMemory): New function.
(exitInternal): Renamed from `_exit'.
(exit): Removed.
(init): Don't set finalize_on_exit.
(exitInternal): Use `finalizeOnExit'.
(file_encoding, getpwuid_adaptor): New functions from
natSystem.cc.
(insertSystemProperties): New method, renamed from
System::init_properties. Don't set user.timezone.
(_load): Don't call checkLink.
(execInternal): New method.
(availableProcessors): Likewise.
(nativeGetLibname): Likewise.
From-SVN: r53429
* java/jcf-write.c (write_classfile): Write the file to a
temporary file and then rename it.
* libjava/Makefile.am (all_java_source_files): New variable.
(all_java_class_files): Likewise.
.java.class: New rule.
(CLEANFILES): Remove tmp-list.
* libjava/Makefile.in: Regenerated.
From-SVN: r53298
zlib:
* Makefile.am: Make target library a convenience library.
* Makefile.in: Rebuilt.
libffi:
* Makefile.am: libfficonvenience -> libffi_convenience.
* Makefile.in: Rebuilt.
boehm-gc:
* Makefile.am: Make a convenience library.
* Makefile.in: Rebuilt.
libjava:
Build a single libgcj.so, without separate gc and zlib libraries.
* configure.in: Use convenience libraries for boehm-gc and zlib. Set
SYS_ZLIBS if system zlib is used.
* configure: Rebuilt.
* Makefile.am: Use boehm-gc and zlib convenience libraries.
* Makefile.in: Rebuilt.
* libtool-version: Increment .so version number.
From-SVN: r50900
* Makefile.am (jv_convert_LDADD): Don't list libraries that are
already implicitly brought in from libgcj.la.
(gij_LDADD, rmic_LDADD, rmiregistry_LDADD): Likewise.
* Makefile.in: Rebuilt.
From-SVN: r50853
* acinclude.m4 (LIB_AC_PROG_CXX): Copied from libstdc++-v3.
Use it.
* Makefile.am (LIBLINK): Use CXX (and its tag) for linking.
* aclocal.m4, configure, Makefile.in: Rebuilt.
From-SVN: r49954
2002-02-04 Adam Megacz <adam@xwt.org>
* win32.cc: Created it.
configure.in: Added PLATFORM_SPECIFIC_SOURCES,
which is set to posix.cc or win32.cc.
Makefile.am: Updated it to use $(PLATFORM_SPECIFIC_SOURCES).
From-SVN: r49509
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/Toolkit.java: Merged with Classpath.
* java/awt/PrintGraphics.java: New file from Classpath.
* java/awt/PrintJob.java: New file from Classpath.
* java/awt/datatransfer/Clipboard.java: New file from Classpath.
* java/awt/datatransfer/ClipboardOwner.java: New file from
Classpath.
* java/awt/datatransfer/DataFlavor.java: New file from Classpath.
* java/awt/datatransfer/FlavorMap.java: New file from Classpath.
* java/awt/datatransfer/MimeTypeParseException.java: New file from
Classpath.
* java/awt/datatransfer/StringSelection.java: New file from
Classpath.
* java/awt/datatransfer/SystemFlavorMap.java: New file from
Classpath.
* java/awt/datatransfer/Transferable.java: New file from
Classpath.
* java/awt/datatransfer/UnsupportedFlavorException.java: New file
from Classpath.
From-SVN: r49171
* Makefile.in: Rebuilt.
* Makefile.am (awt_java_source_files): Added new files.
* java/awt/image/AreaAveragingScaleFilter.java: New file from
Classpath.
* java/awt/image/CropImageFilter.java: New file from Classpath.
* java/awt/image/FilteredImageSource.java: New file from
Classpath.
* java/awt/image/ImageFilter.java: New file from Classpath.
* java/awt/image/MemoryImageSource.java: New file from Classpath.
* java/awt/image/PixelGrabber.java: New file from Classpath.
* java/awt/image/RGBImageFilter.java: New file from Classpath.
* java/awt/image/ReplicateScaleFilter.java: New file from
Classpath.
* java/awt/image/ImageProducer.java: Replaced with Classpath
version.
* java/awt/image/ImageObserver.java: Replaced with Classpath
version.
* java/awt/image/ImageConsumer.java: Replaced with Classpath
version.
* java/awt/GridBagConstraints.java (clone): Catch
CloneNotSupportedException.
From-SVN: r49157
* Makefile.in: Rebuilt.
* Makefile.am (ordinary_java_source_files): Added new files.
* gnu/java/locale/LocaleInformation.java: Extend
LocaleInformation_en.
* gnu/java/locale/LocaleInformation_en.java: Added zone strings
and time/date formats.
* gnu/java/locale/LocaleInformation_en_US.java: Now automatically
generated.
* gnu/java/locale/LocaleInformation_af_ZA.java: New file.
* gnu/java/locale/LocaleInformation_ar_AE.java: New file.
* gnu/java/locale/LocaleInformation_ar_BH.java: New file.
* gnu/java/locale/LocaleInformation_ar_DZ.java: New file.
* gnu/java/locale/LocaleInformation_ar_EG.java: New file.
* gnu/java/locale/LocaleInformation_ar_IN.java: New file.
* gnu/java/locale/LocaleInformation_ar_IQ.java: New file.
* gnu/java/locale/LocaleInformation_ar_JO.java: New file.
* gnu/java/locale/LocaleInformation_ar_KW.java: New file.
* gnu/java/locale/LocaleInformation_ar_LB.java: New file.
* gnu/java/locale/LocaleInformation_ar_LY.java: New file.
* gnu/java/locale/LocaleInformation_ar_MA.java: New file.
* gnu/java/locale/LocaleInformation_ar_OM.java: New file.
* gnu/java/locale/LocaleInformation_ar_QA.java: New file.
* gnu/java/locale/LocaleInformation_ar_SD.java: New file.
* gnu/java/locale/LocaleInformation_ar_SY.java: New file.
* gnu/java/locale/LocaleInformation_ar_TN.java: New file.
* gnu/java/locale/LocaleInformation_ar_YE.java: New file.
* gnu/java/locale/LocaleInformation_be_BY.java: New file.
* gnu/java/locale/LocaleInformation_bn_IN.java: New file.
* gnu/java/locale/LocaleInformation_br_FR.java: New file.
* gnu/java/locale/LocaleInformation_bs_BA.java: New file.
* gnu/java/locale/LocaleInformation_ca_ES.java: New file.
* gnu/java/locale/LocaleInformation_cs_CZ.java: New file.
* gnu/java/locale/LocaleInformation_cy_GB.java: New file.
* gnu/java/locale/LocaleInformation_da_DK.java: New file.
* gnu/java/locale/LocaleInformation_de_AT.java: New file.
* gnu/java/locale/LocaleInformation_de_BE.java: New file.
* gnu/java/locale/LocaleInformation_de_CH.java: New file.
* gnu/java/locale/LocaleInformation_de_DE.java: New file.
* gnu/java/locale/LocaleInformation_de_LU.java: New file.
* gnu/java/locale/LocaleInformation_el_GR.java: New file.
* gnu/java/locale/LocaleInformation_en_AU.java: New file.
* gnu/java/locale/LocaleInformation_en_BW.java: New file.
* gnu/java/locale/LocaleInformation_en_CA.java: New file.
* gnu/java/locale/LocaleInformation_en_DK.java: New file.
* gnu/java/locale/LocaleInformation_en_GB.java: New file.
* gnu/java/locale/LocaleInformation_en_HK.java: New file.
* gnu/java/locale/LocaleInformation_en_IE.java: New file.
* gnu/java/locale/LocaleInformation_en_IN.java: New file.
* gnu/java/locale/LocaleInformation_en_NZ.java: New file.
* gnu/java/locale/LocaleInformation_en_PH.java: New file.
* gnu/java/locale/LocaleInformation_en_SG.java: New file.
* gnu/java/locale/LocaleInformation_en_ZA.java: New file.
* gnu/java/locale/LocaleInformation_en_ZW.java: New file.
* gnu/java/locale/LocaleInformation_es_AR.java: New file.
* gnu/java/locale/LocaleInformation_es_BO.java: New file.
* gnu/java/locale/LocaleInformation_es_CL.java: New file.
* gnu/java/locale/LocaleInformation_es_CO.java: New file.
* gnu/java/locale/LocaleInformation_es_CR.java: New file.
* gnu/java/locale/LocaleInformation_es_DO.java: New file.
* gnu/java/locale/LocaleInformation_es_EC.java: New file.
* gnu/java/locale/LocaleInformation_es_ES.java: New file.
* gnu/java/locale/LocaleInformation_es_GT.java: New file.
* gnu/java/locale/LocaleInformation_es_HN.java: New file.
* gnu/java/locale/LocaleInformation_es_MX.java: New file.
* gnu/java/locale/LocaleInformation_es_NI.java: New file.
* gnu/java/locale/LocaleInformation_es_PA.java: New file.
* gnu/java/locale/LocaleInformation_es_PE.java: New file.
* gnu/java/locale/LocaleInformation_es_PR.java: New file.
* gnu/java/locale/LocaleInformation_es_PY.java: New file.
* gnu/java/locale/LocaleInformation_es_SV.java: New file.
* gnu/java/locale/LocaleInformation_es_US.java: New file.
* gnu/java/locale/LocaleInformation_es_UY.java: New file.
* gnu/java/locale/LocaleInformation_es_VE.java: New file.
* gnu/java/locale/LocaleInformation_et_EE.java: New file.
* gnu/java/locale/LocaleInformation_eu_ES.java: New file.
* gnu/java/locale/LocaleInformation_fa_IR.java: New file.
* gnu/java/locale/LocaleInformation_fi_FI.java: New file.
* gnu/java/locale/LocaleInformation_fo_FO.java: New file.
* gnu/java/locale/LocaleInformation_fr_BE.java: New file.
* gnu/java/locale/LocaleInformation_fr_CA.java: New file.
* gnu/java/locale/LocaleInformation_fr_CH.java: New file.
* gnu/java/locale/LocaleInformation_fr_FR.java: New file.
* gnu/java/locale/LocaleInformation_fr_LU.java: New file.
* gnu/java/locale/LocaleInformation_ga_IE.java: New file.
* gnu/java/locale/LocaleInformation_gd_GB.java: New file.
* gnu/java/locale/LocaleInformation_gl_ES.java: New file.
* gnu/java/locale/LocaleInformation_gv_GB.java: New file.
* gnu/java/locale/LocaleInformation_he_IL.java: New file.
* gnu/java/locale/LocaleInformation_hi_IN.java: New file.
* gnu/java/locale/LocaleInformation_hr_HR.java: New file.
* gnu/java/locale/LocaleInformation_hu_HU.java: New file.
* gnu/java/locale/LocaleInformation_id_ID.java: New file.
* gnu/java/locale/LocaleInformation_it_CH.java: New file.
* gnu/java/locale/LocaleInformation_it_IT.java: New file.
* gnu/java/locale/LocaleInformation_iw_IL.java: New file.
* gnu/java/locale/LocaleInformation_ja_JP.java: New file.
* gnu/java/locale/LocaleInformation_ka_GE.java: New file.
* gnu/java/locale/LocaleInformation_kl_GL.java: New file.
* gnu/java/locale/LocaleInformation_ko_KR.java: New file.
* gnu/java/locale/LocaleInformation_kw_GB.java: New file.
* gnu/java/locale/LocaleInformation_lt_LT.java: New file.
* gnu/java/locale/LocaleInformation_lv_LV.java: New file.
* gnu/java/locale/LocaleInformation_mi_NZ.java: New file.
* gnu/java/locale/LocaleInformation_mk_MK.java: New file.
* gnu/java/locale/LocaleInformation_mr_IN.java: New file.
* gnu/java/locale/LocaleInformation_mt_MT.java: New file.
* gnu/java/locale/LocaleInformation_nl_BE.java: New file.
* gnu/java/locale/LocaleInformation_nl_NL.java: New file.
* gnu/java/locale/LocaleInformation_nn_NO.java: New file.
* gnu/java/locale/LocaleInformation_no_NO.java: New file.
* gnu/java/locale/LocaleInformation_oc_FR.java: New file.
* gnu/java/locale/LocaleInformation_pl_PL.java: New file.
* gnu/java/locale/LocaleInformation_pt_BR.java: New file.
* gnu/java/locale/LocaleInformation_pt_PT.java: New file.
* gnu/java/locale/LocaleInformation_ro_RO.java: New file.
* gnu/java/locale/LocaleInformation_ru_RU.java: New file.
* gnu/java/locale/LocaleInformation_ru_UA.java: New file.
* gnu/java/locale/LocaleInformation_se_NO.java: New file.
* gnu/java/locale/LocaleInformation_sk_SK.java: New file.
* gnu/java/locale/LocaleInformation_sl_SI.java: New file.
* gnu/java/locale/LocaleInformation_sq_AL.java: New file.
* gnu/java/locale/LocaleInformation_sr_YU.java: New file.
* gnu/java/locale/LocaleInformation_sv_FI.java: New file.
* gnu/java/locale/LocaleInformation_sv_SE.java: New file.
* gnu/java/locale/LocaleInformation_ta_IN.java: New file.
* gnu/java/locale/LocaleInformation_te_IN.java: New file.
* gnu/java/locale/LocaleInformation_tg_TJ.java: New file.
* gnu/java/locale/LocaleInformation_tl_PH.java: New file.
* gnu/java/locale/LocaleInformation_tr_TR.java: New file.
* gnu/java/locale/LocaleInformation_uk_UA.java: New file.
* gnu/java/locale/LocaleInformation_ur_PK.java: New file.
* gnu/java/locale/LocaleInformation_uz_UZ.java: New file.
* gnu/java/locale/LocaleInformation_vi_VN.java: New file.
* gnu/java/locale/LocaleInformation_yi_US.java: New file.
* gnu/java/locale/LocaleInformation_zh_CN.java: New file.
* gnu/java/locale/LocaleInformation_zh_HK.java: New file.
* gnu/java/locale/LocaleInformation_zh_SG.java: New file.
* gnu/java/locale/LocaleInformation_zh_TW.java: New file.
From-SVN: r48668
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/BitSet.java (and): Fix off-by-one bug, don't skip part of
the bitset.
(andNot): Likewise.
(xor): Likewise.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/LinkedList.java (LinkedListItr.add): Don't skip the next
entry.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/TreeMap.java (removeNode): Fix bug in node removal.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractCollection.java (containsAll): Use size of the
correct collection for loop bound.
* java/util/AbstractList.java (iterator.next): Increment pos after
calling get on backing list.
(listIterator.next): Likewise.
* java/util/LinkedList.java (addLastEntry): Don't increment size before
checking for size == 0.
(addFirstEntry): Rearrange to match addLastEntry.
(add): Do not increment size before inserting the new entry.
* java/util/AbstractCollection.java (addAll): Use size of the
correct collection for loop bound.
2001-12-15 Bryce McKinlay <bryce@waitaki.otago.ac.nz>
* java/util/AbstractSet.java (removeAll): Fix scoping thinko.
* java/util/HashMap.java (putAllInternal): Set size here.
* java/util/Hashtable.java (putAllInternal): New method. Copy contents
of a map efficiently without calling put() or putAll().
(Hashtable (map)): Use putAllInternal.
(clone): Likewise.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/Collections.java:
* java/util/Vector.java:
* java/util/WeakHashMap.java: Fix spelling errors.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java (removeAllInternal),
(retainAllInternal): Add hooks for use by ArrayList.
* java/util/AbstractList.java: Minor code updates. Fix some
scoping.
* java/util/AbstractMap.java: ditto
* java/util/ArrayList.java (readObject, writeObject): ditto
(removeAllInternal, retainAllInternal): Optimize.
* java/util/Arrays.java: ditto
* java/util/Collections.java: ditto. Change order of parameters
to equals(Object, Object) to match specs.
* java/util/Dictionary.java: Improve javadoc.
(Dictionary): Add explicit constructor.
* java/util/HashMap.java: Improve javadoc. Rearrange methods to
follow order in JDK. Cleanups related to recent code migration to
AbstractMap. Fix some scoping.
(entrySet): Cache the result.
(modCount): Ensure that this is updated correctly.
* java/util/HashSet.java: Improve javadoc. Fix some scoping.
(init): Add hooks for LinkedHashSet.
(map): Use "" instead of Boolean.TRUE in backing map. Use
package-private API where possible for less overhead.
(readObject, writeObject): Fix serialization.
* java/util/Hashtable.java: Improve javadoc. Fix some scoping.
(entrySet, keySet, values): Cache the result.
(modCount): Ensure that this is updated correctly.
(contains, remove): Fix NullPointer checking to match specs.
(class Enumeration): Make more like HashIterator.
* java/util/IdentityHashMap.java: Minor code updates.
(modCount): Ensure that this is updated correctly.
(readObject, writeObject): Fix serialization.
* java/util/LinkedHashMap.java: Minor code updates. Cleanups
related to recent code migration to AbstractMap.
* java/util/LinkedHashSet.java: New file.
* java/util/LinkedList.java:
(readObject, writeObject): Fix serialization.
* java/util/Makefile.am: List recently added files.
* java/util/Stack.java: Minor code updates.
* java/util/TreeMap.java: Improve javadoc. Overhaul the class to
be more efficient. Fix some scoping. Rearrange the methods.
(nil): Ensure that this can be thread-safe, and make it a static
final. Initialize it to be more useful as a sentinal node.
(Node): Specify color in constructor.
(deleteFixup, insertFixup): Improve comments and algorithm.
(fabricateTree): Redesign with less overhead.
(lowestGreaterThan): Add parameter first to make SubMap easier.
(removeNode): Patch hole where nil was being modified. Choose
predecessor instead of successor so in-place swap works.
(class VerifyResult, verifyTree, verifySub, verifyError): Remove
this dead code after verifying the class works.
(class SubMap): Rewrite several algorithms to avoid problems with
comparing nil.
* java/util/TreeSet.java: Improve javadoc. Fix some scoping.
(clone): Fix ClassCastException when cloning subSet().
(readObject, writeObject): Fix serialization.
* java/util/WeakHashMap.java: Improve javadoc. Fix some scoping.
(NULL_KEY): Make it compare as null, for ease elsewhere.
(Class WeakEntry): Rename from Entry, to avoid shadowing
Map.Entry. Add missing toString.
(modCount): Ensure that this is updated correctly.
(clear, containsValue, keySet, putAll, values, WeakHashMap(Map)):
Add missing methods and constructor.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/ArrayList.java (checkBoundExclusive),
(checkBoundInclusive): Rename from range??clusive, to match
AbstractList.
* java/util/LinkedList.java (checkBoundsExclusive),
(checkBoundsInclusive): ditto
* java/util/Vector.java (checkBoundExclusive),
(checkBoundInclusive): Move bounds checking into common methods.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractList.java:
(modCount): Make sure it is updated in all needed places.
* java/util/ArrayList.java: Improve javadoc. Implements
RandomAccess. Add serialVersionUID. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
(isEmpty): Add missing method.
* java/util/Collections.java: (class SynchronizedList): Make
package visible.
* java/util/ConcurrentModificationException.java: Improve
javadoc.
* java/util/EmptyStackException.java: Improve javadoc.
* java/util/LinkedList.java: Improve javadoc.
(modCount): Make sure it is updated in all needed places.
(rangeExclusive, rangeInclusive): Add common methods for bounds
check.
* java/util/NoSuchElementException.java: Improve javadoc.
* java/util/Stack.java: Improve javadoc. Fix synchronization
issues.
(modCount): Make sure it is updated in all needed places.
* java/util/Vector.java: Improve javadoc. Fix synchronization
issues. Implements RandomAccess. Reorder methods.
(modCount): Make sure it is updated in all needed places.
(setSize): Fix according to specifications: this does not dictate
the backing array size.
(removeAll, retainAll): Faster implementations.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/BitSet.java: Improve javadoc.
(cardinality(), clear(), clear(int, int), flip(int)),
(flip(int, int), get(int, int), intersects(BitSet), isEmpty()),
(nextClearBit(int), nextSetBit(int), set(int, boolean)),
(set(int, int), set(int, int, boolean)): Add new JDK 1.4 methods.
(clone): Fix so subclasses clone correctly.
2001-12-15 Eric Blake <ebb9@email.byu.edu>
* java/util/AbstractCollection.java: Improve javadoc.
(AbstractCollection()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
* java/util/AbstractList.java: Improve javadoc.
(AbstractList()): Make constructor protected.
(indexOf(Object)): Call listIterator(), not listIterator(int).
(iterator()): Follow Sun's requirement to not use listIterator(0).
(listIterator(int)): Make AbstractListItr anonymous.
(subList(int, int)): Add support for RandomAccess.
(SubList.add(int, Object), SubList.remove(Object)): Fix bug with
modCount tracking.
(SubList.addAll(Collection)): Add missing method.
(SubList.listIterator(int)): Fix bugs in indexing, modCount
tracking.
(class RandomAccessSubList): Add new class.
* java/util/AbstractMap.java: Improve javadoc.
(keys, values, KEYS, VALUES, ENTRIES): Consolidate common map
fields.
(AbstractMap()): Make constructor protected.
(equals(Object, Object), hashCode(Object)): Add utility methods.
(equals(Object)): Change algorithm to
entrySet().equals(m.entrySet()), as documented by Sun.
(keySet(), values()): Cache the collections.
* java/util/AbstractSequentialList.java: Improve javadoc.
(AbstractSequentialList()): Make constructor protected.
* java/util/AbstractSet.java: Improve javadoc.
(AbstractSet()): Make constructor protected.
(removeAll(Collection)): Add missing method.
* java/util/Arrays.java: Improve javadoc, rearrange method orders.
(defaultComparator): Remove, in favor of
Collections.compare(Object, Object, Comparator).
(binarySearch, equals, sort): Fix natural order comparison of
floats and doubles. Also improve Object comparison - when
comparator is null, use natural order.
(fill, sort): Add missing checks for IllegalArgumentException.
(sort, qsort): Fix sorting bugs, rework the code for more
legibility.
(mergeSort): Inline into sort(Object[], int, int, Comparator).
(class ArrayList): Rename from ListImpl, and make compatible with
JDK serialization. Add methods which more efficiently override
those of AbstractList.
* java/util/Collections: Improve javadoc.
(isSequential(List)): Add and use a method for deciding between
RandomAccess and sequential algorithms on lists.
(class Empty*, class Synchronized*, class Unmodifiable*): Make
compliant with JDK serializability.
(class Singleton*, class CopiesList, class RevereseComparator),
(class UnmodifiableMap.UnmodifiableEntrySet),
(class *RandomAccessList): New classes for serial compatibility.
(class Empty*, class Singleton*, class CopiesList): Add methods
which more efficiently override those of Abstract*.
(search): Inline into binarySearch(List, Object, Comparator).
(binarySearch): Make sequential search only do log(n) comparisons,
instead of n.
(copy(List, List)): Do bounds checking before starting.
(indexOfSubList, lastIndexOfSubList, list, replaceAll, rotate),
(swap): Add new JDK 1.4 methods.
(binarySearch, max, min, sort): Allow null comparator to represent
natural ordering.
(reverse(List)): Avoid unnecessary swap.
(shuffle(List, Random)): Do shuffle in-place for RandomAccess
lists.
(SingletonList.get): Fix logic bug.
(SingletonMap.entrySet): Make the entry immutable, and cache the
returned set.
(SynchronizedCollection, SynchronizedMap, UnmodifiableCollection),
(UnmodifiableMap): Detect null pointer in construction.
(SynchronizedMap, UnmodifiableMap): Cache collection views.
* java/util/BasicMapEntry: Improve javadoc.
From-SVN: r48035
* Makefile.in: Rebuilt.
* Makefile.am (java/lang/reflect/Method.h): ObjectInputStream now
a friend.
* java/lang/natClass.cc (getSignature): Only look at elements of
non-null parameters.
(getPrivateMethod): Removed old FIXME comment.
* java/io/natObjectInputStream.cc (allocateObject): Removed old
FIXME comment.
(callConstructor): Simply use `NULL' for value of parameters.
(ObjectClass): Removed.
(ClassClass): Likewise.
* java/io/ObjectInputStream.java (readObject): Fixed typo.
From-SVN: r47800
* Makefile.am (nat_headers, x_nat_headers): Depend on .class files, not
libgcj.jar.
(nat_files, x_nat_files): Build native files in subdirectories using
the same dependency options as the java files.
(gnu/gcj/runtime/FirstThread.h): Remove explicit rule and friend
declarations.
* configure.in: Put dependencies for .cc files in deps.mak.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
From-SVN: r47471
* Makefile.in: Rebuilt.
* Makefile.am (secdir): New macro.
(install-data-local): Install new data files.
* java/security/classpath.security: New file.
* java/security/libgcj.security: New file.
From-SVN: r46326
* include/jvm.h: Declare _Jv_RegisterResource.
* gnu/gcj/Core.java, gnu/gcj/natCore.cc,
gnu/gcj/protocol/core/Connection.java,
gnu/gcj/protocol/core/Handler.java,
gnu/gcj/protocol/core/CoreInputStream.java,
gnu/gcj/protocol/core/natCoreInputStream.cc: New files.
* java/net/URL.java (setURLStreamHandler): Use
gnu.gcj.protocol.core.Handler for the core protocol.
* gnu/gcj/runtime/VMClassLoader.java (init): Add "core:/" to the
end of java.class.path.
* Makefile.am (ordinary_java_source_files): Add new java files.
(nat_source_files): Add new native code files.
* Makefile.in: Rebuilt.
From-SVN: r45450
* Makefile.am: New friends for java/lang/Thread.h.
* prims.cc (runFirst): Removed.
(JvRunMain): Merged into _Jv_RunMain. Now just calls that.
(_Jv_RunMain): Now takes either a klass or class name parameter.
Create a gnu.gcj.runtime.FirstThread and attach the native thread
to that, then run it using _Jv_ThreadRun. Remove special handling of
jar files, instead pass is_jar parameter through to FirstThread.
* gcj/javaprims.h: Add prototypes for _Jv_ThreadRun and new variant
of _Jv_AttachCurrentThread.
* gnu/gcj/runtime/FirstThread.java (FirstThread): Now extends Thread.
(run): New method. Take care of looking up main class manifest
attribute and calling forName if neccessary. Then call call_main.
(call_main): New native method.
* gnu/gcj/runtime/natFirstThread.cc (call_main): New function, code
relocated from prims.cc. Look up and call main method.
* java/lang/Thread.java (run_): Removed.
* java/lang/natThread.cc (run_): Renamed to...
(_Jv_ThreadRun): this. JVMPI notification code moved to ...
(_Jv_NotifyThreadStart): here. New function.
(countStackFrames, destroy, resume, suspend, stop): Throw
UnsupportedOperationExceptions rather than JvFail'ing.
(_Jv_AttachCurrentThread): New variant takes a Thread argument.
Existing version wraps new variant.
From-SVN: r45182
* jni.cc: Include IdentityHashMap.h, not Hashtable.h.
(local_ref_table, global_ref_table): Now IdentityHashMap.
(_Jv_JNI_Init): Updated for new types.
(mark_for_gc): Likewise.
(unmark_for_gc): Likewise.
* gcj/javaprims.h: Rebuilt class list.
* Makefile.in: Rebuilt.
* Makefile.am (core_java_source_files): Added new file.
* java/util/IdentityHashMap.java: New file.
From-SVN: r44929
* gcj/javaprims.h (_Jv_FormatInt): New declaration.
* java/lang/natString.cc (_JvFormatInt): New primitive, with logic
taken from old Integer.toString code.
(Integer::valueOf): Use _Jv_FormatInt.
* java/lang/Integer.java (toString): Just use call String.valueOf.
* java/lang/Long.java (toString): Fix typo in comment.
* java/lang/String.java (valueOf(int)): Make native.
* java/lang/StringBuffer.java (append(int)): Make native.
* java/lang/natStringBuffer.cc: New file, for append(jint).
* Makefile.am (ant_source_files): Add java/lang/natStringBuffer.cc.
From-SVN: r42419
2001-05-10 Tom Tromey <tromey@redhat.com>
* java/util/GregorianCalendar.java: Imported from Classpath.
* gnu/java/locale/LocaleInformation_nl.java: New file from
Classpath.
* gnu/java/locale/LocaleInformation_en.java: Likewise.
* gnu/java/locale/LocaleInformation_de.java: Likewise.
* gnu/java/locale/LocaleInformation.java: Likewise.
* natGregorianCalendar.cc: Removed.
* Makefile.in: Rebuilt.
* Makefile.am (nat_source_files): Removed
natGregorianCalendar.cc.
2001-05-10 Tom Tromey <tromey@redhat.com>
* java/text/SimpleDateFormat.java (computeCenturyStart): New
method.
(defaultCenturyStart): Use it.
(readObject): Likewise.
(SimpleDateFormat): Clear the calendar. Set the grouping on the
number format.
(parse): Copy the calendar before modifying it. Correctly handle
the time zone.
* java/util/Calendar.java (clear): Set field value(s) to 0.
2001-05-10 Jeff Sturm <jsturm@one-point.com>
* Calendar.java (get): Clear areFieldsSet if requested field
is not set.
(set): Unset fields that depend on new value.
From-SVN: r41942
libffi:
* Makefile.am: Make a libtool convenience library.
* Makefile.in: Rebuilt.
libjava:
* java/io/File.java (normalizePath): New private method.
(File (String)): Use normalizePath().
(File (String, String)): Likewise.
* Makefile.am (libffi_files): Removed.
(libgcj.la): Link libffi as a convenience library instead of
refering to its object files directly.
* Makefile.in: Rebuilt.
From-SVN: r41298
Fix for PR libgcj/1736. Thanks to Robert Boehne and Alexandre Oliva
for libtool hacking.
* Makefile.am (libgcj.la): New explicit rule. Echo the list of objects
to a temporary file, then invoke libtool with the -objectlist
paramater.
(libgcjx.la): Likewise.
* Makefile.in: Rebuilt.
From-SVN: r40775
* configure.in: Add support for --enable-java-awt configure option.
Use --enable-java-awt=xlib to build the xlib peers (libgcjx).
* Makefile.am: Make libgcjx conditional on XLIB_AWT, instead of NO_X.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
From-SVN: r39970
* java/util/TreeMap.java: New file.
* java/util/TreeSet.java: New file.
* Makefile.am: Add TreeMap and TreeSet. Enable WeakHashMap.
* Makefile.in: Rebuilt.
* java/util/HashSet.java (clone): Use constructor instead of calling
clone on itself.
* java/util/SortedSet.java: Sync with classpath.
* java/util/HashMap.java (hash): Use if statement instead of ternary,
for clarity.
Resolves PR libgcj/1758.
Resolves PR java/1684.
From-SVN: r39657
* java/util/BasicMapEntry.java: Re-added.
* java/util/HashMap.java (Entry): Extend BasicMapEntry.
(putAll): Test for BasicMapEntry.
* java/util/Hashtable.java (Entry): Extend BasicMapEntry.
(putAll): Test for BasicMapEntry.
Change references from `HashMap.Entry' to `Entry' in various places.
* Makefile.am: Add BasicMapEntry.java.
* Makefile.in: Rebuilt.
From-SVN: r38410
* Makefile.in: Rebuilt.
* Makefile.am (GCJ_WITH_FLAGS): New macro, includes --encoding
option.
(GCJCOMPILE): Use it.
(JAVAC): Likewise.
From-SVN: r38219
* Makefile.am: Add HashSet.java and java/lang/ref classes.
Remove BasicMapEntry.java and Bucket.java.
* Makefile.in: Rebuilt.
* java/util/HashMap.java: Rewritten.
* java/util/HashSet.java: Imported from classpath.
* java/util/WeakHashMap.java: Imported from classpath.
* java/util/Hashtable.java: Rewritten based on new HashMap code.
* java/util/Bucket.java: Deleted.
* java/util/BasicMapEntry.java: Deleted.
* java/util/Collections.java (search): Use a for-loop, not iterator
hasNext().
(copy): Use a for-loop. Throw an IndexOutOfBoundsException if run out
of elements in source.
(max): Use a for-loop.
(min): Ditto.
(reverse): Keep track of positions instead of using Iterator's
nextIndex() and previousIndex().
(shuffle(List)): Initialize defaultRandom if required using
double-check thread safety idiom. Call two-argument shuffle method
using defaultRandom.
(defaultRandom): New field.
(shuffle(List, Random)): Use a for-loop. Keep track of pos instead
of using previousIndex() and nextIndex().
(singletonMap(iterator)): Use a HashMap.Entry, not BasicMapEntry.
* java/util/AbstractCollection.java (toString): Use a StringBuffer.
* java/util/AbstractMap.java (toString): Use StringBuffer.
* java/lang/ref/PhantomReference.java: Imported from classpath.
* java/lang/ref/SoftReference.java: Ditto.
* java/lang/ref/Reference.java: Ditto.
* java/lang/ref/WeakReference.java: Ditto.
* java/lang/ref/ReferenceQueue.java: Ditto.
From-SVN: r38183
2000-11-24 Bryce McKinlay <bryce@albatross.co.nz>
* java/lang/System.java (setProperties): Only call init_properties()
if properties is null.
(getProperties): Ditto.
(getProperty): Ditto.
(setProperty): Call init_properties if properties are null.
(prop_init): Remove field.
* java/lang/natSystem.cc (init_properties): Synchronize the entire
method. Check for null properties after synchronizing instead of
prop_init flag. Set the properties field last for thread safety.
* java/io/ObjectInputStream.java (ObjectInputStream): If DEBUG is set,
test for gcj.dumpobjects property and enable object stream dumping
if it is set.
(dumpElement): No longer native.
(dumpElementln): Ditto.
(setDump): Do not define.
* java/io/natObjectInputStream.cc (dumpElement): Removed.
(dumpElementln): Removed.
(setDump): Removed.
2000-11-24 Bryce McKinlay <bryce@albatross.co.nz>
* configure: Rebuilt.
* Makefile.in: Rebuilt.
* Makefile.am (built_java_source_files): Add Configuration.java.
* configure.in: Add Configuration.java to CONFIG_FILES. Set
LIBGCJDEBUG substitution if --enable-libgcj-debug is specified.
Create `gnu' directory in the build tree.
* gnu/classpath/Configuration.java.in: New file.
From-SVN: r37749
* scripts/encodings.pl: Added `ASCII' alias.
* Makefile.in: Rebuilt.
* Makefile.am (convert_source_files): Added new files.
* gnu/gcj/convert/Input_ASCII.java: New file.
* gnu/gcj/convert/Output_ASCII.java: New file.
* gnu/gcj/convert/Output_8859_1.java (write): Use `?' to represent
out-of-range characters.
* gnu/gcj/convert/natIconv.cc (iconv_init): New method.
(read): Swap bytes if required. Treat `count' as character count,
not byte count.
(write): Likewise. Also, handle case where iconv fails on a given
character.
(init): Put encoding into exception.
* gnu/gcj/convert/IOConverter.java (iconv_byte_swap): New global.
(static): Call iconv_init. Rebuilt alias list.
(iconv_init): New private method.
From-SVN: r37190
* Makefile.in: Rebuilt.
* Makefile.am (install-exec-hook): Only make a single symlink, and
remove the destination before making the link.
* configure: Rebuilt.
* configure.in: Call AC_PROG_LN_S.
From-SVN: r37189
* Makefile.am: Added locale files from Classpath.
* Makefile.in: Rebuilt.
* gnu/java/locale/Calendar.java: New file.
* gnu/java/locale/Calendar_de.java: New file.
* gnu/java/locale/Calendar_en.java: New file.
* gnu/java/locale/Calendar_nl.java: New file.
* java/lang/ClassNotFoundException.java: Replaced with Classpath file.
* java/math/BigDecimal.java (intVal): Renamed from 'num' for
serialization compatibility.
(scale): Made private.
(serialVersionUID): New field.
* java/math/BigInteger.java (ival): Made transient.
(words): Made transient.
(bitCount): New serialization field.
(bitLength): Ditto.
(firstNonzeroByteNum): Ditto.
(lowestSetBit): Ditto.
(magnitude): Ditto.
(signum): Ditto.
(serialVersionUID): New field.
(readObject): New method.
(writeObject): New method.
* java/util/BitSet.java (serialVersionUID): New field.
* java/util/Calendar.java: Replaced with Classpath file.
* java/util/GregorianCalendar.java (GregorianCalendar): Pass result
of getDefault() for TimeZone or Locale instead of passing nulls.
* java/util/Locale.java (serialVersionUID): New field.
(writeObject): New method.
(readObject): New method.
* java/util/SimpleTimeZone.java: Replaced with Classpath file.
Serialization mods.
From-SVN: r37080
2000-10-25 Bryce McKinlay <bryce@albatross.co.nz>
* Makefile.am (GCJCOMPILE): Pass --tag=GCJ to libtool.
(core_java_source_files): Put java.lang, java.io, and java.util here.
(ordinary_java_source_files): Order so that core_java_source_files are
built first.
(java_source_files): Reorder so that special_java_source_files are
built first.
* configure.in: Don't pass -I flag to gcj.
* Makefile.in: Rebuilt.
* configure: Rebuilt.
From-SVN: r37060
* Makefile.am: Added rules for libgcjx library.
* Makefile.in: Rebuilt.
* configure.in: Added check for X.
* configure: Rebuilt.
* gnu/awt/LightweightRedirector.java: New file.
* gnu/awt/j2d/AbstractGraphicsState.java: New file.
* gnu/awt/j2d/DirectRasterGraphics.java: New file.
* gnu/awt/j2d/Graphics2DImpl.java: New file.
* gnu/awt/j2d/IntegerGraphicsState.java: New file.
* gnu/awt/j2d/MappedRaster.java: New file.
* gnu/awt/xlib/XCanvasPeer.java: New file.
* gnu/awt/xlib/XEventLoop.java: New file.
* gnu/awt/xlib/XEventQueue.java: New file.
* gnu/awt/xlib/XFontMetrics.java: New file.
* gnu/awt/xlib/XFramePeer.java: New file.
* gnu/awt/xlib/XGraphics.java: New file.
* gnu/awt/xlib/XGraphicsConfiguration.java: New file.
* gnu/awt/xlib/XPanelPeer.java: New file.
* gnu/awt/xlib/XToolkit.java: New file.
* gnu/gcj/xlib/Clip.java: New file.
* gnu/gcj/xlib/Colormap.java: New file.
* gnu/gcj/xlib/Display.java: New file.
* gnu/gcj/xlib/Drawable.java: New file.
* gnu/gcj/xlib/Font.java: New file.
* gnu/gcj/xlib/GC.java: New file.
* gnu/gcj/xlib/Pixmap.java: New file.
* gnu/gcj/xlib/Screen.java: New file.
* gnu/gcj/xlib/Visual.java: New file.
* gnu/gcj/xlib/WMSizeHints.java: New file.
* gnu/gcj/xlib/Window.java: New file.
* gnu/gcj/xlib/WindowAttributes.java: New file.
* gnu/gcj/xlib/XAnyEvent.java: New file.
* gnu/gcj/xlib/XButtonEvent.java: New file.
* gnu/gcj/xlib/XColor.java: New file.
* gnu/gcj/xlib/XConfigureEvent.java: New file.
* gnu/gcj/xlib/XConnectException.java: New file.
* gnu/gcj/xlib/XEvent.java: New file.
* gnu/gcj/xlib/XException.java: New file.
* gnu/gcj/xlib/XExposeEvent.java: New file.
* gnu/gcj/xlib/XID.java: New file.
* gnu/gcj/xlib/XImage.java: New file.
* gnu/gcj/xlib/XUnmapEvent.java: New file.
* gnu/gcj/xlib/natClip.cc: New file.
* gnu/gcj/xlib/natColormap.cc: New file.
* gnu/gcj/xlib/natDisplay.cc: New file.
* gnu/gcj/xlib/natDrawable.cc: New file.
* gnu/gcj/xlib/natFont.cc: New file.
* gnu/gcj/xlib/natGC.cc: New file.
* gnu/gcj/xlib/natPixmap.cc: New file.
* gnu/gcj/xlib/natScreen.cc: New file.
* gnu/gcj/xlib/natVisual.cc: New file.
* gnu/gcj/xlib/natWMSizeHints.cc: New file.
* gnu/gcj/xlib/natWindow.cc: New file.
* gnu/gcj/xlib/natWindowAttributes.cc: New file.
* gnu/gcj/xlib/natXAnyEvent.cc: New file.
* gnu/gcj/xlib/natXButtonEvent.cc: New file.
* gnu/gcj/xlib/natXColor.cc: New file.
* gnu/gcj/xlib/natXConfigureEvent.cc: New file.
* gnu/gcj/xlib/natXException.cc: New file.
* gnu/gcj/xlib/natXExposeEvent.cc: New file.
* gnu/gcj/xlib/natXImage.cc: New file.
* gnu/gcj/xlib/natXUnmapEvent.cc: New file.
* java/awt/EventDispatchThread.java: Start thead on creation.
From-SVN: r37005
* Makefile.am: Removed java/io/Replaceable.java and
java/io/Resolvable.java.
* Makefile.in: Rebuilt.
* gcj/javaprims.h: Removed Replaceable and Resolvable from java.io
namespace.
* java/io/ObjectInputStream.java (processResolution): Fixed typo
in method name.
(processResolution): Handle readResolve method via reflection with
removal of Resolvable interface.
* java/io/ObjectOutputStream.java (writeObject): Handle writeReplace
method via reflection with removal of Replaceable interface.
* java/io/Replaceable.java: Removed.
* java/io/Resolvable.java: Removed.
* java/security/Key.java (serialVersionUID): New field.
* java/security/Provider.java (serialVersionUID): New field.
* java/security/interfaces/DSAPrivateKey.java (serialVersionUID):
New field.
* java/security/interfaces/DSAPublicKey.java (serialVersionUID):
New field.
* java/sql/DataTruncation.java (serialVersionUID): New field.
* java/sql/SQLException.java (serialVersionUID): New field.
* java/sql/SQLWarning.java (serialVersionUID): New field.
* java/util/Date.java (serialVersionUID): New field.
(millis): Made transient.
(readObject): New method.
(writeObject): New method.
Serialization mods.
Note: The interfaces java.io.Replaceable and java.io.Resolvable were only
temporary additions to JDK 1.2 beta versions and were not included
in the JDK 1.2 final. The Serialization spec instructs how to deal
with their methods (via reflection).
From-SVN: r36736
2000-09-13 Alexandre Oliva <aoliva@redhat.com>
* configure.in (LIBDATASTARTSPEC): Use `%s' to search for
libgcjdata.a.
(GCJ): Support single-tree builds. Add -B`pwd`/ and -I$srcdir.
* acinclude.m4: Arrange for automake to not bring in a new
libtool.m4 for LT_AC_PROG_GCJ. AC_SUBST GCJ.
* Makefile.am: Leave it up to automake to subst GCJ.
* aclocal.m4, configure, Makefile.in: Rebuilt.
From-SVN: r36392
2000-08-26 Anthony Green <green@redhat.com>
* Makefile.in: Rebuilt.
* Makefile.am (java/lang/ClassLoader.h): Make _Jv_RunMain a
friend.
* prims.cc: Include ClassLoader.h.
(_Jv_RunMain): When executing jar files, classpath must be the jar
file only. Lose our reference to the system ClassLoader in order
to get a new one with the correct classpath.
* java/lang/natSystem.cc (init_properties): When executing a jar
file, only use the jar file for java.class.path.
* gnu/gcj/runtime/VMClassLoader.java: Use the canonical file name
for bytecode archives.
* gnu/gcj/runtime/FirstThread.java: Handle case where manifest
exists, but not Main-Class.
From-SVN: r35999
2000-08-21 Mark Wielaard <mark@klomp.org>
* Makefile.in: Rebuilt.
* Makefile.am (java/lang/reflect/Constructor.h): Declare Class as
a `friend class'.
(java/lang/reflect/Field.h): Likewise.
(java/lang/reflect/Method.h): Likewise.
(gnu/gcj/runtime/VMClassLoader.h): Declare ClassLoader as a
`friend class'.
From-SVN: r35863
* gnu/gcj/awt/ComponentDataBlitOp.java: New file.
* gnu/gcj/awt/GLightweightPeer.java: New file.
* java/awt/BorderLayout.java: Implemented all methods.
* java/awt/Button.java (actionListener, actionCommand): Renamed
and modifier change.
(addNotify): Call super.
(dispatchEventImpl): New method.
(getListeners): New method.
(label): Made package-private, not private.
* java/awt/Canvas.java: Implemented class body.
* java/awt/Color.java (brighter): New method.
(darker): New method.
(hashCode): New method.
* java/awt/Component.java (visible, enabled, eventMask): Set defaults.
(getGraphicsConfiguration): Delegate to
getGraphicsConfigurationImpl().
(getGraphicsConfigurationImpl): New method.
(getToolkit): Only return value from peer if not null.
(isDisplayable): Check with parent.
(isShowing): No parent implies not showing.
(getForeground): Check parent property if local is null.
(getBackground): Likewise.
(getFont): Likewise.
(setForeground): Inform peer.
(setBackground): Likewise
(setLocale): Invalidate component.
(getColorModel): Implemented.
(setLocation): Invalidate, or ignore if no change.
(setSize): Invalidate, or ignore if no change.
(setBounds): Invalidate, or ignore if no change.
(isOpaque): By default, heavyweight implies opaque.
(isLightweight): Implemented.
(getMaximumSize): Implemented.
(doLayout): Implemented, NOP.
(validate): Implemented, NOP.
(invalidate): Only propagate to parent if parent was valid.
(getGraphics): Implemented.
(getFontMetrics): Implemented.
(update): Implemented.
(paintAll): Implemented.
(repaint): Implemented all repaint methods.
(print): Implemented.
(printAll): Implemented.
(createImage): Implemented.
(dispatchEvent): Give the peer a chance to handle the event.
(dispatchEventImpl): Dispatch paint events.
(enableEvents): Lightweights enable events on parent component.
(coalesceEvents): Coalesce paint events, and select event type
using a switch.
(coalescePaintEvents): New method.
(processEvent): Fix unfortunate ordering of statements, and call
correct method for MOUSE_CLICKED.
(processPaintEvent): New method.
(addNotify): Allow container to notify children before event
mask is set in peer.
(addNotifyContainerChildren): New method.
(removeNotify): Visibility should not change on removeNotify.
(paramString): Implemented.
(list): Implemented two of the list methods.
* Container (myInsets): Removed, insets are managed by peer.
(getInsets): Query peer.
(addImpl): Fix reparenting, enable events for lightweights,
initialize component array.
(validate): Call doLayout in validateTree() instead.
(validateTree): Do nothing if already valid. Call beginValidate(),
endValidate() on peer. Call validateTree() instead of validate()
for children that are containers. Mark valid after validation of
children.
(setFont): Partial implementation.
(paint): Implemented.
(visitChildren): New method.
(visitChild): New method.
(update): Implemented.
(print): Implemented.
(paintComponents): Implemented.
(printComponents): Consider translation and clipping.
(getComponentAt): Ignore invisible children. Return this if no
child match.
(addNotify): Call super.
(addNotifyContainerChildren): New method.
(paramString): Implemented.
(list): Implemented.
* java/awt/EventQueue (invokeAndWait): Get system event queue the
right way.
(invokeLater): Likewise.
(isDispatchThread): Likewise.
* java/awt/FontMetrics (getLeading): Formula change.
(getDescent): Consider leading also.
(getMaxAscent): Default to getAscent().
(getMaxDescent): Default to getDescent.
(getMaxAdvance): Return value signifying unknown.
(charWidth): Both methods implemented.
(charsWidth): Implemented.
(bytesWidth): Implemented.
(getWidths): Implemented.
* java/awt/Frame.java (NORMAL, ICONIFIED, iconImage, isResizable,
state): New fields.
(Frame): Rearragend constuctor chaining to disallow null being
passed as a graphics configuration.
(getTitle): Return empty string if null.
(dispose): Removed.
(getIconImage): New method.
(setIconImage): New method.
(finalize): New method.
(setMenuBar): Notify peer.
(isResizable): New method.
(setResizable): New method.
(getState): New method.
(getFont): Removed.
(remove): Implemented.
(removeNotify): New method.
(getFrames): New method.
* java/awt/Graphics.java: Implemented body of class.
* java/awt/Graphics2D.java: New file.
* java/awt/GraphicsConfiguration.java: Enabled part of the API.
* java/awt/Image.java: Implemented body of class.
* java/awt/Panel.java (Panel): Call correct super constructor.
(addNotify): Implemented.
* java/awt/Rectangle.java (isEmpty): Fixed reversed logic.
* java/awt/RenderingHints.java: New file.
* java/awt/Toolkit.java (createComponent): Implemented.
(getSystemEventQueue): Delegate to getSystemEventQueueImpl().
* java/awt/Window.java (Window): Two new constructors. Reordered
constructor chaining.
(getGraphicsConfigurationImpl): New method.
(finalize): Call super.
(addNotify): Call super.
(pack): Do layout stuff.
(show): Ensure that peer exists and that component is valid.
(dispose): Dispose owned children.
(getOwner): Simplify code, casting null pointers is valid.
(getGraphicsConfiguration): Ask peer if local value is null.
* java/awt/event/ActionEvent.java (getActionCommand): Renamed from
getcmd().
* java/awt/image/BufferedImage.java: New file.
* java/awt/image/RasterOp.java: New file.
* java/awt/peer/ComponentPeer.java (getGraphicsConfiguration):
More powerfull replacement for getColorModel().
(getColorModel) Removed.
(setEventMask) New method.
* Makefile.am: Added new files.
* Makefile.in: Rebuilt.
From-SVN: r35748
* Makefile.in: Rebuilt.
* Makefile.am (libgcj_la_SOURCES): Added posix.cc.
* java/net/natPlainSocketImpl.cc: Include posix.h.
(accept): Use _Jv_select.
* java/net/natPlainDatagramSocketImpl.cc: Include posix.h.
(receive): Use _Jv_select.
* java/io/natFileDescriptorPosix.cc: Include posix.h.
(available): Use _Jv_select.
* java/lang/natSystem.cc: Include posix.h.
(currentTimeMillis): Use _Jv_gettimeofday.
* include/posix.h: New file.
* posix.cc: New file.
From-SVN: r35435
2000-08-02 Bryce McKinlay <bryce@albatross.co.nz>
* interpret.cc (_Jv_InterpMethod::continue1): Type of `fun' changed
to match C declaration in ffi.h.
* Makefile.am: Add java/awt/Button.java.
* Makefile.in: Rebuilt.
2000-07-29 Alexandre Petit-Bianco <apbianco@cygnus.com>
* java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Type of the
cast of the second argument to `ffi_raw_call' changed to match
prototype.
2000-07-26 Alexandre Petit-Bianco <apbianco@cygnus.com>
* jni.cc (_Jv_JNIMethod::call): Type of the cast of the second
argument to `ffi_raw_call' changed to match prototype.
From-SVN: r35418
2000-07-23 Rolf W. Rasmussen <rolfwr@ii.uib.no>
* libjava/java/awt/image/ColorModel.java: New file, replaces the
stub libjava/java/awt/ColorModel.java which was located in the
wrong package.
* libjava/java/awt/image/ComponentColorModel.java: New file.
* libjava/java/awt/image/ComponentSampleModel.java: New file.
* libjava/java/awt/image/DataBuffer.java: New file.
* libjava/java/awt/image/DataBufferByte.java: New file.
* libjava/java/awt/image/DataBufferInt.java: New file.
* libjava/java/awt/image/DataBufferUShort.java: New file.
* libjava/java/awt/image/DirectColorModel.java: New file.
* libjava/java/awt/image/PackedColorModel.java: New file.
* libjava/java/awt/image/Raster.java: New file.
* libjava/java/awt/image/SampleModel.java: New file.
* libjava/java/awt/image/SinglePixelPackedSampleModel.java: New
file.
* libjava/java/awt/image/IndexColorModel.java: New file.
* libjava/java/awt/image/ImageConsumer.java: Removed import of
java.awt.ColorModel stub.
* gnu/gcj/util/BitMaskExtent.java: New file, utility class.
* gnu/gcj/util/Buffers.java: New file, utility class.
* libjava/Makefile.am: Updated to include new files.
* libjava/Makefile.in: Rebuilt.
From-SVN: r35245
* gnu/java/security/provider/Gnu.java: New file.
* gnu/java/security/provider/SHA.java: New file.
* gnu/java/security/provider/SHA1PRNG.java: New file.
* Makefile.am: Added the above files.
* Makefile.in: Rebuilt.
* java/io/ObjectStreamClass.java (setUID): Use Gnu SHA instead of SHS.
From-SVN: r34753