diff options
author | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-14 05:32:31 +0000 |
---|---|---|
committer | bryce <bryce@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-02-14 05:32:31 +0000 |
commit | f78457c18e74ccf5683c88a96988e8ef276c42fc (patch) | |
tree | 4f2a41fd0521db9e0327c39ffe966d5f227e8cf6 /libjava/java/lang/natClass.cc | |
parent | cfd386ad0babbb02b7ee00af04f9f45efbaf583d (diff) | |
download | ppe42-gcc-f78457c18e74ccf5683c88a96988e8ef276c42fc.tar.gz ppe42-gcc-f78457c18e74ccf5683c88a96988e8ef276c42fc.zip |
* java/lang/natClass.cc (getSignature): Don't try to dereference
param_types if it is null. Instead, take this to mean "no parameters".
* java/lang/TreeMap.java (TreeIterator.next): Throw
NoSuchElementException in preference to
ConcurrentModificationException.
(TreeIterator.remove): Throw IllegalStateException in preference to
ConcurrentModificationException.
(SubMap.firstKey): Do a better check for empty SubMap, and if it is,
throw a NoSuchElementException.
(SubMap.lastKey): Likewise.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@39658 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/lang/natClass.cc')
-rw-r--r-- | libjava/java/lang/natClass.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc index 6678b7794cf..a1008d692d0 100644 --- a/libjava/java/lang/natClass.cc +++ b/libjava/java/lang/natClass.cc @@ -290,8 +290,12 @@ java::lang::Class::getSignature (JArray<jclass> *param_types, java::lang::StringBuffer *buf = new java::lang::StringBuffer (); buf->append((jchar) '('); jclass *v = elements (param_types); - for (int i = 0; i < param_types->length; ++i) - v[i]->getSignature(buf); + // A NULL param_types means "no parameters". + if (param_types != NULL) + { + for (int i = 0; i < param_types->length; ++i) + v[i]->getSignature(buf); + } buf->append((jchar) ')'); if (is_constructor) buf->append((jchar) 'V'); |