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:
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:
- public Classify
- public ClassifyLValue
- public ClassifyModifiable
- public EvaluateAsBooleanCondition
- public EvaluateAsConstantExpr
- public EvaluateAsFixedPoint
- public EvaluateAsFloat
- public EvaluateAsInitializer
- public EvaluateAsInt
- public EvaluateAsLValue
- public EvaluateAsRValue
- public EvaluateForOverflow
- public EvaluateKnownConstInt
- public EvaluateKnownConstIntCheckOverflow
- public EvaluateWithSubstitution
- public HasSideEffects
- public IgnoreCasts
- public IgnoreCasts
- public IgnoreConversionOperatorSingleStep
- public IgnoreConversionOperatorSingleStep
- public IgnoreImpCasts
- public IgnoreImpCasts
- public IgnoreImplicit
- public IgnoreImplicit
- public IgnoreImplicitAsWritten
- public IgnoreImplicitAsWritten
- public IgnoreParenBaseCasts
- public IgnoreParenBaseCasts
- public IgnoreParenCasts
- public IgnoreParenCasts
- public IgnoreParenImpCasts
- public IgnoreParenImpCasts
- public IgnoreParenLValueCasts
- public IgnoreParenLValueCasts
- public IgnoreParenNoopCasts
- public IgnoreParenNoopCasts
- public IgnoreParens
- public IgnoreParens
- public IgnoreUnlessSpelledInSource
- public IgnoreUnlessSpelledInSource
- public classof
- public containsErrors
- public containsUnexpandedParameterPack
- public findBoundMemberType
- public getAsBuiltinConstantDeclRef
- public getBestDynamicClassType
- public getBestDynamicClassTypeExpr
- public getDependence
- public getExprLoc
- public getFPFeaturesInEffect
- public getIntegerConstantExpr
- public getObjCProperty
- public getObjectKind
- public getReferencedDeclOfCallee
- public getReferencedDeclOfCallee
- public getSourceBitField
- public getSourceBitField
- public getType
- public getValueKind
- public getValueKindForType
- public hasAnyTypeDependentArguments
- public hasNonTrivialCall
- public hasPlaceholderType
- public hasPlaceholderType
- public isBoundMemberFunction
- public isCXX11ConstantExpr
- public isCXX98IntegralConstantExpr
- public isConstantInitializer
- public isDefaultArgument
- public isEvaluatable
- public isGLValue
- public isImplicitCXXThis
- public isInstantiationDependent
- public isIntegerConstantExpr
- public isKnownToHaveBooleanValue
- public isLValue
- public isModifiableLvalue
- public isNullPointerConstant
- public isOBJCGCCandidate
- public isObjCSelfExpr
- public isOrdinaryOrBitFieldObject
- public isPRValue
- public isPotentialConstantExpr
- public isPotentialConstantExprUnevaluated
- public isReadIfDiscardedInCPlusPlus11
- public isSameComparisonOperand
- public isTemporaryObject
- public isTypeDependent
- public isUnusedResultAWarning
- public isValueDependent
- public isXValue
- public refersToBitField
- public refersToGlobalRegisterVar
- public refersToMatrixElement
- public refersToVectorElement
- protected setDependence
- public setObjectKind
- public setType
- public setValueKind
- public skipRValueSubobjectAdjustments
- public skipRValueSubobjectAdjustments
- public tryEvaluateObjectSize
- public tryEvaluateStrLen
Inherited from ValueStmt:
Inherited from Stmt:
- public EnableStatistics
- public IgnoreContainers
- public IgnoreContainers
- public PrintStats
- public ProcessODRHash
- public Profile
- public addStmtClass
- public child_begin
- public child_begin
- public child_end
- public child_end
- public children
- public children
- public determineLikelihoodConflict
- public dump
- public dump
- public dumpColor
- public dumpPretty
- public getBeginLoc
- public getEndLoc
- public getID
- public getLikelihood
- public getLikelihood
- public getLikelihood
- public getLikelihoodAttr
- public getSourceRange
- public getStmtClass
- public getStmtClassName
- public printJson
- public printPretty
- public printPrettyControlled
- public stripLabelLikeStatements
- public stripLabelLikeStatements
- public viewAST
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)
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)
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)
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)
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
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Expr.h:2538
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Expr.h:2534
¶static bool classof(const clang::Stmt* T)
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
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Expr.h:2526
¶const clang::OffsetOfNode& getComponent(
unsigned int Idx) const
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
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Expr.h:2527
¶clang::Expr* getIndexExpr(unsigned int Idx)
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
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
unsigned int getNumComponents() const
Declared at: clang/include/clang/AST/Expr.h:2503
¶unsigned int getNumExpressions() const
unsigned int getNumExpressions() const
Declared at: clang/include/clang/AST/Expr.h:2522
¶clang::SourceLocation getOperatorLoc() const
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
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
clang::TypeSourceInfo* getTypeSourceInfo() const
Declared at: clang/include/clang/AST/Expr.h:2486
¶size_t numTrailingObjects(
OverloadToken<clang::OffsetOfNode>) const
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)
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)
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)
void setOperatorLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Expr.h:2480
Parameters
¶void setRParenLoc(clang::SourceLocation R)
void setRParenLoc(clang::SourceLocation R)
Declared at: clang/include/clang/AST/Expr.h:2484
Parameters
¶void setTypeSourceInfo(clang::TypeSourceInfo* tsi)
void setTypeSourceInfo(clang::TypeSourceInfo* tsi)
Declared at: clang/include/clang/AST/Expr.h:2489