Home | History | Annotate | Download | only in Sema

Lines Matching refs:IsArrow

443                                bool IsArrow, SourceLocation OpLoc,
458 if (!IsArrow) {
476 Context, BaseExpr, BaseType, IsArrow, OpLoc,
674 ExprResult &BaseExpr, bool &IsArrow,
680 SourceLocation OpLoc, bool IsArrow,
690 IsArrow, OpLoc,
699 if (IsArrow) RecordTy = RecordTy->getAs<PointerType>()->getPointeeType();
709 *this, R, BaseResult, IsArrow, OpLoc, SS,
728 OpLoc, IsArrow, SS, TemplateKWLoc,
734 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
844 result = BuildFieldReferenceExpr(*this, result, /*isarrow*/ false,
853 BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
859 return new (S.Context) MSPropertyRefExpr(BaseExpr, PD, IsArrow,
867 BuildMemberExpr(Sema &SemaRef, ASTContext &C, Expr *Base, bool isArrow,
873 assert((!isArrow || Base->isRValue()) && "-> base must be a pointer rvalue");
875 MemberExpr::Create(C, Base, isArrow, SS.getWithLocInContext(C),
884 SourceLocation OpLoc, bool IsArrow,
893 if (IsArrow) {
961 if (!IsArrow && BaseExpr) {
1015 IsArrow, OpLoc,
1061 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow,
1065 return BuildMSPropertyRefExpr(*this, BaseExpr, IsArrow, SS, PD,
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,
1108 << MemberName << BaseType << int(IsArrow);
1111 << MemberName << BaseType << int(IsArrow);
1162 Sema::PerformMemberExprBaseConversion(Expr *Base, bool IsArrow) {
1163 if (IsArrow && !Base->getType()->isFunctionType())
1180 ExprResult &BaseExpr, bool &IsArrow,
1186 BaseExpr = S.PerformMemberExprBaseConversion(BaseExpr.get(), IsArrow);
1200 if (IsArrow) {
1216 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1219 IsArrow = false;
1264 return new (S.Context) ObjCIsaExpr(BaseExpr.get(), IsArrow, MemberLoc,
1267 IsArrow, OpLoc, SS,
1283 Validator.IsObjCIvarLookup = IsArrow;
1300 if (IsArrow && IDecl->FindPropertyDeclaration(Member)) {
1381 IV, IV->getType(), MemberLoc, OpLoc, BaseExpr.get(), IsArrow);
1395 if (!IsArrow && (OPT = BaseType->getAs<ObjCObjectPointerType>())) {
1451 if (IsArrow && ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1452 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1465 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1504 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1519 // FIXME: this expr should store IsArrow.
1521 ExprValueKind VK = (IsArrow ? VK_LValue : BaseExpr.get()->getValueKind());
1533 if (IsArrow && BaseType->isSpecificBuiltinType(BuiltinType::ObjCSel) &&
1537 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1552 if (!IsArrow && Ptr->getPointeeType()->isRecordType() &&
1555 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1559 IsArrow = true;
1560 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1570 IsArrow ? &isPointerToRecordType : &isRecordType)) {
1574 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1636 bool IsArrow = (OpKind == tok::arrow);
1648 return ActOnDependentMemberExpr(Base, Base->getType(), IsArrow, OpLoc, SS,
1655 IsArrow, SS,
1661 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1671 if (!IsArrow) {
1687 if (IsArrow) BaseType = BaseType->getAs<PointerType>()->getPointeeType();
1716 return BuildMemberExpr(S, S.Context, Base.get(), IsArrow, SS,
1752 /*IsArrow*/ true,