ASTKind:
| "TranslationUnit"
| "ModuleUnit"
| "SimpleDeclaration"
| "AsmDeclaration"
| "NamespaceAliasDefinition"
| "UsingDeclaration"
| "UsingEnumDeclaration"
| "UsingDirective"
| "StaticAssertDeclaration"
| "AliasDeclaration"
| "OpaqueEnumDeclaration"
| "FunctionDefinition"
| "TemplateDeclaration"
| "ConceptDefinition"
| "DeductionGuide"
| "ExplicitInstantiation"
| "ExportDeclaration"
| "ExportCompoundDeclaration"
| "LinkageSpecification"
| "NamespaceDefinition"
| "EmptyDeclaration"
| "AttributeDeclaration"
| "ModuleImportDeclaration"
| "ParameterDeclaration"
| "AccessDeclaration"
| "ForRangeDeclaration"
| "StructuredBindingDeclaration"
| "AsmOperand"
| "AsmQualifier"
| "AsmClobber"
| "AsmGotoLabel"
| "Splicer"
| "GlobalModuleFragment"
| "PrivateModuleFragment"
| "ModuleDeclaration"
| "ModuleName"
| "ModuleQualifier"
| "ModulePartition"
| "ImportName"
| "InitDeclarator"
| "Declarator"
| "UsingDeclarator"
| "Enumerator"
| "TypeId"
| "Handler"
| "BaseSpecifier"
| "RequiresClause"
| "ParameterDeclarationClause"
| "TrailingReturnType"
| "LambdaSpecifier"
| "TypeConstraint"
| "AttributeArgumentClause"
| "Attribute"
| "AttributeUsingPrefix"
| "NewPlacement"
| "NestedNamespaceSpecifier"
| "LabeledStatement"
| "CaseStatement"
| "DefaultStatement"
| "ExpressionStatement"
| "CompoundStatement"
| "IfStatement"
| "ConstevalIfStatement"
| "SwitchStatement"
| "WhileStatement"
| "DoStatement"
| "ForRangeStatement"
| "ForStatement"
| "BreakStatement"
| "ContinueStatement"
| "ReturnStatement"
| "CoroutineReturnStatement"
| "GotoStatement"
| "DeclarationStatement"
| "TryBlockStatement"
| "CharLiteralExpression"
| "BoolLiteralExpression"
| "IntLiteralExpression"
| "FloatLiteralExpression"
| "NullptrLiteralExpression"
| "StringLiteralExpression"
| "UserDefinedStringLiteralExpression"
| "ObjectLiteralExpression"
| "ThisExpression"
| "PackIndexExpression"
| "GenericSelectionExpression"
| "NestedStatementExpression"
| "DefaultInitializerExpression"
| "NestedExpression"
| "IdExpression"
| "LambdaExpression"
| "FoldExpression"
| "RightFoldExpression"
| "LeftFoldExpression"
| "RequiresExpression"
| "VaArgExpression"
| "SubscriptExpression"
| "CallExpression"
| "TypeConstruction"
| "BracedTypeConstruction"
| "SpliceMemberExpression"
| "MemberExpression"
| "PostIncrExpression"
| "CppCastExpression"
| "BuiltinBitCastExpression"
| "BuiltinOffsetofExpression"
| "TypeidExpression"
| "TypeidOfTypeExpression"
| "SpliceExpression"
| "GlobalScopeReflectExpression"
| "NamespaceReflectExpression"
| "TypeIdReflectExpression"
| "ReflectExpression"
| "LabelAddressExpression"
| "UnaryExpression"
| "AwaitExpression"
| "SizeofExpression"
| "SizeofTypeExpression"
| "SizeofPackExpression"
| "AlignofTypeExpression"
| "AlignofExpression"
| "NoexceptExpression"
| "NewExpression"
| "DeleteExpression"
| "CastExpression"
| "ImplicitCastExpression"
| "ConstExpression"
| "BinaryExpression"
| "ConditionalExpression"
| "YieldExpression"
| "ThrowExpression"
| "AssignmentExpression"
| "TargetExpression"
| "RightExpression"
| "CompoundAssignmentExpression"
| "PackExpansionExpression"
| "DesignatedInitializerClause"
| "TypeTraitExpression"
| "ConditionExpression"
| "EqualInitializer"
| "BracedInitList"
| "ParenInitializer"
| "ThreeWayComparisonExpression"
| "DefaultGenericAssociation"
| "TypeGenericAssociation"
| "DotDesignator"
| "SubscriptDesignator"
| "TemplateTypeParameter"
| "NonTypeTemplateParameter"
| "TypenameTypeParameter"
| "ConstraintTypeParameter"
| "TypedefSpecifier"
| "FriendSpecifier"
| "ConstevalSpecifier"
| "ConstinitSpecifier"
| "ConstexprSpecifier"
| "InlineSpecifier"
| "NoreturnSpecifier"
| "StaticSpecifier"
| "ExternSpecifier"
| "RegisterSpecifier"
| "ThreadLocalSpecifier"
| "ThreadSpecifier"
| "MutableSpecifier"
| "VirtualSpecifier"
| "ExplicitSpecifier"
| "AutoTypeSpecifier"
| "VoidTypeSpecifier"
| "SizeTypeSpecifier"
| "SignTypeSpecifier"
| "BuiltinTypeSpecifier"
| "UnaryBuiltinTypeSpecifier"
| "BinaryBuiltinTypeSpecifier"
| "IntegralTypeSpecifier"
| "FloatingPointTypeSpecifier"
| "ComplexTypeSpecifier"
| "NamedTypeSpecifier"
| "AtomicTypeSpecifier"
| "BitIntTypeSpecifier"
| "UnderlyingTypeSpecifier"
| "ElaboratedTypeSpecifier"
| "DecltypeAutoSpecifier"
| "DecltypeSpecifier"
| "PlaceholderTypeSpecifier"
| "ConstQualifier"
| "VolatileQualifier"
| "AtomicQualifier"
| "RestrictQualifier"
| "EnumSpecifier"
| "ClassSpecifier"
| "TypenameSpecifier"
| "SplicerTypeSpecifier"
| "PointerOperator"
| "ReferenceOperator"
| "PtrToMemberOperator"
| "BitfieldDeclarator"
| "ParameterPack"
| "IdDeclarator"
| "NestedDeclarator"
| "FunctionDeclaratorChunk"
| "ArrayDeclaratorChunk"
| "NameId"
| "DestructorId"
| "DecltypeId"
| "OperatorFunctionId"
| "LiteralOperatorId"
| "ConversionFunctionId"
| "SimpleTemplateId"
| "LiteralOperatorTemplateId"
| "OperatorFunctionTemplateId"
| "GlobalNestedNameSpecifier"
| "SimpleNestedNameSpecifier"
| "DecltypeNestedNameSpecifier"
| "TemplateNestedNameSpecifier"
| "DefaultFunctionBody"
| "CompoundStatementFunctionBody"
| "TryStatementFunctionBody"
| "DeleteFunctionBody"
| "TypeTemplateArgument"
| "ExpressionTemplateArgument"
| "ThrowExceptionSpecifier"
| "NoexceptSpecifier"
| "SimpleRequirement"
| "CompoundRequirement"
| "TypeRequirement"
| "NestedRequirement"
| "NewParenInitializer"
| "NewBracedInitializer"
| "ParenMemInitializer"
| "BracedMemInitializer"
| "ThisLambdaCapture"
| "DerefThisLambdaCapture"
| "SimpleLambdaCapture"
| "RefLambdaCapture"
| "RefInitLambdaCapture"
| "InitLambdaCapture"
| "EllipsisExceptionDeclaration"
| "TypeExceptionDeclaration"
| "CxxAttribute"
| "GccAttribute"
| "AlignasAttribute"
| "AlignasTypeAttribute"
| "AsmAttribute"
| "ScopedAttributeToken"
| "SimpleAttributeToken"