class ExtVectorElementExpr
Declaration
class ExtVectorElementExpr : public Expr { /* full declaration omitted */ };
Description
ExtVectorElementExpr - This represents access to specific elements of a vector, and may occur on the left hand side or right hand side. For example the following is legal: "V.xy = V.zw" if V is a 4 element extended vector. Note that the base may have either vector or pointer to vector type, just like a struct field reference.
Declared at: clang/include/clang/AST/Expr.h:5910
Inherits from: Expr
Member Variables
- private clang::Stmt* Base
- private clang::IdentifierInfo* Accessor
- private clang::SourceLocation AccessorLoc
Inherited from Stmt:
Method Overview
- public ExtVectorElementExpr(clang::Stmt::EmptyShell Empty)
- public ExtVectorElementExpr(clang::QualType ty, clang::ExprValueKind VK, clang::Expr * base, clang::IdentifierInfo & accessor, clang::SourceLocation loc)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public bool containsDuplicateElements() const
- public clang::IdentifierInfo & getAccessor() const
- public clang::SourceLocation getAccessorLoc() const
- public clang::Expr * getBase()
- public const clang::Expr * getBase() const
- public clang::SourceLocation getBeginLoc() const
- public void getEncodedElementAccess(SmallVectorImpl<uint32_t> & Elts) const
- public clang::SourceLocation getEndLoc() const
- public unsigned int getNumElements() const
- public bool isArrow() const
- public void setAccessor(clang::IdentifierInfo * II)
- public void setAccessorLoc(clang::SourceLocation L)
- public void setBase(clang::Expr * E)
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
¶ExtVectorElementExpr(
clang::Stmt::EmptyShell Empty)
ExtVectorElementExpr(
clang::Stmt::EmptyShell Empty)
Description
Build an empty vector element expression.
Declared at: clang/include/clang/AST/Expr.h:5924
Parameters
- clang::Stmt::EmptyShell Empty
¶ExtVectorElementExpr(
clang::QualType ty,
clang::ExprValueKind VK,
clang::Expr* base,
clang::IdentifierInfo& accessor,
clang::SourceLocation loc)
ExtVectorElementExpr(
clang::QualType ty,
clang::ExprValueKind VK,
clang::Expr* base,
clang::IdentifierInfo& accessor,
clang::SourceLocation loc)
Declared at: clang/include/clang/AST/Expr.h:5915
Parameters
- clang::QualType ty
- clang::ExprValueKind VK
- clang::Expr* base
- clang::IdentifierInfo& accessor
- clang::SourceLocation loc
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/Expr.h:5963
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/Expr.h:5962
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/Expr.h:5957
Parameters
- const clang::Stmt* T
¶bool containsDuplicateElements() const
bool containsDuplicateElements() const
Description
containsDuplicateElements - Return true if any element access is repeated.
Declared at: clang/include/clang/AST/Expr.h:5942
¶clang::IdentifierInfo& getAccessor() const
clang::IdentifierInfo& getAccessor() const
Declared at: clang/include/clang/AST/Expr.h:5931
¶clang::SourceLocation getAccessorLoc() const
clang::SourceLocation getAccessorLoc() const
Declared at: clang/include/clang/AST/Expr.h:5934
¶clang::Expr* getBase()
clang::Expr* getBase()
Declared at: clang/include/clang/AST/Expr.h:5928
¶const clang::Expr* getBase() const
const clang::Expr* getBase() const
Declared at: clang/include/clang/AST/Expr.h:5927
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/Expr.h:5948
¶void getEncodedElementAccess(
SmallVectorImpl<uint32_t>& Elts) const
void getEncodedElementAccess(
SmallVectorImpl<uint32_t>& Elts) const
Description
getEncodedElementAccess - Encode the elements accessed into an llvm aggregate Constant of ConstantInt(s).
Declared at: clang/include/clang/AST/Expr.h:5946
Parameters
- SmallVectorImpl<uint32_t>& Elts
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/Expr.h:5951
¶unsigned int getNumElements() const
unsigned int getNumElements() const
Description
getNumElements - Get the number of components being selected.
Declared at: clang/include/clang/AST/Expr.h:5938
¶bool isArrow() const
bool isArrow() const
Description
isArrow - Return true if the base expression is a pointer to vector, return false if the base expression is a vector.
Declared at: clang/include/clang/AST/Expr.h:5955
¶void setAccessor(clang::IdentifierInfo* II)
void setAccessor(clang::IdentifierInfo* II)
Declared at: clang/include/clang/AST/Expr.h:5932
Parameters
¶void setAccessorLoc(clang::SourceLocation L)
void setAccessorLoc(clang::SourceLocation L)
Declared at: clang/include/clang/AST/Expr.h:5935
Parameters
¶void setBase(clang::Expr* E)
void setBase(clang::Expr* E)
Declared at: clang/include/clang/AST/Expr.h:5929
Parameters
- clang::Expr* E