Git Product home page Git Product logo

Comments (4)

cushon avatar cushon commented on April 28, 2024

Original comment posted by [email protected] on 2013-02-11 at 09:33 PM


We added a check for @CheckReturnValue.

Consider adding support for this subset:
@CheckForNull
@Nonnegative
@Nonnull
@Nullable
@OverridingMethodsMustInvokeSuper
@ParametersAreNonnullByDefault
@ParametersAreNullableByDefault
@RegEx
@Syntax


Status: Accepted
Owner: [email protected]
Labels: Type-Enhancement, Priority-Low

from error-prone.

vorburger avatar vorburger commented on April 28, 2024

See also vaguely related #891, which proposes opening up null related annotations.

from error-prone.

dfabulich avatar dfabulich commented on April 28, 2024

FYI, there's an Error Prone plugin, NullAway, that covers the stuff I most care about (@Nullable and @Nonnull).

https://github.com/uber/NullAway/wiki/Error-Messages

It's a bit of a hassle to hook it up with Bazel; I have a sample repository here that shows how to do it. https://github.com/dfabulich/bazel-checker-framework-bug/

WORKSPACE:

maven_jar(
	name='jsr305',
	artifact='com.google.code.findbugs:jsr305:3.0.2',
)

maven_jar(
	name="nullaway",
	artifact="com.uber.nullaway:nullaway:0.3.2"
)

maven_jar(
	name="guava",
	artifact="com.google.guava:guava:22.0",
)

BUILD:

java_library(
	name='x',
	srcs=['X.java'],
	deps=['@jsr305//jar'],
	plugins=['nullaway'],
	javacopts=[
		'-Xep:NullAway:ERROR',
		'-XepOpt:NullAway:AnnotatedPackages=com.example',
	],
)

java_plugin(
	name='nullaway',
	deps=[
		'@nullaway//jar',
		'@guava//jar',
	],
)

com.google.code.findbugs:jsr305 provides the javax.annotation.Nullable and Nonnull annotation classes. The dependency on Guava is unfortunate; I've filed a bug on that.

from error-prone.

jbduncan avatar jbduncan commented on April 28, 2024

Another alternative is the Checker Framework, if you want an exhaustive null-checking type system. (AFAIK, NullAway only checks certain common cases with regards to incorrect null usage.)

from error-prone.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.