Lines Matching refs:BaseExpr
437 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
457 assert(BaseExpr && "cannot happen with implicit member accesses");
459 << BaseType << BaseExpr->getSourceRange();
468 // Get the type being accessed in BaseType. If this is an arrow, the BaseExpr
470 return Owned(CXXDependentScopeMemberExpr::Create(Context, BaseExpr, BaseType,
482 Expr *BaseExpr,
489 if (!BaseExpr)
508 bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
524 if (!BaseExpr && !(*I)->isCXXInstanceMember())
542 DiagnoseQualifiedMemberReference(*this, BaseExpr, BaseType, SS,
690 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
829 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
859 << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange());
870 if ((SS.isSet() || !BaseExpr ||
871 (isa<CXXThisExpr>(BaseExpr) &&
872 cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&
874 CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))
886 BaseExpr, BaseExprType,
908 if (!BaseExpr) {
917 BaseExpr = new (Context) CXXThisExpr(Loc, BaseExprType,/*isImplicit=*/true);
930 Owned(BaseExpr);
935 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow,
942 BaseExpr, OpLoc);
945 return Owned(BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS,
962 return Owned(BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS,
970 return Owned(BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS,
975 Owned(BaseExpr);
1052 Sema::LookupMemberExpr(LookupResult &R, ExprResult &BaseExpr,
1056 assert(BaseExpr.get() && "no base expression");
1059 BaseExpr = PerformMemberExprBaseConversion(BaseExpr.take(), IsArrow);
1060 if (BaseExpr.isInvalid())
1063 QualType BaseType = BaseExpr.get()->getType();
1087 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1094 << BaseType << BaseExpr.get()->getSourceRange();
1101 if (LookupMemberExprInRecord(*this, R, BaseExpr.get()->getSourceRange(),
1135 return Owned(new (Context) ObjCIsaExpr(BaseExpr.take(), IsArrow, MemberLoc,
1139 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1140 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1147 << BaseExpr.get()->getSourceRange()))
1179 << Member << BaseExpr.get()->getType()
1186 << BaseExpr.get()->getSourceRange();
1234 Expr *BaseExp = BaseExpr.get()->IgnoreParenImpCasts();
1245 MemberLoc, BaseExpr.take(),
1260 BaseExpr = DefaultLvalueConversion(BaseExpr.take());
1261 if (BaseExpr.isInvalid())
1264 assert(Context.hasSameUnqualifiedType(BaseType, BaseExpr.get()->getType()));
1285 BaseExpr.take()));
1303 MemberLoc, BaseExpr.take()));
1308 if (IsArrow && ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1309 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1321 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1322 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1360 MemberLoc, BaseExpr.take()));
1363 if (ShouldTryAgainWithRedefinitionType(*this, BaseExpr))
1364 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1372 return HandleExprPropertyRefExpr(OPT, BaseExpr.get(), OpLoc,
1381 ExprValueKind VK = (IsArrow ? VK_LValue : BaseExpr.get()->getValueKind());
1387 return Owned(new (Context) ExtVectorElementExpr(ret, VK, BaseExpr.take(),
1396 BaseExpr = ImpCastExprToType(BaseExpr.take(),
1399 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1417 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1422 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1429 if (tryToRecoverWithCall(BaseExpr,
1433 if (BaseExpr.isInvalid())
1435 BaseExpr = DefaultFunctionArrayConversion(BaseExpr.take());
1436 return LookupMemberExpr(R, BaseExpr, IsArrow, OpLoc, SS,
1441 << BaseType << BaseExpr.get()->getSourceRange();
1537 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1548 if (BaseExpr->getObjectKind() == OK_Ordinary)
1549 VK = BaseExpr->getValueKind();
1562 QualType BaseType = BaseExpr->getType();
1586 S.PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),
1622 Expr *baseExpr = 0; // null signifies implicit access
1628 baseExpr = new (Context) CXXThisExpr(loc, ThisTy, /*isImplicit=*/true);
1631 return BuildMemberReferenceExpr(baseExpr, ThisTy,