2003-11-11 Micheal Koch <konqueror@gmx.de>
* java/net/URLStreamHandler.java (toExternalForm): Print port only
if host is printed too and port was really given to URL.
From-SVN: r73445
* libjava.jar/simple.jar: New file.
* libjava.jar/simple.xfail: New file.
* libjava.jar/simple.out: New file.
* libjava.jar/simple.java: New file.
* libjava.jar/jar.exp: New file.
From-SVN: r73426
PR libgcj/12231
* java/lang/Win32Process.java (hasExited) Changed from
public to private.
(startProcess): Likewise.
(cleanup): Likewise.
* java/lang/natWin32Process.cc (cleanup) Don't close
input, output and error streams.
(ChildProcessPipe): New helper class.
(startProcess): Refactored to use ChildProcessPipe.
Use CREATE_NO_WINDOW when launching child process.
From-SVN: r73326
* include/win32.h (_Jv_platform_close_on_exec): Changed
signature and declared extern.
* win32.cc (_Jv_platform_close_on_exec): Implemented.
* gnu/java/net/natPlainDatagramSocketImplWin32.cc
(create): Use new signature of _Jv_platform_close_on_exec.
* gnu/java/net/natPlainSocketImplWin32.cc
(create): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
(accept): Eliminated a few typecasts
Use new signature of _Jv_platform_close_on_exec.
* java/io/natFileDescriptorWin32.cc (open): Use
_Jv_platform_close_on_exec.
From-SVN: r73325
* win32.cc: (dirExists) Internal helper function to
test for directory existence.
(getUserHome) New helper function refactored out
of _Jv_platform_initProperties. Uses USERPROFILE
instead of HOMEDIR and attempts to support Win9X and NT.
(_Jv_platform_initProperties) Use getUserHome.
From-SVN: r73117
2003-10-30 Thomas Fitzsimmons <fitzsim@redhat.com>
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkTextAreaPeer.c (create): Turn on
word wrapping.
From-SVN: r73093
2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/text/DateFormat.java (Field): New public static inner class.
* java/text/Format.java (Field): Likewise.
(formatToCharacterIterator): New method.
* java/text/FormatCharacterIterator.java: New file.
2003-10-29 Mark Wielaard <mark@klomp.org>
From Guilhem Lavaux <guilhem.lavaux@free.fr>
* java/util/Currency.java: New file.
2003-10-29 Michael Koch <konqueror@gmx.de>
* Makefile.am (ordinary_java_source_files): Added
java/text/FormatCharacterIterator.java and java/util/Currency.java.
* Makefile.in: Regenerated.
From-SVN: r73046
2003-10-29 Julian Dolby <dolby@us.ibm.com>
* javax/naming/spi/NamingManager.java (getContinuationContext): Call
getObjectInstance() with Object, Name, Context and environment
Hashtable from exception. Call fillInStackTrace() on exception when
rethrown.
* javax/naming/InitialContext.java (lookup(Name)): When a
CannotProceedException is thrown use the ContinuationContext.
(lookup(String)): Likewise.
(close): Clear myProps and defaultInitCtx.
From-SVN: r73041
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* java/lang/reflect/Constructor.java (toString): Avoid extra
whitespace on constructor with no modifiers.
* java/lang/reflect/natConstructor.java (newInstance): Look up
caller and perform accessibility check only if constructor is
non-public and accessible flag is not set.
2003-10-26 Bryce McKinlay <bryce@mckinlay.net.nz>
* jni.cc (_Jv_JNI_CallAnyMethodV, _Jv_JNI_CallAnyMethodA,
_Jv_JNI_CallAnyVoidMethodV, _Jv_JNI_CallAnyVoidMethodA): Don't
use _Jv_LookupDeclaredMethod(). Call _Jv_CallAnyMethodA with
is_virtual_call argument.
* include/jvm.h (_Jv_isVirtualMethod): Moved and renamed from
natClass.cc.
* java/lang/natClass.cc (_Jv_LayoutVTableMethods): Use
_Jv_isVirtualMethod.
* java/lang/reflect/natMethod.cc (invoke): Don't use
_Jv_LookupDeclaredMethod.
(_Jv_CallAnyMethodA): New is_virtual_call argument. If specified,
look up method in target object's vtable.
From-SVN: r72942
PR libgcj/11780:
* java/lang/reflect/natMethod.cc (invoke): Look up caller and
perform accessibility check only if target is non-public and
accessible flag is not set.
* java/lang/reflect/natField.cc (getAddr): Likewise.
From-SVN: r72918
2003-10-24 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (handleEvent):
Remove method.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java (postWindowEvent):
New method.
* java/awt/Window.java (Window(Window,GraphicsConfiguration),
show, hide, dispose, getOwnedWindows): Synchronize on tree lock.
(dispose): Post WINDOW_CLOSED event.
(addWindowFocusListener, addWindowStateListener): Assign result
of multicaster add back to window listener.
(removeWindowFocusListener, removeWindowStateListener): Assign
result of multicaster remove back to window listener.
(dispatchEventImpl): Add null checks for focus and state
listeners.
(processWindowEvent): Handle case where windowListener is null
but state or focus listeners exist.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
glue for postWindowEvent.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c
(window_delete_cb, window_destroy_cb, window_show_cb,
window_focus_in_cb, window_focus_out_cb, window_window_state_cb,
window_get_new_state): New functions.
* jni/gtk-peer/gtkpeer.h: Define window event and frame state
macros. Declare postWindowEventID.
From-SVN: r72906
2003-10-22 Andrew Haley <aph@redhat.com>
* lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): New.
(java_get_callee_fndecl): New.
* jcf-parse.c (java_parse_file): Call emit_catch_table().
* java-tree.h (ctable_decl): New.
(catch_classes): New.
(java_tree_index): Add JTI_CTABLE_DECL, JTI_CATCH_CLASSES.
* decl.c (java_init_decl_processing): Add catch_class_type.
Add ctable_decl.
Add catch_classes field.
* class.c (build_indirect_class_ref): Break out from
build_class_ref.
(make_field_value): Check flag_indirect_dispatch.
(make_class_data): Ditto.
Tidy uses of PUSH_FIELD_VALUE.
Add field catch_classes.
(make_catch_class_record): New.
* java-tree.h (PUSH_FIELD_VALUE): Tidy.
2003-10-22 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Call
_Jv_linkExceptionClassTable.
(_Jv_LinkSymbolTable): Call )_Jv_ThrowNoSuchMethodError. Call
_Jv_Defer_Resolution on a method whose ncode is NULL.
(_Jv_linkExceptionClassTable): New function.
(_Jv_LayoutVTableMethods): If superclass looks like a constant pool
entry, look it up.
* java/lang/Class.h (struct _Jv_CatchClass): New.
(_Jv_linkExceptionClassTable): New friend.
(_Jv_Defer_Resolution): New friend.
(class Class.catch_classes): New field.
* include/java-interp.h (Jv_Defer_Resolution): New method.
(_Jv_PrepareClass): Make a friend of _Jv_MethodBase.
(_Jv_MethodBase.deferred): New field.
(_Jv_Defer_Resolution): New function.
* resolve.cc (_Jv_PrepareClass): Resolve deferred handlers.
* exception.cc (get_ttype_entry): Change return type to void**.
(PERSONALITY_FUNCTION): Remove all code related to using a
Utf8Const* for a match type. Change match type to be a pointer to
a pointer, rather than a pointer to a Class.
* defineclass.cc (handleCodeAttribute): Initialize
method->deferred.
(handleMethodsEnd): Likewise.
From-SVN: r72886
2003-10-22 David Daney <ddaney@avtrex.com)
* include/mips-signal.h: New file.
* sysdep/dwarf2-backtrace.cc: New file.
* sysdep/mips: New directory.
* sysdep/mips/locks.h: New file.
* Makefile.am(extra_cc_files): New, to allow extra c++ files to be
added to libgcj.
(extra_cc_source_files): Ditto.
* configure.host(disable_dladdr): New shell variable passed to
configure.
(mips*-*-linux*): sysdeps_dir=mips,
can_unwind_signal=yes, disable_dladdr=yes, use -mxgot.
(mipsel*-linux* | mipsisa32el*-linux*): Enable hash synchronization.
* configure.in:(mips*-*-linux*): Use sysdep/dwarf2-backtrace.cc to
generate backtrace, and include/mips-signal.h as SIGNAL_HANDLER
(HAVE_DLADDR): Make it depend on setting of disable_dladdr.
(EXTRA_CC_FILES): New, to support conditional addition of
sysdep/dwarf2-backtrace.cc.
* configure: Regenerated.
* Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
* include/config.h.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
From-SVN: r72808
2003-10-21 Sascha Brawer <brawer@dandelis.ch>
Fix for bug #2944, reported by David Holmes <dholmes@dltech.com.au>
* java/util/logging/ErrorManager.java (everUsed): Made volatile.
(error): Synchronize on instance, not class.
From-SVN: r72750
2003-10-21 Mark Wielaard <mark@klomp.org>
Reported by M.Negovanovic
* java/beans/Introspector.java (getBeanInfo(ClassLoader, String)): New
method.
(reallyFindExplicitBeanInfo): Use new getBeanInfo() method.
From-SVN: r72749
2003-10-21 Michael Koch <konqueror@gmx.de>
* java/nio/ByteOrder.java,
java/nio/DirectByteBufferImpl.java,
java/nio/channels/FileChannelImpl.java:
Add code to load library with code for native methods if needed.
From-SVN: r72747
2003-10-21 Michael Koch <konqueror@gmx.de>
* gnu/java/net/PlainDatagramSocketImpl.java,
gnu/java/net/PlainSocketImpl.java,
gnu/java/net/natPlainDatagramSocketImplPosix.cc,
gnu/java/net/natPlainDatagramSocketImplWin32.cc,
gnu/java/net/natPlainSocketImplPosix.cc,
gnu/java/net/natPlainSocketImplWin32.cc:
Renamed fnum to native_fd to match classpath more.
From-SVN: r72746
* java/text/RuleBasedCollator.java
(RuleBasedCollator): Check rules not empty, fixed search in already
existing collation elements.
(is_special): Removed common whitespace characters.
(text_argument): Dont return on whitespaces, add characters between
two ' to string buffer.
From-SVN: r72716
2003-10-18 Michael Koch <konqueror@gmx.de>
* gnu/java/net/protocol/file/Connection.java,
gnu/java/net/protocol/file/Handler.java,
gnu/java/net/protocol/http/Connection.java,
gnu/java/net/protocol/http/Handler.java,
gnu/java/net/protocol/jar/Connection.java,
gnu/java/net/protocol/jar/Handler.java:
Merged copyright text from classpath to make
it possible to merge the classes.
From-SVN: r72638
* prims.cc (_Jv_NewObjectArray): Make sure byte size doesn't
overflow a jint.
(_Jv_NewPrimArray): Check for overflowing a jint, replacing a
check for overflowing size_t, since the lower level functions
take a jint.
* testsuite/libjava.lang/newarray_overflow.java: New file.
* testsuite/libjava.lang/newarray_overflow.out: New file.
From-SVN: r72577
* java/util/zip/InflaterInputStream.java
(InflaterInputStream): Renamed infl to inf and bufsize to size,
added description to exception, check for inf == null and size < 0.
From-SVN: r72519
2003-10-14 Paolo Bonzini <bonzini@gnu.org>
* interpret.cc (_Jv_InterpMethod::run): Don't
use libffi types, they were meant to be internal.
* gcj/javaprims.h (_Jv_ulong): New typedef.
From-SVN: r72482
* java/nio/Buffer.java
(hasRemaining): Made implementation more clear.
* java/nio/MappedByteBuffer.java
(loaded): New member variable.
(force): Added comment.
(isLoaded): Return value of loaded.
(load): Set loaded to true, added comment.
From-SVN: r72418
* gnu/java/nio/PipeImpl.java
(SourceChannelImpl): New inner class.
(SinkChannelImpl): New inner class.
(sink): New member variable.
(source): New member variable.
(PipeImpl): Add SelectorProvider argument, implemented.
(nativeInit): New method.
(sink): Return sink channel.
(source): Return source channel.
* gnu/java/nio/SelectorProviderImpl.java
(openPipe): Give provider as argument to PipeImpl constructor.
* java/nio/channels/spi/SelectorProvider.java
(pr): Removed.
(systemDefaultProvider): New member variable.
(provider): Made it synchronized, use property
java.nio.channels.spi.SelectorProvider.
* gnu/java/nio/natPipeImpl.cc: New file.
* Makefile.am (nat_source_files): Added gnu/java/nio/natPipeImpl.cc.
* Makefile.in: Regenerated.
From-SVN: r72397
2003-10-09 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectorImpl.java (register):
Use ServerSocketChannelSelectionKey for server socket channels,
removed unneeded comments.
* gnu/java/nio/ServerSocketChannelImpl.java
(ServerSocketChannelImpl): Made class public final.
(impl): New member variable.
(ServerSocketChannelImpl): Initialize member variables correctly.
(initServerSocket): New method.
(getNativeFD): Likewise.
* gnu/java/nio/ServerSocketChannelSelectionKey.java,
gnu/java/nio/natServerSocketChannelImpl.cc: New files.
* Makefile.am (ordinary_java_source_files):
Added gnu/java/nio/ServerSocketChannelSelectionKey.java.
(nat_source_files): Added gnu/java/nio/natServerSocketChannelImpl.cc.
* Makefile.in: Regenrated.
From-SVN: r72277
2003-10-09 Michael Koch <konqueror@gmx.de>
* java/rmi/server/RMIClassLoader.java:
Removed unused imports, little reformatings.
(getClassLoader): New method, implementation was part of old loadCLass
method.
(loadClass): Simplified by moving functionality to new method and
reworking the code a bit.
(getClassAnnotation): Merged documentation from classpath.
From-SVN: r72267
2003-10-08 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkButtonPeer.java (handleEvent): Remove
modality check.
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
Initialize insets to use latest insets.
* gnu/java/awt/peer/gtk/GtkFramePeer.java: Likewise.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java (latestInsets): New
field.
(postConfigureEvent): Update latestInsets field when insets
change. Remove call to setSize. Move validate call outside of
if blocks.
(setVisible): Call setBounds before showing window.
(nativeSetVisible): New native method.
* java/awt/Window.java (show): Show visible owned windows.
(hide): Hide visible owned windows.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(awt_event_handler): Implement modality using GTK grabs.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c
(global_gtk_window_group): New global variable.
(gtkInit): Initialize global_gtk_window_group.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
Clamp width and height values to at least 1. Add this window to
the global GTK window group.
(setVisible): Rename to nativeSetVisible.
(setup_window): Remove function.
(setSize): Clamp width and height values to at least 1.
(nativeSetBounds): Likewise.
(gdk_window_get_root_geometry): Remove function.
* jni/gtk-peer/gtkpeer.h: Remove gdk_window_get_root_geometry
and setup_window declarations. Declare global_gtk_window_group.
From-SVN: r72252
* java/lang/StrictMath.java (toDegrees): Multiply before
dividing.
(toRadians): Likewise.
2003-10-08 C. Brian Jones <cbj@gnu.org>
* java/lang/Math.java
(toRadians): multiply before dividing to reduce decimal error
(toDegrees): ditto
From-SVN: r72238
* java/util/prefs/Preferences.java
(defaultFactoryClass): Fixed class name.
(getFactory): Create instance of class returned by Class.forName(),
reformated code.
From-SVN: r72229
* javax/swing/table/AbstractTableModel.java
(getColumnName): Simplified code much. Thanks to Yannick Boogaerts who
helped stop pulling my hair on this +1 then -1 tricky thing!
From-SVN: r72228
2003-10-02 Thomas Fitzsimmons <fitzsim@redhat.com>
* gnu/java/awt/peer/gtk/GtkComponentPeer.java (insets): New
field.
(initializeInsets): New method.
(GtkComponentPeer): Call initializeInsets. Call setCursor and
setBounds unconditionally.
(setBounds): Convert coordinates if parent is a Window.
* gnu/java/awt/peer/gtk/GtkContainerPeer.java (insets): Move
field to GtkComponentPeer.
(GtkContainerPeer): Don't initialize insets.
* gnu/java/awt/peer/gtk/GtkDialogPeer.java (initializeInsets):
New method.
(create): Call new GtkWindowPeer create method.
* gnu/java/awt/peer/gtk/GtkFramePeer.java (initializeInsets):
New method.
(create): Call new GtkWindowPeer create method.
(setBounds): Remove method.
(postConfigureEvent): Likewise.
* gnu/java/awt/peer/gtk/GtkWindowPeer.java: Replace GTK window
type constants with GDK window type constants.
(create(int,boolean,int,int,GtkWindowPeer)): New method.
(create(int,boolean)): Likewise.
(create()): Call create(int,boolean).
(nativeSetBounds): New native method declaration.
(setBounds): Call native method declaration.
(setSize): New native method declaration.
(setBoundsCallback): Likewise.
(postConfigureEvent): Handle change in insets. Call setSize and
setBoundsCallback methods.
* java/awt/Window.java (Window): Set visible to false.
(setBoundsCallback): New method.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkComponentPeer.c
(gtkWidgetGetLocationOnScreen): If this component is not a
container, adjust the location returned based on the peer's
allocation.
(set(String,boolean)): Revert change from 2003-09-19.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkEvents.c
(awt_event_handler): Fix inset calculation.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkMainThread.c: Add JNI
glue for Window.setBoundsCallback.
* jni/gtk-peer/gnu_java_awt_peer_gtk_GtkWindowPeer.c (create):
Set up stacking order, window decorations and window manager
hints.
(setBoundsCallback): New method.
(setSize): New method.
(nativeSetBounds): New method.
* jni/gtk-peer/gtkpeer.h: Declare setBoundsCallbackID.
From-SVN: r72043
* java/net/InetAddress.java
(zeros): Removed.
(ANY_IF): Initalizie in static block.
(static): Load library with native methods here and initialize ANY_IF.
(isAnyLocalAddress): Check if equal to ANY_IF.
(equals): Use addr directly instead of addr1. Simplify for loop.
(toString): Rename "result" to "host" and add IP address allways.
(getLocalHost): Merged documentation from classpath.
* java/net/ServerSocket.java
(ServerSocket): New package-private constructor used by java.nio.
* java/net/URLConnection.java
(getRequestProperties): Check if already connected.
From-SVN: r72032
* java/net/URL.java
(DEFAULT_SEARCH_PATH): New static variable.
(ph_cache): Made it a HashMap.
(getURLStreamHandler): Rename propVal to ph_search_path and use
DEFAULT_SEARCH_PATH.
From-SVN: r72023
* javax/swing/table/AbstractTableModel.java
(findColumnName): Prevent from NullPointerException if argument
columnName is null.
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java:
This patch is based on a patch done by Arnaud Vandyck
<arnaud.vandyck@ulg.ac.be>.
(getColumnName): Fixed method documentation.
(findColumn): Likewise.
(getColumnClass): Likewise.
(isCellEditable): Likewise.
(setValueAt): Likewise.
(addTableModelListener): Likewise.
(removeTableModelListener): Likewise.
(getTableModelListeners): New method.
2003-10-02 Michael Koch <konqueror@gmx.de>
* javax/swing/table/AbstractTableModel.java:
Reformated.
From-SVN: r72019
2003-10-01 Andrew Haley <aph@redhat.com>
* jcf-parse.c (java_parse_file): Write otable and atable.
* java-tree.h (atable_methods): New.
(atable_decl): New.
(atable_syms_decl): New.
(enum java_tree_index): Add JTI_ATABLE_METHODS, JTI_ATABLE_DECL,
JTI_ATABLE_SYMS_DECL. Rename JTI_METHOD_SYMBOL* to JTI_SYMBOL*.
(symbol_*type): Rename method_symbol* to symbol*type.
(emit_offset_symbol_table): Delete.
(emit_symbol_table): New.
(get_symbol_table_index): New.
(atable_type): New.
* expr.c (build_field_ref): Handle flag_indirect_dispatch.
(build_known_method_ref): Likewise.
(get_symbol_table_index): Rename from get_offset_table_index.
Parameterize to allow re-use by differing types of symbol table.
(build_invokevirtual): Pass table to get_offset_table_index.
* decl.c (java_init_decl_processing): Push types and decls for
atable and atable_syyms.
* class.c (build_static_field_ref): Handle flag_indirect_dispatch.
(make_class_data): Add new fields atable and atable_syms.
(emit_symbol_table): Rename from emit_offset_symbol_table.
Parameterize to allow re-use by different types of symbol table.
(build_symbol_entry): Renamed from build_method_symbols_entry.
2003-10-01 Andrew Haley <aph@redhat.com>
* java/lang/natClass.cc (initializeClass): Check for otable and
atable.
(_Jv_LinkOffsetTable): Check for existence of atable. Rewrite
loops using for(). Search superinterfaces. Check for fields as
well as methods. Initialize atable as well as otable: check for
static methods as well as virtual methods.
* java/lang/Class.h (struct _Jv_AddressTable): New.
(atable): New.
(atable_syms): New.
* include/jvm.h (_Jv_equalUtf8Consts): constify.
* prims.cc (_Jv_equalUtf8Consts): constify.
From-SVN: r71979
* java/net/InetAddress.java:
(isMulticastAddress): Dont use local variable to store address length.
Let the compiler optimize this.
(getHostName): Merged dcoumentation from classpath.
(getAddress): Likewise.
(getHostAddress): Likewise.
(hashCode): Likewise.
(equals): Likewise.
(toString): Likewise.
(getByName): Likewise.
(getAllByName): Likewise.
From-SVN: r71899
* boehm.cc (_Jv_BuildGCDescr): Put first word of object in most
significant bit of descriptor. Include the vtable and sync_info
fields.
From-SVN: r71895
* java/text/DateFormat.java (format): Throw IllegalArgumentException
if j' is not a Number or Date instance.
* java/text/SimpleDateFormat.java (tokens): Make it an ArrayList
instead of Vector.
From-SVN: r71871
2003-09-27 Michael Koch <konqueror@gmx.de>
* java/net/URL.java (getURLStreamHandler):
Check if we have to use cache before trying to retrieve handler from
cache. Rename facName to clsName to match classpath more. Reformated
some little pieces.
From-SVN: r71852
2003-09-27 Michael Koch <konqueror@gmx.de>
* gnu/java/nio/SelectionKeyImpl.java
(ch): Make package-private again. Jikes found this bug.
Jeff Sturm submitted PR12426 for this to bugzilla
to fix this bug in gcj.
From-SVN: r71841