Lines Matching defs:RefExpr
270 ObjCPropertyRefExpr *RefExpr;
282 RefExpr(refExpr), SyntacticRefExpr(nullptr),
310 ObjCSubscriptRefExpr *RefExpr;
322 RefExpr(refExpr), InstanceBase(nullptr), InstanceKey(nullptr),
340 MSPropertyRefExpr *RefExpr;
349 RefExpr(refExpr), InstanceBase(nullptr) {}
353 RefExpr = getBaseMSProperty(refExpr);
589 if (RefExpr->isExplicitProperty()) {
590 const ObjCPropertyDecl *Prop = RefExpr->getExplicitProperty();
608 if (RefExpr->isImplicitProperty()) {
609 if ((Getter = RefExpr->getImplicitPropertyGetter())) {
615 ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter();
627 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
628 Getter = LookupMethodInReceiverType(S, prop->getGetterName(), RefExpr);
638 if (RefExpr->isImplicitProperty()) {
639 if (ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter()) {
644 const IdentifierInfo *getterName = RefExpr->getImplicitPropertyGetter()
656 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
661 LookupMethodInReceiverType(S, SetterSelector, RefExpr)) {
676 S.Diag(RefExpr->getExprLoc(), diag::err_property_setter_ambiguous_use)
698 if (ObjCPropertyDecl *prop = RefExpr->getExplicitProperty()) {
699 S.Diag(RefExpr->getLocation(),
712 if (RefExpr->isObjectReceiver()) {
713 InstanceReceiver = capture(RefExpr->getBase());
737 QualType receiverType = RefExpr->getReceiverType(S.Context);
742 if ((Getter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
743 RefExpr->isObjectReceiver()) {
744 assert(InstanceReceiver || RefExpr->isSuperReceiver());
750 receiverType, RefExpr->isSuperReceiver(), GenericLoc,
770 QualType receiverType = RefExpr->getReceiverType(S.Context);
803 if ((Setter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
804 RefExpr->isObjectReceiver()) {
810 receiverType, RefExpr->isSuperReceiver(), GenericLoc, SetterSelector,
829 if (RefExpr->isImplicitProperty() && !RefExpr->getImplicitPropertyGetter()) {
830 S.Diag(RefExpr->getLocation(), diag::err_getter_not_found)
831 << RefExpr->getSourceRange();
838 if (RefExpr->isExplicitProperty() && !Getter->hasRelatedResultType())
839 S.ObjC().DiagnosePropertyAccessorMismatch(RefExpr->getExplicitProperty(),
840 Getter, RefExpr->getLocation());
844 if (RefExpr->isExplicitProperty() && result.get()->isPRValue()) {
845 QualType receiverType = RefExpr->getReceiverType(S.Context);
846 QualType propType = RefExpr->getExplicitProperty()
857 RefExpr->getLocation()))
858 S.getCurFunction()->markSafeWeakUse(RefExpr);
907 << unsigned(RefExpr->isImplicitProperty())
951 << unsigned(RefExpr->isImplicitProperty())
962 assert(RefExpr->isImplicitProperty());
1030 InstanceBase = capture(RefExpr->getBaseExpr());
1031 InstanceKey = capture(RefExpr->getKeyExpr());
1072 Expr *BaseExpr = RefExpr->getBaseExpr();
1081 S.ObjC().CheckSubscriptingKind(RefExpr->getKeyExpr());
1085 RefExpr->getKeyExpr());
1142 AtIndexGetterSelector, RefExpr->getSourceRange(), true);
1149 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1158 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1171 Expr *BaseExpr = RefExpr->getBaseExpr();
1181 S.ObjC().CheckSubscriptingKind(RefExpr->getKeyExpr());
1185 RefExpr->getKeyExpr());
1255 AtIndexSetterSelector, RefExpr->getSourceRange(), true);
1262 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1270 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1282 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1285 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1368 InstanceBase = capture(RefExpr->getBaseExpr());
1385 if (!RefExpr->getPropertyDecl()->hasGetter()) {
1386 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1387 << 0 /* getter */ << RefExpr->getPropertyDecl();
1392 const IdentifierInfo *II = RefExpr->getPropertyDecl()->getGetterId();
1393 GetterName.setIdentifier(II, RefExpr->getMemberLoc());
1395 SS.Adopt(RefExpr->getQualifierLoc());
1398 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1401 S.Diag(RefExpr->getMemberLoc(),
1403 << RefExpr->getPropertyDecl();
1408 RefExpr->getSourceRange().getBegin(), CallArgs,
1409 RefExpr->getSourceRange().getEnd());
1414 if (!RefExpr->getPropertyDecl()->hasSetter()) {
1415 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1416 << 1 /* setter */ << RefExpr->getPropertyDecl();
1421 const IdentifierInfo *II = RefExpr->getPropertyDecl()->getSetterId();
1422 SetterName.setIdentifier(II, RefExpr->getMemberLoc());
1424 SS.Adopt(RefExpr->getQualifierLoc());
1427 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1430 S.Diag(RefExpr->getMemberLoc(),
1432 << RefExpr->getPropertyDecl();
1440 RefExpr->getSourceRange().getBegin(), ArgExprs,
1463 } else if (MSPropertySubscriptExpr *RefExpr =
1465 MSPropertyOpBuilder Builder(SemaRef, RefExpr, true);
1494 } else if (MSPropertySubscriptExpr *RefExpr
1496 MSPropertyOpBuilder Builder(SemaRef, RefExpr, false);
1533 } else if (MSPropertySubscriptExpr *RefExpr
1535 MSPropertyOpBuilder Builder(SemaRef, RefExpr, IsSimpleAssign);