Clone this repo:
  1. 5871842 Add another helper method to VisitorState, to handle the common pattern of tokenizing a region of the source code. by awturner · 6 days ago master
  2. e44f260 ErrorProneToken: allow an offset to be supplied when tokenizing, in order that you do not have to keep remembering to add the offset when using the start/end positions. by awturner · 6 days ago
  3. a8f2fa3 Add test for one style of 'checkNotNull'. by dchai · 6 days ago
  4. 0dc29a3 Add a test for (int, TimeUnit) mismatch. by kak · 6 days ago
  5. dab66ab Make the description of AnnotateFormatMethod more ominous, and don't emit a fix (that almost certainly won't compile). by ghm · 6 days ago

Error Prone

Error Prone is a static analysis tool for Java that catches common programming mistakes at compile-time.

public class ShortSet {
  public static void main (String[] args) {
    Set<Short> s = new HashSet<>();
    for (short i = 0; i < 100; i++) {
      s.remove(i - 1);
error: [CollectionIncompatibleType] Argument 'i - 1' should not be passed to this method;
its type int is not compatible with its collection's type argument Short
      s.remove(i - 1);
1 error

Getting Started

Our documentation is at

Error Prone works with Bazel, Maven, Ant, and Gradle. See our installation instructions for details.

Developing Error Prone

Developing and building Error Prone is documented on the wiki.