Lines Matching defs:Tree
271 // Don't fall-back during tree printing. The caller will handle
368 /// QualTypes. For the pair of types, a diff tree will be created containing
370 /// the tree is transformed to a string according to the options passed in.
382 /// PrintTree - Format output string as a tree.
389 /// be printed. When tree printing is selected, this type will show up first
390 /// in the tree.
393 /// ToType - The type that FromType is compared to. Only in tree printing
403 /// DiffTree - A tree representation the differences between two types.
479 /// FlatTree - A flattened tree used to store the DiffNodes.
584 /// StartTraverse - Prepares the tree for recursive traversal.
678 /// Empty - Returns true if the tree has no information.
689 DiffTree Tree;
800 // These functions build up the template diff tree, including functions to
830 /// argument info into a tree.
833 // Begin descent into diffing template tree.
839 Tree.AddNode();
853 Tree.SetNode(FromType, ToType);
854 Tree.SetDefault(FromIter.isEnd() && !FromType.isNull(),
856 Tree.SetKind(DiffTree::Type);
859 Tree.SetSame(true);
872 Tree.SetNode(FromArgTST->getTemplateName().getAsTemplateDecl(),
874 Tree.SetNode(FromQual, ToQual);
875 Tree.SetKind(DiffTree::Template);
921 Tree.SetNode(FromExpr, ToExpr);
922 Tree
929 Tree.SetNode(FromInt, ToInt, FromExpr, ToExpr);
930 Tree.SetSame(IsSameConvertedInt(ParamWidth, FromInt, ToInt));
931 Tree.SetKind(DiffTree::Integer);
933 Tree.SetSame(IsEqualExpr(Context, ParamWidth, FromExpr, ToExpr));
934 Tree.SetKind(DiffTree::Expression);
945 Tree.SetNode(FromInt, ToInt, HasFromInt, HasToInt);
946 Tree.SetSame(IsSameConvertedInt(ParamWidth, FromInt, ToInt));
947 Tree.SetDefault(FromIter.isEnd() && HasFromInt,
949 Tree.SetKind(DiffTree::Integer);
962 Tree.SetNode(FromValueDecl, ToValueDecl, FromAddressOf, ToAddressOf);
963 Tree.SetSame(FromValueDecl && ToValueDecl &&
966 Tree.SetDefault(FromIter.isEnd() && FromValueDecl,
968 Tree.SetKind(DiffTree::Declaration);
978 Tree.SetNode(FromDecl, ToDecl);
979 Tree.SetSame(
982 Tree.SetKind(DiffTree::TemplateTemplate);
987 Tree.Up();
1206 // These functions converts the tree representation of the template
1209 /// TreeToString - Converts the Tree object into a character stream which
1220 switch (Tree.GetKind()) {
1225 Tree.GetNode(FromType, ToType);
1226 PrintTypeNames(FromType, ToType, Tree.FromDefault(), Tree.ToDefault(),
1227 Tree.NodeIsSame());
1232 Tree.GetNode(FromExpr, ToExpr);
1233 PrintExpr(FromExpr, ToExpr, Tree.FromDefault(), Tree.ToDefault(),
1234 Tree.NodeIsSame());
1239 Tree.GetNode(FromTD, ToTD);
1240 PrintTemplateTemplate(FromTD, ToTD, Tree.FromDefault(),
1241 Tree.ToDefault(), Tree.NodeIsSame());
1248 Tree.GetNode(FromExpr, ToExpr);
1249 Tree.GetNode(FromInt, ToInt, IsValidFromInt, IsValidToInt);
1251 FromExpr, ToExpr, Tree.FromDefault(), Tree.ToDefault(),
1252 Tree.NodeIsSame());
1258 Tree.GetNode(FromValueDecl, ToValueDecl, FromAddressOf, ToAddressOf);
1260 Tree.FromDefault(), Tree.ToDefault(), Tree.NodeIsSame());
1266 Tree.GetNode(FromTD, ToTD);
1268 if (!Tree.HasChildren()) {
1276 Tree.GetNode(FromQual, ToQual);
1280 Tree.MoveToChild();
1284 if (Tree.NodeIsSame()) {
1295 if (Tree.HasNextSibling())
1297 } while (Tree.AdvanceSibling());
1301 Tree.Parent();
1575 // Tree printing:
1654 Tree.SetNode(FromType, ToType);
1655 Tree.SetNode(FromQual, ToQual);
1656 Tree.SetKind(DiffTree::Template);
1659 Tree.SetNode(FromOrigTST->getTemplateName().getAsTemplateDecl(),
1669 Tree.StartTraverse();
1670 if (Tree.Empty())