clang 22.0.0git
clang::SemaOpenACC::OpenACCParsedClause Class Reference

A type to represent all the data for an OpenACC Clause that has been parsed, but not yet created/semantically analyzed. More...

#include "clang/Sema/SemaOpenACC.h"

Public Member Functions

 OpenACCParsedClause (OpenACCDirectiveKind DirKind, OpenACCClauseKind ClauseKind, SourceLocation BeginLoc)
OpenACCDirectiveKind getDirectiveKind () const
OpenACCClauseKind getClauseKind () const
SourceLocation getBeginLoc () const
SourceLocation getLParenLoc () const
SourceLocation getEndLoc () const
OpenACCDefaultClauseKind getDefaultClauseKind () const
const ExprgetConditionExpr () const
ExprgetConditionExpr ()
unsigned getNumIntExprs () const
SourceLocation getQueuesLoc () const
ExprgetDevNumExpr () const
ArrayRef< Expr * > getQueueIdExprs () const
ArrayRef< Expr * > getIntExprs ()
ArrayRef< Expr * > getIntExprs () const
OpenACCReductionOperator getReductionOp () const
ArrayRef< OpenACCGangKindgetGangKinds () const
ArrayRef< Expr * > getVarList ()
ArrayRef< Expr * > getVarList () const
OpenACCModifierKind getModifierList () const
bool isForce () const
ExprgetLoopCount () const
ArrayRef< DeviceTypeArgumentgetDeviceTypeArchitectures () const
std::variant< std::monostate, clang::StringLiteral *, IdentifierInfo * > getBindDetails () const
void setLParenLoc (SourceLocation EndLoc)
void setEndLoc (SourceLocation EndLoc)
void setDefaultDetails (OpenACCDefaultClauseKind DefKind)
void setConditionDetails (Expr *ConditionExpr)
void setIntExprDetails (ArrayRef< Expr * > IntExprs)
void setIntExprDetails (llvm::SmallVector< Expr * > &&IntExprs)
void setGangDetails (ArrayRef< OpenACCGangKind > GKs, ArrayRef< Expr * > IntExprs)
void setGangDetails (llvm::SmallVector< OpenACCGangKind > &&GKs, llvm::SmallVector< Expr * > &&IntExprs)
void setVarListDetails (ArrayRef< Expr * > VarList, OpenACCModifierKind ModKind)
void setVarListDetails (llvm::SmallVector< Expr * > &&VarList, OpenACCModifierKind ModKind)
void setReductionDetails (OpenACCReductionOperator Op, llvm::SmallVector< Expr * > &&VarList)
void setWaitDetails (Expr *DevNum, SourceLocation QueuesLoc, llvm::SmallVector< Expr * > &&IntExprs)
void setDeviceTypeDetails (llvm::SmallVector< DeviceTypeArgument > &&Archs)
void setCollapseDetails (bool IsForce, Expr *LoopCount)
void setBindDetails (std::variant< std::monostate, clang::StringLiteral *, IdentifierInfo * > Arg)

Detailed Description

A type to represent all the data for an OpenACC Clause that has been parsed, but not yet created/semantically analyzed.

This is effectively a discriminated union on the 'Clause Kind', with all of the individual clause details stored in a std::variant.

Definition at line 293 of file SemaOpenACC.h.

Constructor & Destructor Documentation

◆ OpenACCParsedClause()

clang::SemaOpenACC::OpenACCParsedClause::OpenACCParsedClause ( OpenACCDirectiveKind DirKind,
OpenACCClauseKind ClauseKind,
SourceLocation BeginLoc )
inline

Definition at line 350 of file SemaOpenACC.h.

Referenced by getConditionExpr(), getIntExprs(), and getVarList().

Member Function Documentation

◆ getBeginLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getBeginLoc ( ) const
inline

Definition at line 358 of file SemaOpenACC.h.

◆ getBindDetails()

std::variant< std::monostate, clang::StringLiteral *, IdentifierInfo * > clang::SemaOpenACC::OpenACCParsedClause::getBindDetails ( ) const
inline

Definition at line 549 of file SemaOpenACC.h.

References clang::Bind.

◆ getClauseKind()

OpenACCClauseKind clang::SemaOpenACC::OpenACCParsedClause::getClauseKind ( ) const
inline

Definition at line 356 of file SemaOpenACC.h.

◆ getConditionExpr() [1/2]

Expr * clang::SemaOpenACC::OpenACCParsedClause::getConditionExpr ( )
inline

Definition at line 374 of file SemaOpenACC.h.

References clang::If, clang::Self, and clang::Update.

◆ getConditionExpr() [2/2]

const Expr * clang::SemaOpenACC::OpenACCParsedClause::getConditionExpr ( ) const
inline

Definition at line 370 of file SemaOpenACC.h.

References getConditionExpr(), and OpenACCParsedClause().

Referenced by getConditionExpr().

◆ getDefaultClauseKind()

OpenACCDefaultClauseKind clang::SemaOpenACC::OpenACCParsedClause::getDefaultClauseKind ( ) const
inline

Definition at line 364 of file SemaOpenACC.h.

References clang::Default.

◆ getDeviceTypeArchitectures()

ArrayRef< DeviceTypeArgument > clang::SemaOpenACC::OpenACCParsedClause::getDeviceTypeArchitectures ( ) const
inline

Definition at line 541 of file SemaOpenACC.h.

References clang::DeviceType, and clang::DType.

◆ getDevNumExpr()

Expr * clang::SemaOpenACC::OpenACCParsedClause::getDevNumExpr ( ) const
inline

Definition at line 422 of file SemaOpenACC.h.

References clang::Wait.

◆ getDirectiveKind()

OpenACCDirectiveKind clang::SemaOpenACC::OpenACCParsedClause::getDirectiveKind ( ) const
inline

Definition at line 354 of file SemaOpenACC.h.

◆ getEndLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getEndLoc ( ) const
inline

Definition at line 362 of file SemaOpenACC.h.

◆ getGangKinds()

ArrayRef< OpenACCGangKind > clang::SemaOpenACC::OpenACCParsedClause::getGangKinds ( ) const
inline

Definition at line 474 of file SemaOpenACC.h.

References clang::Gang.

◆ getIntExprs() [1/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getIntExprs ( )
inline

◆ getIntExprs() [2/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getIntExprs ( ) const
inline

Definition at line 466 of file SemaOpenACC.h.

References getIntExprs(), and OpenACCParsedClause().

◆ getLoopCount()

Expr * clang::SemaOpenACC::OpenACCParsedClause::getLoopCount ( ) const
inline

Definition at line 535 of file SemaOpenACC.h.

References clang::Collapse.

◆ getLParenLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getLParenLoc ( ) const
inline

Definition at line 360 of file SemaOpenACC.h.

◆ getModifierList()

OpenACCModifierKind clang::SemaOpenACC::OpenACCParsedClause::getModifierList ( ) const
inline

Definition at line 525 of file SemaOpenACC.h.

◆ getNumIntExprs()

unsigned clang::SemaOpenACC::OpenACCParsedClause::getNumIntExprs ( ) const
inline

◆ getQueueIdExprs()

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getQueueIdExprs ( ) const
inline

Definition at line 432 of file SemaOpenACC.h.

References clang::Wait.

◆ getQueuesLoc()

SourceLocation clang::SemaOpenACC::OpenACCParsedClause::getQueuesLoc ( ) const
inline

Definition at line 412 of file SemaOpenACC.h.

References clang::Wait.

◆ getReductionOp()

OpenACCReductionOperator clang::SemaOpenACC::OpenACCParsedClause::getReductionOp ( ) const
inline

Definition at line 470 of file SemaOpenACC.h.

◆ getVarList() [1/2]

◆ getVarList() [2/2]

ArrayRef< Expr * > clang::SemaOpenACC::OpenACCParsedClause::getVarList ( ) const
inline

Definition at line 521 of file SemaOpenACC.h.

References getVarList(), and OpenACCParsedClause().

◆ isForce()

bool clang::SemaOpenACC::OpenACCParsedClause::isForce ( ) const
inline

Definition at line 529 of file SemaOpenACC.h.

References clang::Collapse.

◆ setBindDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setBindDetails ( std::variant< std::monostate, clang::StringLiteral *, IdentifierInfo * > Arg)
inline

Definition at line 745 of file SemaOpenACC.h.

References clang::Bind.

◆ setCollapseDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setCollapseDetails ( bool IsForce,
Expr * LoopCount )
inline

Definition at line 739 of file SemaOpenACC.h.

References clang::Collapse.

◆ setConditionDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setConditionDetails ( Expr * ConditionExpr)
inline

◆ setDefaultDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setDefaultDetails ( OpenACCDefaultClauseKind DefKind)
inline

Definition at line 558 of file SemaOpenACC.h.

References clang::Default.

◆ setDeviceTypeDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setDeviceTypeDetails ( llvm::SmallVector< DeviceTypeArgument > && Archs)
inline

Definition at line 732 of file SemaOpenACC.h.

References clang::DeviceType, and clang::DType.

◆ setEndLoc()

void clang::SemaOpenACC::OpenACCParsedClause::setEndLoc ( SourceLocation EndLoc)
inline

Definition at line 556 of file SemaOpenACC.h.

◆ setGangDetails() [1/2]

void clang::SemaOpenACC::OpenACCParsedClause::setGangDetails ( ArrayRef< OpenACCGangKind > GKs,
ArrayRef< Expr * > IntExprs )
inline

Definition at line 605 of file SemaOpenACC.h.

References clang::Gang.

◆ setGangDetails() [2/2]

void clang::SemaOpenACC::OpenACCParsedClause::setGangDetails ( llvm::SmallVector< OpenACCGangKind > && GKs,
llvm::SmallVector< Expr * > && IntExprs )
inline

Definition at line 615 of file SemaOpenACC.h.

References clang::Gang.

◆ setIntExprDetails() [1/2]

void clang::SemaOpenACC::OpenACCParsedClause::setIntExprDetails ( ArrayRef< Expr * > IntExprs)
inline

◆ setIntExprDetails() [2/2]

void clang::SemaOpenACC::OpenACCParsedClause::setIntExprDetails ( llvm::SmallVector< Expr * > && IntExprs)
inline

◆ setLParenLoc()

void clang::SemaOpenACC::OpenACCParsedClause::setLParenLoc ( SourceLocation EndLoc)
inline

Definition at line 555 of file SemaOpenACC.h.

◆ setReductionDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setReductionDetails ( OpenACCReductionOperator Op,
llvm::SmallVector< Expr * > && VarList )
inline

Definition at line 718 of file SemaOpenACC.h.

References clang::Reduction.

◆ setVarListDetails() [1/2]

◆ setVarListDetails() [2/2]

◆ setWaitDetails()

void clang::SemaOpenACC::OpenACCParsedClause::setWaitDetails ( Expr * DevNum,
SourceLocation QueuesLoc,
llvm::SmallVector< Expr * > && IntExprs )
inline

Definition at line 725 of file SemaOpenACC.h.

References clang::Wait.


The documentation for this class was generated from the following file: