class OffsetOfExpr

Declaration

class OffsetOfExpr : public Expr, private TrailingObjects { /* full declaration omitted */ };

Description

OffsetOfExpr - [C99 7.17] - This represents an expression of the form offsetof(record-type, member-designator). For example, given: we can represent and evaluate the expression @c offsetof(struct T, s[2].d).

Declared at: clang/include/clang/AST/Expr.h:2444

Inherits from: Expr, TrailingObjects

Member Variables

private clang::SourceLocation OperatorLoc
private clang::SourceLocation RParenLoc
private clang::TypeSourceInfo* TSInfo
private unsigned int NumComps
private unsigned int NumExprs

Inherited from Stmt:

protected

Method Overview

  • public static clang::OffsetOfExpr * Create(const clang::ASTContext & C, clang::QualType type, clang::SourceLocation OperatorLoc, clang::TypeSourceInfo * tsi, ArrayRef<clang::OffsetOfNode> comps, ArrayRef<clang::Expr *> exprs, clang::SourceLocation RParenLoc)
  • public static clang::OffsetOfExpr * CreateEmpty(const clang::ASTContext & C, unsigned int NumComps, unsigned int NumExprs)
  • private OffsetOfExpr(const clang::ASTContext & C, clang::QualType type, clang::SourceLocation OperatorLoc, clang::TypeSourceInfo * tsi, ArrayRef<clang::OffsetOfNode> comps, ArrayRef<clang::Expr *> exprs, clang::SourceLocation RParenLoc)
  • private OffsetOfExpr(unsigned int numComps, unsigned int numExprs)
  • public clang::Stmt::const_child_range children() const
  • public clang::Stmt::child_range children()
  • public static bool classof(const clang::Stmt * T)
  • public clang::SourceLocation getBeginLoc() const
  • public const clang::OffsetOfNode & getComponent(unsigned int Idx) const
  • public clang::SourceLocation getEndLoc() const
  • public clang::Expr * getIndexExpr(unsigned int Idx)
  • public const clang::Expr * getIndexExpr(unsigned int Idx) const
  • public unsigned int getNumComponents() const
  • public unsigned int getNumExpressions() const
  • public clang::SourceLocation getOperatorLoc() const
  • public clang::SourceLocation getRParenLoc() const
  • public clang::TypeSourceInfo * getTypeSourceInfo() const
  • private size_t numTrailingObjects(OverloadToken<clang::OffsetOfNode>) const
  • public void setComponent(unsigned int Idx, clang::OffsetOfNode ON)
  • public void setIndexExpr(unsigned int Idx, clang::Expr * E)
  • public void setOperatorLoc(clang::SourceLocation L)
  • public void setRParenLoc(clang::SourceLocation R)
  • public void setTypeSourceInfo(clang::TypeSourceInfo * tsi)

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

static clang::OffsetOfExpr* Create(
    const clang::ASTContext& C,
    clang::QualType type,
    clang::SourceLocation OperatorLoc,
    clang::TypeSourceInfo* tsi,
    ArrayRef<clang::OffsetOfNode> comps,
    ArrayRef<clang::Expr*> exprs,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/AST/Expr.h:2470

Parameters

const clang::ASTContext& C
clang::QualType type
clang::SourceLocation OperatorLoc
clang::TypeSourceInfo* tsi
ArrayRef<clang::OffsetOfNode> comps
ArrayRef<clang::Expr*> exprs
clang::SourceLocation RParenLoc

static clang::OffsetOfExpr* CreateEmpty(
    const clang::ASTContext& C,
    unsigned int NumComps,
    unsigned int NumExprs)

Declared at: clang/include/clang/AST/Expr.h:2475

Parameters

const clang::ASTContext& C
unsigned int NumComps
unsigned int NumExprs

OffsetOfExpr(const clang::ASTContext& C,
             clang::QualType type,
             clang::SourceLocation OperatorLoc,
             clang::TypeSourceInfo* tsi,
             ArrayRef<clang::OffsetOfNode> comps,
             ArrayRef<clang::Expr*> exprs,
             clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/AST/Expr.h:2459

Parameters

const clang::ASTContext& C
clang::QualType type
clang::SourceLocation OperatorLoc
clang::TypeSourceInfo* tsi
ArrayRef<clang::OffsetOfNode> comps
ArrayRef<clang::Expr*> exprs
clang::SourceLocation RParenLoc

OffsetOfExpr(unsigned int numComps,
             unsigned int numExprs)

Declared at: clang/include/clang/AST/Expr.h:2464

Parameters

unsigned int numComps
unsigned int numExprs

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Expr.h:2538

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Expr.h:2534

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/Expr.h:2529

Parameters

const clang::Stmt* T

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Expr.h:2526

const clang::OffsetOfNode& getComponent(
    unsigned int Idx) const

Declared at: clang/include/clang/AST/Expr.h:2493

Parameters

unsigned int Idx

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Expr.h:2527

clang::Expr* getIndexExpr(unsigned int Idx)

Declared at: clang/include/clang/AST/Expr.h:2507

Parameters

unsigned int Idx

const clang::Expr* getIndexExpr(
    unsigned int Idx) const

Declared at: clang/include/clang/AST/Expr.h:2512

Parameters

unsigned int Idx

unsigned int getNumComponents() const

Declared at: clang/include/clang/AST/Expr.h:2503

unsigned int getNumExpressions() const

Declared at: clang/include/clang/AST/Expr.h:2522

clang::SourceLocation getOperatorLoc() const

Description

getOperatorLoc - Return the location of the operator.

Declared at: clang/include/clang/AST/Expr.h:2479

clang::SourceLocation getRParenLoc() const

Description

Return the location of the right parentheses.

Declared at: clang/include/clang/AST/Expr.h:2483

clang::TypeSourceInfo* getTypeSourceInfo() const

Declared at: clang/include/clang/AST/Expr.h:2486

size_t numTrailingObjects(
    OverloadToken<clang::OffsetOfNode>) const

Declared at: clang/include/clang/AST/Expr.h:2455

Parameters

OverloadToken<clang::OffsetOfNode>

void setComponent(unsigned int Idx,
                  clang::OffsetOfNode ON)

Declared at: clang/include/clang/AST/Expr.h:2498

Parameters

unsigned int Idx
clang::OffsetOfNode ON

void setIndexExpr(unsigned int Idx,
                  clang::Expr* E)

Declared at: clang/include/clang/AST/Expr.h:2517

Parameters

unsigned int Idx
clang::Expr* E

void setOperatorLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Expr.h:2480

Parameters

clang::SourceLocation L

void setRParenLoc(clang::SourceLocation R)

Declared at: clang/include/clang/AST/Expr.h:2484

Parameters

clang::SourceLocation R

void setTypeSourceInfo(clang::TypeSourceInfo* tsi)

Declared at: clang/include/clang/AST/Expr.h:2489

Parameters

clang::TypeSourceInfo* tsi