Lines Matching defs:BaseExpr
557 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
577 assert(BaseExpr && "cannot happen with implicit member accesses");
579 << BaseType << BaseExpr->getSourceRange() << NameInfo.getSourceRange();
591 // Get the type being accessed in BaseType. If this is an arrow, the BaseExpr
594 Context, BaseExpr, BaseType, IsArrow, OpLoc,
603 Expr *BaseExpr,
610 if (!BaseExpr)
617 bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
633 if (!BaseExpr && !(*I)->isCXXInstanceMember())
647 DiagnoseQualifiedMemberReference(*this, BaseExpr, BaseType, SS,
706 Expr *BaseExpr, QualType RTy,
711 SourceRange BaseRange = BaseExpr ? BaseExpr->getSourceRange() : SourceRange();
772 BaseExpr, BaseExpr->getType(), OpLoc, IsArrow, SS, SourceLocation(),
781 ExprResult &BaseExpr, bool &IsArrow,
921 BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
927 return new (S.Context) MSPropertyRefExpr(BaseExpr, PD, IsArrow,
975 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
993 return ActOnDependentMemberExpr(BaseExpr, BaseExprType, IsArrow, OpLoc, SS,
1020 if (S && BaseExpr && FD &&
1022 isa<CXXThisExpr>(BaseExpr->IgnoreImpCasts()) &&
1029 if (ExtraArgs && !IsArrow && BaseExpr && !BaseExpr->isTypeDependent()) {
1033 RetryExpr = ActOnStartCXXMemberReference(getCurScope(), BaseExpr, OpLoc,
1059 : (BaseExpr ? BaseExpr->getSourceRange() : SourceRange()));
1070 if ((SS.isSet() || !BaseExpr ||
1071 (isa<CXXThisExpr>(BaseExpr) &&
1072 cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&
1074 CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))
1086 BaseExpr, BaseExprType,
1108 if (!BaseExpr) {
1122 BaseExpr = BuildCXXThisExpr(Loc, BaseExprType, /*IsImplicit=*/true);
1135 ExprResult Converted = IgnoredValueConversions(BaseExpr);
1138 BaseExpr = Converted.get();
1139 DiagnoseDiscardedExprMarkedNodiscard(BaseExpr);
1143 if (IsArrow || !BaseExpr->isPRValue())
1145 ExprResult Converted = TemporaryMaterializationConversion(BaseExpr);
1148 BaseExpr = Converted.get();
1159 return BuildFieldReferenceExpr(BaseExpr, IsArrow, OpLoc, SS, FD, FoundDecl,
1169 return BuildMSPropertyRefExpr(*this, BaseExpr, IsArrow, SS, PD,
1179 FoundDecl, BaseExpr,
1187 return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1211 return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1222 BaseExpr, IsArrow, OpLoc, SS.getWithLocInContext(Context),
1244 BaseExpr, BaseExpr->getType(), IsArrow, OpLoc, SS, TemplateKWLoc,
1251 return BuildMemberExpr(BaseExpr, IsArrow, OpLoc,
1332 ExprResult &BaseExpr, bool &IsArrow,
1336 assert(BaseExpr.get() && "no base expression");
1339 BaseExpr = S.PerformMemberExprBaseConversion(BaseExpr.get(), IsArrow);
1340 if (BaseExpr.isInvalid())
1343 QualType BaseType = BaseExpr.get()->getType();
1372 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1378 << BaseType << BaseExpr.get()->getSourceRange();
1392 BaseExpr = ImplicitCastExpr::Create(
1394 CK_AtomicToNonAtomic, BaseExpr.get(), nullptr,
1395 BaseExpr.get()->getValueKind(), FPOptionsOverride());
1401 if (LookupMemberExprInRecord(S, R, BaseExpr.get(), BaseType, OpLoc, IsArrow,
1439 return new (S.Context) ObjCIsaExpr(BaseExpr.get(), IsArrow, MemberLoc,
1441 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1442 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1449 BaseExpr.get()))
1486 << Member << BaseExpr.get()->getType()
1493 << BaseExpr.get()->getSourceRange();
1542 Expr *BaseExp = BaseExpr.get()->IgnoreParenImpCasts();
1564 IV, IV->getUsageType(BaseType), MemberLoc, OpLoc, BaseExpr.get(),
1586 BaseExpr = S.DefaultLvalueConversion(BaseExpr.get());
1587 if (BaseExpr.isInvalid())
1591 BaseExpr.get()->getType()));
1610 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1626 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1631 if (IsArrow && ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1632 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1644 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1645 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1683 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1686 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1687 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1696 OPT, BaseExpr.get(), OpLoc, MemberName, MemberLoc, SourceLocation(),
1706 << (BaseExpr.get() ? BaseExpr.get()->getSourceRange() : SourceRange());
1714 ExprValueKind VK = (IsArrow ? VK_LValue : BaseExpr.get()->getValueKind());
1720 S.Context.getCanonicalType(BaseExpr.get()->getType()).getQualifiers();
1724 ExtVectorElementExpr(ret, VK, BaseExpr.get(), *Member, MemberLoc);
1731 BaseExpr = S.ImpCastExprToType(
1732 BaseExpr.get(), S.Context.getObjCSelRedefinitionType(), CK_BitCast);
1733 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1751 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1759 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1767 BaseExpr, S.PDiag(diag::err_member_reference_needs_call),
1770 if (BaseExpr.isInvalid())
1772 BaseExpr = S.DefaultFunctionArrayConversion(BaseExpr.get());
1773 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1781 BaseExpr = S.ImpCastExprToType(BaseExpr.get(), VectorTy, CK_VectorSplat,
1782 BaseExpr.get()->getValueKind());
1783 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS, ObjCImpDecl,
1788 << BaseType << BaseExpr.get()->getSourceRange() << MemberLoc;
1868 Sema::BuildFieldReferenceExpr(Expr *BaseExpr, bool IsArrow,
1879 if (BaseExpr->getObjectKind() == OK_Ordinary)
1880 VK = BaseExpr->getValueKind();
1893 QualType BaseType = BaseExpr->getType();
1935 ExprResult Base = PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),