Home | History | Annotate | Download | only in Sema

Lines Matching refs:BaseExpr

442 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
462 assert(BaseExpr && "cannot happen with implicit member accesses");
464 << BaseType << BaseExpr->getSourceRange() << NameInfo.getSourceRange();
473 // Get the type being accessed in BaseType. If this is an arrow, the BaseExpr
476 Context, BaseExpr, BaseType, IsArrow, OpLoc,
485 Expr *BaseExpr,
492 if (!BaseExpr)
511 bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
527 if (!BaseExpr && !(*I)->isCXXInstanceMember())
544 DiagnoseQualifiedMemberReference(*this, BaseExpr, BaseType, SS,
674 ExprResult &BaseExpr, bool &IsArrow,
734 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
853 BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
859 return new (S.Context) MSPropertyRefExpr(BaseExpr, PD, IsArrow,
883 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
902 // (i.e. BaseExpr is null) and if we are currently processing a lambda,
925 if (!BaseExpr && CurLSI) {
961 if (!IsArrow && BaseExpr) {
965 RetryExpr = ActOnStartCXXMemberReference(getCurScope(), BaseExpr,
987 << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange());
998 if ((SS.isSet() || !BaseExpr ||
999 (isa<CXXThisExpr>(BaseExpr) &&
1000 cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&
1002 CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))
1014 BaseExpr, BaseExprType,
1036 if (!BaseExpr) {
1045 BaseExpr = new (Context) CXXThisExpr(Loc, BaseExprType,/*isImplicit=*/true);
1061 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow,
1065 return BuildMSPropertyRefExpr(*this, BaseExpr, IsArrow, SS, PD,
1072 FoundDecl, BaseExpr,
1076 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS, TemplateKWLoc,
1093 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS, TemplateKWLoc,
1100 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, SS, TemplateKWLoc,
1180 ExprResult &BaseExpr, bool &IsArrow,
1183 assert(BaseExpr.get() && "no base expression");
1186 BaseExpr = S.PerformMemberExprBaseConversion(BaseExpr.get(), IsArrow);
1187 if (BaseExpr.isInvalid())
1190 QualType BaseType = BaseExpr.get()->getType();
1216 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1224 << BaseType << BaseExpr.get()->getSourceRange();
1231 if (LookupMemberExprInRecord(S, R, BaseExpr.get()->getSourceRange(),
1264 return new (S.Context) ObjCIsaExpr(BaseExpr.get(), IsArrow, MemberLoc,
1266 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1267 return LookupMemberExpr(S, R, BaseExpr
1274 BaseExpr.get()))
1302 << Member << BaseExpr.get()->getType()
1309 << BaseExpr.get()->getSourceRange();
1358 Expr *BaseExp = BaseExpr.get()->IgnoreParenImpCasts();
1381 IV, IV->getType(), MemberLoc, OpLoc, BaseExpr.get(), IsArrow);
1403 BaseExpr = S.DefaultLvalueConversion(BaseExpr.get());
1404 if (BaseExpr.isInvalid())
1408 BaseExpr.get()->getType()));
1427 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1446 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1451 if (IsArrow && ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1452 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1464 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1465 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1500 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1503 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1504 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1512 return S.HandleExprPropertyRefExpr(OPT, BaseExpr.get(), OpLoc, MemberName,
1521 ExprValueKind VK = (IsArrow ? VK_LValue : BaseExpr.get()->getValueKind());
1528 ExtVectorElementExpr(ret, VK, BaseExpr.get(), *Member, MemberLoc);
1535 BaseExpr = S.ImpCastExprToType(
1536 BaseExpr.get(), S.Context.getObjCSelRedefinitionType(), CK_BitCast);
1537 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1555 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1560 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1568 BaseExpr, S.PDiag(diag::err_member_reference_needs_call),
1571 if (BaseExpr.isInvalid())
1573 BaseExpr = S.DefaultFunctionArrayConversion(BaseExpr.get());
1574 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1579 << BaseType << BaseExpr.get()->getSourceRange() << MemberLoc;
1661 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1672 if (BaseExpr->getObjectKind() == OK_Ordinary)
1673 VK = BaseExpr->getValueKind();
1686 QualType BaseType = BaseExpr->getType();
1712 S.PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),
1741 Expr *baseExpr = nullptr; // null signifies implicit access
1747 baseExpr = new (Context) CXXThisExpr(loc, ThisTy, /*isImplicit=*/true);
1750 return BuildMemberReferenceExpr(baseExpr, ThisTy,