Skip to content
master
Go to file
Code

Latest commit

Although the net effect is the same, Effective Java actually recommends
assigning the computed value to the local variable first []

In addition, @LazyInit must be used in cross-platform Java code intended for
transpiling to iOS via J2ObjC. Although the order does not affect memory
safety, we found that the "field = local = compute()" code easier to reason as
traspiled code. See Slide 4 at[]
when translated to Objective-C.

PiperOrigin-RevId: 341896297
04833c5

Git stats

Files

Permalink
Failed to load latest commit information.

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.