Lines Matching refs:BaseExpr
422 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
441 assert(BaseExpr && "cannot happen with implicit member accesses");
443 << BaseType << BaseExpr->getSourceRange();
452 // Get the type being accessed in BaseType. If this is an arrow, the BaseExpr
454 return Owned(CXXDependentScopeMemberExpr::Create(Context, BaseExpr, BaseType,
465 Expr *BaseExpr,
472 if (!BaseExpr)
491 bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
507 if (!BaseExpr && !(*I)->isCXXInstanceMember())
525 DiagnoseQualifiedMemberReference(*this, BaseExpr, BaseType, SS,
658 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
789 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
818 << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange());
829 if ((SS.isSet() || !BaseExpr ||
830 (isa<CXXThisExpr>(BaseExpr) &&
831 cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&
833 CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))
838 if (BaseExpr && BaseExpr->getObjectKind() == OK_ObjCProperty) {
839 ExprResult Result = ConvertPropertyForRValue(BaseExpr);
842 BaseExpr = Result.take();
854 BaseExpr, BaseExprType,
876 if (!BaseExpr) {
884 BaseExpr = new (Context) CXXThisExpr(Loc, BaseExprType,/*isImplicit=*/true);
897 Owned(BaseExpr);
902 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow,
909 BaseExpr, OpLoc);
913 return Owned(BuildMemberExpr(Context, BaseExpr, IsArrow, SS,
931 return Owned(BuildMemberExpr(Context, BaseExpr, IsArrow, SS,
939 return Owned(BuildMemberExpr(Context, BaseExpr, IsArrow, SS,
944 Owned(BaseExpr);
1012 Sema::LookupMemberExpr(LookupResult &R, ExprResult &BaseExpr,
1016 assert(BaseExpr.get() && "no base expression");
1019 BaseExpr = DefaultFunctionArrayConversion(BaseExpr.take());
1020 if (BaseExpr.isInvalid())
1024 BaseExpr = DefaultLvalueConversion(BaseExpr.take());
1025 if (BaseExpr.isInvalid())
1029 QualType BaseType = BaseExpr.get()->getType();
1053 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1060 << BaseType << BaseExpr.get()->getSourceRange();
1067 if (LookupMemberExprInRecord(*this, R, BaseExpr.get()->getSourceRange(),
1100 return Owned(new (Context) ObjCIsaExpr(BaseExpr.take(), IsArrow, MemberLoc,
1103 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1104 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1131 << Member << BaseExpr.get()->getType()
1140 << BaseExpr.get()->getSourceRange();
1185 Expr *BaseExp = BaseExpr.get()->IgnoreParenImpCasts();
1196 MemberLoc, BaseExpr.take(),
1211 BaseExpr = DefaultLvalueConversion(BaseExpr.take());
1212 if (BaseExpr.isInvalid())
1215 assert(Context.hasSameUnqualifiedType(BaseType, BaseExpr.get()->getType()));
1239 BaseExpr.take()));
1263 BaseExpr.take()));
1268 if (IsArrow && ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1269 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1281 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1282 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1334 MemberLoc, BaseExpr.take()));
1337 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1338 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1346 return HandleExprPropertyRefExpr(OPT, BaseExpr.get(), OpLoc,
1355 ExprValueKind VK = (IsArrow ? VK_LValue : BaseExpr.get()->getValueKind());
1361 return Owned(new (Context) ExtVectorElementExpr(ret, VK, BaseExpr.take(),
1370 BaseExpr = ImpCastExprToType(BaseExpr.take(),
1373 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1391 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1396 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1403 if (tryToRecoverWithCall(BaseExpr,
1407 if (BaseExpr.isInvalid())
1409 BaseExpr = DefaultFunctionArrayConversion(BaseExpr.take());
1410 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1415 << BaseType << BaseExpr.get()->getSourceRange();
1510 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1521 if (BaseExpr->getObjectKind() == OK_Ordinary)
1522 VK = BaseExpr->getValueKind();
1535 QualType BaseType = BaseExpr->getType();
1560 S.PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),
1594 Expr *baseExpr = 0; // null signifies implicit access
1599 baseExpr = new (Context) CXXThisExpr(loc, ThisTy, /*isImplicit=*/true);
1602 return BuildMemberReferenceExpr(baseExpr, ThisTy,