jessewilson
07/20/2023, 9:11 PM.class
files (source here) includes references to the nested classes its supertype, `Thread`:
$ javap -v okio/AsyncTimeout\$Watchdog.class
...
InnerClasses:
...
public static #96= #93 of #95; // OfPlatform=class java/lang/Thread$Builder$OfPlatform of class java/lang/Thread$Builder
public static #97= #95 of #4; // Builder=class java/lang/Thread$Builder of class java/lang/Thread
public static #100= #99 of #95; // OfVirtual=class java/lang/Thread$Builder$OfVirtual of class java/lang/Thread$Builder
...
Unfortunately, this makes R8 or ProGuard unhappy:
okio.AsyncTimeout$Watchdog: can't find referenced class java.lang.Thread$Builder$OfPlatform
okio.AsyncTimeout$Watchdog: can't find referenced class java.lang.Thread$Builder
okio.AsyncTimeout$Watchdog: can't find referenced class java.lang.Thread$Builder$OfVirtual
Why do my compiled class files know about the nested classes of their supertypes?jessewilson
07/20/2023, 9:11 PM