Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Fixed
-
3.0.5
-
None
Description
Back before Java had static imports, a common usage pattern for using `org.objectweb.asm.Opcodes` was just to implement that interface. Then, referencing the constants within that interface was simply a matter of referencing them directly rather than requiring them to be prefixed with the class name. Since static imports, it is generally better to statically import the required constants. This avoids that class from leaking into our public API. It is even slightly more problematic than normal for us since that class is one of the ones we jarjar, so the leaked class might have a different package (groovyjarjarasm) than the one some might expect.
This issue is to consider removing all such usage (targeting Groovy 4). Code which extends any impacted classes might now need to add additional static imports. One the plus side, the jarjar side of things will then remain better hidden.