Visibility of methods in javac.comp.Resolve
Werner Dietl
wdietl at gmail.com
Mon Feb 11 16:04:05 PST 2013
Jon, all,
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:
http://code.google.com/p/checker-framework/source/browse/checkers/src/checkers/util/Resolver.java
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:
com.sun.tools.javac.comp.Resolve.findConstructor(DiagnosticPosition,
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?
Thanks,
cu, WMD.
--
http://www.google.com/profiles/wdietl
More information about the type-annotations-dev
mailing list