class ObjCPropertyRefExpr
Declaration
class ObjCPropertyRefExpr : public Expr { /* full declaration omitted */ };
Description
ObjCPropertyRefExpr - A dot-syntax expression to access an ObjC property.
Declared at: clang/include/clang/AST/ExprObjC.h:614
Inherits from: Expr
Member Variables
- private llvm::PointerIntPair<NamedDecl*, 1, bool> PropertyOrGetter
- If the bool is true, this is an implicit property reference; the pointer is an (optional) ObjCMethodDecl and Setter may be set. if the bool is false, this is an explicit property reference; the pointer is an ObjCPropertyDecl and Setter is always null.
- private llvm::PointerIntPair<ObjCMethodDecl*, 2, unsigned int> SetterAndMethodRefFlags
- Contains the Setter method pointer and MethodRefFlags bit flags.
- private clang::SourceLocation IdLoc
- private clang::SourceLocation ReceiverLoc
- When the receiver in property access is 'super', this is the location of the 'super' keyword. When it's an interface, this is that interface.
- private llvm::PointerUnion<Stmt*, const Type*, ObjCInterfaceDecl*> Receiver
Inherited from Stmt:
Method Overview
- public ObjCPropertyRefExpr(clang::ObjCPropertyDecl * PD, clang::QualType t, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation l, clang::SourceLocation sl, clang::QualType st)
- public ObjCPropertyRefExpr(clang::ObjCMethodDecl * Getter, clang::ObjCMethodDecl * Setter, clang::QualType T, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation IdLoc, clang::Expr * Base)
- public ObjCPropertyRefExpr(clang::ObjCMethodDecl * Getter, clang::ObjCMethodDecl * Setter, clang::QualType T, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation IdLoc, clang::SourceLocation SuperLoc, clang::QualType SuperTy)
- public ObjCPropertyRefExpr(clang::ObjCMethodDecl * Getter, clang::ObjCMethodDecl * Setter, clang::QualType T, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation IdLoc, clang::SourceLocation ReceiverLoc, clang::ObjCInterfaceDecl * Receiver)
- public ObjCPropertyRefExpr(clang::Stmt::EmptyShell Empty)
- public ObjCPropertyRefExpr(clang::ObjCPropertyDecl * PD, clang::QualType t, clang::ExprValueKind VK, clang::ExprObjectKind OK, clang::SourceLocation l, clang::Expr * base)
- public clang::Stmt::const_child_range children() const
- public clang::Stmt::child_range children()
- public static bool classof(const clang::Stmt * T)
- public const clang::Expr * getBase() const
- public clang::Expr * getBase()
- public clang::SourceLocation getBeginLoc() const
- public clang::ObjCInterfaceDecl * getClassReceiver() const
- public clang::SourceLocation getEndLoc() const
- public clang::ObjCPropertyDecl * getExplicitProperty() const
- public clang::Selector getGetterSelector() const
- public clang::ObjCMethodDecl * getImplicitPropertyGetter() const
- public clang::ObjCMethodDecl * getImplicitPropertySetter() const
- public clang::SourceLocation getLocation() const
- public clang::SourceLocation getReceiverLocation() const
- public clang::QualType getReceiverType(const clang::ASTContext & ctx) const
- public clang::Selector getSetterSelector() const
- public clang::QualType getSuperReceiverType() const
- public bool isClassReceiver() const
- public bool isExplicitProperty() const
- public bool isImplicitProperty() const
- public bool isMessagingGetter() const
- public bool isMessagingSetter() const
- public bool isObjectReceiver() const
- public bool isSuperReceiver() const
- private void setBase(clang::Expr * Base)
- private void setClassReceiver(clang::ObjCInterfaceDecl * D)
- private void setExplicitProperty(clang::ObjCPropertyDecl * D, unsigned int methRefFlags)
- private void setImplicitProperty(clang::ObjCMethodDecl * Getter, clang::ObjCMethodDecl * Setter, unsigned int methRefFlags)
- public void setIsMessagingGetter(bool val = true)
- public void setIsMessagingSetter(bool val = true)
- private void setLocation(clang::SourceLocation L)
- private void setMethodRefFlag(clang::ObjCPropertyRefExpr::MethodRefFlags flag, bool val)
- private void setReceiverLocation(clang::SourceLocation Loc)
- private void setSuperReceiver(clang::QualType T)
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
¶ObjCPropertyRefExpr(clang::ObjCPropertyDecl* PD,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation l,
clang::SourceLocation sl,
clang::QualType st)
ObjCPropertyRefExpr(clang::ObjCPropertyDecl* PD,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation l,
clang::SourceLocation sl,
clang::QualType st)
Declared at: clang/include/clang/AST/ExprObjC.h:656
Parameters
- clang::ObjCPropertyDecl* PD
- clang::QualType t
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation l
- clang::SourceLocation sl
- clang::QualType st
¶ObjCPropertyRefExpr(clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::Expr* Base)
ObjCPropertyRefExpr(clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::Expr* Base)
Declared at: clang/include/clang/AST/ExprObjC.h:665
Parameters
- clang::ObjCMethodDecl* Getter
- clang::ObjCMethodDecl* Setter
- clang::QualType T
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation IdLoc
- clang::Expr* Base
¶ObjCPropertyRefExpr(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::SourceLocation SuperLoc,
clang::QualType SuperTy)
ObjCPropertyRefExpr(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::SourceLocation SuperLoc,
clang::QualType SuperTy)
Declared at: clang/include/clang/AST/ExprObjC.h:675
Parameters
- clang::ObjCMethodDecl* Getter
- clang::ObjCMethodDecl* Setter
- clang::QualType T
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation IdLoc
- clang::SourceLocation SuperLoc
- clang::QualType SuperTy
¶ObjCPropertyRefExpr(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::SourceLocation ReceiverLoc,
clang::ObjCInterfaceDecl* Receiver)
ObjCPropertyRefExpr(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
clang::QualType T,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation IdLoc,
clang::SourceLocation ReceiverLoc,
clang::ObjCInterfaceDecl* Receiver)
Declared at: clang/include/clang/AST/ExprObjC.h:686
Parameters
- clang::ObjCMethodDecl* Getter
- clang::ObjCMethodDecl* Setter
- clang::QualType T
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation IdLoc
- clang::SourceLocation ReceiverLoc
- clang::ObjCInterfaceDecl* Receiver
¶ObjCPropertyRefExpr(clang::Stmt::EmptyShell Empty)
ObjCPropertyRefExpr(clang::Stmt::EmptyShell Empty)
Declared at: clang/include/clang/AST/ExprObjC.h:697
Parameters
- clang::Stmt::EmptyShell Empty
¶ObjCPropertyRefExpr(clang::ObjCPropertyDecl* PD,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation l,
clang::Expr* base)
ObjCPropertyRefExpr(clang::ObjCPropertyDecl* PD,
clang::QualType t,
clang::ExprValueKind VK,
clang::ExprObjectKind OK,
clang::SourceLocation l,
clang::Expr* base)
Declared at: clang/include/clang/AST/ExprObjC.h:648
Parameters
- clang::ObjCPropertyDecl* PD
- clang::QualType t
- clang::ExprValueKind VK
- clang::ExprObjectKind OK
- clang::SourceLocation l
- clang::Expr* base
¶clang::Stmt::const_child_range children() const
clang::Stmt::const_child_range children() const
Declared at: clang/include/clang/AST/ExprObjC.h:794
¶clang::Stmt::child_range children()
clang::Stmt::child_range children()
Declared at: clang/include/clang/AST/ExprObjC.h:786
¶static bool classof(const clang::Stmt* T)
static bool classof(const clang::Stmt* T)
Declared at: clang/include/clang/AST/ExprObjC.h:799
Parameters
- const clang::Stmt* T
¶const clang::Expr* getBase() const
const clang::Expr* getBase() const
Declared at: clang/include/clang/AST/ExprObjC.h:752
¶clang::Expr* getBase()
clang::Expr* getBase()
Declared at: clang/include/clang/AST/ExprObjC.h:755
¶clang::SourceLocation getBeginLoc() const
clang::SourceLocation getBeginLoc() const
Declared at: clang/include/clang/AST/ExprObjC.h:778
¶clang::ObjCInterfaceDecl* getClassReceiver() const
clang::ObjCInterfaceDecl* getClassReceiver() const
Declared at: clang/include/clang/AST/ExprObjC.h:767
¶clang::SourceLocation getEndLoc() const
clang::SourceLocation getEndLoc() const
Declared at: clang/include/clang/AST/ExprObjC.h:783
¶clang::ObjCPropertyDecl* getExplicitProperty()
const
clang::ObjCPropertyDecl* getExplicitProperty()
const
Declared at: clang/include/clang/AST/ExprObjC.h:703
¶clang::Selector getGetterSelector() const
clang::Selector getGetterSelector() const
Declared at: clang/include/clang/AST/ExprObjC.h:718
¶clang::ObjCMethodDecl* getImplicitPropertyGetter()
const
clang::ObjCMethodDecl* getImplicitPropertyGetter()
const
Declared at: clang/include/clang/AST/ExprObjC.h:708
¶clang::ObjCMethodDecl* getImplicitPropertySetter()
const
clang::ObjCMethodDecl* getImplicitPropertySetter()
const
Declared at: clang/include/clang/AST/ExprObjC.h:713
¶clang::SourceLocation getLocation() const
clang::SourceLocation getLocation() const
Declared at: clang/include/clang/AST/ExprObjC.h:759
¶clang::SourceLocation getReceiverLocation() const
clang::SourceLocation getReceiverLocation() const
Declared at: clang/include/clang/AST/ExprObjC.h:761
¶clang::QualType getReceiverType(
const clang::ASTContext& ctx) const
clang::QualType getReceiverType(
const clang::ASTContext& ctx) const
Description
Determine the type of the base, regardless of the kind of receiver.
Declared at: clang/include/clang/AST/ExprObjC.h:776
Parameters
- const clang::ASTContext& ctx
¶clang::Selector getSetterSelector() const
clang::Selector getSetterSelector() const
Declared at: clang/include/clang/AST/ExprObjC.h:724
¶clang::QualType getSuperReceiverType() const
clang::QualType getSuperReceiverType() const
Declared at: clang/include/clang/AST/ExprObjC.h:763
¶bool isClassReceiver() const
bool isClassReceiver() const
Declared at: clang/include/clang/AST/ExprObjC.h:773
¶bool isExplicitProperty() const
bool isExplicitProperty() const
Declared at: clang/include/clang/AST/ExprObjC.h:701
¶bool isImplicitProperty() const
bool isImplicitProperty() const
Declared at: clang/include/clang/AST/ExprObjC.h:700
¶bool isMessagingGetter() const
bool isMessagingGetter() const
Description
True if the property reference will result in a message to the getter. This applies to both implicit and explicit property references.
Declared at: clang/include/clang/AST/ExprObjC.h:733
¶bool isMessagingSetter() const
bool isMessagingSetter() const
Description
True if the property reference will result in a message to the setter. This applies to both implicit and explicit property references.
Declared at: clang/include/clang/AST/ExprObjC.h:740
¶bool isObjectReceiver() const
bool isObjectReceiver() const
Declared at: clang/include/clang/AST/ExprObjC.h:771
¶bool isSuperReceiver() const
bool isSuperReceiver() const
Declared at: clang/include/clang/AST/ExprObjC.h:772
¶void setBase(clang::Expr* Base)
void setBase(clang::Expr* Base)
Declared at: clang/include/clang/AST/ExprObjC.h:822
Parameters
- clang::Expr* Base
¶void setClassReceiver(clang::ObjCInterfaceDecl* D)
void setClassReceiver(clang::ObjCInterfaceDecl* D)
Declared at: clang/include/clang/AST/ExprObjC.h:824
Parameters
¶void setExplicitProperty(
clang::ObjCPropertyDecl* D,
unsigned int methRefFlags)
void setExplicitProperty(
clang::ObjCPropertyDecl* D,
unsigned int methRefFlags)
Declared at: clang/include/clang/AST/ExprObjC.h:807
Parameters
- clang::ObjCPropertyDecl* D
- unsigned int methRefFlags
¶void setImplicitProperty(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
unsigned int methRefFlags)
void setImplicitProperty(
clang::ObjCMethodDecl* Getter,
clang::ObjCMethodDecl* Setter,
unsigned int methRefFlags)
Declared at: clang/include/clang/AST/ExprObjC.h:814
Parameters
- clang::ObjCMethodDecl* Getter
- clang::ObjCMethodDecl* Setter
- unsigned int methRefFlags
¶void setIsMessagingGetter(bool val = true)
void setIsMessagingGetter(bool val = true)
Declared at: clang/include/clang/AST/ExprObjC.h:744
Parameters
- bool val = true
¶void setIsMessagingSetter(bool val = true)
void setIsMessagingSetter(bool val = true)
Declared at: clang/include/clang/AST/ExprObjC.h:748
Parameters
- bool val = true
¶void setLocation(clang::SourceLocation L)
void setLocation(clang::SourceLocation L)
Declared at: clang/include/clang/AST/ExprObjC.h:826
Parameters
¶void setMethodRefFlag(
clang::ObjCPropertyRefExpr::MethodRefFlags
flag,
bool val)
void setMethodRefFlag(
clang::ObjCPropertyRefExpr::MethodRefFlags
flag,
bool val)
Declared at: clang/include/clang/AST/ExprObjC.h:829
Parameters
- clang::ObjCPropertyRefExpr::MethodRefFlags flag
- bool val
¶void setReceiverLocation(
clang::SourceLocation Loc)
void setReceiverLocation(
clang::SourceLocation Loc)
Declared at: clang/include/clang/AST/ExprObjC.h:827
Parameters
¶void setSuperReceiver(clang::QualType T)
void setSuperReceiver(clang::QualType T)
Declared at: clang/include/clang/AST/ExprObjC.h:823