Lines Matching refs:Node
85 void print(const Node *N) {
95 for (const Node *N : A) {
176 void print(Node::Prec P) {
178 case Node::Prec::Primary:
179 return printStr("Node::Prec::Primary");
180 case Node::Prec::Postfix:
181 return printStr("Node::Prec::Postfix");
182 case Node::Prec::Unary:
183 return printStr("Node::Prec::Unary");
184 case Node::Prec::Cast:
185 return printStr("Node::Prec::Cast");
186 case Node::Prec::PtrMem:
187 return printStr("Node::Prec::PtrMem");
188 case Node::Prec::Multiplicative:
189 return printStr("Node::Prec::Multiplicative");
190 case Node::Prec::Additive:
191 return printStr("Node::Prec::Additive");
192 case Node::Prec::Shift:
193 return printStr("Node::Prec::Shift");
194 case Node::Prec::Spaceship:
195 return printStr("Node::Prec::Spaceship");
196 case Node::Prec::Relational:
197 return printStr("Node::Prec::Relational");
198 case Node::Prec::Equality:
199 return printStr("Node::Prec::Equality");
200 case Node::Prec::And:
201 return printStr("Node::Prec::And");
202 case Node::Prec::Xor:
203 return printStr("Node::Prec::Xor");
204 case Node::Prec::Ior:
205 return printStr("Node::Prec::Ior");
206 case Node::Prec::AndIf:
207 return printStr("Node::Prec::AndIf");
208 case Node::Prec::OrIf:
209 return printStr("Node::Prec::OrIf");
210 case Node::Prec::Conditional:
211 return printStr("Node::Prec::Conditional");
212 case Node::Prec::Assign:
213 return printStr("Node::Prec::Assign");
214 case Node::Prec::Comma:
215 return printStr("Node::Prec::Comma");
216 case Node::Prec::Default:
217 return printStr("Node::Prec::Default");
257 template<typename NodeT> void operator()(const NodeT *Node) {
260 Node->match(CtorArgPrinter{*this});
265 void operator()(const ForwardTemplateReference *Node) {
268 if (Node->Ref && !Node->Printing) {
269 Node->Printing = true;
270 CtorArgPrinter{*this}(Node->Ref);
271 Node->Printing = false;
273 CtorArgPrinter{*this}(Node->Index);
281 void itanium_demangle::Node::dump() const {
358 return Alloc.allocate(sizeof(Node *) * sz);
375 Node *AST = Parser.parse(ParseParams);
415 static char *printNode(const Node *RootNode, char *Buf, size_t *N) {
428 const Node *Name = static_cast<const FunctionEncoding *>(RootNode)->getName();
432 case Node::KAbiTagAttr:
435 case Node::KModuleEntity:
438 case Node::KNestedName:
441 case Node::KLocalName:
444 case Node::KNameWithTemplateArgs:
457 const Node *Name = static_cast<const FunctionEncoding *>(RootNode)->getName();
463 if (Name->getKind() == Node::KAbiTagAttr) {
467 if (Name->getKind() == Node::KNameWithTemplateArgs) {
474 if (Name->getKind() == Node::KModuleEntity)
478 case Node::KNestedName:
481 case Node::KLocalName: {
528 if (const Node *Ret =
540 return printNode(static_cast<Node *>(RootNode), Buf, N);
552 const Node *N = static_cast<const Node *>(RootNode);
557 case Node::KCtorDtorName:
560 case Node::KAbiTagAttr:
563 case Node::KFunctionEncoding:
566 case Node::KLocalName:
569 case Node::KNameWithTemplateArgs:
572 case Node::KNestedName:
575 case Node::KModuleEntity:
585 return static_cast<const Node *>(RootNode)->getKind() ==
586 Node::KFunctionEncoding;
591 auto K = static_cast<const Node *>(RootNode)->getKind();
592 return K == Node::KSpecialName || K == Node::KCtorVtableSpecialName;