Lines Matching defs:IsArrow
444 bool IsArrow, SourceLocation OpLoc,
459 if (!IsArrow) {
477 Context, BaseExpr, BaseType, IsArrow, OpLoc,
603 SourceLocation OpLoc, bool IsArrow,
688 BaseExpr, BaseExpr->getType(), OpLoc, IsArrow, SS, SourceLocation(),
697 ExprResult &BaseExpr, bool &IsArrow,
703 SourceLocation OpLoc, bool IsArrow,
714 IsArrow, OpLoc,
724 if (IsArrow) RecordTy = RecordTy->getAs<PointerType>()->getPointeeType();
726 RecordTy->getAs<RecordType>(), OpLoc, IsArrow,
736 *this, R, BaseResult, IsArrow, OpLoc, SS,
755 OpLoc, IsArrow, SS, TemplateKWLoc,
761 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
872 BuildFieldReferenceExpr(*this, result, /*isarrow*/ false,
881 BuildMSPropertyRefExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
887 return new (S.Context) MSPropertyRefExpr(BaseExpr, PD, IsArrow,
895 Sema &SemaRef, ASTContext &C, Expr *Base, bool isArrow,
900 assert((!isArrow || Base->isRValue()) && "-> base must be a pointer rvalue");
902 C, Base, isArrow, OpLoc, SS.getWithLocInContext(C), TemplateKWLoc, Member,
922 SourceLocation OpLoc, bool IsArrow,
932 if (IsArrow) {
1011 if (!IsArrow && BaseExpr) {
1064 IsArrow, OpLoc,
1102 return BuildFieldReferenceExpr(*this, BaseExpr, IsArrow, OpLoc, SS, FD,
1106 return BuildMSPropertyRefExpr(*this, BaseExpr, IsArrow, SS, PD,
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,
1149 << MemberName << BaseType << int(IsArrow);
1152 << MemberName << BaseType << int(IsArrow);
1203 Sema::PerformMemberExprBaseConversion(Expr *Base, bool IsArrow) {
1204 if (IsArrow && !Base->getType()->isFunctionType())
1221 ExprResult &BaseExpr, bool &IsArrow,
1227 BaseExpr = S.PerformMemberExprBaseConversion(BaseExpr.get(), IsArrow);
1241 if (IsArrow) {
1257 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1260 IsArrow = false;
1274 OpLoc, IsArrow, SS, HasTemplateArgs, TE))
1308 return new (S.Context) ObjCIsaExpr(BaseExpr.get(), IsArrow, MemberLoc,
1311 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1327 Validator->IsObjCIvarLookup = IsArrow;
1344 if (IsArrow && IDecl->FindPropertyDeclaration(Member)) {
1426 IsArrow);
1440 if (!IsArrow && (OPT = BaseType->getAs<ObjCObjectPointerType>())) {
1496 if (IsArrow && ShouldTryAgainWithRedefinitionType(S, BaseExpr))
1497 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1510 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1549 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1564 // FIXME: this expr should store IsArrow.
1567 if (IsArrow)
1586 if (IsArrow && BaseType->isSpecificBuiltinType(BuiltinType::ObjCSel) &&
1590 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1605 if (!IsArrow && Ptr->getPointeeType()->isRecordType() &&
1608 << BaseType << int(IsArrow) << BaseExpr.get()->getSourceRange()
1612 IsArrow = true;
1613 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1623 IsArrow ? &isPointerToRecordType : &isRecordType)) {
1627 return LookupMemberExpr(S, R, BaseExpr, IsArrow, OpLoc, SS,
1672 bool IsArrow = (OpKind == tok::arrow);
1684 return ActOnDependentMemberExpr(Base, Base->getType(), IsArrow, OpLoc, SS,
1690 return BuildMemberReferenceExpr(Base, Base->getType(), OpLoc, IsArrow, SS,
1696 BuildFieldReferenceExpr(Sema &S, Expr *BaseExpr, bool IsArrow,
1706 if (!IsArrow) {
1722 if (IsArrow) BaseType = BaseType->getAs<PointerType>()->getPointeeType();
1751 return BuildMemberExpr(S, S.Context, Base.get(), IsArrow, OpLoc, SS,
1787 /*IsArrow*/ true,