Lines Matching full:template
45 // ...or a substituted template type parameter ...
103 // Desugar template specializations if any template argument should be
357 // Attempting to do a template diff on non-templates. Set the variables
457 /// all the information about the templates and template arguments. Afterwards,
461 /// Context - The ASTContext which is used for comparing template arguments.
499 Template,
504 /// Template argument difference, uses TemplateDecl
513 /// stores template arguments of their parents. For templated types, the
514 /// template decl is also stored.
533 /// FromNullPtr, ToNullPtr - If the template argument is a nullptr
536 /// FromTD, ToTD - The template decl for template template
540 /// FromQual, ToQual - Qualifiers for template types.
801 /// TemplateSpecializationType and read TemplateArguments inside template
807 /// TST - the template specialization whose arguments this iterator
811 /// DesugarTST - desugared template specialization used to extract
815 /// Index - the index of the template argument in TST.
825 /// TSTiterator - Constructs an iterator and sets it to the first template
833 // Set to first template argument. If not a parameter pack, done.
841 // Found a valid template argument.
845 // template argument.
854 /// &operator++ - Increment the iterator to the next template argument.
870 // Loop until a template argument is found, or the end is reached.
872 // Advance to the next template argument. Break if reached the end.
903 /// getDesugar - Returns the deduced template argument from DesguarTST
909 // These functions build up the template diff tree, including functions to
910 // retrieve and compare template arguments.
977 Tree.SetKind(DiffTree::Template);
982 /// template template difference.
1042 /// DiffNonTypes - Handles any template parameters not handled by DiffTypes
1061 "Template argument cannot be both integer and declaration");
1130 /// DiffTemplate - recursively visits template arguments and stores the
1134 // Begin descent into diffing template tree.
1181 /// makeTemplateList - Dump every template alias into the vector.
1194 /// even if the template arguments are not.
1202 /// same template declaration. If they come from different template aliases,
1203 /// do a parallel ascension search to determine the highest template alias in
1211 // Create vectors of template aliases.
1222 // Check if the lowest template types are the same. If not, return.
1226 // Begin searching up the template aliases. The bottom most template
1227 // matches so move up until one pair does not match. Use the template
1240 /// GetType - Retrieves the template type arguments, including default
1258 /// GetExpr - Retrieves the template expression argument, including default
1278 /// GetInt - Retrieves the template integer argument, including evaluating
1298 llvm_unreachable("Unexpected template argument kind");
1309 /// GetValueDecl - Retrieves the template Decl argument, including
1322 llvm_unreachable("Unexpected template argument kind");
1356 /// GetTemplateDecl - Retrieves the template template arguments, including
1422 llvm_unreachable("Unknown template argument expression.");
1426 // These functions converts the tree representation of the template
1442 llvm_unreachable("Template diffing failed with bad DiffNode");
1484 case DiffTree::Template: {
1485 // Node is root of template. Recurse on children.
1490 // If we're dealing with a template specialization with zero
1557 "Only one template argument may be missing.");
1605 /// PrintExpr - Prints out the expr template arguments, highlighting argument
1610 "Only one template argument may be missing.");
1644 /// PrintTemplateTemplate - Handles printing of template template arguments,
1648 assert((FromTD || ToTD) && "Only one template argument may be missing.");
1658 OS << "template " << FromTD->getNameAsString();
1660 OS << (FromDefault ? "(default) template " : "template ");
1665 OS << (FromDefault ? "[(default) template " : "[template ");
1669 OS << " != " << (ToDefault ? "(default) template " : "template ");
1782 // Prints the appropriate placeholder for elided template arguments.
1812 // The qualifiers are printed before the template name.
1875 /// DiffTemplate - Start the template type diffing.
1898 Tree.SetKind(DiffTree::Template);
1900 // Same base template, but different arguments.
1908 /// base template, a string representation of the type difference will be
1922 /// FormatTemplateTypeDiff - A helper static function to start the template