Paul King created GROOVY-9736:
---------------------------------

             Summary: Remove org.objectweb.asm.Opcodes as implemented interface 
in most (all?) places
                 Key: GROOVY-9736
                 URL: https://issues.apache.org/jira/browse/GROOVY-9736
             Project: Groovy
          Issue Type: Improvement
    Affects Versions: 3.0.5
            Reporter: Paul King


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.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to