Merge "Fix method id merging" into ub-jack
diff --git a/jack/src/com/android/jack/frontend/MethodIdMerger.java b/jack/src/com/android/jack/frontend/MethodIdMerger.java
index 435e89d..bfce4fb 100644
--- a/jack/src/com/android/jack/frontend/MethodIdMerger.java
+++ b/jack/src/com/android/jack/frontend/MethodIdMerger.java
@@ -169,12 +169,12 @@
return;
}
- for (JMethodId id : duplicate.getMethodIds()) {
- JMethodId keptId = keep.getMethodId(id.getType());
+ for (JMethodId duplicateId : duplicate.getMethodIds()) {
+ JMethodId keptId = keep.getMethodId(duplicateId.getType());
if (keptId == null) {
- keptId = new JMethodId(keep, id.getType());
+ keptId = new JMethodId(keep, duplicateId.getType());
}
- for (JMethod method : duplicate.getMethods()) {
+ for (JMethod method : duplicateId.getMethods()) {
method.setMethodId(keptId);
}
}
diff --git a/jack/src/com/android/jack/ir/ast/JMethod.java b/jack/src/com/android/jack/ir/ast/JMethod.java
index 3762515..d86bca9 100644
--- a/jack/src/com/android/jack/ir/ast/JMethod.java
+++ b/jack/src/com/android/jack/ir/ast/JMethod.java
@@ -398,6 +398,7 @@
public void setMethodId(@Nonnull JMethodId methodId) {
assert getExpectedMethodKind() == methodId.getMethodIdWide().getKind();
+ assert methodId.getType().equals(this.methodId.getType());
this.methodId = methodId;
methodId.addMethod(this);
}