Class Contract.ConditionalPostcondition
java.lang.Object
org.checkerframework.framework.util.Contract
org.checkerframework.framework.util.Contract.ConditionalPostcondition
- Enclosing class:
Contract
Represents a conditional postcondition that must be verified by
BaseTypeVisitor
or
one of its subclasses. Automatically extracted from annotations with meta-annotation
@ConditionalPostconditionAnnotation
, such as EnsuresNonNullIf
.-
Nested Class Summary
Nested classes/interfaces inherited from class org.checkerframework.framework.util.Contract
Contract.ConditionalPostcondition, Contract.Kind, Contract.Postcondition, Contract.Precondition
-
Field Summary
Modifier and TypeFieldDescriptionfinal boolean
The return value for the annotated method that ensures that the conditional postcondition holds.Fields inherited from class org.checkerframework.framework.util.Contract
annotation, contractAnnotation, expressionString, kind
-
Constructor Summary
ConstructorDescriptionConditionalPostcondition
(String expressionString, AnnotationMirror annotation, AnnotationMirror contractAnnotation, boolean resultValue) Create a new conditional postcondition. -
Method Summary
Methods inherited from class org.checkerframework.framework.util.Contract
create, viewpointAdaptDependentTypeAnnotation
-
Field Details
-
resultValue
public final boolean resultValueThe return value for the annotated method that ensures that the conditional postcondition holds. For example, given@EnsuresNonNullIf(expression="foo", result=false) boolean method()
foo
is guaranteed to be@NonNull
after a call tomethod()
that returnsfalse
.
-
-
Constructor Details
-
ConditionalPostcondition
public ConditionalPostcondition(String expressionString, AnnotationMirror annotation, AnnotationMirror contractAnnotation, boolean resultValue) Create a new conditional postcondition.- Parameters:
expressionString
- the Java expression that should have a type qualifierannotation
- the type qualifier thatexpressionString
should havecontractAnnotation
- the postcondition annotation that the programmer wrote; used for diagnostic messagesresultValue
- whether the condition is the method returning true or false
-
-
Method Details