Skip to content
This repository has been archived by the owner on Apr 20, 2020. It is now read-only.

Latest commit

 

History

History
42 lines (38 loc) · 2.16 KB

disagreement.md

File metadata and controls

42 lines (38 loc) · 2.16 KB

Negative

  • assigned field: The path being dereferenced is a field which is assigned a non-null value beforehand, but gradual doesn't update field lattice values.
  • asserted variable: The variable was previously asserted to be non-null.
  • checked call: The return value of a probably-referentially-transparent call is checked before usage.
  • checked field: The path being dereferenced is a field which is checked for null beforehand, but gradual doesn't update field lattice values.
  • checked instanceof: The code checks the variable beforehand using instanceof, which prevents a null dereference.
  • complicated check: The variable is safe, but for complicated control-flow reasons.
  • eradicate override: Eradicate seems to give lots of false positives about annotations in overrides, so I'm gonna start ignoring these.
  • eradicate parameter: Eradicate seems to give tons of false positives about passing parameters so I'm just gonna start ignoring these.
  • eradicate test: Eradicate seems to give tons of false positives in tests so I'm just gonna start ignoring these.
  • fine inconsistent annotation: An overridden annotation is marked as inconsistent, but it isn't used in an unsafe way.
  • generated code: A warning in non-source code.
  • initialized elsewhere: The two fields aren't initialized in a constructor, but there is a specially marked @Before method that initializes them.
  • missing annotation: A field is checked for null, or a method returns null, so nullsafe insists that it be annotated as @Nullable.
  • phantom code: Warning about some code that's not there.
  • safe return: Warning about a non-null return value.
  • unstrict field: A field that allows null is appraised as non-null.
  • unstrict parameter: A parameter that allows null is appraised as non-null.
  • unstrict return: A return value that allows null is appraised as non-null (e.g. for overriding).

Positive

  • unchecked field: The field is marked as @Nullable and not checked.
  • unchecked call: The return value of a call is marked as @Nullable and not checked.