Lines Matching defs:RefExpr

272     ObjCPropertyRefExpr *RefExpr;
284 RefExpr(refExpr), SyntacticRefExpr(nullptr),
312 ObjCSubscriptRefExpr *RefExpr;
324 RefExpr(refExpr), InstanceBase(nullptr), InstanceKey(nullptr),
342 MSPropertyRefExpr *RefExpr;
351 RefExpr(refExpr), InstanceBase(nullptr) {}
355 RefExpr = getBaseMSProperty(refExpr);
591 if (RefExpr->isExplicitProperty()) {
592 const ObjCPropertyDecl *Prop = RefExpr->getExplicitProperty();
610 if (RefExpr->isImplicitProperty()) {
611 if ((Getter = RefExpr->getImplicitPropertyGetter())) {
617 ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter();
629 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
630 Getter = LookupMethodInReceiverType(S, prop->getGetterName(), RefExpr);
640 if (RefExpr->isImplicitProperty()) {
641 if (ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter()) {
646 const IdentifierInfo *getterName = RefExpr->getImplicitPropertyGetter()
658 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
663 LookupMethodInReceiverType(S, SetterSelector, RefExpr)) {
678 S.Diag(RefExpr->getExprLoc(), diag::err_property_setter_ambiguous_use)
700 if (ObjCPropertyDecl *prop = RefExpr->getExplicitProperty()) {
701 S.Diag(RefExpr->getLocation(),
714 if (RefExpr->isObjectReceiver()) {
715 InstanceReceiver = capture(RefExpr->getBase());
739 QualType receiverType = RefExpr->getReceiverType(S.Context);
744 if ((Getter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
745 RefExpr->isObjectReceiver()) {
746 assert(InstanceReceiver || RefExpr->isSuperReceiver());
752 receiverType, RefExpr->isSuperReceiver(), GenericLoc,
772 QualType receiverType = RefExpr->getReceiverType(S.Context);
805 if ((Setter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
806 RefExpr->isObjectReceiver()) {
812 receiverType, RefExpr->isSuperReceiver(), GenericLoc, SetterSelector,
831 if (RefExpr->isImplicitProperty() && !RefExpr->getImplicitPropertyGetter()) {
832 S.Diag(RefExpr->getLocation(), diag::err_getter_not_found)
833 << RefExpr->getSourceRange();
840 if (RefExpr->isExplicitProperty() && !Getter->hasRelatedResultType())
841 S.ObjC().DiagnosePropertyAccessorMismatch(RefExpr->getExplicitProperty(),
842 Getter, RefExpr->getLocation());
846 if (RefExpr->isExplicitProperty() && result.get()->isPRValue()) {
847 QualType receiverType = RefExpr->getReceiverType(S.Context);
848 QualType propType = RefExpr->getExplicitProperty()
859 RefExpr->getLocation()))
860 S.getCurFunction()->markSafeWeakUse(RefExpr);
909 << unsigned(RefExpr->isImplicitProperty())
953 << unsigned(RefExpr->isImplicitProperty())
964 assert(RefExpr->isImplicitProperty());
1032 InstanceBase = capture(RefExpr->getBaseExpr());
1033 InstanceKey = capture(RefExpr->getKeyExpr());
1074 Expr *BaseExpr = RefExpr->getBaseExpr();
1083 S.ObjC().CheckSubscriptingKind(RefExpr->getKeyExpr());
1087 RefExpr->getKeyExpr());
1144 AtIndexGetterSelector, RefExpr->getSourceRange(), true);
1151 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1160 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1173 Expr *BaseExpr = RefExpr->getBaseExpr();
1183 S.ObjC().CheckSubscriptingKind(RefExpr->getKeyExpr());
1187 RefExpr->getKeyExpr());
1257 AtIndexSetterSelector, RefExpr->getSourceRange(), true);
1264 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1272 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1284 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1287 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1370 InstanceBase = capture(RefExpr->getBaseExpr());
1387 if (!RefExpr->getPropertyDecl()->hasGetter()) {
1388 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1389 << 0 /* getter */ << RefExpr->getPropertyDecl();
1394 const IdentifierInfo *II = RefExpr->getPropertyDecl()->getGetterId();
1395 GetterName.setIdentifier(II, RefExpr->getMemberLoc());
1397 SS.Adopt(RefExpr->getQualifierLoc());
1400 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1403 S.Diag(RefExpr->getMemberLoc(),
1405 << RefExpr->getPropertyDecl();
1410 RefExpr->getSourceRange().getBegin(), CallArgs,
1411 RefExpr->getSourceRange().getEnd());
1416 if (!RefExpr->getPropertyDecl()->hasSetter()) {
1417 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1418 << 1 /* setter */ << RefExpr->getPropertyDecl();
1423 const IdentifierInfo *II = RefExpr->getPropertyDecl()->getSetterId();
1424 SetterName.setIdentifier(II, RefExpr->getMemberLoc());
1426 SS.Adopt(RefExpr->getQualifierLoc());
1429 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1432 S.Diag(RefExpr->getMemberLoc(),
1434 << RefExpr->getPropertyDecl();
1442 RefExpr->getSourceRange().getBegin(), ArgExprs,
1465 } else if (MSPropertySubscriptExpr *RefExpr =
1467 MSPropertyOpBuilder Builder(SemaRef, RefExpr, true);
1496 } else if (MSPropertySubscriptExpr *RefExpr
1498 MSPropertyOpBuilder Builder(SemaRef, RefExpr, false);
1535 } else if (MSPropertySubscriptExpr *RefExpr
1537 MSPropertyOpBuilder Builder(SemaRef, RefExpr, IsSimpleAssign);