Uses of Interface
dev.civl.abc.ast.node.IF.acsl.ContractNode
Packages that use ContractNode
Package
Description
Submodule ast.entity defines entities
(objects of type
Entity),
the abstract things such as types, structures, unions, enumerations,
objects (variables), functions, and so on,
which can be named by identifiers in a program.Submodule ast.node defines every kind of
node in an AST.
The ast.node.declaration submodule defines nodes
and other object deadling with declarations in a program.
The ast.node.statement submodule defines AST
nodes for representing statements in a program.
-
Uses of ContractNode in dev.civl.abc.ast.entity.IF
Methods in dev.civl.abc.ast.entity.IF that return types with arguments of type ContractNodeModifier and TypeMethodDescriptionFunction.getContracts()Returns aIteratorfor a set of contract clauses.Methods in dev.civl.abc.ast.entity.IF with parameters of type ContractNodeModifier and TypeMethodDescriptionvoidFunction.addContract(ContractNode contract) Add aContractNodewhich represents a contract clause. -
Uses of ContractNode in dev.civl.abc.ast.node.IF
Method parameters in dev.civl.abc.ast.node.IF with type arguments of type ContractNodeModifier and TypeMethodDescriptionNodeFactory.newAbstractFunctionDefinitionNode(Source source, IdentifierNode name, TypeNode type, SequenceNode<ContractNode> contract, int continuity, SequenceNode<PairNode<ExpressionNode, ExpressionNode>> intervals, StringLiteralNode attr) Creates a new CIVL abstract function definition.NodeFactory.newBehaviorNode(Source source, IdentifierNode name, SequenceNode<ContractNode> body) creates a behavior node.NodeFactory.newCivlForNode(Source source, boolean isParallel, DeclarationListNode variables, ExpressionNode domain, StatementNode body, SequenceNode<ContractNode> loopContract) Creates a new instance of the CIVL$foror$parfornode.NodeFactory.newDoLoopNode(Source source, ExpressionNode condition, StatementNode body, SequenceNode<ContractNode> contracts) Constructs a new node representing ado...whileloop.NodeFactory.newForLoopNode(Source source, ForLoopInitializerNode initializer, ExpressionNode condition, ExpressionNode incrementer, StatementNode body, SequenceNode<ContractNode> contracts) Constructs a newforloop node.NodeFactory.newFunctionDeclarationNode(Source source, IdentifierNode name, TypeNode type, SequenceNode<ContractNode> contract) Creates a new function declaration with no body (so it is not a function "definition").NodeFactory.newFunctionDefinitionNode(Source source, IdentifierNode name, FunctionTypeNode type, SequenceNode<ContractNode> contract, CompoundStatementNode body) Constructs a new node representing a function definition, i.e., a function declaration with body.NodeFactory.newWhileLoopNode(Source source, ExpressionNode condition, StatementNode body, SequenceNode<ContractNode> contracts) Constructs a new node representing awhileloop. -
Uses of ContractNode in dev.civl.abc.ast.node.IF.acsl
Subinterfaces of ContractNode in dev.civl.abc.ast.node.IF.acslModifier and TypeInterfaceDescriptioninterfaceThis represents an ACSL allocation clause, which has the syntax
allocates p1, p2, p3;
or
frees p1, p2, p3;interfaceAn ACSLassignsor ACSL-CIVLCreadsclause specifies a set of existing memory units.interfaceThis represents an ACSLassumesclause, which has the following syntax:interfaceThis represents a named behavior of the ACSL specification.interfaceThis represents the completeness clause of ACSL, which could be eithercompleteordisjointinterfaceAdependsclause specifies part of the dependence relation used in partial order reduction (POR).interfaceAn "ensures" clause in a procedure contract clause that represents a post-condition.interfaceinterfaceinterfaceinterfaceinterfaceThis represents aguardsclause that specifies a guard for a function.interfaceinterfaceinterfaceThe ACSL predicate node, which in the view of ABC, is just a function with a boolean return type.interfaceArequiresclause in a CIVL-C procedure contract.interfaceMethods in dev.civl.abc.ast.node.IF.acsl that return ContractNodeMethods in dev.civl.abc.ast.node.IF.acsl that return types with arguments of type ContractNodeModifier and TypeMethodDescriptionBehaviorNode.getBody()returns the body of this behavior, which is a sequence of contract nodes -
Uses of ContractNode in dev.civl.abc.ast.node.IF.declaration
Methods in dev.civl.abc.ast.node.IF.declaration that return types with arguments of type ContractNodeModifier and TypeMethodDescriptionFunctionDeclarationNode.getContract()Returns the contract node for this function declaration.Method parameters in dev.civl.abc.ast.node.IF.declaration with type arguments of type ContractNodeModifier and TypeMethodDescriptionvoidFunctionDeclarationNode.setContract(SequenceNode<ContractNode> contract) Sets the contract node child of this node to the given node. -
Uses of ContractNode in dev.civl.abc.ast.node.IF.statement
Methods in dev.civl.abc.ast.node.IF.statement that return types with arguments of type ContractNodeModifier and TypeMethodDescriptionCivlForNode.loopContracts()Optional loop contracts node.LoopNode.loopContracts()