Visibility of methods in javac.comp.Resolve
wdietl at gmail.com
Mon Feb 11 16:04:05 PST 2013
in the Checker Framework we allow String-valued annotations that refer
to variable and method names - e.g. for method post-conditions.
We currently use reflection to access methods in javac.comp.Resolve
that allow us to go from such a String to the correct Symbol.
For the current code, see:
Would it be acceptable to change the visibility of a few "findXXX"
methods in javac.comp.Resolve from package-default to public?
In particular, we currently use:
- com.sun.tools.javac.comp.Resolve.findIdent(Env<AttrContext>, Name, int)
- com.sun.tools.javac.comp.Resolve.findType(Env<AttrContext>, Name)
- com.sun.tools.javac.comp.Resolve.findMethod(Env<AttrContext>, Type,
Name, List<Type>, List<Type>, boolean, boolean, boolean)
In the future, we might also want:
Env<AttrContext>, Type, List<Type>, List<Type>, boolean, boolean)
The class already provides a few public methods; having these
additional methods made public would make it much more useful for us.
What do you think? Do you see a cleaner solution for us?
More information about the type-annotations-dev