Lines Matching refs:Unexpanded
24 // Visitor that collects unexpanded parameter packs
28 /// \brief A class that collects unexpanded parameter packs.
35 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded;
39 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded)
40 : Unexpanded(Unexpanded) { }
45 // Recording occurrences of (unexpanded) parameter packs.
51 Unexpanded.push_back(std::make_pair(TL.getTypePtr(), TL.getNameLoc()));
62 Unexpanded.push_back(std::make_pair(T, SourceLocation()));
71 Unexpanded.push_back(std::make_pair(E->getDecl(), E->getLocation()));
82 Unexpanded.push_back(std::make_pair(TTP, SourceLocation()));
104 // Pruning the search for unexpanded parameter packs.
108 /// do not contain unexpanded parameter packs.
118 /// unexpanded parameter packs.
127 /// that do not contain unexpanded parameter packs.
137 /// they cannot contain unexpanded parameter packs.
163 /// \brief Diagnose all of the unexpanded parameter packs in the given
168 ArrayRef<UnexpandedParameterPack> Unexpanded) {
169 if (Unexpanded.empty())
176 for (unsigned I = 0, N = Unexpanded.size(); I != N; ++I) {
179 = Unexpanded[I].first.dyn_cast<const TemplateTypeParmType *>())
182 Name = Unexpanded[I].first.get<NamedDecl *>()->getIdentifier();
187 if (Unexpanded[I].second.isValid())
188 Locations.push_back(Unexpanded[I].second);
214 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
215 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseTypeLoc(
217 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
218 DiagnoseUnexpandedParameterPacks(Loc, UPPC, Unexpanded);
230 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
231 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseStmt(E);
232 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
233 DiagnoseUnexpandedParameterPacks(E->getLocStart(), UPPC, Unexpanded);
246 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
247 CollectUnexpandedParameterPacksVisitor(Unexpanded)
249 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
251 UPPC, Unexpanded);
283 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
284 CollectUnexpandedParameterPacksVisitor(Unexpanded)
286 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
287 DiagnoseUnexpandedParameterPacks(NameInfo.getLoc(), UPPC, Unexpanded);
298 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
299 CollectUnexpandedParameterPacksVisitor(Unexpanded)
301 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
302 DiagnoseUnexpandedParameterPacks(Loc, UPPC, Unexpanded);
312 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
313 CollectUnexpandedParameterPacksVisitor(Unexpanded)
315 assert(!Unexpanded.empty() && "Unable to find unexpanded parameter packs");
316 DiagnoseUnexpandedParameterPacks(Arg.getLocation(), UPPC, Unexpanded);
321 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
322 CollectUnexpandedParameterPacksVisitor(Unexpanded)
327 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
328 CollectUnexpandedParameterPacksVisitor(Unexpanded)
333 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
334 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(T);
338 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
339 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseTypeLoc(TL);
343 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
349 CollectUnexpandedParameterPacksVisitor(Unexpanded)
354 SmallVectorImpl<UnexpandedParameterPack> &Unexpanded) {
355 CollectUnexpandedParameterPacksVisitor(Unexpanded)
492 ArrayRef<UnexpandedParameterPack> Unexpanded,
502 for (ArrayRef<UnexpandedParameterPack>::iterator i = Unexpanded.begin(),
503 end = Unexpanded.end();
603 SmallVector<UnexpandedParameterPack, 2> Unexpanded;
604 CollectUnexpandedParameterPacksVisitor(Unexpanded).TraverseType(Pattern);
606 for (unsigned I = 0, N = Unexpanded.size(); I != N; ++I) {
612 = Unexpanded[I].first.dyn_cast<const TemplateTypeParmType *>()) {
616 NamedDecl *ND = Unexpanded[I].first.get<NamedDecl *>();
623 Unexpanded[I].first.get<NamedDecl *>());
640 llvm_unreachable("No unexpanded parameter packs in type expansion.");