reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

References

tools/clang/lib/Sema/SemaPseudoObject.cpp
  369     new (S.Context) OpaqueValueExpr(GenericLoc, e->getType(),
  413   return PseudoObjectExpr::Create(S.Context, syntactic,
  456     syntactic = new (S.Context) BinaryOperator(syntacticLHS, capturedRHS,
  468     result = S.BuildBinOp(Sc, opcLoc, nonCompound, opLHS.get(), semanticRHS);
  472       new (S.Context) CompoundAssignOperator(syntacticLHS, capturedRHS, opcode,
  517   llvm::APInt oneV(S.Context.getTypeSize(S.Context.IntTy), 1);
  517   llvm::APInt oneV(S.Context.getTypeSize(S.Context.IntTy), 1);
  518   Expr *one = IntegerLiteral::Create(S.Context, oneV, S.Context.IntTy,
  518   Expr *one = IntegerLiteral::Create(S.Context, oneV, S.Context.IntTy,
  522     result = S.BuildBinOp(Sc, opcLoc, BO_Add, result.get(), one);
  524     result = S.BuildBinOp(Sc, opcLoc, BO_Sub, result.get(), one);
  539   UnaryOperator *syntactic = new (S.Context) UnaryOperator(
  542           ? S.Context.getTypeSize(resultType) >=
  543                 S.Context.getTypeSize(S.Context.IntTy)
  543                 S.Context.getTypeSize(S.Context.IntTy)
  622           &S.Context.Idents.get(setterName->getName().substr(3));
  624         S.PP.getSelectorTable().getNullarySelector(getterName);
  630   Getter = LookupMethodInReceiverType(S, prop->getGetterName(), RefExpr);
  650         SelectorTable::constructSetterSelector(S.PP.getIdentifierTable(),
  651                                                S.PP.getSelectorTable(),
  663         LookupMethodInReceiverType(S, SetterSelector, RefExpr)) {
  673         IdentifierInfo *AltMember = &S.PP.getIdentifierTable().get(PropertyName);
  677             S.Diag(RefExpr->getExprLoc(), diag::err_property_setter_ambiguous_use)
  679             S.Diag(prop->getLocation(), diag::note_property_declare);
  680             S.Diag(prop1->getLocation(), diag::note_property_declare);
  696   if (S.getCurLexicalContext()->isObjCContainer() &&
  697       S.getCurLexicalContext()->getDeclKind() != Decl::ObjCCategoryImpl &&
  698       S.getCurLexicalContext()->getDeclKind() != Decl::ObjCImplementation) {
  700         S.Diag(RefExpr->getLocation(),
  702         S.Diag(prop->getLocation(), diag::note_property_declare);
  715     syntacticBase = Rebuilder(S, [=](Expr *, unsigned) -> Expr * {
  738   QualType receiverType = RefExpr->getReceiverType(S.Context);
  740     S.DiagnoseUseOfDecl(Getter, GenericLoc, nullptr, true);
  746     msg = S.BuildInstanceMessageImplicit(InstanceReceiver, receiverType,
  750     msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
  771   QualType receiverType = RefExpr->getReceiverType(S.Context);
  776   if (!S.getLangOpts().CPlusPlus || !op->getType()->isRecordType()) {
  782     if (!S.getLangOpts().CPlusPlus || !paramType->isRecordType()) {
  785         = S.CheckSingleAssignmentConstraints(paramType, opResult);
  787           S.DiagnoseAssignmentResult(assignResult, opcLoc, paramType,
  803     S.DiagnoseUseOfDecl(Setter, GenericLoc, nullptr, true);
  806     msg = S.BuildInstanceMessageImplicit(InstanceReceiver, receiverType,
  810     msg = S.BuildClassMessageImplicit(receiverType, RefExpr->isSuperReceiver(),
  832     S.Diag(RefExpr->getLocation(), diag::err_getter_not_found)
  841     S.DiagnosePropertyAccessorMismatch(RefExpr->getExplicitProperty(),
  847     QualType receiverType = RefExpr->getReceiverType(S.Context);
  854           result = S.ImpCastExprToType(result.get(), propType, CK_BitCast);
  858         !S.Diags.isIgnored(diag::warn_arc_repeated_use_of_weak,
  860       S.getCurFunction()->markSafeWeakUse(RefExpr);
  872   if (!S.getLangOpts().CPlusPlus) return false;
  904       return S.BuildBinOp(Sc, opcLoc, opcode, result.get(), RHS);
  908     S.Diag(opcLoc, diag::err_nosetter_property_assignment)
  919     S.Diag(opcLoc, diag::err_nogetter_property_compound_assignment)
  929   if (S.getLangOpts().ObjCAutoRefCount && InstanceReceiver) {
  930     S.checkRetainCycles(InstanceReceiver->getSourceExpr(), RHS);
  931     S.checkUnsafeExprAssigns(opcLoc, LHS, RHS);
  948       return S.BuildUnaryOp(Sc, opcLoc, opcode, result.get());
  952     S.Diag(opcLoc, diag::err_nosetter_property_incdec)
  965     S.Diag(opcLoc, diag::err_nogetter_property_incdec)
  976   if (isWeakProperty() && !S.isUnevaluatedContext() &&
  977       !S.Diags.isIgnored(diag::warn_arc_repeated_use_of_weak,
  979     S.getCurFunction()->recordUseOfWeak(SyntacticRefExpr,
 1018   if (S.getLangOpts().ObjCAutoRefCount && InstanceBase) {
 1019     S.checkRetainCycles(InstanceBase->getSourceExpr(), RHS);
 1020     S.checkUnsafeExprAssigns(opcLoc, LHS, RHS);
 1036       Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * {
 1158     S.CheckSubscriptingKind(RefExpr->getKeyExpr());
 1160     if (S.getLangOpts().ObjCAutoRefCount)
 1161       CheckKeyForObjCARCConversion(S, ResultType,
 1168     S.Diag(BaseExpr->getExprLoc(), diag::err_objc_subscript_base_type)
 1176       &S.Context.Idents.get("objectForKeyedSubscript")
 1178     AtIndexGetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
 1183       &S.Context.Idents.get("objectAtIndexedSubscript")
 1186     AtIndexGetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
 1189   AtIndexGetter = S.LookupMethodInObjectType(AtIndexGetterSelector, ResultType,
 1192   if (!AtIndexGetter && S.getLangOpts().DebuggerObjCLiteral) {
 1193     AtIndexGetter = ObjCMethodDecl::Create(S.Context, SourceLocation(),
 1195                            S.Context.getObjCIdType() /*ReturnType*/,
 1197                            S.Context.getTranslationUnitDecl(),
 1203     ParmVarDecl *Argument = ParmVarDecl::Create(S.Context, AtIndexGetter,
 1205                                                 arrayRef ? &S.Context.Idents.get("index")
 1206                                                          : &S.Context.Idents.get("key"),
 1207                                                 arrayRef ? S.Context.UnsignedLongTy
 1208                                                          : S.Context.getObjCIdType(),
 1212     AtIndexGetter->setMethodParams(S.Context, Argument, None);
 1217       S.Diag(BaseExpr->getExprLoc(), diag::err_objc_subscript_method_not_found)
 1222       S.LookupInstanceMethodInGlobalPool(AtIndexGetterSelector,
 1231       S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
 1234       S.Diag(AtIndexGetter->parameters()[0]->getLocation(),
 1240       S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
 1242       S.Diag(AtIndexGetter->getLocation(), diag::note_method_declared_at) <<
 1263     S.CheckSubscriptingKind(RefExpr->getKeyExpr());
 1265     if (S.getLangOpts().ObjCAutoRefCount)
 1266       CheckKeyForObjCARCConversion(S, ResultType,
 1273     S.Diag(BaseExpr->getExprLoc(), diag::err_objc_subscript_base_type)
 1282       &S.Context.Idents.get("setObject"),
 1283       &S.Context.Idents.get("forKeyedSubscript")
 1285     AtIndexSetterSelector = S.Context.Selectors.getSelector(2, KeyIdents);
 1290       &S.Context.Idents.get("setObject"),
 1291       &S.Context.Idents.get("atIndexedSubscript")
 1293     AtIndexSetterSelector = S.Context.Selectors.getSelector(2, KeyIdents);
 1295   AtIndexSetter = S.LookupMethodInObjectType(AtIndexSetterSelector, ResultType,
 1298   if (!AtIndexSetter && S.getLangOpts().DebuggerObjCLiteral) {
 1300     QualType ReturnType = S.Context.VoidTy;
 1302         S.Context, SourceLocation(), SourceLocation(), AtIndexSetterSelector,
 1303         ReturnType, ReturnTInfo, S.Context.getTranslationUnitDecl(),
 1309     ParmVarDecl *object = ParmVarDecl::Create(S.Context, AtIndexSetter,
 1311                                                 &S.Context.Idents.get("object"),
 1312                                                 S.Context.getObjCIdType(),
 1317     ParmVarDecl *key = ParmVarDecl::Create(S.Context, AtIndexSetter,
 1319                                                 arrayRef ?  &S.Context.Idents.get("index")
 1320                                                          :  &S.Context.Idents.get("key"),
 1321                                                 arrayRef ? S.Context.UnsignedLongTy
 1322                                                          : S.Context.getObjCIdType(),
 1327     AtIndexSetter->setMethodParams(S.Context, Params, None);
 1332       S.Diag(BaseExpr->getExprLoc(),
 1338       S.LookupInstanceMethodInGlobalPool(AtIndexSetterSelector,
 1347       S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
 1349       S.Diag(AtIndexSetter->parameters()[1]->getLocation(),
 1355       S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
 1357       S.Diag(AtIndexSetter->parameters()[0]->getLocation(),
 1367           S.Diag(RefExpr->getKeyExpr()->getExprLoc(),
 1370           S.Diag(RefExpr->getBaseExpr()->getExprLoc(),
 1372         S.Diag(AtIndexSetter->parameters()[i]->getLocation(),
 1397     S.DiagnoseUseOfDecl(AtIndexGetter, GenericLoc);
 1398   msg = S.BuildInstanceMessageImplicit(InstanceBase, receiverType,
 1415     S.DiagnoseUseOfDecl(AtIndexSetter, GenericLoc);
 1423   ExprResult msg = S.BuildInstanceMessageImplicit(InstanceBase, receiverType,
 1458   syntacticBase = Rebuilder(S, [=](Expr *, unsigned Idx) -> Expr * {
 1473     S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
 1484       S.ActOnMemberAccessExpr(S.getCurScope(), InstanceBase, SourceLocation(),
 1484       S.ActOnMemberAccessExpr(S.getCurScope(), InstanceBase, SourceLocation(),
 1488     S.Diag(RefExpr->getMemberLoc(),
 1494   return S.BuildCallExpr(S.getCurScope(), GetterExpr.get(),
 1494   return S.BuildCallExpr(S.getCurScope(), GetterExpr.get(),
 1502     S.Diag(RefExpr->getMemberLoc(), diag::err_no_accessor_for_property)
 1513       S.ActOnMemberAccessExpr(S.getCurScope(), InstanceBase, SourceLocation(),
 1513       S.ActOnMemberAccessExpr(S.getCurScope(), InstanceBase, SourceLocation(),
 1517     S.Diag(RefExpr->getMemberLoc(),
 1526   return S.BuildCallExpr(S.getCurScope(), SetterExpr.get(),
 1526   return S.BuildCallExpr(S.getCurScope(), SetterExpr.get(),