Interface OmpSyncNode

All Superinterfaces:
ASTNode, BlockItemNode, OmpExecutableNode, OmpNode, StatementNode
All Known Subinterfaces:
OmpAtomicNode

public interface OmpSyncNode extends OmpExecutableNode
This interface stands for synchronization constructs of OpenMP, including:
  1. master
  2. critical
  3. barrier
  4. flush
  5. atomic
Currently, taskwait and atomic constructs are not supported.
  • Method Details

    • ompSyncNodeKind

      OmpSyncNode.OmpSyncNodeKind ompSyncNodeKind()
      Returns the kind of this OpenMP synchronization construct.
      Returns:
      the synchronization kind of this node.
    • setCriticalName

      void setCriticalName(IdentifierNode name)
      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

      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

      void setFlushedList(SequenceNode<IdentifierExpressionNode> list)
      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.