diff options
author | Tom Tromey <tromey@redhat.com> | 2001-10-02 13:44:32 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 2001-10-02 13:44:32 +0000 |
commit | 62a040818aae81ad8558ebbe3c8973a16e7c250f (patch) | |
tree | 671927c18dd4a69605e4bc5e6e956d6b870a48d6 /libjava/java/lang/reflect/natArray.cc | |
parent | 6cbd1b6f7ebf08244942dd1aaae5ae73ef79da48 (diff) | |
download | gcc-62a040818aae81ad8558ebbe3c8973a16e7c250f.zip gcc-62a040818aae81ad8558ebbe3c8973a16e7c250f.tar.gz gcc-62a040818aae81ad8558ebbe3c8973a16e7c250f.tar.bz2 |
prims.cc (_Jv_NewMultiArrayUnchecked): New method.
* prims.cc (_Jv_NewMultiArrayUnchecked): New method.
(_Jv_NewMultiArray): Use it. Check each array dimension.
(_Jv_NewMultiArray): Likewise.
* java/lang/reflect/natMethod.cc (can_widen): Nothing promotes to
`char'.
* java/lang/reflect/natArray.cc (newInstance): Throw
IllegalArgumentException if there are no dimensions.
From-SVN: r45951
Diffstat (limited to 'libjava/java/lang/reflect/natArray.cc')
-rw-r--r-- | libjava/java/lang/reflect/natArray.cc | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libjava/java/lang/reflect/natArray.cc b/libjava/java/lang/reflect/natArray.cc index bc48041..7875122 100644 --- a/libjava/java/lang/reflect/natArray.cc +++ b/libjava/java/lang/reflect/natArray.cc @@ -43,11 +43,12 @@ java::lang::reflect::Array::newInstance (jclass componentType, jint length) } jobject -java::lang::reflect::Array::newInstance (jclass componentType, jintArray dimensions) +java::lang::reflect::Array::newInstance (jclass componentType, + jintArray dimensions) { jint ndims = dimensions->length; if (ndims == 0) - return componentType->newInstance (); + throw new java::lang::IllegalArgumentException (); jint* dims = elements (dimensions); if (ndims == 1) return newInstance (componentType, dims[0]); |