aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoachim Sauer <jsauer@google.com>2016-05-10 17:57:05 +0100
committerJoachim Sauer <jsauer@google.com>2016-05-10 17:58:21 +0100
commit8f27032b2aaf133892562f83314efa39a9c2353c (patch)
treef7a1cf862552cde3e02d72083790af013ab45a53 /src
parent7a133242429c2c29bd968d4b1fc5f7f3bb4375e8 (diff)
downloadjdiff-8f27032b2aaf133892562f83314efa39a9c2353c.tar.gz
Fix merging add/remove on same method.android-n-preview-5android-n-preview-4android-n-mr2-preview-1android-n-mr1-preview-2android-n-mr1-preview-1android-n-iot-release-smart-display-r2android-n-iot-release-smart-displayandroid-n-iot-release-polk-at1android-n-iot-release-lg-thinq-wk7android-n-iot-release-ihome-igv1android-n-iot-preview-4android-n-iot-preview-2android-cts-7.0_r9android-cts-7.0_r8android-cts-7.0_r7android-cts-7.0_r6android-cts-7.0_r5android-cts-7.0_r4android-cts-7.0_r33android-cts-7.0_r32android-cts-7.0_r31android-cts-7.0_r30android-cts-7.0_r3android-cts-7.0_r29android-cts-7.0_r28android-cts-7.0_r27android-cts-7.0_r26android-cts-7.0_r25android-cts-7.0_r24android-cts-7.0_r23android-cts-7.0_r22android-cts-7.0_r21android-cts-7.0_r20android-cts-7.0_r2android-cts-7.0_r19android-cts-7.0_r18android-cts-7.0_r17android-cts-7.0_r16android-cts-7.0_r15android-cts-7.0_r14android-cts-7.0_r13android-cts-7.0_r12android-cts-7.0_r11android-cts-7.0_r10android-cts-7.0_r1android-7.0.0_r9android-7.0.0_r8android-7.0.0_r7android-7.0.0_r6android-7.0.0_r5android-7.0.0_r4android-7.0.0_r36android-7.0.0_r35android-7.0.0_r34android-7.0.0_r33android-7.0.0_r32android-7.0.0_r31android-7.0.0_r30android-7.0.0_r3android-7.0.0_r29android-7.0.0_r28android-7.0.0_r27android-7.0.0_r24android-7.0.0_r21android-7.0.0_r19android-7.0.0_r17android-7.0.0_r15android-7.0.0_r14android-7.0.0_r13android-7.0.0_r12android-7.0.0_r11android-7.0.0_r10android-7.0.0_r1nougat-releasenougat-mr0.5-releasenougat-iot-releasenougat-devnougat-cts-releasenougat-bugfix-releasen-mr2-preview-1n-mr1-preview-1n-iot-preview-4n-iot-preview-2
Changes to methods are detected as both addition/removal and merged into a single "change" entry in a separate step. The code that searched for the equivalent "remove" step only ever looked at the first removed method with that name, ch caused the merging to change if several methods with the same name were changed at once (for example several overloads were precated at once). Bug: 27582395 Change-Id: I9718709de4d5e70c291c92ca2801e922f98a39a1
Diffstat (limited to 'src')
-rwxr-xr-xsrc/jdiff/MergeChanges.java3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/jdiff/MergeChanges.java b/src/jdiff/MergeChanges.java
index d253ff4..7ef0a84 100755
--- a/src/jdiff/MergeChanges.java
+++ b/src/jdiff/MergeChanges.java
@@ -210,9 +210,10 @@ class MergeChanges {
for (int i = startAdded; i <= endAdded; i++) {
MethodAPI addedMethod2 = (MethodAPI)(classDiff.methodsAdded.get(i));
if (addedMethod2.inheritedFrom_ == null &&
- removedMethod.equalSignatures(addedMethod2))
+ removedMethod.equalSignatures(addedMethod2)) {
addedIdx = i;
break;
+ }
}
if (addedIdx == -1)
return;