• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/contrib/llvm-project/clang/lib/Sema/

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()) {
647 RefExpr->getImplicitPropertyGetter()->getSelector()
658 ObjCPropertyDecl *prop = RefExpr->getExplicitProperty();
663 LookupMethodInReceiverType(S, SetterSelector, RefExpr)) {
677 S.Diag(RefExpr->getExprLoc(), diag::err_property_setter_ambiguous_use)
699 if (ObjCPropertyDecl *prop = RefExpr->getExplicitProperty()) {
700 S.Diag(RefExpr->getLocation(),
713 if (RefExpr->isObjectReceiver()) {
714 InstanceReceiver = capture(RefExpr->getBase());
738 QualType receiverType = RefExpr->getReceiverType(S.Context);
743 if ((Getter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
744 RefExpr->isObjectReceiver()) {
745 assert(InstanceReceiver || RefExpr->isSuperReceiver());
750 msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
771 QualType receiverType = RefExpr->getReceiverType(S.Context);
804 if ((Setter->isInstanceMethod() && !RefExpr->isClassReceiver()) ||
805 RefExpr->isObjectReceiver()) {
810 msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
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.DiagnosePropertyAccessorMismatch(RefExpr->getExplicitProperty(),
842 Getter, RefExpr->getLocation());
846 if (RefExpr->isExplicitProperty() && result.get()->isRValue()) {
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());
1149 Expr *BaseExpr = RefExpr->getBaseExpr();
1158 S.CheckSubscriptingKind(RefExpr->getKeyExpr());
1162 RefExpr->getKeyExpr());
1222 RefExpr->getSourceRange(),
1230 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1239 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1252 Expr *BaseExpr = RefExpr->getBaseExpr();
1262 S.CheckSubscriptingKind(RefExpr->getKeyExpr());
1266 RefExpr->getKeyExpr());
1339 RefExpr->getSourceRange(),
1347 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1355 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1367 S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
1370 S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
1456 InstanceBase = capture(RefExpr->getBaseExpr());
1472 if (!RefExpr->getPropertyDecl()->hasGetter()) {
1473 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1474 << 0 /* getter */ << RefExpr->getPropertyDecl();
1479 IdentifierInfo *II = RefExpr->getPropertyDecl()->getGetterId();
1480 GetterName.setIdentifier(II, RefExpr->getMemberLoc());
1482 SS.Adopt(RefExpr->getQualifierLoc());
1485 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1488 S.Diag(RefExpr->getMemberLoc(),
1490 << RefExpr->getPropertyDecl();
1495 RefExpr->getSourceRange().getBegin(), CallArgs,
1496 RefExpr->getSourceRange().getEnd());
1501 if (!RefExpr->getPropertyDecl()->hasSetter()) {
1502 S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
1503 << 1 /* setter */ << RefExpr->getPropertyDecl();
1508 IdentifierInfo *II = RefExpr->getPropertyDecl()->getSetterId();
1509 SetterName.setIdentifier(II, RefExpr->getMemberLoc());
1511 SS.Adopt(RefExpr->getQualifierLoc());
1514 RefExpr->isArrow() ? tok::arrow : tok::period, SS,
1517 S.Diag(RefExpr->getMemberLoc(),
1519 << RefExpr->getPropertyDecl();
1527 RefExpr->getSourceRange().getBegin(), ArgExprs,
1550 } else if (MSPropertySubscriptExpr *RefExpr =
1552 MSPropertyOpBuilder Builder(*this, RefExpr, true);
1580 } else if (MSPropertySubscriptExpr *RefExpr
1582 MSPropertyOpBuilder Builder(*this, RefExpr, false);
1619 } else if (MSPropertySubscriptExpr *RefExpr
1621 MSPropertyOpBuilder Builder(*this, RefExpr, IsSimpleAssign);