From a1ba5b090c002e864581a107865666bd077a456a Mon Sep 17 00:00:00 2001 From: mikaelpeltier Date: Thu, 11 Sep 2014 15:40:42 +0200 Subject: Merge method must keep array dimension Bug: 17462619 Change-Id: I0c4adfc7b7dc2df80a247f5d74c3873d698f4d81 --- jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'jill/src/com/android') diff --git a/jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java b/jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java index 772bcc0..34aa756 100644 --- a/jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java +++ b/jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java @@ -16,6 +16,8 @@ package com.android.jill.frontend.java.analyzer; +import com.google.common.base.Strings; + import com.android.jill.JillException; import org.objectweb.asm.Type; @@ -111,7 +113,9 @@ public class JillAnalyzer extends BasicInterpreter { if (componentUnion == BasicValue.UNINITIALIZED_VALUE) { return BasicValue.REFERENCE_VALUE; } - return new BasicValue(Type.getType("[" + componentUnion.getType().getDescriptor())); + return new BasicValue(Type.getType( + Strings.repeat("[", Math.min(type1.getDimensions(), type2.getDimensions())) + + componentUnion.getType().getDescriptor())); } } else if (type1.getSort() == Type.OBJECT && type2.getSort() == Type.OBJECT) { if (isKnownNull(type1)) { -- cgit v1.1