aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/reflect/natArray.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2001-10-02 13:44:32 +0000
committerTom Tromey <tromey@gcc.gnu.org>2001-10-02 13:44:32 +0000
commit62a040818aae81ad8558ebbe3c8973a16e7c250f (patch)
tree671927c18dd4a69605e4bc5e6e956d6b870a48d6 /libjava/java/lang/reflect/natArray.cc
parent6cbd1b6f7ebf08244942dd1aaae5ae73ef79da48 (diff)
downloadgcc-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.cc5
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]);