changeset 13122:b88f126a9690

8191948: db error: InvalidTypeException: Can't assign double[][][] to double[][][] Reviewed-by: sspitsyn, amenkov
author dtitov
date Thu, 26 Jul 2018 01:52:16 -0400
parents b8843bca95b5
children dddb1b026323
files src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java
diffstat 1 files changed, 4 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java	Fri Jan 12 11:06:22 2018 -0800
+++ b/src/share/classes/com/sun/tools/jdi/ReferenceTypeImpl.java	Thu Jul 26 01:52:16 2018 -0400
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1998, 2011, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1111,7 +1111,7 @@
         this.genericSignatureGotten = true;
     }
 
-    private static boolean isPrimitiveArray(String signature) {
+    private static boolean isOneDimensionalPrimitiveArray(String signature) {
         int i = signature.lastIndexOf('[');
         /*
          * TO DO: Centralize JNI signature knowledge.
@@ -1120,7 +1120,7 @@
          *  jdk1.4/doc/guide/jpda/jdi/com/sun/jdi/doc-files/signature.html
          */
         boolean isPA;
-        if (i < 0) {
+        if (i < 0 || signature.startsWith("[[")) {
             isPA = false;
         } else {
             char c = signature.charAt(i + 1);
@@ -1144,7 +1144,7 @@
             ClassLoaderReferenceImpl loader =
                        (ClassLoaderReferenceImpl)classLoader();
             if ((loader == null) ||
-                (isPrimitiveArray(signature)) //Work around 4450091
+                (isOneDimensionalPrimitiveArray(signature)) //Work around 4450091
                 ) {
                 // Caller wants type of boot class field
                 type = vm.findBootType(signature);