Commit d6250e32 authored by Jake Wharton's avatar Jake Wharton Committed by Orion Hodson
Browse files

Remove conversion from dollar sign to dot

This was presumably added to render nested classes similar to how they are referred to in source, but since a dollar sign ('$') is a valid character in a class name and its use is growing thanks to annotation processors and D8/R8 it only resulted in very wrong names. If you are at the level where you can understand dexdump's output, you can handle dollar signs being present in nested class names.

Before:

    [000234] -..Lambda.Lambda.fcyZxanqBZSHC_nf-noKh-e3bnY.<clinit>:()V
    0000: new-instance v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // type@0000
    0002: invoke-direct {v0}, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.<init>:()V // method@0001
    0005: sput-object v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.INSTANCE:L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // field@0000
    0007: return-void

After:

    [000234] -$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY.<clinit>:()V
    0000: new-instance v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // type@0000
    0002: invoke-direct {v0}, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.<init>:()V // method@0001
    0005: sput-object v0, L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY;.INSTANCE:L-$$Lambda$Lambda$fcyZxanqBZSHC_nf-noKh-e3bnY; // field@0000
    0007: return-void

Bug: 113152880
Test: manual
Change-Id: I1cefd3c88e767458ee2f1ac0e15325e1e11b956b
parent 5428d7f7
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment