Home | History | Annotate | Download | only in Sema

Lines Matching refs:BaseExpr

443 Sema::ActOnDependentMemberExpr(Expr *BaseExpr, QualType BaseType,
463 assert(BaseExpr && "cannot happen with implicit member accesses");
465 << BaseType << BaseExpr->getSourceRange() << NameInfo.getSourceRange();
474 // Get the type being accessed in BaseType. If this is an arrow, the BaseExpr
477 Context, BaseExpr, BaseType, IsArrow, OpLoc,
486 Expr *BaseExpr,
493 if (!BaseExpr)
512 bool Sema::CheckQualifiedMemberReference(Expr *BaseExpr,
528 if (!BaseExpr && !(*I)->isCXXInstanceMember())
545 DiagnoseQualifiedMemberReference(*this, BaseExpr, BaseType, SS,
601 Expr *BaseExpr,
606 SourceRange BaseRange = BaseExpr ? BaseExpr->getSourceRange() : SourceRange();
688 BaseExpr, BaseExpr->getType(), OpLoc, IsArrow, SS, SourceLocation(),
697 ExprResult &BaseExpr, bool &IsArrow,
761 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
881 BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
887 return new (S.Context) MSPropertyRefExpr(BaseExpr, PD, IsArrow,
921 Sema::BuildMemberReferenceExpr(Expr *BaseExpr, QualType BaseExprType,
941 // (i.e. BaseExpr is null) and if we are currently processing a lambda,
964 if (!BaseExpr && CurLSI) {
996 if (S && BaseExpr && FD &&
998 isa<CXXThisExpr>(BaseExpr->IgnoreImpCasts()) &&
1011 if (!IsArrow && BaseExpr) {
1015 RetryExpr = ActOnStartCXXMemberReference(getCurScope(), BaseExpr,
1036 << (BaseExpr ? BaseExpr->getSourceRange() : SourceRange());
1047 if ((SS.isSet() || !BaseExpr ||
1048 (isa<CXXThisExpr>(BaseExpr) &&
1049 cast<CXXThisExpr>(BaseExpr)->isImplicit())) &&
1051 CheckQualifiedMemberReference(BaseExpr, BaseType, SS, R))
1063 BaseExpr, BaseExprType,
1085 if (!BaseExpr) {
1094 BaseExpr = new (Context) CXXThisExpr(Loc, BaseExprType,/*isImplicit=*/true);
1102 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow, OpLoc, SS, FD,
1106 return BuildMSPropertyRefExpr(*this, BaseExpr, IsArrow, SS, PD,
1113 FoundDecl, BaseExpr,
1117 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, OpLoc, SS,
1134 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, OpLoc, SS,
1141 return BuildMemberExpr(*this, Context, BaseExpr, IsArrow, OpLoc, SS,
1221 ExprResult &BaseExpr, bool &IsArrow,
1224 assert(BaseExpr.get() && "no base expression");
1227 BaseExpr = S.PerformMemberExprBaseConversion(BaseExpr.get(), IsArrow);
1228 if (BaseExpr.isInvalid())
1231 QualType BaseType = BaseExpr.get()->getType();
1257 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1265 << BaseType << BaseExpr.get()->getSourceRange();
1273 if (LookupMemberExprInRecord(S, R, BaseExpr.get(), RTy,
1308 return new (S.Context) ObjCIsaExpr(BaseExpr.get(), IsArrow, MemberLoc,
1310 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1311 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1318 BaseExpr.get()))
1346 << Member << BaseExpr.get()->getType()
1353 << BaseExpr.get()->getSourceRange();
1402 Expr *BaseExp = BaseExpr.get()->IgnoreParenImpCasts();
1425 IV, IV->getUsageType(BaseType), MemberLoc, OpLoc, BaseExpr.get(),
1448 BaseExpr = S.DefaultLvalueConversion(BaseExpr.get());
1449 if (BaseExpr.isInvalid())
1453 BaseExpr.get()->getType()));
1472 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1491 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1496 if (IsArrow && ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1497 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1509 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1510 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1545 OK_ObjCProperty, MemberLoc, BaseExpr.get());
1548 if (ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1549 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1557 return S.HandleExprPropertyRefExpr(OPT, BaseExpr.get(), OpLoc, MemberName,
1570 if (PseudoObjectExpr *POE = dyn_cast<PseudoObjectExpr>(BaseExpr.get()))
1573 VK = BaseExpr.get()->getValueKind();
1581 ExtVectorElementExpr(ret, VK, BaseExpr.get(), *Member, MemberLoc);
1588 BaseExpr = S.ImpCastExprToType(
1589 BaseExpr.get(), S.Context.getObjCSelRedefinitionType(), CK_BitCast);
1590 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1608 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1613 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1621 BaseExpr, S.PDiag(diag::err_member_reference_needs_call),
1624 if (BaseExpr.isInvalid())
1626 BaseExpr = S.DefaultFunctionArrayConversion(BaseExpr.get());
1627 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1632 << BaseType << BaseExpr.get()->getSourceRange() << MemberLoc;
1696 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1707 if (BaseExpr->getObjectKind() == OK_Ordinary)
1708 VK = BaseExpr->getValueKind();
1721 QualType BaseType = BaseExpr->getType();
1747 S.PerformObjectMemberConversion(BaseExpr, SS.getScopeRep(),
1776 Expr *baseExpr = nullptr; // null signifies implicit access
1782 baseExpr = new (Context) CXXThisExpr(loc, ThisTy, /*isImplicit=*/true);
1785 return BuildMemberReferenceExpr(baseExpr, ThisTy,