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
FieldsModifier and TypeFieldDescriptionfinal booleanThe 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
ConstructorsConstructorDescriptionConditionalPostcondition(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()foois guaranteed to be@NonNullafter 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 thatexpressionStringshould havecontractAnnotation- the postcondition annotation that the programmer wrote; used for diagnostic messagesresultValue- whether the condition is the method returning true or false
-
-
Method Details