A static nested class does not keep an implicit reference to its enclosing instance.

This prevents a common cause of memory leaks and uses less memory per instance of the class.

Comment From: jhoeller

Half of the sources affected only show up in main, so this PR seems more like a 6.0 M4 candidate. Maybe we could manually backport a few of the inner class definitions as they exist in 5.3.x, @sbrannen ?

Comment From: sbrannen

I've already merged it locally for 5.3.x (excluding nonexistent classes) and main.

Comment From: jhoeller

Sounds good, it's definitely worth having in both branches for everything affected. There were just quite a few new AOT code spots in that PR, not too many spots that affect 5.3.x as well. We generally strive for static inner classes where possible already.

Comment From: sbrannen

This has been merged into 5.3.x (selectively) and main.

Thanks