From 65d6c1018592144d180e99d405aa8a87ec2ef9b6 Mon Sep 17 00:00:00 2001 From: Daniil Titov Date: Tue, 15 Sep 2020 15:29:12 +0000 Subject: [PATCH] 8252933: com.sun.tools.jdi.ObjectReferenceImpl#validateAssignment always requests referenceType Reviewed-by: cjplummer, amenkov --- .../classes/com/sun/tools/jdi/ObjectReferenceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/jdk.jdi/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java b/src/jdk.jdi/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java index f714e22a529..31ad7e48320 100644 --- a/src/jdk.jdi/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java +++ b/src/jdk.jdi/share/classes/com/sun/tools/jdi/ObjectReferenceImpl.java @@ -586,12 +586,14 @@ public class ObjectReferenceImpl extends ValueImpl */ JNITypeParser destSig = new JNITypeParser(destination.signature()); - JNITypeParser sourceSig = new JNITypeParser(type().signature()); if (destSig.isPrimitive()) { throw new InvalidTypeException("Can't assign object value to primitive"); } - if (destSig.isArray() && !sourceSig.isArray()) { - throw new InvalidTypeException("Can't assign non-array value to an array"); + if (destSig.isArray()) { + JNITypeParser sourceSig = new JNITypeParser(type().signature()); + if (!sourceSig.isArray()) { + throw new InvalidTypeException("Can't assign non-array value to an array"); + } } if (destSig.isVoid()) { throw new InvalidTypeException("Can't assign object value to a void");