diff options
author | mikaelpeltier <mikaelpeltier@google.com> | 2014-09-11 15:40:42 +0200 |
---|---|---|
committer | mikaelpeltier <mikaelpeltier@google.com> | 2014-09-11 15:40:42 +0200 |
commit | a1ba5b090c002e864581a107865666bd077a456a (patch) | |
tree | 32eee56b613ed714226a9afa5d5e815c7993cfb3 /jill/src/com | |
parent | 514fff5c3f34d89c9bf27e90fd967e63edcbae92 (diff) | |
download | toolchain_jill-a1ba5b090c002e864581a107865666bd077a456a.zip toolchain_jill-a1ba5b090c002e864581a107865666bd077a456a.tar.gz toolchain_jill-a1ba5b090c002e864581a107865666bd077a456a.tar.bz2 |
Merge method must keep array dimension
Bug: 17462619
Change-Id: I0c4adfc7b7dc2df80a247f5d74c3873d698f4d81
Diffstat (limited to 'jill/src/com')
-rw-r--r-- | jill/src/com/android/jill/frontend/java/analyzer/JillAnalyzer.java | 6 |
1 files changed, 5 insertions, 1 deletions
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)) { |