Closed GoogleCodeExporter closed 9 years ago
I can reproduce your output when using
org.checkerframework.checker.nullness.NullnessChecker.
However, as the example is about rawness, the right processor is:
org.checkerframework.checker.nullness.NullnessRawnessChecker
Using the NullnessRawnessChecker, the example behaves as expected.
In case this is not explicit, the manual should be updated.
Original comment by wdi...@gmail.com
on 2 May 2014 at 2:50
Maybe the manual should also make explicit that there is no aliasing between
the Initialization and Rawness annotations - each checker only looks at their
own annotations.
Original comment by wdi...@gmail.com
on 2 May 2014 at 2:54
[deleted comment]
Sorry. I totally missed NullnessRawnessChecker. I thought like
@UnderInitialization, @Raw is also checked by NullnessChecker. The manual
mentions NullnessRawnessChecker but it may be nice to have a section to explain
the difference between the rawness and initialization checkers. The manual
says: "The rawness type system is slightly easier to use but slightly less
expressive. In practice, you can use whichever one you prefer." Does the
manually explain the differences between rawness and initialization in more
depth? I haven't studied that part of the manual carefully. It's possible that
the differences are already discussed somewhere in the manual and I just missed
it.
Original comment by reprogra...@gmail.com
on 2 May 2014 at 3:35
The manual does not explicitly compare the two; rather, it describes each one
independently.
The manual does note that one uses annotations @Initialized,
@UnknownInitialization, and @UnderInitialization whereas the other uses
annotations @Raw and @NonRaw.
I have added a note to the manual explaining that the main one (described
throughout section 3.8) is preferred. That will be pushed to the repository
shortly.
Thanks for raising this issue!
Original comment by michael.ernst@gmail.com
on 2 May 2014 at 4:03
Original comment by jtha...@cs.washington.edu
on 3 Jun 2014 at 12:48
Original issue reported on code.google.com by
reprogra...@gmail.com
on 2 May 2014 at 1:13