commit | 5a579dd9c5fe5ed10a7b247ca45f3262dc85d136 | [log] [tgz] |
---|---|---|
author | Ian Zerny <zerny@google.com> | Mon Sep 25 11:22:37 2023 +0200 |
committer | Ian Zerny <zerny@google.com> | Mon Sep 25 11:34:04 2023 +0000 |
tree | 5e7c56daf76129c52091c54c7588696449ba0485 | |
parent | d0a656ecd4876c83ed5fd1bac71f6b3a5f27bd84 [diff] |
Check against original type for qualified mapping entries Change-Id: I235295b8a66d5f50496cd06f49babb0f9800816d
diff --git a/src/main/java/com/android/tools/r8/utils/positions/MappedPositionToClassNameMapperBuilder.java b/src/main/java/com/android/tools/r8/utils/positions/MappedPositionToClassNameMapperBuilder.java index f272a71..41a3ecc 100644 --- a/src/main/java/com/android/tools/r8/utils/positions/MappedPositionToClassNameMapperBuilder.java +++ b/src/main/java/com/android/tools/r8/utils/positions/MappedPositionToClassNameMapperBuilder.java
@@ -283,7 +283,14 @@ Function<DexMethod, MethodSignature> getOriginalMethodSignature = m -> signatures.computeIfAbsent( - m, key -> MethodSignature.fromDexMethod(m, m.holder != clazz.getType())); + m, + key -> { + DexType holder = key.holder; + boolean withQualifiedName = + !holder.isIdenticalTo(clazz.getType()) + && !holder.isIdenticalTo(originalType); + return MethodSignature.fromDexMethod(m, withQualifiedName); + }); // Check if mapped position is an outline DexMethod outlineMethod = getOutlineMethod(mappedPositions.get(0).getPosition());