Skip to content
Catch common Java mistakes as compile-time errors
Java Other
  1. Java 99.9%
  2. Other 0.1%
Branch: master
Clone or download

Latest commit

AlexandreCarlton and kluever Create parent directory before writing patch file
We may choose to place the generated `error-prone.patch` file in a
subdirectory of the base which might not already exist. For example, we
may wish to place it in target/patches instead of the base directory.

Fixes #1070

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=311908270
Latest commit 8beaab4 May 16, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github ISSUE_TEMPLATE v2 Nov 13, 2018
.idea Check in google-java-format IntelliJ configuration Nov 14, 2018
annotation Remove ProvidesFixChecker; deprecate providesFix. Apr 15, 2020
annotations Automated g4 rollback of changelist 311176345. May 13, 2020
check_api Create parent directory before writing patch file May 17, 2020
core Fix typo May 17, 2020
docgen Depend on auto-value-annotations and auto-service-annotations May 13, 2020
docgen_processor Depend on auto-value-annotations and auto-service-annotations May 13, 2020
docs/bugpattern Flag IdentityHashMap construction with boxed types May 13, 2020
examples Add a note about other annotation processors to the maven example May 17, 2020
refaster Depend on auto-value-annotations and auto-service-annotations May 13, 2020
test_helpers Prevent accidental re-use of CompilationTestHelper and BugCheckerRefa… May 14, 2020
third_party/java/auto Initial bazel build Apr 18, 2015
type_annotations
util Depend on auto-value-annotations and auto-service-annotations May 13, 2020
.gitignore Remove redundant calls to `String.toString()` Jul 6, 2017
.travis.yml Unbreak Travis build Nov 2, 2018
AUTHORS Add String.split check, and make all existing code pass it Dec 21, 2017
CONTRIBUTING.md Add CONTRIBUTING file Dec 18, 2014
COPYING Initial commit. Basic Predicate DSL for matchers, and check for one e… Sep 15, 2011
README.md Use https instead of http May 10, 2018
WORKSPACE Initial bazel build Apr 18, 2015
appveyor.yml Don't notify on appveyor build success Nov 16, 2016
pom.xml Update junit dependency to 4.13 May 14, 2020

README.md

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.add(i);
      s.remove(i - 1);
    }
    System.out.println(s.size());
  }
}
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);
              ^
    (see https://errorprone.info/bugpattern/CollectionIncompatibleType)
1 error

Getting Started

Our documentation is at errorprone.info.

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.

Links

You can’t perform that action at this time.