1//===------------------------- ItaniumNodes.def ----------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// Define the demangler's node names
10
11#ifndef NODE
12#error Define NODE to handle nodes
13#endif
14
15NODE(NodeArrayNode)
16NODE(DotSuffix)
17NODE(VendorExtQualType)
18NODE(QualType)
19NODE(ConversionOperatorType)
20NODE(PostfixQualifiedType)
21NODE(ElaboratedTypeSpefType)
22NODE(TransformedType)
23NODE(NameType)
24NODE(AbiTagAttr)
25NODE(EnableIfAttr)
26NODE(ObjCProtoName)
27NODE(PointerType)
28NODE(ReferenceType)
29NODE(PointerToMemberType)
30NODE(ArrayType)
31NODE(FunctionType)
32NODE(NoexceptSpec)
33NODE(DynamicExceptionSpec)
34NODE(FunctionEncoding)
35NODE(LiteralOperator)
36NODE(SpecialName)
37NODE(CtorVtableSpecialName)
38NODE(QualifiedName)
39NODE(NestedName)
40NODE(MemberLikeFriendName)
41NODE(LocalName)
42NODE(ModuleName)
43NODE(ModuleEntity)
44NODE(VectorType)
45NODE(PixelVectorType)
46NODE(BinaryFPType)
47NODE(BitIntType)
48NODE(SyntheticTemplateParamName)
49NODE(TemplateParamQualifiedArg)
50NODE(TypeTemplateParamDecl)
51NODE(ConstrainedTypeTemplateParamDecl)
52NODE(NonTypeTemplateParamDecl)
53NODE(TemplateTemplateParamDecl)
54NODE(TemplateParamPackDecl)
55NODE(ParameterPack)
56NODE(TemplateArgumentPack)
57NODE(ParameterPackExpansion)
58NODE(TemplateArgs)
59NODE(ForwardTemplateReference)
60NODE(NameWithTemplateArgs)
61NODE(GlobalQualifiedName)
62NODE(ExpandedSpecialSubstitution)
63NODE(SpecialSubstitution)
64NODE(CtorDtorName)
65NODE(DtorName)
66NODE(UnnamedTypeName)
67NODE(ClosureTypeName)
68NODE(StructuredBindingName)
69NODE(BinaryExpr)
70NODE(ArraySubscriptExpr)
71NODE(PostfixExpr)
72NODE(ConditionalExpr)
73NODE(MemberExpr)
74NODE(SubobjectExpr)
75NODE(EnclosingExpr)
76NODE(CastExpr)
77NODE(SizeofParamPackExpr)
78NODE(CallExpr)
79NODE(NewExpr)
80NODE(DeleteExpr)
81NODE(PrefixExpr)
82NODE(FunctionParam)
83NODE(ConversionExpr)
84NODE(PointerToMemberConversionExpr)
85NODE(InitListExpr)
86NODE(FoldExpr)
87NODE(ThrowExpr)
88NODE(BoolExpr)
89NODE(StringLiteral)
90NODE(LambdaExpr)
91NODE(EnumLiteral)
92NODE(IntegerLiteral)
93NODE(FloatLiteral)
94NODE(DoubleLiteral)
95NODE(LongDoubleLiteral)
96NODE(BracedExpr)
97NODE(BracedRangeExpr)
98NODE(RequiresExpr)
99NODE(ExprRequirement)
100NODE(TypeRequirement)
101NODE(NestedRequirement)
102NODE(ExplicitObjectParameter)
103
104#undef NODE
105

source code of libcxxabi/src/demangle/ItaniumNodes.def