Lines Matching refs:Node

84   void print(const Node *N) {  in print()
94 for (const Node *N : A) { in print()
175 void print(Node::Prec P) { in print()
177 case Node::Prec::Primary: in print()
179 case Node::Prec::Postfix: in print()
181 case Node::Prec::Unary: in print()
183 case Node::Prec::Cast: in print()
185 case Node::Prec::PtrMem: in print()
187 case Node::Prec::Multiplicative: in print()
189 case Node::Prec::Additive: in print()
191 case Node::Prec::Shift: in print()
193 case Node::Prec::Spaceship: in print()
195 case Node::Prec::Relational: in print()
197 case Node::Prec::Equality: in print()
199 case Node::Prec::And: in print()
201 case Node::Prec::Xor: in print()
203 case Node::Prec::Ior: in print()
205 case Node::Prec::AndIf: in print()
207 case Node::Prec::OrIf: in print()
209 case Node::Prec::Conditional: in print()
211 case Node::Prec::Assign: in print()
213 case Node::Prec::Comma: in print()
215 case Node::Prec::Default: in print()
256 template<typename NodeT> void operator()(const NodeT *Node) { in operator ()()
259 Node->match(CtorArgPrinter{*this}); in operator ()()
264 void operator()(const ForwardTemplateReference *Node) { in operator ()()
267 if (Node->Ref && !Node->Printing) { in operator ()()
268 Node->Printing = true; in operator ()()
269 CtorArgPrinter{*this}(Node->Ref); in operator ()()
270 Node->Printing = false; in operator ()()
272 CtorArgPrinter{*this}(Node->Index); in operator ()()
280 void itanium_demangle::Node::dump() const { in dump()
357 return Alloc.allocate(sizeof(Node *) * sz); in allocateNodeArray()
380 Node *AST = Parser.parse(); in itaniumDemangle()
429 static char *printNode(const Node *RootNode, char *Buf, size_t *N) { in printNode()
444 const Node *Name = static_cast<const FunctionEncoding *>(RootNode)->getName(); in getFunctionBaseName()
448 case Node::KAbiTagAttr: in getFunctionBaseName()
451 case Node::KModuleEntity: in getFunctionBaseName()
454 case Node::KNestedName: in getFunctionBaseName()
457 case Node::KLocalName: in getFunctionBaseName()
460 case Node::KNameWithTemplateArgs: in getFunctionBaseName()
473 const Node *Name = static_cast<const FunctionEncoding *>(RootNode)->getName(); in getFunctionDeclContextName()
481 if (Name->getKind() == Node::KAbiTagAttr) { in getFunctionDeclContextName()
485 if (Name->getKind() == Node::KNameWithTemplateArgs) { in getFunctionDeclContextName()
492 if (Name->getKind() == Node::KModuleEntity) in getFunctionDeclContextName()
496 case Node::KNestedName: in getFunctionDeclContextName()
499 case Node::KLocalName: { in getFunctionDeclContextName()
550 if (const Node *Ret = in getFunctionReturnType()
562 return printNode(static_cast<Node *>(RootNode), Buf, N); in finishDemangle()
574 const Node *N = static_cast<const Node *>(RootNode); in isCtorOrDtor()
579 case Node::KCtorDtorName: in isCtorOrDtor()
582 case Node::KAbiTagAttr: in isCtorOrDtor()
585 case Node::KFunctionEncoding: in isCtorOrDtor()
588 case Node::KLocalName: in isCtorOrDtor()
591 case Node::KNameWithTemplateArgs: in isCtorOrDtor()
594 case Node::KNestedName: in isCtorOrDtor()
597 case Node::KModuleEntity: in isCtorOrDtor()
607 return static_cast<const Node *>(RootNode)->getKind() == in isFunction()
608 Node::KFunctionEncoding; in isFunction()
613 auto K = static_cast<const Node *>(RootNode)->getKind(); in isSpecialName()
614 return K == Node::KSpecialName || K == Node::KCtorVtableSpecialName; in isSpecialName()