- All Superinterfaces:
ASTNode,BlockItemNode,OmpExecutableNode,OmpNode,StatementNode
- All Known Subinterfaces:
OmpAtomicNode
This interface stands for synchronization constructs of OpenMP, including:
- master
- critical
- barrier
- flush
- atomic
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic enumThe kind of this OmpSyncNode: MASTER: the master construct CRITICAL: the critical construct BARRIER: the barrier construct FLUSH: the flush construct ORDERED: the ordered constructNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.ASTNode
ASTNode.NodeKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
BlockItemNode.BlockItemKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.omp.OmpExecutableNode
OmpExecutableNode.OmpExecutableKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.omp.OmpNode
OmpNode.OmpNodeKindNested classes/interfaces inherited from interface dev.civl.abc.ast.node.IF.statement.StatementNode
StatementNode.StatementKind -
Method Summary
Modifier and TypeMethodDescriptionThe identifier node representing the name of the critical section, only valid for CRITICAL kind.The list of variables in the flush construct.Returns the kind of this OpenMP synchronization construct.voidUpdates the name declared by the critical construct.voidUpdates the flush list of this construct.Methods inherited from interface dev.civl.abc.ast.node.IF.ASTNode
addAllTransformAnnotations, addTransformAnnotation, child, childIndex, children, diff, equiv, getAttribute, getOwner, getScope, getSource, id, keepOnly, nextDFS, nodeKind, numChildren, parent, prettyPrint, prettyRepresentation, prettyRepresentation, print, remove, removeChild, removeTransformAnnotation, setAttribute, setChild, setId, setOwner, setScope, toString, transformAnnotationsMethods inherited from interface dev.civl.abc.ast.node.IF.statement.BlockItemNode
blockItemKindMethods inherited from interface dev.civl.abc.ast.node.IF.omp.OmpExecutableNode
copyinList, copyprivateList, firstprivateList, isComplete, lastprivateList, nowait, ompExecutableKind, privateList, reductionList, setCopyinList, setCopyprivateList, setFirstprivateList, setLastprivateList, setNowait, setPrivateList, setReductionList, setSharedList, setStatementNode, sharedList, statementNodeMethods inherited from interface dev.civl.abc.ast.node.IF.omp.OmpNode
ompNodeKindMethods inherited from interface dev.civl.abc.ast.node.IF.statement.StatementNode
copy, statementKind
-
Method Details
-
ompSyncNodeKind
OmpSyncNode.OmpSyncNodeKind ompSyncNodeKind()Returns the kind of this OpenMP synchronization construct.- Returns:
- the synchronization kind of this node.
-
setCriticalName
Updates the name declared by the critical construct. Only valid when the synchronization kind of this node is OmpSyncNodeKind.CRITICAL.- Parameters:
name- The name declared by the critical construct.
-
criticalName
IdentifierNode criticalName()The identifier node representing the name of the critical section, only valid for CRITICAL kind.- Returns:
- the identifier node representing the name of the critical section, only valid for CRITICAL kind.
-
flushedList
SequenceNode<IdentifierExpressionNode> flushedList()The list of variables in the flush construct. NULL for other kinds.- Returns:
- the list of variables in the flush construct, NULL for other kinds.
-
setFlushedList
Updates the flush list of this construct. Only valid when the synchronization kind of this node is OmpSyncNodeKind.FLUSH.- Parameters:
list- The new flush list.
-