Home | History | Annotate | Download | only in Sema

Lines Matching refs:Results

42   /// \brief A container of code-completion results.
54 /// \brief The actual results we have found.
55 std::vector<Result> Results;
91 // 1 -> 2 elements: create the vector of results and push in the
119 /// results.
122 /// \brief The semantic analysis object for which results are being
132 /// results that are not desirable.
160 /// \brief The completion context in which we are gathering results.
205 /// results.
211 /// \brief Set the filter used for code-completion results.
216 Result *data() { return Results.empty()? 0 : &Results.front(); }
217 unsigned size() const { return Results.size(); }
218 bool empty() const { return Results.empty(); }
246 /// \brief Retrieve the code-completion context for which results are
258 /// code completion results.
323 /// results of name lookup. All of the predicates have the same type, so that
496 // added as results.
500 // Class template (partial) specializations are never added as results.
505 // Using declarations themselves are never added as results.
537 // Filter out any unwanted results.
759 // If we have a preferred type, adjust the priority for results with exactly-
811 Results.push_back(R);
816 assert(!ShadowMaps.empty() && "Must enter into a results scope");
819 // For non-declaration results, just add the result.
820 Results.push_back(R);
858 Results[Index].Declaration = R.Declaration;
923 // Insert this result into the set of results and into the current shadow
925 SMap[R.Declaration->getDeclName()].Add(R.Declaration, Results.size());
926 Results.push_back(R);
935 results, just add the result.
936 Results.push_back(R);
1008 // Insert this result into the set of results.
1009 Results.push_back(R);
1017 "Declaration results need more context");
1018 Results.push_back(R);
1250 ResultBuilder &Results;
1254 CodeCompletionDeclConsumer(ResultBuilder &Results, DeclContext *CurContext)
1255 : Results(Results), CurContext(CurContext) { }
1261 Accessible = Results.getSema().IsSimplyAccessible(ND, Ctx);
1263 ResultBuilder::Result Result(ND, Results.getBasePriority(ND), 0, false,
1265 Results.AddResult(Result, CurContext, Hiding, InBaseClass);
1270 /// \brief Add type specifiers for the current language as keyword results.
1272 ResultBuilder &Results) {
1274 Results.AddResult(Result("short", CCP_Type));
1275 Results.AddResult(Result("long", CCP_Type));
1276 Results.AddResult(Result("signed", CCP_Type));
1277 Results.AddResult(Result("unsigned", CCP_Type));
1278 Results.AddResult(Result("void", CCP_Type));
1279 Results.AddResult(Result("char", CCP_Type));
1280 Results.AddResult(Result("int", CCP_Type));
1281 Results.AddResult(Result("float", CCP_Type));
1282 Results.AddResult(Result("double", CCP_Type));
1283 Results.AddResult(Result("enum", CCP_Type));
1284 Results.AddResult(Result("struct", CCP_Type));
1285 Results.AddResult(Result("union", CCP_Type));
1286 Results.AddResult(Result("const", CCP_Type));
1287 Results.AddResult(Result("volatile", CCP_Type));
1291 Results.AddResult(Result("_Complex", CCP_Type));
1292 Results.AddResult(Result("_Imaginary", CCP_Type));
1293 Results.AddResult(Result("_Bool", CCP_Type));
1294 Results.AddResult(Result("restrict", CCP_Type));
1297 CodeCompletionBuilder Builder(Results.getAllocator(),
1298 Results.getCodeCompletionTUInfo());
1301 Results.AddResult(Result("bool", CCP_Type +
1303 Results.AddResult(Result("class", CCP_Type));
1304 Results.AddResult(Result("wchar_t", CCP_Type));
1312 Results.AddResult(Result(Builder.TakeString()));
1315 Results.AddResult(Result("auto", CCP_Type));
1316 Results.AddResult(Result("char16_t", CCP_Type));
1317 Results.AddResult(Result("char32_t", CCP_Type));
1323 Results.AddResult(Result(Builder.TakeString()));
1330 // Results.AddResult(Result("_Decimal32"));
1331 // Results.AddResult(Result("_Decimal64"));
1332 // Results.AddResult(Result("_Decimal128"));
1337 Results.AddResult(Result(Builder.TakeString()));
1343 Results.AddResult(Result(Builder.TakeString()));
1349 ResultBuilder &Results) {
1354 Results.AddResult(Result("extern"));
1355 Results.AddResult(Result("static"));
1360 ResultBuilder &Results) {
1366 Results.AddResult(Result("explicit"));
1367 Results.AddResult(Result("friend"));
1368 Results.AddResult(Result("mutable"));
1369 Results.AddResult(Result("virtual"));
1378 Results.AddResult(Result("inline"));
1394 static void AddObjCExpressionResults(ResultBuilder &Results, bool NeedAt);
1395 static void AddObjCStatementResults(ResultBuilder &Results, bool NeedAt);
1397 ResultBuilder &Results,
1400 ResultBuilder &Results,
1403 ResultBuilder &Results,
1405 Results, bool NeedAt);
1407 static void AddTypedefResult(ResultBuilder &Results) {
1408 CodeCompletionBuilder Builder(Results.getAllocator(),
1409 Results.getCodeCompletionTUInfo());
1415 Results.AddResult(CodeCompletionResult(Builder.TakeString()));
1497 static void addThisCompletion(Sema &S, ResultBuilder &Results) {
1502 CodeCompletionAllocator &Allocator = Results.getAllocator();
1503 CodeCompletionBuilder Builder(Allocator, Results.getCodeCompletionTUInfo());
1510 Results.AddResult(CodeCompletionResult(Builder.TakeString()));
1517 ResultBuilder &Results) {
1518 CodeCompletionAllocator &Allocator = Results.getAllocator();
1519 CodeCompletionBuilder Builder(Allocator, Results.getCodeCompletionTUInfo());
1526 if (Results.includeCodePatterns()) {
1535 Results.AddResult(Result(Builder.TakeString()));
1544 Results.AddResult(Result(Builder.TakeString()));
1552 Results.AddResult(Result(Builder.TakeString()));
1559 Results.AddResult(Result(Builder.TakeString()));
1561 if (Results.includeCodePatterns()) {
1566 Results.AddResult(Result(Builder.TakeString()));
1571 AddObjCTopLevelResults(Results, true);
1573 AddTypedefResult(Results);
1584 Results.AddResult(Result(Builder.TakeString()));
1595 Results.AddResult(Result(Builder.TakeString()));
1599 AddTypedefResult(Results);
1603 if (Results.includeCodePatterns())
1605 Results.AddResult(Result(Builder.TakeString()));
1609 if (Results.includeCodePatterns())
1611 Results.AddResult(Result(Builder.TakeString()));
1615 if (Results.includeCodePatterns())
1617 Results.AddResult(Result(Builder.TakeString()));
1624 if (SemaRef.getLangOpts().CPlusPlus && Results.includeCodePatterns()) {
1630 Results.AddResult(Result(Builder.TakeString()));
1633 AddStorageSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1634 AddFunctionSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1638 AddObjCInterfaceResults(SemaRef.getLangOpts(), Results, true);
1639 AddStorageSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1640 AddFunctionSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1644 AddObjCImplementationResults(SemaRef.getLangOpts(), Results, true);
1645 AddStorageSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1646 AddFunctionSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1650 AddObjCVisibilityResults(SemaRef.getLangOpts(), Results, true);
1655 AddTypedefResult(Results);
1657 if (SemaRef.getLangOpts().CPlusPlus && Results.includeCodePatterns() &&
1672 Results.AddResult(Result(Builder.TakeString()));
1675 AddObjCStatementResults(Results, true);
1677 if (Results.includeCodePatterns()) {
1690 Results.AddResult(Result(Builder.TakeString()));
1703 Results.AddResult(Result(Builder.TakeString()));
1713 Results.AddResult(Result(Builder.TakeString()));
1718 Results.AddResult(Result(Builder.TakeString()));
1721 if (Results.includeCodePatterns()) {
1734 Results.AddResult(Result(Builder.TakeString()));
1746 Results.AddResult(Result(Builder.TakeString()));
1765 Results.AddResult(Result(Builder.TakeString()));
1771 Results.AddResult(Result(Builder.TakeString()));
1777 Results.AddResult(Result(Builder.TakeString()));
1796 Results.AddResult(Result(Builder.TakeString()));
1802 Results.AddResult(Result(Builder.TakeString()));
1810 Results.AddResult(Result(Builder.TakeString()));
1816 AddStorageSpecifiers(CCC, SemaRef.getLangOpts(), Results);
1828 Results.AddResult(Result(Builder.TakeString()));
1836 Results.AddResult(Result(Builder.TakeString()));
1844 Results.AddResult(Result(Builder.TakeString()));
1851 addThisCompletion(SemaRef, Results);
1856 Results.AddResult(Result(Builder.TakeString()));
1861 Results.AddResult(Result(Builder.TakeString()));
1872 Results.AddResult(Result(Builder.TakeString()));
1883 Results.AddResult(Result(Builder.TakeString()));
1893 Results.AddResult(Result(Builder.TakeString()));
1903 Results.AddResult(Result(Builder.TakeString()));
1912 Results.AddResult(Result(Builder.TakeString()));
1922 Results.AddResult(Result(Builder.TakeString()));
1934 Results.AddResult(Result(Builder.TakeString()));
1941 Results.AddResult(Result(Builder.TakeString()));
1951 Results.AddResult(Result(Builder.TakeString()));
1959 Results.AddResult(Result(Builder.TakeString()));
1968 Results.AddResult(Result(Builder.TakeString()));
1976 Results.AddResult(Result(Builder.TakeString()));
1984 Results.AddResult(Result(Builder.TakeString()));
1992 Results.AddResult(Result(Builder.TakeString()));
2009 Results.AddResult(Result(Builder.TakeString()));
2013 AddObjCExpressionResults(Results, true);
2026 Results.AddResult(Result(Builder.TakeString()));
2035 Results.AddResult(Result(Builder.TakeString()));
2045 AddTypeSpecifierResults(SemaRef.getLangOpts(), Results);
2048 Results.AddResult(Result("operator"));
2967 static void AddMacroResults(Preprocessor &PP, ResultBuilder &Results,
2972 Results.EnterNewScope();
2978 Results.AddResult(Result(M->first,
2984 Results.ExitScope();
2989 ResultBuilder &Results) {
2992 Results.EnterNewScope();
2994 Results.AddResult(Result("__PRETTY_FUNCTION__", CCP_Constant));
2995 Results.AddResult(Result("__FUNCTION__", CCP_Constant));
2997 Results.AddResult(Result("__func__", CCP_Constant));
2998 Results.ExitScope();
3004 CodeCompletionResult *Results,
3007 CodeCompleter->ProcessCodeCompleteResults(*S, Context, Results, NumResults);
3066 /// \brief If we're in a C++ virtual member function, add completion results
3070 /// \param S The semantic analysis object for which we are generating results.
3075 ResultBuilder &Results) {
3100 CodeCompletionBuilder Builder(Results.getAllocator(),
3101 Results.getCodeCompletionTUInfo());
3115 Builder.AddTextChunk(Results.getAllocator().CopyString(OS.str()));
3120 Builder.AddTypedTextChunk(Results.getAllocator().CopyString(
3132 Builder.AddPlaceholderChunk(Results.getAllocator().CopyString(
3136 Results.AddResult(CodeCompletionResult(Builder.TakeString(),
3141 Results.Ignore(Overridden);
3148 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3151 Results.EnterNewScope();
3153 CodeCompletionAllocator &Allocator = Results.getAllocator();
3154 CodeCompletionBuilder Builder(Allocator, Results.getCodeCompletionTUInfo());
3163 Results.AddResult(Result(Builder.TakeString(),
3183 Results.AddResult(Result(Builder.TakeString(),
3192 Results.ExitScope();
3193 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
3194 Results.data(),Results.size());
3199 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3202 Results.EnterNewScope();
3204 // Determine how to filter results, e.g., so that the names of
3217 Results.setFilter(&ResultBuilder::IsOrdinaryNonValueName);
3226 Results.setFilter(&ResultBuilder::IsOrdinaryName);
3228 Results.setFilter(&ResultBuilder::IsOrdinaryNonTypeName);
3231 MaybeAddOverrideCalls(*this, /*InContext=*/0, Results);
3240 // the member function to filter/prioritize the results list.
3243 Results.setObjectTypeQualifiers(
3246 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3250 AddOrdinaryNameResults(CompletionContext, S, *this, Results);
3251 Results.ExitScope();
3259 AddPrettyFunctionResults(PP.getLangOpts(), Results);
3277 AddMacroResults(PP, Results, false);
3279 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
3280 Results.data(),Results.size());
3289 ResultBuilder &Results);
3295 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3300 Results.EnterNewScope();
3303 Results.AddResult(Result("const"));
3304 Results.AddResult(Result("volatile"));
3306 Results.AddResult(Result("restrict"));
3310 Results.AddResult(Result("operator"));
3315 Results.allowNestedNameSpecifiers();
3316 Results.setFilter(&ResultBuilder::IsImpossibleToSatisfy);
3317 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3320 Results.setFilter(0);
3323 Results.ExitScope();
3343 AddClassMessageCompletions(*this, S, T, 0, 0, false, false, Results);
3346 // Note that we intentionally suppress macro results here, since we do not
3350 Results.getCompletionContext(),
3351 Results.data(), Results.size());
3369 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3373 Results.setFilter(&ResultBuilder::IsObjCCollection);
3375 Results.setFilter(&ResultBuilder::IsIntegralConstantValue);
3377 Results.setFilter(&ResultBuilder::IsOrdinaryName);
3379 Results.setFilter(&ResultBuilder::IsOrdinaryNonTypeName);
3382 Results.setPreferredType(Data.PreferredType.getNonReferenceType());
3386 Results.Ignore(Data.IgnoreDecls[I]);
3388 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3392 Results.EnterNewScope();
3393 AddOrdinaryNameResults(PCC_Expression, S, *this, Results);
3394 Results.ExitScope();
3405 AddPrettyFunctionResults(PP.getLangOpts(), Results);
3408 AddMacroResults(PP, Results, false, PreferredTypeIsPointer);
3412 Results.data(),Results.size());
3449 ResultBuilder &Results) {
3461 Results.MaybeAddResult(Result(*P, Results.getBasePriority(*P), 0),
3468 PrintingPolicy Policy = getCompletionPrintingPolicy(Results.getSema());
3475 CodeCompletionBuilder Builder(Results.getAllocator(),
3476 Results.getCodeCompletionTUInfo());
3479 Results.getAllocator().CopyString(Name->getName()));
3481 Results.MaybeAddResult(Result(Builder.TakeString(), *M,
3495 AddedProperties, Results);
3504 CurContext, AddedProperties, Results);
3512 AddedProperties, Results);
3518 AddedProperties, Results);
3526 AddedProperties, Results);
3569 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3574 Results.EnterNewScope();
3578 Results.setObjectTypeQualifiers(BaseType.getQualifiers());
3581 Results.allowNestedNameSpecifiers();
3582 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3587 if (!Results.empty()) {
3601 Results.AddResult(Result("template"));
3608 // Add property results based on our interface.
3614 AddedProperties, Results);
3621 AddedProperties, Results);
3634 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3635 Results.setFilter(&ResultBuilder::IsObjCIvar);
3643 Results.ExitScope();
3645 // Hand off the results found for code completion.
3647 Results.getCompletionContext(),
3648 Results.data(),Results.size());
3680 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3682 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3685 Results.setFilter(Filter);
3691 Results.setFilter(&ResultBuilder::IsNestedNameSpecifier);
3695 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
3696 Results.data(),Results.size());
3700 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3703 Results.EnterNewScope();
3705 Results.AddResult("const");
3707 Results.AddResult("volatile");
3710 Results.AddResult("restrict");
3711 Results.ExitScope();
3713 Results.getCompletionContext(),
3714 Results.data(), Results.size());
3783 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3786 Results.EnterNewScope();
3794 Results.AddResult(R, CurContext, 0, false);
3796 Results.ExitScope();
3802 AddMacroResults(PP, Results, false);
3808 Results.data(),Results.size());
3845 // results. We may want to revisit this strategy in the future,
3846 // e.g., by merging the two kinds of results.
3866 SmallVector<ResultCandidate, 8> Results;
3877 Results.push_back(ResultCandidate(FDecl));
3897 Results.push_back(ResultCandidate(Cand->Function));
3901 for (unsigned I = 0, N = Results.size(); I != N; ++I) {
3902 if (const FunctionType *FType = Results[I].getFunctionType())
3940 if (!Results.empty())
3941 CodeCompleter->ProcessOverloadCandidates(*this, Args.size(), Results.data(),
3942 Results.size());
3972 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
3975 Results.setFilter(&ResultBuilder::IsOrdinaryName);
3976 Results.EnterNewScope();
3978 CodeCompletionDeclConsumer Consumer(Results, CurContext);
3982 AddOrdinaryNameResults(PCC_Statement, S, *this, Results);
3985 CodeCompletionBuilder Builder(Results.getAllocator(),
3986 Results.getCodeCompletionTUInfo());
3988 if (Results.includeCodePatterns()) {
3996 Results.AddResult(Builder.TakeString());
4009 if (Results.includeCodePatterns()) {
4017 Results.AddResult(Builder.TakeString());
4019 Results.ExitScope();
4022 AddPrettyFunctionResults(PP.getLangOpts(), Results);
4025 AddMacroResults(PP, Results, false);
4027 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
4028 Results.data(),Results.size());
4052 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4055 Results.EnterNewScope();
4060 if (!Results.empty() && NNS->isDependent())
4061 Results.AddResult("template");
4069 MaybeAddOverrideCalls(*this, Ctx, Results);
4070 Results.ExitScope();
4072 CodeCompletionDeclConsumer Consumer(Results, CurContext);
4076 Results.getCompletionContext(),
4077 Results.data(),Results.size());
4084 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4088 Results.EnterNewScope();
4092 Results.AddResult(CodeCompletionResult("namespace"));
4096 CodeCompletionDeclConsumer Consumer(Results, CurContext);
4099 Results.ExitScope();
4103 Results.data(),Results.size());
4112 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4116 Results.EnterNewScope();
4117 CodeCompletionDeclConsumer Consumer(Results, CurContext);
4120 Results.ExitScope();
4123 Results.data(),Results.size());
4137 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4156 // namespace to the list of results.
4157 Results.EnterNewScope();
4162 Results.AddResult(CodeCompletionResult(
4163 NS->second, Results.getBasePriority(NS->second), 0),
4165 Results.ExitScope();
4169 Results.getCompletionContext(),
4170 Results.data(),Results.size());
4178 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4182 CodeCompletionDeclConsumer Consumer(Results, CurContext);
4186 Results.getCompletionContext(),
4187 Results.data(),Results.size());
4195 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4199 Results.EnterNewScope();
4204 Results.AddResult(Result(Spelling));
4208 Results.allowNestedNameSpecifiers();
4209 CodeCompletionDeclConsumer Consumer(Results, CurContext);
4214 AddTypeSpecifierResults(getLangOpts(), Results);
4215 Results.ExitScope();
4219 Results.data(),Results.size());
4231 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4234 Results.EnterNewScope();
4249 CodeCompletionBuilder Builder(Results.getAllocator(),
4250 Results.getCodeCompletionTUInfo());
4266 Results.getAllocator().CopyString(
4271 Results.AddResult(CodeCompletionResult(Builder.TakeString(),
4296 Results.AddResult(CodeCompletionResult(Builder.TakeString(),
4322 Results.AddResult(CodeCompletionResult(Builder.TakeString(),
4330 Results.ExitScope();
4332 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
4333 Results.data(), Results.size());
4347 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4350 Results.EnterNewScope();
4377 Results.AddResult(CodeCompletionResult(Var, CCP_LocalDeclaration),
4384 addThisCompletion(*this, Results);
4386 Results.ExitScope();
4388 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
4389 Results.data(), Results.size());
4397 ResultBuilder &Results,
4401 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"end")));
4403 CodeCompletionBuilder Builder(Results.getAllocator(),
4404 Results.getCodeCompletionTUInfo());
4410 Results.AddResult(Result(Builder.TakeString()));
4416 Results.AddResult(Result(Builder.TakeString()));
4421 ResultBuilder &Results,
4426 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"end")));
4430 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"property")));
4433 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"required")));
4436 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"optional")));
4440 static void AddObjCTopLevelResults(ResultBuilder &Results, bool NeedAt) {
4442 CodeCompletionBuilder Builder(Results.getAllocator(),
4443 Results.getCodeCompletionTUInfo());
4449 Results.AddResult(Result(Builder.TakeString()));
4451 if (Results.includeCodePatterns()) {
4458 Results.AddResult(Result(Builder.TakeString()));
4464 Results.AddResult(Result(Builder.TakeString()));
4470 Results.AddResult(Result(Builder.TakeString()));
4479 Results.AddResult(Result(Builder.TakeString()));
4481 if (Results.getSema().getLangOpts().Modules) {
4486 Results.AddResult(Result(Builder.TakeString()));
4491 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4494 Results.EnterNewScope();
4496 AddObjCImplementationResults(getLangOpts(), Results, false);
4498 AddObjCInterfaceResults(getLangOpts(), Results, false);
4500 AddObjCTopLevelResults(Results, false);
4501 Results.ExitScope();
4504 Results.data(),Results.size());
4507 static void AddObjCExpressionResults(ResultBuilder &Results, bool NeedAt) {
4509 CodeCompletionBuilder Builder(Results.getAllocator(),
4510 Results.getCodeCompletionTUInfo());
4514 if (Results.getSema().getLangOpts().CPlusPlus ||
4515 Results.getSema().getLangOpts().ConstStrings)
4522 Results.AddResult(Result(Builder.TakeString()));
4530 Results.AddResult(Result(Builder.TakeString()));
4538 Results.AddResult(Result(Builder.TakeString()));
4545 Results.AddResult(Result(Builder.TakeString()));
4552 Results.AddResult(Result(Builder.TakeString()));
4562 Results.AddResult(Result(Builder.TakeString()));
4569 Results.AddResult(Result(Builder.TakeString()));
4572 static void AddObjCStatementResults(ResultBuilder &Results, bool NeedAt) {
4574 CodeCompletionBuilder Builder(Results.getAllocator(),
4575 Results.getCodeCompletionTUInfo());
4577 if (Results.includeCodePatterns()) {
4595 Results.AddResult(Result(Builder.TakeString()));
4602 Results.AddResult(Result(Builder.TakeString()));
4604 if (Results.includeCodePatterns()) {
4614 Results.AddResult(Result(Builder.TakeString()));
4619 ResultBuilder &Results,
4622 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"private")));
4623 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"protected")));
4624 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"public")));
4626 Results.AddResult(Result(OBJC_AT_KEYWORD_NAME(NeedAt,"package")));
4630 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4633 Results.EnterNewScope();
4634 AddObjCVisibilityResults(getLangOpts(), Results, false);
4635 Results.ExitScope();
4638 Results.data(),Results.size());
4642 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4645 Results.EnterNewScope();
4646 AddObjCStatementResults(Results, false);
4647 AddObjCExpressionResults(Results, false);
4648 Results.ExitScope();
4651 Results.data(),Results.size());
4655 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4658 Results.EnterNewScope();
4659 AddObjCExpressionResults(Results, false);
4660 Results.ExitScope();
4663 Results.data(),Results.size());
4705 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4708 Results.EnterNewScope();
4710 Results.AddResult(CodeCompletionResult("readonly"));
4712 Results.AddResult(CodeCompletionResult("assign"));
4715 Results.AddResult(CodeCompletionResult("unsafe_unretained"));
4717 Results.AddResult(CodeCompletionResult("readwrite"));
4719 Results.AddResult(CodeCompletionResult("retain"));
4721 Results.AddResult(CodeCompletionResult("strong"));
4723 Results.AddResult(CodeCompletionResult("copy"));
4725 Results.AddResult(CodeCompletionResult("nonatomic"));
4727 Results.AddResult(CodeCompletionResult("atomic"));
4732 Results.AddResult(CodeCompletionResult("weak"));
4735 CodeCompletionBuilder Setter(Results.getAllocator(),
4736 Results.getCodeCompletionTUInfo());
4740 Results.AddResult(CodeCompletionResult(Setter.TakeString()));
4743 CodeCompletionBuilder Getter(Results.getAllocator(),
4744 Results.getCodeCompletionTUInfo());
4748 Results.AddResult(CodeCompletionResult(Getter.TakeString()));
4750 Results.ExitScope();
4753 Results.data(),Results.size());
4804 /// container to the set of results.
4822 /// \param Results the structure into which we'll add results.
4831 ResultBuilder &Results,
4853 Result R = Result(*M, Results.getBasePriority(*M), 0);
4858 Results.MaybeAddResult(R, CurContext);
4872 Results, false);
4884 CurContext, Selectors, AllowSameLength, Results, false);
4895 Results, InOriginalClass);
4905 Results, false);
4911 Results, InOriginalClass);
4918 AllowSameLength, Results, false);
4924 Results, InOriginalClass);
4941 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4944 Results.EnterNewScope();
4948 /*AllowSameLength=*/true, Results);
4949 Results.ExitScope();
4952 Results.data(),Results.size());
4969 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4972 Results.EnterNewScope();
4976 Selectors, /*AllowSameLength=*/true, Results);
4978 Results.ExitScope();
4981 Results.data(),Results.size());
4986 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
4989 Results.EnterNewScope();
4995 Results.AddResult("in");
4996 Results.AddResult("inout");
5001 Results.AddResult("out");
5003 Results.AddResult("inout");
5008 Results.AddResult("bycopy");
5009 Results.AddResult("byref");
5010 Results.AddResult("oneway");
5019 CodeCompletionBuilder Builder(Results.getAllocator(),
5020 Results.getCodeCompletionTUInfo(),
5030 Results.AddResult(CodeCompletionResult(Builder.TakeString()));
5035 Results.AddResult(CodeCompletionResult("instancetype"));
5039 AddOrdinaryNameResults(PCC_Type, S, *this, Results);
5040 Results.ExitScope();
5043 Results.setFilter(&ResultBuilder::IsOrdinaryNonValueName);
5044 CodeCompletionDeclConsumer Consumer(Results, CurContext);
5049 AddMacroResults(PP, Results, false);
5053 Results.data(), Results.size());
5141 /// \param Results The set of results to augment.
5148 ResultBuilder &Results) {
5200 CodeCompletionBuilder Builder(Results.getAllocator(),
5201 Results.getCodeCompletionTUInfo());
5247 Results.AddResult(CodeCompletionResult(Builder.TakeString(), SuperMethod,
5254 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5261 CodeCompletionDeclConsumer Consumer(Results, CurContext);
5262 Results.EnterNewScope();
5271 Results.AddResult(Result("super"));
5273 AddSuperSendCompletion(*this, /*NeedSuperKeyword=*/true, 0, 0, Results);
5277 addThisCompletion(*this, Results);
5279 Results.ExitScope();
5282 AddMacroResults(PP, Results, false);
5283 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
5284 Results.data(), Results.size());
5353 /// \brief Given a set of code-completion results for the argument of a message
5355 static QualType getPreferredArgumentTypeForMessageSend(ResultBuilder &Results,
5358 ASTContext &Context = Results.getSema().Context;
5362 Result *ResultsData = Results.data();
5363 for (unsigned I = 0, N = Results.size(); I != N; ++I) {
5393 ResultBuilder &Results) {
5408 Results.EnterNewScope();
5415 Results))
5416 Results.Ignore(SuperMethod);
5422 Results.setPreferredSelector(CurMethod->getSelector());
5428 Results);
5456 Result R(MethList->Method, Results.getBasePriority(MethList->Method),0);
5459 Results.MaybeAddResult(R, SemaRef.CurContext);
5464 Results.ExitScope();
5475 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5481 AtArgumentExpression, IsSuper, Results);
5487 // our preferred type, improving completion results.
5489 QualType PreferredType = getPreferredArgumentTypeForMessageSend(Results,
5499 Results.getCompletionContext(),
5500 Results.data(), Results.size());
5541 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5546 Results.EnterNewScope();
5553 Results))
5554 Results.Ignore(SuperMethod);
5560 Results.setPreferredSelector(CurMethod->getSelector());
5573 CurContext, Selectors, AtArgumentExpression, Results);
5584 Selectors, AtArgumentExpression, Results);
5592 Results);
5599 Selectors, AtArgumentExpression, Results);
5604 // about as code-completion results.
5632 Result R(MethList->Method, Results.getBasePriority(MethList->Method),0);
5635 Results.MaybeAddResult(R, CurContext);
5639 Results.ExitScope();
5646 // our preferred type, improving completion results.
5648 QualType PreferredType = getPreferredArgumentTypeForMessageSend(Results,
5658 Results.getCompletionContext(),
5659 Results.data(),Results.size());
5693 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5696 Results.EnterNewScope();
5705 CodeCompletionBuilder Builder(Results.getAllocator(),
5706 Results.getCodeCompletionTUInfo());
5710 Results.AddResult(Builder.TakeString());
5728 Results.AddResult(Builder.TakeString());
5730 Results.ExitScope();
5734 Results.data(), Results.size());
5741 ResultBuilder &Results) {
5750 Results.AddResult(Result(Proto, Results.getBasePriority(Proto), 0),
5757 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5762 Results.EnterNewScope();
5766 // FIXME: This doesn't work when caching code-completion results.
5770 Results.Ignore(Protocol);
5774 Results);
5776 Results.ExitScope();
5781 Results.data(),Results.size());
5785 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5790 Results.EnterNewScope();
5794 Results);
5796 Results.ExitScope();
5801 Results.data(),Results.size());
5809 ResultBuilder &Results) {
5819 Results.AddResult(Result(Class, Results.getBasePriority(Class), 0),
5825 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5828 Results.EnterNewScope();
5833 false, Results);
5836 Results.ExitScope();
5840 Results.data(),Results.size());
5845 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5848 Results.EnterNewScope();
5854 Results.Ignore(CurClass);
5859 false, Results);
5862 Results.ExitScope();
5866 Results.data(),Results.size());
5870 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5873 Results.EnterNewScope();
5878 true, Results);
5881 Results.ExitScope();
5885 Results.data(),Results.size());
5893 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5912 Results.EnterNewScope();
5919 Results.AddResult(Result(Category, Results.getBasePriority(Category),0),
5921 Results.ExitScope();
5925 Results.data(),Results.size());
5942 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5950 Results.EnterNewScope();
5959 Results.AddResult(Result(*Cat, Results.getBasePriority(*Cat), 0),
5966 Results.ExitScope();
5970 Results.data(),Results.size());
5974 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
5992 Results.Ignore(PropertyImpl->getPropertyDecl());
5996 Results.EnterNewScope();
6001 AddedProperties, Results);
6005 AddedProperties, Results);
6006 Results.ExitScope();
6010 Results.data(),Results.size());
6016 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
6046 Results.setPreferredType(PropertyType);
6051 Results.EnterNewScope();
6061 Results.AddResult(Result(Ivar, Results.getBasePriority(Ivar), 0),
6072 // advantage over other results whose names don't match so closely.
6073 if (Results.size() &&
6074 Results.data()[Results.size() - 1].Kind
6076 Results.data()[Results.size() - 1].Declaration == Ivar)
6077 Results.data()[Results.size() - 1].Priority--;
6087 CodeCompletionAllocator &Allocator = Results.getAllocator();
6088 CodeCompletionBuilder Builder(Allocator, Results.getCodeCompletionTUInfo(),
6095 Results.AddResult(Result(Builder.TakeString(), Priority,
6099 Results.ExitScope();
6103 Results.data(),Results.size());
6239 ResultBuilder &Results) {
6244 PrintingPolicy Policy = getCompletionPrintingPolicy(Results.getSema());
6248 CodeCompletionAllocator &Allocator = Results.getAllocator();
6249 CodeCompletionBuilder Builder(Allocator, Results.getCodeCompletionTUInfo());
6292 Results.AddResult(Result(Builder.TakeString(), CCP_CodePattern,
6315 Results.AddResult(Result(Builder.TakeString(), CCP_CodePattern,
6338 Results.AddResult(Result(Builder.TakeString(), CCP_CodePattern,
6386 Results.AddResult(Result(Builder.TakeString(),
6412 Results.AddResult(Result(Builder.TakeString(), IndexedGetterPriority,
6439 Results.AddResult(Result(Builder.TakeString(), IndexedGetterPriority,
6471 Results.AddResult(Result(Builder.TakeString(), IndexedGetterPriority,
6505 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6536 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6558 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6580 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6612 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6645 Results.AddResult(Result(Builder.TakeString(), IndexedSetterPriority,
6668 Results.AddResult(Result(Builder.TakeString(), UnorderedGetterPriority,
6698 Results.AddResult(Result(Builder.TakeString(), UnorderedGetterPriority,
6722 Results.AddResult(Result(Builder.TakeString(), UnorderedSetterPriority,
6743 Results.AddResult(Result(Builder.TakeString(), UnorderedSetterPriority,
6766 Results.AddResult(Result(Builder.TakeString(), UnorderedSetterPriority,
6787 Results.AddResult(Result(Builder.TakeString(), UnorderedSetterPriority,
6808 Results.AddResult(Result(Builder.TakeString(), UnorderedSetterPriority,
6832 Results.AddResult(Result(Builder.TakeString(), CCP_CodePattern,
6853 Results.AddResult(Result(Builder.TakeString(), CCP_CodePattern,
6904 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
6907 Results.EnterNewScope();
6913 CodeCompletionBuilder Builder(Results.getAllocator(),
6914 Results.getCodeCompletionTUInfo());
6961 if (IsInImplementation && Results.includeCodePatterns()) {
6983 Results.AddResult(Result(Builder.TakeString(), Method, Priority));
7018 KnownSelectors, Results);
7023 Results.ExitScope();
7027 Results.data(),Results.size());
7051 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
7056 Results.setPreferredType(GetTypeFromParser(ReturnTy).getNonReferenceType());
7058 Results.EnterNewScope();
7075 CodeCompletionBuilder Builder(Results.getAllocator(),
7076 Results.getCodeCompletionTUInfo());
7079 Results.AddResult(Builder.TakeString());
7086 Result R(MethList->Method, Results.getBasePriority(MethList->Method), 0);
7090 Results.MaybeAddResult(R, CurContext);
7094 Results.ExitScope();
7097 Results.data(),Results.size());
7101 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
7104 Results.EnterNewScope();
7107 CodeCompletionBuilder Builder(Results.getAllocator(),
7108 Results.getCodeCompletionTUInfo());
7112 Results.AddResult(Builder.TakeString());
7118 Results.AddResult(Builder.TakeString());
7124 Results.AddResult(Builder.TakeString());
7131 Results.AddResult(Builder.TakeString());
7135 Results.AddResult(Builder.TakeString());
7139 Results.AddResult(Builder.TakeString());
7148 Results.AddResult(Builder.TakeString());
7156 Results.AddResult(Builder.TakeString());
7162 Results.AddResult(Builder.TakeString());
7171 Results.AddResult(Builder.TakeString());
7177 Results.AddResult(Builder.TakeString());
7183 Results.AddResult(Builder.TakeString());
7193 Results.AddResult(Builder.TakeString());
7199 Results.AddResult(Builder.TakeString());
7205 Results.AddResult(Builder.TakeString());
7214 Results.AddResult(Builder.TakeString());
7222 Results.AddResult(Builder.TakeString());
7231 Results.AddResult(Builder.TakeString());
7239 Results.AddResult(Builder.TakeString());
7245 Results.AddResult(Builder.TakeString());
7252 Results.ExitScope();
7256 Results.data(), Results.size());
7266 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
7272 CodeCompletionBuilder Builder(Results.getAllocator(),
7273 Results.getCodeCompletionTUInfo());
7274 Results.EnterNewScope();
7280 Results.AddResult(CodeCompletionResult(Builder.TakeString(),
7284 Results.ExitScope();
7289 HandleCodeCompleteResults(this, CodeCompleter, Results.getCompletionContext(),
7290 Results.data(), Results.size());
7294 ResultBuilder Results(*this, CodeCompleter->getAllocator(),
7299 AddMacroResults(PP, Results, true);
7302 Results.EnterNewScope();
7303 CodeCompletionBuilder Builder(Results.getAllocator(),
7304 Results.getCodeCompletionTUInfo());
7310 Results.AddResult(Builder.TakeString());
7311 Results.ExitScope();
7315 Results.data(), Results.size());
7322 // FIXME: In the future, we could provide "overload" results, much like we
7337 SmallVectorImpl<CodeCompletionResult> &Results) {
7350 Results.clear();
7351 Results.insert(Results.end(),