Lines Matching defs:LValue

58   struct LValue;
87 /// Get an LValue path entry, which is known to not be an array index, as a
96 /// Get an LValue path entry, which is known to not be an array index, as a
101 /// Get an LValue path entry, which is known to not be an array index, as a
106 /// Determine whether this LValue path entry for a base class names a virtual
323 const LValue *This;
337 const FunctionDecl *Callee, const LValue *This,
351 ThisOverrideRAII(CallStackFrame &Frame, const LValue *NewThis, bool Enable)
361 const LValue *OldThis;
897 const FunctionDecl *Callee, const LValue *This,
992 struct LValue {
1034 // Check that this LValue is not based on a null pointer. If it is, produce
1049 // Check this LValue refers to an object. If not, set the designator to be
1176 const LValue &This, const Expr *E,
1178 static bool EvaluateLValue(const Expr *E, LValue &Result, EvalInfo &Info);
1179 static bool EvaluatePointer(const Expr *E, LValue &Result, EvalInfo &Info);
1182 static bool EvaluateTemporary(const Expr *E, LValue &Result, EvalInfo &Info);
1326 QualType Type, const LValue &LVal) {
1404 const LValue *This = nullptr) {
1479 LValue LVal;
1488 static const ValueDecl *GetLValueBaseDecl(const LValue &LVal) {
1492 static bool IsLiteralLValue(const LValue &Value) {
1499 static bool IsWeakLValue(const LValue &Value) {
1504 static bool isZeroSized(const LValue &Value) {
1548 case APValue::LValue:
1854 static bool CastToDerivedClass(EvalInfo &Info, const Expr *E, LValue &Result,
1883 static bool HandleLValueDirectBase(EvalInfo &Info, const Expr *E, LValue &Obj,
1897 static bool HandleLValueBase(EvalInfo &Info, const Expr *E, LValue &Obj,
1923 QualType Type, LValue &Result) {
1937 static bool HandleLValueMember(EvalInfo &Info, const Expr *E, LValue &LVal,
1953 LValue &LVal,
1989 LValue &LVal, QualType EltTy,
2007 LValue &LVal, QualType EltTy,
2335 // LValue which refers to a string literal.
2590 /// Find the complete object to which an LValue refers.
2592 AccessKinds AK, const LValue &LVal,
2796 const LValue &LVal, APValue &RVal) {
2832 static bool handleAssignment(EvalInfo &Info, const Expr *E, const LValue &LVal,
2884 case APValue::LValue:
2935 LValue LVal;
2953 const LValue &LVal, QualType LValType, QualType PromotedLValType,
3009 case APValue::LValue:
3087 LValue LVal;
3102 static bool handleIncDec(EvalInfo &Info, const Expr *E, const LValue &LVal,
3120 LValue &This) {
3141 /// the resulting LValue subobject designator. This is not possible when
3147 LValue &LV,
3188 // Extend the LValue path with the member pointer's path.
3229 LValue &LV,
3248 LValue &Result) {
3306 LValue Result;
3347 const LValue *Slot;
3808 const FunctionDecl *Callee, const LValue *This,
3811 const LValue *ResultSlot) {
3833 LValue RHS;
3857 static bool HandleConstructorCall(SourceLocation CallLoc, const LValue &This,
3903 LValue RHS;
3926 LValue Subobject = This;
4134 LValue Obj;
4202 const LValue *ResultSlot) {
4207 LValue *This = nullptr, ThisVal;
4233 LValue Call;
4348 LValue LVal;
4373 LValue LVal;
4440 LValue &Result;
4450 LValueExprEvaluatorBase(EvalInfo &Info, LValue &Result) :
4534 // LValue Evaluation
4540 // LValue evaluation produces values comprising a base expression of one of the
4568 LValueExprEvaluator(EvalInfo &Info, LValue &Result) :
4622 static bool EvaluateLValue(const Expr *E, LValue &Result, EvalInfo &Info) {
4866 LValue &Result;
4874 PointerExprEvaluator(EvalInfo &info, LValue &Result)
4919 static bool EvaluatePointer(const Expr* E, LValue& Result, EvalInfo &Info) {
5099 LValue OffsetResult(Result);
5257 const LValue &This;
5261 RecordExprEvaluator(EvalInfo &info, const LValue &This, APValue &Result)
5289 const LValue &This, APValue &Result) {
5303 LValue Subobject = This;
5317 LValue Subobject = This;
5342 LValue Subobject = This;
5409 LValue Subobject = This;
5432 LValue Subobject = This;
5511 LValue Array;
5558 static bool EvaluateRecord(const Expr *E, const LValue &This,
5576 TemporaryExprEvaluator(EvalInfo &Info, LValue &Result) :
5611 static bool EvaluateTemporary(const Expr *E, LValue &Result, EvalInfo &Info) {
5804 const LValue &This;
5808 ArrayExprEvaluator(EvalInfo &Info, const LValue &This, APValue &Result)
5829 LValue Subobject = This;
5841 const LValue &Subobject,
5846 static bool EvaluateArray(const Expr *E, const LValue &This,
5860 LValue LV;
5896 LValue Subobject = This;
5926 const LValue &Subobject,
5946 LValue ArrayElt = Subobject;
6246 template<typename LValue>
6247 static bool EvaluateBuiltinConstantPForLValue(const LValue &LV) {
6278 if (V.getKind() == APValue::LValue)
6283 LValue LV;
6337 /// Checks to see if the given LValue's Designator is at the end of the LValue's
6349 static bool isDesignatorAtObjectEnd(const ASTContext &Ctx, const LValue &LVal) {
6402 /// Tests to see if the LValue has a designator (that isn't necessarily valid).
6403 static bool refersToCompleteObject(const LValue &LVal) {
6439 LValue Base;
6488 LValue End = Base;
6740 LValue String;
6826 static bool HasSameBase(const LValue &A, const LValue &B) {
6849 const LValue &LV) {
7202 LValue LV;
7293 LValue LHSValue, RHSValue;
7815 LValue LV;
8701 LValue LV;
8712 LValue LV;
8733 LValue LV;
8740 LValue LV;
8769 static bool EvaluateInPlace(APValue &Result, EvalInfo &Info, const LValue &This,
8802 LValue LV;
8886 LValue LV;
8913 LValue LVal;
9525 LValue This;