Lines Matching full:derived
47 for (llvm::Record *Derived : Records.getAllDerivedDefinitions("NodeType")) in Hierarchy()
48 if (llvm::Record *Base = Derived->getValueAsOptionalDef("base")) in Hierarchy()
49 link(Derived, Base); in Hierarchy()
51 llvm::sort(N.Derived, [](const NodeType *L, const NodeType *R) { in Hierarchy()
56 N.Record->isSubClassOf("External") || N.Derived.empty()); in Hierarchy()
57 assert(!N.Record->isSubClassOf("Alternatives") || !N.Derived.empty()); in Hierarchy()
64 std::vector<const NodeType *> Derived; member
74 // Traverse the hierarchy in pre-order (base classes before derived).
80 for (const NodeType *D : Start->Derived) in visit()
93 void link(const llvm::Record *Derived, const llvm::Record *Base) { in link() argument
94 auto &CN = get(Derived->getName()), &PN = get(Base->getName()); in link()
96 PN.Derived.push_back(&CN); in link()
105 return N.Derived.empty() ? N : firstConcrete(*N.Derived.front()); in firstConcrete()
108 return N.Derived.empty() ? N : lastConcrete(*N.Derived.back()); in lastConcrete()
152 if (N.Derived.empty()) in EmitClangSyntaxNodeList()
206 N.Derived.empty() ? " final" : "", N.Base->name()); in EmitClangSyntaxNodeClasses()
209 if (N.Derived.empty()) in EmitClangSyntaxNodeClasses()