Home | History | Annotate | Download | only in Sema

Lines Matching defs:RefExpr

133     Expr *rebuildSpecific(ObjCPropertyRefExpr *refExpr) {
136 assert(refExpr->isObjectReceiver());
138 if (refExpr->isExplicitProperty()) {
140 ObjCPropertyRefExpr(refExpr->getExplicitProperty(),
141 refExpr->getType(), refExpr->getValueKind(),
142 refExpr->getObjectKind(), refExpr->getLocation(),
146 ObjCPropertyRefExpr(refExpr->getImplicitPropertyGetter(),
147 refExpr->getImplicitPropertySetter(),
148 refExpr->getType(), refExpr->getValueKind(),
149 refExpr->getObjectKind(),refExpr->getLocation(),
162 Expr *rebuildSpecific(ObjCSubscriptRefExpr *refExpr) {
163 assert(refExpr->getBaseExpr());
164 assert(refExpr->getKeyExpr());
169 refExpr->getType(), refExpr->getValueKind(),
170 refExpr->getObjectKind(),refExpr->getAtIndexMethodDecl(),
171 refExpr->setAtIndexMethodDecl(),
172 refExpr->getRBracket());
182 Expr *rebuildSpecific(MSPropertyRefExpr *refExpr) {
183 assert(refExpr->getBaseExpr());
186 MSPropertyRefExpr(NewBase, refExpr->getPropertyDecl(),
187 refExpr->isArrow(), refExpr->getType(),
188 refExpr->getValueKind(), refExpr->getQualifierLoc(),
189 refExpr->getMemberLoc());
255 ObjCPropertyRefExpr *RefExpr;
265 ObjCPropertyOpBuilder(Sema &S, ObjCPropertyRefExpr *refExpr) :
266 PseudoOpBuilder(S, refExpr->getLocation()), RefExpr(refExpr),
293 ObjCSubscriptRefExpr *RefExpr;
303 ObjCSubscriptOpBuilder(Sema &S, ObjCSubscriptRefExpr *refExpr) :
304 PseudoOpBuilder(S, refExpr->getSourceRange().getBegin()),
305 RefExpr(refExpr),
324 MSPropertyRefExpr *RefExpr;
327 MSPropertyOpBuilder(Sema &S, MSPropertyRefExpr *refExpr) :
328 PseudoOpBuilder(S, refExpr->getSourceRange().getBegin()),
329 RefExpr(refExpr) {}
536 if (RefExpr->isExplicitProperty()) {
537 const ObjCPropertyDecl *Prop = RefExpr->getExplicitProperty();
555 if (RefExpr->isImplicitProperty()) {
556 if ((Getter = RefExpr->getImplicitPropertyGetter())) {
562 ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter();
576 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
577 Getter = LookupMethodInReceiverType(S, prop->getGetterName(), RefExpr);
587 if (RefExpr->isImplicitProperty()) {
588 if (ObjCMethodDecl *setter = RefExpr->getImplicitPropertySetter()) {
594 RefExpr->getImplicitPropertyGetter()->getSelector()
605 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
610 LookupMethodInReceiverType(S, SetterSelector, RefExpr)) {
623 S.Diag(RefExpr->getExprLoc(), diag::error_property_setter_ambiguous_use)
647 if (RefExpr->isObjectReceiver()) {
648 InstanceReceiver = capture(RefExpr->getBase());
670 if (RefExpr->isClassReceiver()) {
671 receiverType = S.Context.getObjCInterfaceType(RefExpr->getClassReceiver());
672 } else if (RefExpr->isSuperReceiver()) {
673 receiverType = RefExpr->getSuperReceiverType();
681 if (Getter->isInstanceMethod() || RefExpr->isObjectReceiver()) {
682 assert(InstanceReceiver || RefExpr->isSuperReceiver());
687 msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
707 if (RefExpr->isClassReceiver()) {
708 receiverType = S.Context.getObjCInterfaceType(RefExpr->getClassReceiver());
709 } else if (RefExpr->isSuperReceiver()) {
710 receiverType = RefExpr->getSuperReceiverType();
740 if (Setter->isInstanceMethod() || RefExpr->isObjectReceiver()) {
745 msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
766 if (RefExpr->isImplicitProperty() && !RefExpr->getImplicitPropertyGetter()) {
767 S.Diag(RefExpr->getLocation(), diag::err_getter_not_found)
768 << RefExpr->getSourceRange();
775 if (RefExpr->isExplicitProperty() && !Getter->hasRelatedResultType())
776 S.DiagnosePropertyAccessorMismatch(RefExpr->getExplicitProperty(),
777 Getter, RefExpr->getLocation());
781 if (RefExpr->isExplicitProperty() && result.get()->isRValue() &&
783 QualType propType = RefExpr->getExplicitProperty()->getType();
832 << unsigned(RefExpr->isImplicitProperty())
876 << unsigned(RefExpr->isImplicitProperty())
887 assert(RefExpr->isImplicitProperty());
958 InstanceBase = capture(RefExpr->getBaseExpr());
959 InstanceKey = capture(RefExpr->getKeyExpr());
1071 Expr *BaseExpr = RefExpr->getBaseExpr();
1083 S.CheckSubscriptingKind(RefExpr->getKeyExpr());
1087 RefExpr->getKeyExpr());
1150 RefExpr->getSourceRange(),
1158 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1167 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1180 Expr *BaseExpr = RefExpr->getBaseExpr();
1193 S.CheckSubscriptingKind(RefExpr->getKeyExpr());
1197 RefExpr->getKeyExpr());
1275 RefExpr->getSourceRange(),
1283 RefExpr->getKeyExpr()->getExprLoc(),
1291 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1303 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1306 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1378 Expr *NewBase = capture(RefExpr->getBaseExpr());
1387 if (!RefExpr->getPropertyDecl()->hasGetter()) {
1388 S.Diag(RefExpr->getMemberLoc(), diag::err_no_getter_for_property)
1389 << RefExpr->getPropertyDecl()->getName();
1394 IdentifierInfo *II = RefExpr->getPropertyDecl()->getGetterId();
1395 GetterName.setIdentifier(II, RefExpr->getMemberLoc());
1397 SS.Adopt(RefExpr->getQualifierLoc());
1399 S.getCurScope(), RefExpr->getBaseExpr(), SourceLocation(),
1400 RefExpr->isArrow() ? tok::arrow : tok::period, SS, SourceLocation(),
1403 S.Diag(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_getter)
1404 << RefExpr->getPropertyDecl()->getName();
1410 RefExpr->getSourceRange().getBegin(), ArgExprs,
1411 RefExpr->getSourceRange().getEnd());
1416 if (!RefExpr->getPropertyDecl()->hasSetter()) {
1417 S.Diag(RefExpr->getMemberLoc(), diag::err_no_setter_for_property)
1418 << RefExpr->getPropertyDecl()->getName();
1423 IdentifierInfo *II = RefExpr->getPropertyDecl()->getSetterId();
1424 SetterName.setIdentifier(II, RefExpr->getMemberLoc());
1426 SS.Adopt(RefExpr->getQualifierLoc());
1428 S.getCurScope(), RefExpr->getBaseExpr(), SourceLocation(),
1429 RefExpr->isArrow() ? tok::arrow : tok::period, SS, SourceLocation(),
1432 S.Diag(RefExpr->getMemberLoc(), diag::error_cannot_find_suitable_setter)
1433 << RefExpr->getPropertyDecl()->getName();
1440 RefExpr->getSourceRange().getBegin(), ArgExprs,
1450 if (ObjCPropertyRefExpr *refExpr
1452 ObjCPropertyOpBuilder builder(*this, refExpr);
1455 else if (ObjCSubscriptRefExpr *refExpr
1457 ObjCSubscriptOpBuilder builder(*this, refExpr);
1459 } else if (MSPropertyRefExpr *refExpr
1461 MSPropertyOpBuilder builder(*this, refExpr);
1478 if (ObjCPropertyRefExpr *refExpr
1480 ObjCPropertyOpBuilder builder(*this, refExpr);
1485 } else if (MSPropertyRefExpr *refExpr
1487 MSPropertyOpBuilder builder(*this, refExpr);
1510 if (ObjCPropertyRefExpr *refExpr
1512 ObjCPropertyOpBuilder builder(*this, refExpr);
1514 } else if (ObjCSubscriptRefExpr *refExpr
1516 ObjCSubscriptOpBuilder builder(*this, refExpr);
1518 } else if (MSPropertyRefExpr *refExpr
1520 MSPropertyOpBuilder builder(*this, refExpr);
1532 if (ObjCPropertyRefExpr *refExpr
1535 if (refExpr->isClassReceiver() || refExpr->isSuperReceiver())
1538 assert(refExpr->isObjectReceiver() && "Unknown receiver kind?");
1539 OpaqueValueExpr *baseOVE = cast<OpaqueValueExpr>(refExpr->getBase());
1541 } else if (ObjCSubscriptRefExpr *refExpr
1543 OpaqueValueExpr *baseOVE = cast<OpaqueValueExpr>(refExpr->getBaseExpr());
1544 OpaqueValueExpr *keyOVE = cast<OpaqueValueExpr>(refExpr->getKeyExpr());
1547 } else if (MSPropertyRefExpr *refExpr
1549 OpaqueValueExpr *baseOVE = cast<OpaqueValueExpr>(refExpr->getBaseExpr());