Home | History | Annotate | Download | only in Sema

Lines Matching defs:Expansion

146   /// pack expansion, in order to avoid violating the AST invariant that each
215 /// \brief Determine whether we should expand a pack expansion with the
223 /// pack expansion.
226 /// the pack expansion.
236 /// pack expansion after all of the expanded arguments. This is used
241 /// the expanded form of the corresponding pack expansion. This is both an
375 /// derived class permits such expansion) along the way. When pack expansions
1010 /// \brief Build a new pack expansion type.
2759 /// \brief Build a new template argument pack expansion.
2761 /// By default, performs semantic analysis to build a new pack expansion
2792 llvm_unreachable("Pack expansion pattern has no parameter packs");
2795 if (TypeSourceInfo *Expansion
2799 return TemplateArgumentLoc(TemplateArgument(Expansion->getType()),
2800 Expansion);
2807 /// \brief Build a new expression pack expansion.
2809 /// By default, performs semantic analysis to build a new pack expansion
3030 if (PackExpansionExpr *Expansion = dyn_cast<PackExpansionExpr>(Inputs[I])) {
3031 Expr *Pattern = Expansion->getPattern();
3035 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
3041 Optional<unsigned> OrigNumExpansions = Expansion->getNumExpansions();
3043 if (getDerived().TryExpandParameterPacks(Expansion->getEllipsisLoc(),
3052 // transformation on the pack expansion, producing another pack
3053 // expansion.
3060 Expansion->getEllipsisLoc(),
3076 // expansion of the pattern. Do so.
3087 Out.get(), Expansion->getEllipsisLoc(), OrigNumExpansions);
3095 // If we're supposed to retain a pack expansion, do so by temporarily
3105 Out.get(), Expansion->getEllipsisLoc(), OrigNumExpansions);
3569 // TemplateArgumentLocInfo for the pack expansion would be usable for
3585 // We have a pack expansion, for which we will be substituting into
3595 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
3612 // transformation on the pack expansion, producing another pack
3613 // expansion.
3629 // expansion of the pattern. Do so.
3646 // If we're supposed to retain a pack expansion, do so by temporarily
4357 // If we're substituting into a pack expansion type and we know the
4464 // If we're supposed to retain a pack expansion, do so by temporarily
4487 // We're done with the pack expansion.
4492 // expansion.
4518 if (const PackExpansionType *Expansion
4521 QualType Pattern = Expansion->getPattern();
4550 // We're done with the pack expansion.
4554 // If we're supposed to retain a pack expansion, do so by temporarily
4568 // expansion.
4569 OldType = Expansion->getPattern();
4669 // expansion.
4734 // We have a pack expansion. Instantiate it.
4738 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
4754 // We can't expand this pack expansion into separate arguments yet;
4755 // just substitute into the pattern and create a new pack expansion
4767 // Substitute into the pack expansion pattern for each slice of the
8791 // We have a pack expansion. Instantiate it.
8813 // transformation on the pack expansion, producing another pack
8814 // expansion.
8838 // Expand the pack expansion by substituting for each argument in the
8867 // If we're supposed to retain a pack expansion, do so by temporarily
9310 // The transform has determined that we should perform an expansion;
9312 // expansion of the pattern. Do so.
9328 // FIXME: Retain a pack expansion if RetainExpansion is true.
9710 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
9749 // expansion of the pattern. Do so.
9755 // If we're retaining an expansion for a right fold, it is the innermost
9779 // We still have a pack; retain a pack expansion for this slice.
9799 // If we're retaining an expansion for a left fold, it is the outermost
9800 // component and takes the complete expansion so far as its init (if any).
9816 // If we had no init and an empty pack, and we're not retaining an expansion,
9887 // This key/value element is a pack expansion.
9891 assert(!Unexpanded.empty() && "Pack expansion without parameter packs?");
9910 // transformation on the pack expansion, producing another pack
9911 // expansion.
9927 ObjCDictionaryElement Expansion = {
9930 Elements.push_back(Expansion);
9939 // expansion of the pattern. Do so.
9955 // pack expansion.
9964 // FIXME: Retain a pack expansion if RetainExpansion is true.
9966 // We've finished with this pack expansion.