11 ms·
The standard annotation processing APIs don't provide enough information to do the analyses we want to do, so we do hook into javac internals. It does require
by Afty 10y ago
The standard annotation processing APIs don't provide enough information to do the analyses we want to do, so we do hook into javac internals.
It does require a lot of effort to keep up with OpenJDK updates, but that's my team's job, and we have to do the work anyway to keep Error Prone running inside Google. We tie Error Prone to a specific version of javac, which matches the one we are currently using inside Google (https://github.com/google/error-prone-javac https://github.com/google/error-prone-javac), so we don't have to support multiple different internal APIs. We are currently using a version of javac 9 from about a year ago, and we're planning a bump to something close to head maybe in Q1.
Eclipse integration would be a pain but would look a lot like what the Checker Framework does.
- needusername 10y agoThis is all fine and good if you're a Google internal user who gets support form your team. Things are a bit different if you're a user from outside of Google.