MCPcopy Index your code
hub / github.com/google/error-prone

github.com/google/error-prone @v2.50.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.50.0 ↗ · + Follow
17,868 symbols 80,910 edges 2,055 files 3,407 documented · 19% 6 cross-repo links updated 1d agov2.50.0 · 2026-06-10★ 7,195422 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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

Extension points exported contracts — how you extend this code

ConstantExpression (Interface)
Represents a constant expression. [63 implementers]
core/src/main/java/com/google/errorprone/bugpatterns/threadsafety/ConstantExpressions.java
DescriptionListener (Interface)
Strategies for reporting results. @author alexeagle@google.com (Alex Eagle) [6 implementers]
check_api/src/main/java/com/google/errorprone/DescriptionListener.java
FixChooser (Interface)
For checks that provide multiple possible fixes, chooses the one that will be applied for the test. [1 implementers]
test_helpers/src/main/java/com/google/errorprone/BugCheckerRefactoringTestHelper.java
UStatement (Interface)
UTree representation of a StatementTree. @author lowasser@google.com (Louis Wasserman) [8 implementers]
core/src/main/java/com/google/errorprone/refaster/UStatement.java
CodeTransformer (Interface)
Interface for a transformation over Java source. @author lowasser@google.com (Louis Wasserman) [6 implementers]
check_api/src/main/java/com/google/errorprone/CodeTransformer.java
Unifiable (Interface)
A serializable representation of a template that can be matched against a target of type T. @author Louis Wasse [7 implementers]
core/src/main/java/com/google/errorprone/refaster/Unifiable.java
Supplier (Interface)
Simple supplier pattern, which allows delayed binding to access to runtime elements. @author alexeagle@google.com (Alex [12 …
check_api/src/main/java/com/google/errorprone/suppliers/Supplier.java
Parcelable (Interface)
(no doc) [19 implementers]
core/src/test/java/com/google/errorprone/bugpatterns/android/testdata/stubs/android/os/Parcelable.java

Core symbols most depended-on inside this repo

Shape

Method 15,107
Class 2,518
Interface 145
Enum 98

Languages

Java100%

Modules by API surface

core/src/test/java/com/google/errorprone/bugpatterns/threadsafety/ImmutableCheckerTest.java180 symbols
check_api/src/main/java/com/google/errorprone/bugpatterns/BugChecker.java153 symbols
core/src/test/java/com/google/errorprone/fixes/SuggestedFixesTest.java147 symbols
check_api/src/main/java/com/google/errorprone/matchers/Matchers.java132 symbols
check_api/src/test/java/com/google/errorprone/util/ASTHelpersTest.java123 symbols
check_api/src/main/java/com/google/errorprone/util/ASTHelpers.java123 symbols
core/src/test/java/com/google/errorprone/bugpatterns/nullness/ReturnMissingNullableTest.java114 symbols
core/src/test/java/com/google/errorprone/bugpatterns/StatementSwitchToExpressionSwitchTest.java104 symbols
core/src/test/java/com/google/errorprone/bugpatterns/IfChainToSwitchTest.java102 symbols
check_api/src/main/java/com/google/errorprone/fixes/SuggestedFixes.java102 symbols
check_api/src/main/java/com/google/errorprone/dataflow/nullnesspropagation/AbstractNullnessPropagationTransfer.java92 symbols
core/src/test/java/com/google/errorprone/bugpatterns/UnusedVariableTest.java85 symbols

Dependencies from manifests, versioned

com.github.spullara.mustache.java:compiler0.9.11 · 1×
com.google.auto.service:auto-service-annotations
com.google.auto.value:auto-value-annotations
com.google.errorprone:error_prone_annotation
com.google.errorprone:error_prone_core
com.google.errorprone:error_prone_docgen_processor
com.google.inject.extensions:guice-testlib5.1.0 · 1×

For agents

$ claude mcp add error-prone \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page