|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface JmlAstVisitor
An AST Visitor interface for visiting every Jml-type node.
Method Summary | |
---|---|
void |
endVisit(JmlAllocationExpression allocationExpression,
BlockScope scope)
|
void |
endVisit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference,
BlockScope scope)
|
void |
endVisit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference,
ClassScope scope)
|
void |
endVisit(JmlArrayReference arrayReference,
BlockScope scope)
|
void |
endVisit(JmlArrayTypeReference arrayTypeReference,
BlockScope scope)
|
void |
endVisit(JmlArrayTypeReference arrayTypeReference,
ClassScope scope)
|
void |
endVisit(JmlAssertOrAssumeStatement assertOrAssumeStatement,
BlockScope scope)
|
void |
endVisit(JmlAssertStatement assertStatement,
BlockScope scope)
|
void |
endVisit(JmlAssignableClause jmlAssignableClause,
BlockScope scope)
|
void |
endVisit(JmlAssignment assignment,
BlockScope scope)
|
void |
endVisit(JmlAssumeStatement assumeStatement,
BlockScope scope)
|
void |
endVisit(JmlBooleanQuantifier jmlBooleanQuantifier,
BlockScope scope)
|
void |
endVisit(JmlCastExpression castExpression,
BlockScope scope)
|
void |
endVisit(JmlCastExpressionWithoutType castExpression,
BlockScope scope)
|
void |
endVisit(JmlClause jmlClause,
BlockScope scope)
|
void |
endVisit(JmlClinit clinit,
ClassScope scope)
|
void |
endVisit(JmlCompilationUnitDeclaration compilationUnitDeclaration,
CompilationUnitScope scope)
|
void |
endVisit(JmlConditionalExpression conditionalExpression,
BlockScope scope)
|
void |
endVisit(JmlConstraintClause jmlConstraintClause,
BlockScope scope)
|
void |
endVisit(JmlConstructorDeclaration constructorDeclaration,
ClassScope scope)
|
void |
endVisit(JmlDoStatement doStatement,
BlockScope scope)
|
void |
endVisit(JmlElemtypeExpression jmlElemtypeExpression,
BlockScope scope)
|
void |
endVisit(JmlEnsuresClause ensuresClause,
BlockScope scope)
|
void |
endVisit(JmlExplicitConstructorCall jmlExplicitConstructorCall,
BlockScope scope)
|
void |
endVisit(JmlFieldDeclaration fieldDeclaration,
MethodScope scope)
|
void |
endVisit(JmlFieldReference fieldReference,
BlockScope scope)
|
void |
endVisit(JmlFieldReference fieldReference,
ClassScope scope)
|
void |
endVisit(JmlForStatement forStatement,
BlockScope scope)
|
void |
endVisit(JmlFreshExpression jmlFreshExpression,
BlockScope scope)
|
void |
endVisit(JmlGroupName jmlGroupName,
BlockScope scope)
|
void |
endVisit(JmlInitiallyClause jmlInitiallyClause,
CompilationUnitScope scope)
|
void |
endVisit(JmlInvariantForType jmlInvariantForType,
CompilationUnitScope scope)
|
void |
endVisit(JmlLocalDeclaration localDeclaration,
BlockScope scope)
|
void |
endVisit(JmlLoopAnnotations jmlLoopAnnotations,
BlockScope scope)
|
void |
endVisit(JmlLoopInvariant jmlLoopInvariant,
BlockScope scope)
|
void |
endVisit(JmlLoopVariant jmlLoopVariant,
BlockScope scope)
|
void |
endVisit(JmlMapsIntoClause jmlMapsIntoClause,
BlockScope scope)
|
void |
endVisit(JmlMapsMemberRefExpr jmlMapsMemberRefExpr,
BlockScope scope)
|
void |
endVisit(JmlMemberFieldRef jmlMemberFieldRef,
BlockScope scope)
|
void |
endVisit(JmlMessageSend messageSend,
BlockScope scope)
|
void |
endVisit(JmlMethodDeclaration methodDeclaration,
ClassScope scope)
|
void |
endVisit(JmlMethodSpecification jmlMethodSpecification,
BlockScope scope)
|
void |
endVisit(JmlMethodSpecification jmlMethodSpecification,
ClassScope classScope)
|
void |
endVisit(JmlModifier jmlModifier,
BlockScope scope)
|
void |
endVisit(JmlName jmlName,
BlockScope scope)
|
void |
endVisit(JmlNumericQuantifier jmlNumericQuantifier,
BlockScope scope)
|
void |
endVisit(JmlOldExpression jmlOldExpression,
BlockScope scope)
|
void |
endVisit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
BlockScope scope)
|
void |
endVisit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
ClassScope scope)
|
void |
endVisit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference,
BlockScope scope)
|
void |
endVisit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference,
ClassScope scope)
|
void |
endVisit(JmlQualifiedNameReference qualifiedNameReference,
BlockScope scope)
|
void |
endVisit(JmlQualifiedNameReference qualifiedNameReference,
ClassScope scope)
|
void |
endVisit(JmlQualifiedTypeReference qualifiedTypeReference,
BlockScope scope)
|
void |
endVisit(JmlQualifiedTypeReference qualifiedTypeReference,
ClassScope scope)
|
void |
endVisit(JmlQuantifiedExpression jmlQuantifiedExpression,
BlockScope blockScope)
|
void |
endVisit(JmlRepresentsClause representsClause,
CompilationUnitScope scope)
|
void |
endVisit(JmlRequiresClause requiresClause,
BlockScope scope)
|
void |
endVisit(JmlResultReference resultReference,
BlockScope scope)
|
void |
endVisit(JmlReturnStatement returnStatement,
BlockScope scope)
|
void |
endVisit(JmlSetComprehension jmlSetComprehension,
BlockScope scope)
|
boolean |
endVisit(JmlSetStatement jmlSetStatement,
BlockScope scope)
|
void |
endVisit(JmlSignalsClause jmlSignalsClause,
BlockScope scope)
|
void |
endVisit(JmlSignalsOnlyClause jmlSignalsOnlyClause,
BlockScope scope)
|
void |
endVisit(JmlSingleNameReference singleNameReference,
BlockScope scope)
|
void |
endVisit(JmlSingleNameReference singleNameReference,
ClassScope scope)
|
void |
endVisit(JmlSingleTypeReference singleTypeReference,
BlockScope scope)
|
void |
endVisit(JmlSingleTypeReference singleTypeReference,
ClassScope scope)
|
void |
endVisit(JmlSpecCaseBlock jmlSpecCaseBlock,
BlockScope scope)
|
void |
endVisit(JmlSpecCase jmlSpecCase,
BlockScope scope)
|
void |
endVisit(JmlSpecCaseBody jmlSpecCaseBody,
BlockScope scope)
|
void |
endVisit(JmlSpecCaseHeader jmlSpecCaseHeader,
BlockScope scope)
|
void |
endVisit(JmlSpecCaseRestAsClauseSeq jmlSpecCaseRestAsClauseSeq,
BlockScope scope)
|
void |
endVisit(JmlStoreRefExpression jmlStoreRefExpression,
BlockScope scope)
|
void |
endVisit(JmlSubtypeExpression jmlSubtypeExpression,
BlockScope scope)
|
void |
endVisit(JmlTypeBodyDeclaration jmlTypeDecle,
BlockScope scope)
|
void |
endVisit(JmlTypeDeclaration typeDecle,
CompilationUnitScope scope)
|
void |
endVisit(JmlTypeExpression expression,
BlockScope scope)
|
void |
endVisit(JmlTypeofExpression jmlTypeofExpression,
BlockScope scope)
|
void |
endVisit(JmlUnaryExpression unaryExpression,
BlockScope scope)
|
void |
endVisit(JmlWhileStatement whileStatement,
BlockScope scope)
|
void |
endVisit(JmlWildcard wildcard,
BlockScope scope)
|
void |
endVisit(JmlWildcard wildcard,
ClassScope scope)
|
boolean |
visit(JmlAllocationExpression allocationExpression,
BlockScope scope)
|
boolean |
visit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference,
BlockScope scope)
|
boolean |
visit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference,
ClassScope scope)
|
boolean |
visit(JmlArrayReference arrayReference,
BlockScope scope)
|
boolean |
visit(JmlArrayTypeReference arrayTypeReference,
BlockScope scope)
|
boolean |
visit(JmlArrayTypeReference arrayTypeReference,
ClassScope scope)
|
boolean |
visit(JmlAssertOrAssumeStatement assertOrAssumeStatement,
BlockScope scope)
|
boolean |
visit(JmlAssertStatement assertStatement,
BlockScope scope)
Inside an annotation, an assert statement is JML assert statement. |
boolean |
visit(JmlAssignableClause jmlAssignableClause,
BlockScope scope)
Gives a frame axiom for a specification. |
boolean |
visit(JmlAssignment assignment,
BlockScope scope)
|
boolean |
visit(JmlAssumeStatement assumeStatement,
BlockScope scope)
Statements which are assumed to be true (in static analysis tools). |
boolean |
visit(JmlBooleanQuantifier jmlBooleanQuantifier,
BlockScope scope)
|
boolean |
visit(JmlCastExpression castExpression,
BlockScope scope)
|
boolean |
visit(JmlCastExpressionWithoutType castExpression,
BlockScope scope)
|
boolean |
visit(JmlClause jmlClause,
BlockScope scope)
|
boolean |
visit(JmlClinit clinit,
ClassScope scope)
|
boolean |
visit(JmlCompilationUnitDeclaration compilationUnitDeclaration,
CompilationUnitScope scope)
|
boolean |
visit(JmlConditionalExpression conditionalExpression,
BlockScope scope)
|
boolean |
visit(JmlConstraintClause jmlConstraintClause,
BlockScope scope)
Are relationships that should hold for the combination of each visible state and any visible state that occurs later in the programÕs execution. |
boolean |
visit(JmlConstructorDeclaration constructorDeclaration,
ClassScope scope)
|
boolean |
visit(JmlDoStatement doStatement,
BlockScope scope)
|
boolean |
visit(JmlElemtypeExpression jmlElemtypeExpression,
BlockScope scope)
|
boolean |
visit(JmlEnsuresClause ensuresClause,
BlockScope scope)
An ensures clause specifies a normal postcondition, i.e., a property that is guaranteed to hold at the end of the method (or constructor) invocation in the case that this method (or constructor) invocation returns without throwing an exception. |
boolean |
visit(JmlExplicitConstructorCall jmlExplicitConstructorCall,
BlockScope scope)
|
boolean |
visit(JmlFieldDeclaration fieldDeclaration,
MethodScope scope)
|
boolean |
visit(JmlFieldReference fieldReference,
BlockScope scope)
|
boolean |
visit(JmlFieldReference fieldReference,
ClassScope scope)
|
boolean |
visit(JmlForStatement forStatement,
BlockScope scope)
|
boolean |
visit(JmlFreshExpression jmlFreshExpression,
BlockScope scope)
Asserts that objects were freshly allocated. |
boolean |
visit(JmlGroupName jmlGroupName,
BlockScope scope)
|
boolean |
visit(JmlInitiallyClause jmlInitiallyClause,
CompilationUnitScope scope)
Is used to specify the initial state of model fields. |
boolean |
visit(JmlInvariantForType jmlInvariantForType,
CompilationUnitScope scope)
Properties that have to hold in all visible states. |
boolean |
visit(JmlLocalDeclaration localDeclaration,
BlockScope scope)
|
boolean |
visit(JmlLoopAnnotations jmlLoopAnnotations,
BlockScope scope)
|
boolean |
visit(JmlLoopInvariant jmlLoopInvariant,
BlockScope scope)
Is used to help prove partial correctness of a loop statement. |
boolean |
visit(JmlLoopVariant jmlLoopVariant,
BlockScope scope)
Is used to help prove termination of a loop statement. |
boolean |
visit(JmlMapsIntoClause jmlMapsIntoClause,
BlockScope scope)
|
boolean |
visit(JmlMapsMemberRefExpr jmlMapsMemberRefExpr,
BlockScope scope)
|
boolean |
visit(JmlMemberFieldRef jmlMemberFieldRef,
BlockScope scope)
|
boolean |
visit(JmlMessageSend messageSend,
BlockScope scope)
|
boolean |
visit(JmlMethodDeclaration methodDeclaration,
ClassScope scope)
|
boolean |
visit(JmlMethodSpecification jmlMethodSpecification,
BlockScope scope)
|
boolean |
visit(JmlMethodSpecification jmlMethodSpecification,
ClassScope classScope)
|
boolean |
visit(JmlModifier jmlModifier,
BlockScope scope)
In addition to the Java modifiers that can be legally attached to a class or interface definition [Gosling-etal00], in JML one can use the following modifiers. |
boolean |
visit(JmlName jmlName,
BlockScope scope)
|
boolean |
visit(JmlNumericQuantifier jmlNumericQuantifier,
BlockScope scope)
|
boolean |
visit(JmlOldExpression jmlOldExpression,
BlockScope scope)
Refers to the value that the expression had in the pre-state of a method. |
boolean |
visit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
BlockScope scope)
|
boolean |
visit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference,
ClassScope scope)
|
boolean |
visit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference,
BlockScope scope)
|
boolean |
visit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference,
ClassScope scope)
|
boolean |
visit(JmlQualifiedNameReference qualifiedNameReference,
BlockScope scope)
|
boolean |
visit(JmlQualifiedNameReference qualifiedNameReference,
ClassScope scope)
|
boolean |
visit(JmlQualifiedTypeReference qualifiedTypeReference,
BlockScope scope)
|
boolean |
visit(JmlQualifiedTypeReference qualifiedTypeReference,
ClassScope scope)
|
boolean |
visit(JmlQuantifiedExpression jmlQuantifiedExpression,
BlockScope blockScope)
|
boolean |
visit(JmlRepresentsClause representsClause,
CompilationUnitScope scope)
The first form of represents clauses (with <- or =) is called a functional abstraction. |
boolean |
visit(JmlRequiresClause requiresClause,
BlockScope scope)
Specifies a precondition of method or constructor. |
boolean |
visit(JmlResultReference resultReference,
BlockScope scope)
The primary \result can only be used in non-void method. |
boolean |
visit(JmlReturnStatement returnStatement,
BlockScope scope)
|
boolean |
visit(JmlSetComprehension jmlSetComprehension,
BlockScope scope)
It is used to succinctly define sets. |
boolean |
visit(JmlSetStatement jmlSetStatement,
BlockScope scope)
Is the equivalent of an assignment statement but is within an annotation. |
boolean |
visit(JmlSignalsClause jmlSignalsClause,
BlockScope scope)
Specifies the exceptional or abnormal postcondition, i.e., the property that is guaranteed to hold at the end of a method (or constructor) invocation when this method (or constructor) invocation terminates abruptly by throwing a given exception. |
boolean |
visit(JmlSignalsOnlyClause jmlSignalsOnlyClause,
BlockScope scope)
Is an abbreviation for a signals-clause that specifies what exceptions may be thrown by a method, and thus, implicitly, what exceptions may not be thrown. |
boolean |
visit(JmlSingleNameReference singleNameReference,
BlockScope scope)
|
boolean |
visit(JmlSingleNameReference singleNameReference,
ClassScope scope)
|
boolean |
visit(JmlSingleTypeReference singleTypeReference,
BlockScope scope)
|
boolean |
visit(JmlSingleTypeReference singleTypeReference,
ClassScope scope)
|
boolean |
visit(JmlSpecCaseBlock jmlSpecCaseBlock,
BlockScope scope)
|
boolean |
visit(JmlSpecCase jmlSpecCase,
BlockScope scope)
|
boolean |
visit(JmlSpecCaseBody jmlSpecCaseBody,
BlockScope scope)
|
boolean |
visit(JmlSpecCaseHeader jmlSpecCaseHeader,
BlockScope scope)
Method specification for checking precondition of method or constructor. |
boolean |
visit(JmlSpecCaseRestAsClauseSeq jmlSpecCaseRestAsClauseSeq,
BlockScope scope)
|
boolean |
visit(JmlStoreRefExpression jmlStoreRefExpression,
BlockScope scope)
|
boolean |
visit(JmlSubtypeExpression jmlSubtypeExpression,
BlockScope scope)
|
boolean |
visit(JmlTypeBodyDeclaration jmlTypeDecle,
BlockScope scope)
|
boolean |
visit(JmlTypeDeclaration typeDecle,
CompilationUnitScope scope)
|
boolean |
visit(JmlTypeExpression expression,
BlockScope scope)
|
boolean |
visit(JmlTypeofExpression jmlTypeofExpression,
BlockScope scope)
|
boolean |
visit(JmlUnaryExpression unaryExpression,
BlockScope scope)
|
boolean |
visit(JmlWhileStatement whileStatement,
BlockScope scope)
|
boolean |
visit(JmlWildcard wildcard,
BlockScope scope)
|
boolean |
visit(JmlWildcard wildcard,
ClassScope scope)
|
Method Detail |
---|
boolean visit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope)
ArrayQualifiedTypeReference
void endVisit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference, BlockScope scope)
JmlArrayQualifiedTypeReference
boolean visit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference, ClassScope scope)
JmlArrayQualifiedTypeReference
void endVisit(JmlArrayQualifiedTypeReference arrayQualifiedTypeReference, ClassScope scope)
JmlArrayQualifiedTypeReference
boolean visit(JmlArrayReference arrayReference, BlockScope scope)
ArrayReference
void endVisit(JmlArrayReference arrayReference, BlockScope scope)
JmlArrayReference
boolean visit(JmlArrayTypeReference arrayTypeReference, BlockScope scope)
ArrayTypeReference
void endVisit(JmlArrayTypeReference arrayTypeReference, BlockScope scope)
JmlArrayTypeReference
boolean visit(JmlArrayTypeReference arrayTypeReference, ClassScope scope)
JmlArrayTypeReference
void endVisit(JmlArrayTypeReference arrayTypeReference, ClassScope scope)
JmlArrayTypeReference
boolean visit(JmlAssertStatement assertStatement, BlockScope scope)
//@ assert 0 < x; //@ assert false;
AssertStatement
void endVisit(JmlAssertStatement assertStatement, BlockScope scope)
JmlAssertStatement
boolean visit(JmlAssumeStatement assumeStatement, BlockScope scope)
JmlAssertStatement
. Examples
include:
//@ assume x == 3; //@ assume 0 < x;
JmlAssertStatement
void endVisit(JmlAssumeStatement assumeStatement, BlockScope scope)
JmlAssumeStatement
boolean visit(JmlAssignment assignment, BlockScope scope)
Assignment
void endVisit(JmlAssignment assignment, BlockScope scope)
JmlAssignment
boolean visit(JmlCastExpression castExpression, BlockScope scope)
CastExpression
void endVisit(JmlCastExpression castExpression, BlockScope scope)
JmlCastExpression
boolean visit(JmlCastExpressionWithoutType castExpression, BlockScope scope)
void endVisit(JmlCastExpressionWithoutType castExpression, BlockScope scope)
boolean visit(JmlCompilationUnitDeclaration compilationUnitDeclaration, CompilationUnitScope scope)
void endVisit(JmlCompilationUnitDeclaration compilationUnitDeclaration, CompilationUnitScope scope)
boolean visit(JmlConstructorDeclaration constructorDeclaration, ClassScope scope)
ConstructorDeclaration
void endVisit(JmlConstructorDeclaration constructorDeclaration, ClassScope scope)
JmlConstructorDeclaration
boolean visit(JmlEnsuresClause ensuresClause, BlockScope scope)
//@ ensures x == 5; //@ ensures x > 0 && x != 2;
void endVisit(JmlEnsuresClause ensuresClause, BlockScope scope)
JmlEnsuresClause
boolean visit(JmlFieldDeclaration fieldDeclaration, MethodScope scope)
FieldDeclaration
void endVisit(JmlFieldDeclaration fieldDeclaration, MethodScope scope)
JmlFieldDeclaration
boolean visit(JmlFieldReference fieldReference, BlockScope scope)
FieldReference
void endVisit(JmlFieldReference fieldReference, BlockScope scope)
JmlFieldReference
boolean visit(JmlFieldReference fieldReference, ClassScope scope)
JmlFieldReference
void endVisit(JmlFieldReference fieldReference, ClassScope scope)
JmlFieldReference
boolean visit(JmlLocalDeclaration localDeclaration, BlockScope scope)
LocalDeclaration
void endVisit(JmlLocalDeclaration localDeclaration, BlockScope scope)
JmlLocalDeclaration
boolean visit(JmlMessageSend messageSend, BlockScope scope)
MessageSend
void endVisit(JmlMessageSend messageSend, BlockScope scope)
JmlMessageSend
boolean visit(JmlMethodDeclaration methodDeclaration, ClassScope scope)
MethodDeclaration
void endVisit(JmlMethodDeclaration methodDeclaration, ClassScope scope)
JmlMethodDeclaration
boolean visit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope)
ParameterizedQualifiedTypeReference
void endVisit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, BlockScope scope)
JmlParameterizedQualifiedTypeReference
boolean visit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, ClassScope scope)
JmlParameterizedQualifiedTypeReference
void endVisit(JmlParameterizedQualifiedTypeReference parameterizedQualifiedTypeReference, ClassScope scope)
JmlParameterizedQualifiedTypeReference
boolean visit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope)
ParameterizedSingleTypeReference
void endVisit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference, BlockScope scope)
JmlParameterizedSingleTypeReference
boolean visit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference, ClassScope scope)
JmlParameterizedSingleTypeReference
void endVisit(JmlParameterizedSingleTypeReference parameterizedSingleTypeReference, ClassScope scope)
JmlParameterizedSingleTypeReference
boolean visit(JmlQualifiedNameReference qualifiedNameReference, BlockScope scope)
QualifiedNameReference
void endVisit(JmlQualifiedNameReference qualifiedNameReference, BlockScope scope)
JmlQualifiedNameReference
boolean visit(JmlQualifiedNameReference qualifiedNameReference, ClassScope scope)
JmlQualifiedNameReference
void endVisit(JmlQualifiedNameReference qualifiedNameReference, ClassScope scope)
JmlQualifiedNameReference
boolean visit(JmlQualifiedTypeReference qualifiedTypeReference, BlockScope scope)
QualifiedTypeReference
void endVisit(JmlQualifiedTypeReference qualifiedTypeReference, BlockScope scope)
JmlQualifiedTypeReference
boolean visit(JmlQualifiedTypeReference qualifiedTypeReference, ClassScope scope)
JmlQualifiedTypeReference
void endVisit(JmlQualifiedTypeReference qualifiedTypeReference, ClassScope scope)
JmlQualifiedTypeReference
boolean visit(JmlRequiresClause requiresClause, BlockScope scope)
//@ requires x > 0; //@ requires x == 0 || x == -1;
void endVisit(JmlRequiresClause requiresClause, BlockScope scope)
JmlRequiresClause
boolean visit(JmlResultReference resultReference, BlockScope scope)
\result <= x \result == x
void endVisit(JmlResultReference resultReference, BlockScope scope)
JmlResultReference
boolean visit(JmlReturnStatement returnStatement, BlockScope scope)
ReturnStatement
void endVisit(JmlReturnStatement returnStatement, BlockScope scope)
JmlReturnStatement
boolean visit(JmlSingleNameReference singleNameReference, BlockScope scope)
SingleNameReference
void endVisit(JmlSingleNameReference singleNameReference, BlockScope scope)
JmlSingleNameReference
boolean visit(JmlSingleNameReference singleNameReference, ClassScope scope)
JmlSingleNameReference
void endVisit(JmlSingleNameReference singleNameReference, ClassScope scope)
JmlSingleNameReference
boolean visit(JmlSingleTypeReference singleTypeReference, BlockScope scope)
SingleTypeReference
void endVisit(JmlSingleTypeReference singleTypeReference, BlockScope scope)
JmlSingleTypeReference
boolean visit(JmlSingleTypeReference singleTypeReference, ClassScope scope)
JmlSingleTypeReference
void endVisit(JmlSingleTypeReference singleTypeReference, ClassScope scope)
JmlSingleTypeReference
boolean visit(JmlWildcard wildcard, BlockScope scope)
void endVisit(JmlWildcard wildcard, BlockScope scope)
boolean visit(JmlWildcard wildcard, ClassScope scope)
void endVisit(JmlWildcard wildcard, ClassScope scope)
boolean visit(JmlWhileStatement whileStatement, BlockScope scope)
WhileStatement
void endVisit(JmlWhileStatement whileStatement, BlockScope scope)
JmlWhileStatement
boolean visit(JmlLoopAnnotations jmlLoopAnnotations, BlockScope scope)
void endVisit(JmlLoopAnnotations jmlLoopAnnotations, BlockScope scope)
boolean visit(JmlLoopInvariant jmlLoopInvariant, BlockScope scope)
//@ maintaining J ; while (B) { S }Examples include:
//@ maintaining x > 0; while (x < 5) { x++; }In this example, //@ maintaining x > 0; is a JmlLoopInvariant.
void endVisit(JmlLoopInvariant jmlLoopInvariant, BlockScope scope)
JmlLoopInvariant
boolean visit(JmlLoopVariant jmlLoopVariant, BlockScope scope)
//@ decreasing E; while (B) { S }Examples include:
//@ decreasing x; while (x != 0) { x--; }In this example, //@ decreasing x; is a JmlLoopVariant.
void endVisit(JmlLoopVariant jmlLoopVariant, BlockScope scope)
JmlLoopVariant
boolean visit(JmlOldExpression jmlOldExpression, BlockScope scope)
\old(x) != 0; \pre(x) > \result;In this example, \old(x) and \pre(x) are JmlOldExpression.
void endVisit(JmlOldExpression jmlOldExpression, BlockScope scope)
JmlOldExpression
boolean visit(JmlClause jmlClause, BlockScope scope)
JmlClause
void endVisit(JmlClause jmlClause, BlockScope scope)
JmlClause
boolean visit(JmlTypeDeclaration typeDecle, CompilationUnitScope scope)
TypeDeclaration
void endVisit(JmlTypeDeclaration typeDecle, CompilationUnitScope scope)
JmlTypeDeclaration
boolean visit(JmlAllocationExpression allocationExpression, BlockScope scope)
AllocationExpression
void endVisit(JmlAllocationExpression allocationExpression, BlockScope scope)
JmlAllocationExpression
boolean visit(JmlAssertOrAssumeStatement assertOrAssumeStatement, BlockScope scope)
JmlAssertStatement
,
JmlAssumeStatement
void endVisit(JmlAssertOrAssumeStatement assertOrAssumeStatement, BlockScope scope)
JmlAssertOrAssumeStatement
boolean visit(JmlAssignableClause jmlAssignableClause, BlockScope scope)
//@ assignable \nothing; //@ assignable \everything;
void endVisit(JmlAssignableClause jmlAssignableClause, BlockScope scope)
JmlAssignableClause
boolean visit(JmlClinit clinit, ClassScope scope)
Clinit
void endVisit(JmlClinit clinit, ClassScope scope)
JmlClinit
boolean visit(JmlConditionalExpression conditionalExpression, BlockScope scope)
ConditionalExpression
void endVisit(JmlConditionalExpression conditionalExpression, BlockScope scope)
JmlConditionalExpression
boolean visit(JmlConstraintClause jmlConstraintClause, BlockScope scope)
//@ constraint a == \old(a); //@ constraint b.length == \old(b.length);
void endVisit(JmlConstraintClause jmlConstraintClause, BlockScope scope)
JmlConstraintClause
boolean visit(JmlDoStatement doStatement, BlockScope scope)
DoStatement
void endVisit(JmlDoStatement doStatement, BlockScope scope)
JmlDoStatement
boolean visit(JmlForStatement forStatement, BlockScope scope)
ForStatement
void endVisit(JmlForStatement forStatement, BlockScope scope)
JmlForStatement
boolean visit(JmlInitiallyClause jmlInitiallyClause, CompilationUnitScope scope)
//@ public model int x; //@ public initially x == 0;In this example, initially x == 0; is a JmlInitiallyClause.
void endVisit(JmlInitiallyClause jmlInitiallyClause, CompilationUnitScope scope)
JmlInitiallyClause
boolean visit(JmlInvariantForType jmlInvariantForType, CompilationUnitScope scope)
//@ invariant b != null && b.length == 6;
void endVisit(JmlInvariantForType jmlInvariantForType, CompilationUnitScope scope)
JmlInvariantForType
boolean visit(JmlRepresentsClause representsClause, CompilationUnitScope scope)
protected int x_; //@ in x; //@ protected represents x <- x_;In this example, representx x <- x_; is a JmlRepresentsClause.
void endVisit(JmlRepresentsClause representsClause, CompilationUnitScope scope)
JmlRepresentsClause
boolean visit(JmlSetStatement jmlSetStatement, BlockScope scope)
//@ set i = 0; //@ set collection.elementType = \type(int);
boolean endVisit(JmlSetStatement jmlSetStatement, BlockScope scope)
JmlSetStatement
boolean visit(JmlSignalsClause jmlSignalsClause, BlockScope scope)
//@ signals (Exception) x < 0;
void endVisit(JmlSignalsClause jmlSignalsClause, BlockScope scope)
JmlSignalsClause
boolean visit(JmlSignalsOnlyClause jmlSignalsOnlyClause, BlockScope scope)
signals_only NullPointerException;
void endVisit(JmlSignalsOnlyClause jmlSignalsOnlyClause, BlockScope scope)
JmlSignalsOnlyClause
boolean visit(JmlTypeBodyDeclaration jmlTypeDecle, BlockScope scope)
void endVisit(JmlTypeBodyDeclaration jmlTypeDecle, BlockScope scope)
boolean visit(JmlUnaryExpression unaryExpression, BlockScope scope)
UnaryExpression
void endVisit(JmlUnaryExpression unaryExpression, BlockScope scope)
JmlUnaryExpression
boolean visit(JmlSpecCaseBlock jmlSpecCaseBlock, BlockScope scope)
void endVisit(JmlSpecCaseBlock jmlSpecCaseBlock, BlockScope scope)
boolean visit(JmlSpecCaseBody jmlSpecCaseBody, BlockScope scope)
void endVisit(JmlSpecCaseBody jmlSpecCaseBody, BlockScope scope)
boolean visit(JmlSpecCaseRestAsClauseSeq jmlSpecCaseRestAsClauseSeq, BlockScope scope)
void endVisit(JmlSpecCaseRestAsClauseSeq jmlSpecCaseRestAsClauseSeq, BlockScope scope)
boolean visit(JmlFreshExpression jmlFreshExpression, BlockScope scope)
\fresh(x,y)In this example, \fresh(x,y) asserts that x and y are not null and that the objects bound to these identifiers were not allocated in the pre-state.
void endVisit(JmlFreshExpression jmlFreshExpression, BlockScope scope)
JmlFreshExpression
boolean visit(JmlMapsIntoClause jmlMapsIntoClause, BlockScope scope)
void endVisit(JmlMapsIntoClause jmlMapsIntoClause, BlockScope scope)
boolean visit(JmlMapsMemberRefExpr jmlMapsMemberRefExpr, BlockScope scope)
void endVisit(JmlMapsMemberRefExpr jmlMapsMemberRefExpr, BlockScope scope)
boolean visit(JmlMemberFieldRef jmlMemberFieldRef, BlockScope scope)
void endVisit(JmlMemberFieldRef jmlMemberFieldRef, BlockScope scope)
boolean visit(JmlMethodSpecification jmlMethodSpecification, BlockScope scope)
void endVisit(JmlMethodSpecification jmlMethodSpecification, BlockScope scope)
boolean visit(JmlName jmlName, BlockScope scope)
void endVisit(JmlName jmlName, BlockScope scope)
boolean visit(JmlSetComprehension jmlSetComprehension, BlockScope scope)
new JMLObjectSet {Integer i | myIntSet.has(i) && i != null && 0 <= i.intValue() && i.intValue() <= 10 }In the above example, JMLObjectSet is the subset of non-null Integer objects found in the set myIntSet whose values are between 0 and 10, inclusive.
void endVisit(JmlSetComprehension jmlSetComprehension, BlockScope scope)
JmlSetComprehension
boolean visit(JmlSpecCase jmlSpecCase, BlockScope scope)
void endVisit(JmlSpecCase jmlSpecCase, BlockScope scope)
boolean visit(JmlSpecCaseHeader jmlSpecCaseHeader, BlockScope scope)
//@ requires x > 0; //@ requires x != 1;
JmlRequiresClause
void endVisit(JmlSpecCaseHeader jmlSpecCaseHeader, BlockScope scope)
JmlSpecCaseHeader
boolean visit(JmlStoreRefExpression jmlStoreRefExpression, BlockScope scope)
void endVisit(JmlStoreRefExpression jmlStoreRefExpression, BlockScope scope)
boolean visit(JmlSubtypeExpression jmlSubtypeExpression, BlockScope scope)
void endVisit(JmlSubtypeExpression jmlSubtypeExpression, BlockScope scope)
boolean visit(JmlBooleanQuantifier jmlBooleanQuantifier, BlockScope scope)
void endVisit(JmlBooleanQuantifier jmlBooleanQuantifier, BlockScope scope)
boolean visit(JmlGroupName jmlGroupName, BlockScope scope)
void endVisit(JmlGroupName jmlGroupName, BlockScope scope)
boolean visit(JmlModifier jmlModifier, BlockScope scope)
pure model spec_java_math spec_safe_math spec_bigint_math code_java_math code_safe_math code_bigint_math nullable_by_default
void endVisit(JmlModifier jmlModifier, BlockScope scope)
JmlModifier
boolean visit(JmlNumericQuantifier jmlNumericQuantifier, BlockScope scope)
void endVisit(JmlNumericQuantifier jmlNumericQuantifier, BlockScope scope)
boolean visit(JmlTypeExpression expression, BlockScope scope)
void endVisit(JmlTypeExpression expression, BlockScope scope)
JmlTypeExpression
boolean visit(JmlElemtypeExpression jmlElemtypeExpression, BlockScope scope)
void endVisit(JmlElemtypeExpression jmlElemtypeExpression, BlockScope scope)
boolean visit(JmlExplicitConstructorCall jmlExplicitConstructorCall, BlockScope scope)
ExplicitConstructorCall
void endVisit(JmlExplicitConstructorCall jmlExplicitConstructorCall, BlockScope scope)
JmlExplicitConstructorCall
boolean visit(JmlTypeofExpression jmlTypeofExpression, BlockScope scope)
void endVisit(JmlTypeofExpression jmlTypeofExpression, BlockScope scope)
boolean visit(JmlMethodSpecification jmlMethodSpecification, ClassScope classScope)
void endVisit(JmlMethodSpecification jmlMethodSpecification, ClassScope classScope)
boolean visit(JmlQuantifiedExpression jmlQuantifiedExpression, BlockScope blockScope)
void endVisit(JmlQuantifiedExpression jmlQuantifiedExpression, BlockScope blockScope)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |