For lambdas and anonymous inner classes, class names are generated like: Outer$1, Outer$2, etc.
For native code, linker-generated symbols are similar, and our diff logic accounts for this by stripping the numbers when matching up diffs:
https://cs.chromium.org/chromium/src/tools/binary_size/libsupersize/diff.py?rcl=d18aae4354456a1d242730c10e21cf73c9356b67&l=20
This can happen for synthetic methods as well. e.g.:
Added:
org.chromium.chrome.browser.vr.ArCoreJavaUtils long access$100(org.chromium.chrome.browser.vr.ArCoreJavaUtils)
org.chromium.chrome.browser.vr.ArCoreJavaUtils void access$300(org.chromium.chrome.browser.vr.ArCoreJavaUtils,long)
Removed:
org.chromium.chrome.browser.vr.ArCoreJavaUtils long access$000(org.chromium.chrome.browser.vr.ArCoreJavaUtils)
org.chromium.chrome.browser.vr.ArCoreJavaUtils void access$100(org.chromium.chrome.browser.vr.ArCoreJavaUtils,long)
We should use similar fuzzy matching for dex symbols from sequentially numbered generated classes.
We should just strip the suffix from access$ methods (when diffing, not from actual .size files)
Here's an example I just noticed where the numbers do not come at the end:
- 2) 5248 (36.9%) m@0x0 -548 (548->0) third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java
FeedModelProvider#lambda$handleToken$1$FeedModelProvider
+ 3) 5796 (40.7%) m@0x0 548 (0->548) third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java
FeedModelProvider#lambda$handleToken$19$FeedModelProvider
Comment 1 by agrieve@chromium.org
, Oct 16Here's an example I just noticed where the numbers do not come at the end: - 2) 5248 (36.9%) m@0x0 -548 (548->0) third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java FeedModelProvider#lambda$handleToken$1$FeedModelProvider + 3) 5796 (40.7%) m@0x0 548 (0->548) third_party/feed/src/src/main/java/com/google/android/libraries/feed/feedmodelprovider/FeedModelProvider.java FeedModelProvider#lambda$handleToken$19$FeedModelProvider