class OMPClauseMappableExprCommon::MappableComponent

Declaration

class OMPClauseMappableExprCommon::MappableComponent { /* full declaration omitted */ };

Description

Class that represents a component of a mappable expression. E.g. for an expression S.a, the first component is a declaration reference expression associated with 'S' and the second is a member expression associated with the field declaration 'a'. If the expression is an array subscript it may not have any associated declaration. In that case the associated declaration is set to nullptr.

Declared at: clang/include/clang/AST/OpenMPClause.h:5073

Member Variables

private llvm::PointerIntPair<Expr*, 1, bool> AssociatedExpressionNonContiguousPr
Pair of Expression and Non-contiguous pair associated with the component.
private clang::ValueDecl* AssociatedDeclaration = nullptr
Declaration associated with the declaration. If the component does not have a declaration (e.g. array subscripts or section), this is set to nullptr.

Method Overview

Methods

MappableComponent()

Declared at: clang/include/clang/AST/OpenMPClause.h:5084

MappableComponent(
    clang::Expr* AssociatedExpression,
    clang::ValueDecl* AssociatedDeclaration,
    bool IsNonContiguous)

Declared at: clang/include/clang/AST/OpenMPClause.h:5085

Parameters

clang::Expr* AssociatedExpression
clang::ValueDecl* AssociatedDeclaration
bool IsNonContiguous

clang::ValueDecl* getAssociatedDeclaration() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5103

clang::Expr* getAssociatedExpression() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5095

bool isNonContiguous() const

Declared at: clang/include/clang/AST/OpenMPClause.h:5099