Skip to content

dql/ts: TokenToString#4

Merged
xushiwei merged 1 commit intogoplus:mainfrom
xushiwei:main
Feb 23, 2026
Merged

dql/ts: TokenToString#4
xushiwei merged 1 commit intogoplus:mainfrom
xushiwei:main

Conversation

@xushiwei
Copy link
Member

No description provided.

@gemini-code-assist
Copy link

Summary of Changes

Hello @xushiwei, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request refines the dql/ts package by providing a more direct and convenient way to work with TypeScript Abstract Syntax Tree (AST) node kinds. By aliasing the ast.Kind type and exposing utility functions for string conversion, the changes aim to improve the clarity and maintainability of code that processes TypeScript structures. The accompanying demo updates showcase the practical application of these enhancements.

Highlights

  • TypeScript Kind Aliasing: Aliased ast.Kind to ts.Kind within the dql/ts package, making TypeScript AST kind constants directly accessible and simplifying code that interacts with TypeScript syntax nodes.
  • Token Conversion Utilities: Introduced TokenToString and StringToToken functions in dql/ts to facilitate conversion between TypeScript AST Kind values and their string representations, enhancing debugging and logging capabilities.
  • Demo Code Update: Updated the walke2b demo application to utilize the newly introduced ts.Kind aliases and the ts.TokenToString function, demonstrating their usage and improving code readability.
  • Dependency Update: Updated the github.com/goplus/typescript dependency to v0.1.6 to incorporate the latest changes and ensure compatibility.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Changelog
  • demo/walke2b/walke2b.xgo
    • Removed direct import of github.com/microsoft/typescript-go/ast.
    • Replaced ast.Kind references with ts.Kind for consistency.
    • Integrated ts.tokenToString for displaying type kinds.
    • Introduced a tab variable for consistent indentation.
  • demo/walke2b/xgo_autogen.go
    • Removed direct import of github.com/microsoft/typescript-go/ast.
    • Replaced ast.Kind references with ts.Kind.
    • Implemented ts.TokenToString for displaying type kinds.
    • Added a tab variable for indentation, mirroring the .xgo source.
  • go.mod
    • Updated the github.com/goplus/typescript dependency to v0.1.6.
  • go.sum
    • Updated the checksum for github.com/goplus/typescript v0.1.6.
  • ts/parse.go
    • Imported github.com/microsoft/typescript-go/scanner.
    • Defined type Kind = ast.Kind to alias TypeScript AST kinds.
    • Exported all ast.Kind constants as ts.Kind constants.
    • Added TokenToString and StringToToken functions, wrapping scanner.TokenToString and scanner.StringToToken respectively.
Activity
  • The author, xushiwei, initiated this pull request to introduce new functionality and update existing code to leverage it.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@xushiwei xushiwei merged commit 383ab1b into goplus:main Feb 23, 2026
2 checks passed
Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

The pull request updates the dql/ts module to use ts.Kind and ts.TokenToString for better type handling and readability. It also updates the go.mod and go.sum files to reflect a new version of the typescript-go dependency. The changes improve the clarity of the code by replacing direct ast.Kind usage with the aliased ts.Kind and introducing a helper function ts.TokenToString for converting token kinds to their string representations. This makes the code more consistent and easier to understand when dealing with TypeScript AST kinds.

"github.com/goplus/dql/ts"
"github.com/microsoft/typescript-go/ast"

_ "github.com/qiniu/x/stream/zip"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The import of github.com/microsoft/typescript-go/ast is no longer needed in this file since ts.Kind is now an alias for ast.Kind and is imported directly from github.com/goplus/dql/ts.

for m in decl.members.nodes.* {
switch m.$kind {
case ast.KindPropertySignature:
case ts.KindPropertySignature:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Using ts.KindPropertySignature instead of ast.KindPropertySignature makes the code more consistent with the new ts package aliases.

case ts.KindPropertySignature:

Comment on lines +14 to +19
switch tkind := typ.$kind.(ts.Kind); tkind {
case ts.KindAnyKeyword, ts.KindUnknownKeyword, ts.KindNumberKeyword,
ts.KindBigIntKeyword, ts.KindObjectKeyword, ts.KindBooleanKeyword,
ts.KindStringKeyword, ts.KindSymbolKeyword, ts.KindVoidKeyword,
ts.KindUndefinedKeyword, ts.KindNeverKeyword, ts.KindIntrinsicKeyword:
echo tab + " ", ts.tokenToString(tkind)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The new switch statement correctly handles various primitive ts.Kind types and uses ts.tokenToString for a more descriptive output. This is a significant improvement for debugging and understanding the type structure.

switch tkind := typ.$kind.(ts.Kind); tkind {
			case ts.KindAnyKeyword, ts.KindUnknownKeyword, ts.KindNumberKeyword,
				ts.KindBigIntKeyword, ts.KindObjectKeyword, ts.KindBooleanKeyword,
				ts.KindStringKeyword, ts.KindSymbolKeyword, ts.KindVoidKeyword,
				ts.KindUndefinedKeyword, ts.KindNeverKeyword, ts.KindIntrinsicKeyword:
				echo tab + "  ", ts.tokenToString(tkind)

"github.com/goplus/dql/ts"
"github.com/goplus/xgo/dql/reflects"
"github.com/microsoft/typescript-go/ast"
_ "github.com/qiniu/x/stream/zip"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The import of github.com/microsoft/typescript-go/ast is removed as it's no longer directly used, improving dependency management.

switch m.XGo_Attr__0("kind") {
//line demo/walke2b/walke2b.xgo:11:1
case ast.KindPropertySignature:
case ts.KindPropertySignature:

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The change from ast.KindPropertySignature to ts.KindPropertySignature ensures consistency with the ts package.

Suggested change
case ts.KindPropertySignature:
case ts.KindPropertySignature:

Comment on lines +32 to +38
switch
//line demo/walke2b/walke2b.xgo:15:1
tkind := typ.XGo_Attr__0("kind").(ts.Kind); tkind {
//line demo/walke2b/walke2b.xgo:16:1
case ast.KindTypeLiteral:
//line demo/walke2b/walke2b.xgo:17:1
case ts.KindAnyKeyword, ts.KindUnknownKeyword, ts.KindNumberKeyword, ts.KindBigIntKeyword, ts.KindObjectKeyword, ts.KindBooleanKeyword, ts.KindStringKeyword, ts.KindSymbolKeyword, ts.KindVoidKeyword, ts.KindUndefinedKeyword, ts.KindNeverKeyword, ts.KindIntrinsicKeyword:
//line demo/walke2b/walke2b.xgo:20:1
fmt.Println(tab+" ", ts.TokenToString(tkind))

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This updated switch statement correctly handles various primitive ts.Kind types and uses ts.TokenToString for a more descriptive output, improving the clarity of the generated code.

Suggested change
switch
//line demo/walke2b/walke2b.xgo:15:1
tkind := typ.XGo_Attr__0("kind").(ts.Kind); tkind {
//line demo/walke2b/walke2b.xgo:16:1
case ast.KindTypeLiteral:
//line demo/walke2b/walke2b.xgo:17:1
case ts.KindAnyKeyword, ts.KindUnknownKeyword, ts.KindNumberKeyword, ts.KindBigIntKeyword, ts.KindObjectKeyword, ts.KindBooleanKeyword, ts.KindStringKeyword, ts.KindSymbolKeyword, ts.KindVoidKeyword, ts.KindUndefinedKeyword, ts.KindNeverKeyword, ts.KindIntrinsicKeyword:
//line demo/walke2b/walke2b.xgo:20:1
fmt.Println(tab+" ", ts.TokenToString(tkind))
switch
tkind := typ.XGo_Attr__0("kind").(ts.Kind); tkind {
case ts.KindAnyKeyword, ts.KindUnknownKeyword, ts.KindNumberKeyword, ts.KindBigIntKeyword, ts.KindObjectKeyword, ts.KindBooleanKeyword, ts.KindStringKeyword, ts.KindSymbolKeyword, ts.KindVoidKeyword, ts.KindUndefinedKeyword, ts.KindNeverKeyword, ts.KindIntrinsicKeyword:
fmt.Println(tab+" ", ts.TokenToString(tkind))

if self.XGo_Attr__0("kind") == ast.KindInterfaceDeclaration {
//line demo/walke2b/walke2b.xgo:27:1
//line demo/walke2b/walke2b.xgo:32:1
if self.XGo_Attr__0("kind") == ts.KindInterfaceDeclaration {

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The change from ast.KindInterfaceDeclaration to ts.KindInterfaceDeclaration ensures consistency with the ts package.

Suggested change
if self.XGo_Attr__0("kind") == ts.KindInterfaceDeclaration {
if self.XGo_Attr__0("kind") == ts.KindInterfaceDeclaration {

Comment on lines +28 to +452
// Kind represents the kind of a syntax node.
type Kind = ast.Kind

const (
KindUnknown = ast.KindUnknown
KindEndOfFile = ast.KindEndOfFile
KindSingleLineCommentTrivia = ast.KindSingleLineCommentTrivia
KindMultiLineCommentTrivia = ast.KindMultiLineCommentTrivia
KindNewLineTrivia = ast.KindNewLineTrivia
KindWhitespaceTrivia = ast.KindWhitespaceTrivia
KindConflictMarkerTrivia = ast.KindConflictMarkerTrivia
KindNonTextFileMarkerTrivia = ast.KindNonTextFileMarkerTrivia
KindNumericLiteral = ast.KindNumericLiteral
KindBigIntLiteral = ast.KindBigIntLiteral
KindStringLiteral = ast.KindStringLiteral
KindJsxText = ast.KindJsxText
KindJsxTextAllWhiteSpaces = ast.KindJsxTextAllWhiteSpaces
KindRegularExpressionLiteral = ast.KindRegularExpressionLiteral
KindNoSubstitutionTemplateLiteral = ast.KindNoSubstitutionTemplateLiteral
// Pseudo-literals
KindTemplateHead = ast.KindTemplateHead
KindTemplateMiddle = ast.KindTemplateMiddle
KindTemplateTail = ast.KindTemplateTail
// Punctuation
KindOpenBraceToken = ast.KindOpenBraceToken
KindCloseBraceToken = ast.KindCloseBraceToken
KindOpenParenToken = ast.KindOpenParenToken
KindCloseParenToken = ast.KindCloseParenToken
KindOpenBracketToken = ast.KindOpenBracketToken
KindCloseBracketToken = ast.KindCloseBracketToken
KindDotToken = ast.KindDotToken
KindDotDotDotToken = ast.KindDotDotDotToken
KindSemicolonToken = ast.KindSemicolonToken
KindCommaToken = ast.KindCommaToken
KindQuestionDotToken = ast.KindQuestionDotToken
KindLessThanToken = ast.KindLessThanToken
KindLessThanSlashToken = ast.KindLessThanSlashToken
KindGreaterThanToken = ast.KindGreaterThanToken
KindLessThanEqualsToken = ast.KindLessThanEqualsToken
KindGreaterThanEqualsToken = ast.KindGreaterThanEqualsToken
KindEqualsEqualsToken = ast.KindEqualsEqualsToken
KindExclamationEqualsToken = ast.KindExclamationEqualsToken
KindEqualsEqualsEqualsToken = ast.KindEqualsEqualsEqualsToken
KindExclamationEqualsEqualsToken = ast.KindExclamationEqualsEqualsToken
KindEqualsGreaterThanToken = ast.KindEqualsGreaterThanToken
KindPlusToken = ast.KindPlusToken
KindMinusToken = ast.KindMinusToken
KindAsteriskToken = ast.KindAsteriskToken
KindAsteriskAsteriskToken = ast.KindAsteriskAsteriskToken
KindSlashToken = ast.KindSlashToken
KindPercentToken = ast.KindPercentToken
KindPlusPlusToken = ast.KindPlusPlusToken
KindMinusMinusToken = ast.KindMinusMinusToken
KindLessThanLessThanToken = ast.KindLessThanLessThanToken
KindGreaterThanGreaterThanToken = ast.KindGreaterThanGreaterThanToken
KindGreaterThanGreaterThanGreaterThanToken = ast.KindGreaterThanGreaterThanGreaterThanToken
KindAmpersandToken = ast.KindAmpersandToken
KindBarToken = ast.KindBarToken
KindCaretToken = ast.KindCaretToken
KindExclamationToken = ast.KindExclamationToken
KindTildeToken = ast.KindTildeToken
KindAmpersandAmpersandToken = ast.KindAmpersandAmpersandToken
KindBarBarToken = ast.KindBarBarToken
KindQuestionToken = ast.KindQuestionToken
KindColonToken = ast.KindColonToken
KindAtToken = ast.KindAtToken
KindQuestionQuestionToken = ast.KindQuestionQuestionToken
/** Only the JSDoc scanner produces BacktickToken. The normal scanner produces NoSubstitutionTemplateLiteral and related kinds. */
KindBacktickToken = ast.KindBacktickToken
/** Only the JSDoc scanner produces HashToken. The normal scanner produces PrivateIdentifier. */
KindHashToken = ast.KindHashToken
// Assignments
KindEqualsToken = ast.KindEqualsToken
KindPlusEqualsToken = ast.KindPlusEqualsToken
KindMinusEqualsToken = ast.KindMinusEqualsToken
KindAsteriskEqualsToken = ast.KindAsteriskEqualsToken
KindAsteriskAsteriskEqualsToken = ast.KindAsteriskAsteriskEqualsToken
KindSlashEqualsToken = ast.KindSlashEqualsToken
KindPercentEqualsToken = ast.KindPercentEqualsToken
KindLessThanLessThanEqualsToken = ast.KindLessThanLessThanEqualsToken
KindGreaterThanGreaterThanEqualsToken = ast.KindGreaterThanGreaterThanEqualsToken
KindGreaterThanGreaterThanGreaterThanEqualsToken = ast.KindGreaterThanGreaterThanGreaterThanEqualsToken
KindAmpersandEqualsToken = ast.KindAmpersandEqualsToken
KindBarEqualsToken = ast.KindBarEqualsToken
KindBarBarEqualsToken = ast.KindBarBarEqualsToken
KindAmpersandAmpersandEqualsToken = ast.KindAmpersandAmpersandEqualsToken
KindQuestionQuestionEqualsToken = ast.KindQuestionQuestionEqualsToken
KindCaretEqualsToken = ast.KindCaretEqualsToken
// Identifiers and PrivateIdentifier
KindIdentifier = ast.KindIdentifier
KindPrivateIdentifier = ast.KindPrivateIdentifier
KindJSDocCommentTextToken = ast.KindJSDocCommentTextToken
// Reserved words
KindBreakKeyword = ast.KindBreakKeyword
KindCaseKeyword = ast.KindCaseKeyword
KindCatchKeyword = ast.KindCatchKeyword
KindClassKeyword = ast.KindClassKeyword
KindConstKeyword = ast.KindConstKeyword
KindContinueKeyword = ast.KindContinueKeyword
KindDebuggerKeyword = ast.KindDebuggerKeyword
KindDefaultKeyword = ast.KindDefaultKeyword
KindDeleteKeyword = ast.KindDeleteKeyword
KindDoKeyword = ast.KindDoKeyword
KindElseKeyword = ast.KindElseKeyword
KindEnumKeyword = ast.KindEnumKeyword
KindExportKeyword = ast.KindExportKeyword
KindExtendsKeyword = ast.KindExtendsKeyword
KindFalseKeyword = ast.KindFalseKeyword
KindFinallyKeyword = ast.KindFinallyKeyword
KindForKeyword = ast.KindForKeyword
KindFunctionKeyword = ast.KindFunctionKeyword
KindIfKeyword = ast.KindIfKeyword
KindImportKeyword = ast.KindImportKeyword
KindInKeyword = ast.KindInKeyword
KindInstanceOfKeyword = ast.KindInstanceOfKeyword
KindNewKeyword = ast.KindNewKeyword
KindNullKeyword = ast.KindNullKeyword
KindReturnKeyword = ast.KindReturnKeyword
KindSuperKeyword = ast.KindSuperKeyword
KindSwitchKeyword = ast.KindSwitchKeyword
KindThisKeyword = ast.KindThisKeyword
KindThrowKeyword = ast.KindThrowKeyword
KindTrueKeyword = ast.KindTrueKeyword
KindTryKeyword = ast.KindTryKeyword
KindTypeOfKeyword = ast.KindTypeOfKeyword
KindVarKeyword = ast.KindVarKeyword
KindVoidKeyword = ast.KindVoidKeyword
KindWhileKeyword = ast.KindWhileKeyword
KindWithKeyword = ast.KindWithKeyword
// Strict mode reserved words
KindImplementsKeyword = ast.KindImplementsKeyword
KindInterfaceKeyword = ast.KindInterfaceKeyword
KindLetKeyword = ast.KindLetKeyword
KindPackageKeyword = ast.KindPackageKeyword
KindPrivateKeyword = ast.KindPrivateKeyword
KindProtectedKeyword = ast.KindProtectedKeyword
KindPublicKeyword = ast.KindPublicKeyword
KindStaticKeyword = ast.KindStaticKeyword
KindYieldKeyword = ast.KindYieldKeyword
// Contextual keywords
KindAbstractKeyword = ast.KindAbstractKeyword
KindAccessorKeyword = ast.KindAccessorKeyword
KindAsKeyword = ast.KindAsKeyword
KindAssertsKeyword = ast.KindAssertsKeyword
KindAssertKeyword = ast.KindAssertKeyword
KindAnyKeyword = ast.KindAnyKeyword
KindAsyncKeyword = ast.KindAsyncKeyword
KindAwaitKeyword = ast.KindAwaitKeyword
KindBooleanKeyword = ast.KindBooleanKeyword
KindConstructorKeyword = ast.KindConstructorKeyword
KindDeclareKeyword = ast.KindDeclareKeyword
KindGetKeyword = ast.KindGetKeyword
KindImmediateKeyword = ast.KindImmediateKeyword
KindInferKeyword = ast.KindInferKeyword
KindIntrinsicKeyword = ast.KindIntrinsicKeyword
KindIsKeyword = ast.KindIsKeyword
KindKeyOfKeyword = ast.KindKeyOfKeyword
KindModuleKeyword = ast.KindModuleKeyword
KindNamespaceKeyword = ast.KindNamespaceKeyword
KindNeverKeyword = ast.KindNeverKeyword
KindOutKeyword = ast.KindOutKeyword
KindReadonlyKeyword = ast.KindReadonlyKeyword
KindRequireKeyword = ast.KindRequireKeyword
KindNumberKeyword = ast.KindNumberKeyword
KindObjectKeyword = ast.KindObjectKeyword
KindSatisfiesKeyword = ast.KindSatisfiesKeyword
KindSetKeyword = ast.KindSetKeyword
KindStringKeyword = ast.KindStringKeyword
KindSymbolKeyword = ast.KindSymbolKeyword
KindTypeKeyword = ast.KindTypeKeyword
KindUndefinedKeyword = ast.KindUndefinedKeyword
KindUniqueKeyword = ast.KindUniqueKeyword
KindUnknownKeyword = ast.KindUnknownKeyword
KindUsingKeyword = ast.KindUsingKeyword
KindFromKeyword = ast.KindFromKeyword
KindGlobalKeyword = ast.KindGlobalKeyword
KindBigIntKeyword = ast.KindBigIntKeyword
KindOverrideKeyword = ast.KindOverrideKeyword
KindOfKeyword = ast.KindOfKeyword
KindDeferKeyword = ast.KindDeferKeyword // LastKeyword and LastToken and LastContextualKeyword
// Parse tree nodes
// Names
KindQualifiedName = ast.KindQualifiedName
KindComputedPropertyName = ast.KindComputedPropertyName
// Signature elements
KindTypeParameter = ast.KindTypeParameter
KindParameter = ast.KindParameter
KindDecorator = ast.KindDecorator
// TypeMember
KindPropertySignature = ast.KindPropertySignature
KindPropertyDeclaration = ast.KindPropertyDeclaration
KindMethodSignature = ast.KindMethodSignature
KindMethodDeclaration = ast.KindMethodDeclaration
KindClassStaticBlockDeclaration = ast.KindClassStaticBlockDeclaration
KindConstructor = ast.KindConstructor
KindGetAccessor = ast.KindGetAccessor
KindSetAccessor = ast.KindSetAccessor
KindCallSignature = ast.KindCallSignature
KindConstructSignature = ast.KindConstructSignature
KindIndexSignature = ast.KindIndexSignature
// Type
KindTypePredicate = ast.KindTypePredicate
KindTypeReference = ast.KindTypeReference
KindFunctionType = ast.KindFunctionType
KindConstructorType = ast.KindConstructorType
KindTypeQuery = ast.KindTypeQuery
KindTypeLiteral = ast.KindTypeLiteral
KindArrayType = ast.KindArrayType
KindTupleType = ast.KindTupleType
KindOptionalType = ast.KindOptionalType
KindRestType = ast.KindRestType
KindUnionType = ast.KindUnionType
KindIntersectionType = ast.KindIntersectionType
KindConditionalType = ast.KindConditionalType
KindInferType = ast.KindInferType
KindParenthesizedType = ast.KindParenthesizedType
KindThisType = ast.KindThisType
KindTypeOperator = ast.KindTypeOperator
KindIndexedAccessType = ast.KindIndexedAccessType
KindMappedType = ast.KindMappedType
KindLiteralType = ast.KindLiteralType
KindNamedTupleMember = ast.KindNamedTupleMember
KindTemplateLiteralType = ast.KindTemplateLiteralType
KindTemplateLiteralTypeSpan = ast.KindTemplateLiteralTypeSpan
KindImportType = ast.KindImportType
// Binding patterns
KindObjectBindingPattern = ast.KindObjectBindingPattern
KindArrayBindingPattern = ast.KindArrayBindingPattern
KindBindingElement = ast.KindBindingElement
// Expression
KindArrayLiteralExpression = ast.KindArrayLiteralExpression
KindObjectLiteralExpression = ast.KindObjectLiteralExpression
KindPropertyAccessExpression = ast.KindPropertyAccessExpression
KindElementAccessExpression = ast.KindElementAccessExpression
KindCallExpression = ast.KindCallExpression
KindNewExpression = ast.KindNewExpression
KindTaggedTemplateExpression = ast.KindTaggedTemplateExpression
KindTypeAssertionExpression = ast.KindTypeAssertionExpression
KindParenthesizedExpression = ast.KindParenthesizedExpression
KindFunctionExpression = ast.KindFunctionExpression
KindArrowFunction = ast.KindArrowFunction
KindDeleteExpression = ast.KindDeleteExpression
KindTypeOfExpression = ast.KindTypeOfExpression
KindVoidExpression = ast.KindVoidExpression
KindAwaitExpression = ast.KindAwaitExpression
KindPrefixUnaryExpression = ast.KindPrefixUnaryExpression
KindPostfixUnaryExpression = ast.KindPostfixUnaryExpression
KindBinaryExpression = ast.KindBinaryExpression
KindConditionalExpression = ast.KindConditionalExpression
KindTemplateExpression = ast.KindTemplateExpression
KindYieldExpression = ast.KindYieldExpression
KindSpreadElement = ast.KindSpreadElement
KindClassExpression = ast.KindClassExpression
KindOmittedExpression = ast.KindOmittedExpression
KindExpressionWithTypeArguments = ast.KindExpressionWithTypeArguments
KindAsExpression = ast.KindAsExpression
KindNonNullExpression = ast.KindNonNullExpression
KindMetaProperty = ast.KindMetaProperty
KindSyntheticExpression = ast.KindSyntheticExpression
KindSatisfiesExpression = ast.KindSatisfiesExpression
// Misc
KindTemplateSpan = ast.KindTemplateSpan
KindSemicolonClassElement = ast.KindSemicolonClassElement
// Element
KindBlock = ast.KindBlock
KindEmptyStatement = ast.KindEmptyStatement
KindVariableStatement = ast.KindVariableStatement
KindExpressionStatement = ast.KindExpressionStatement
KindIfStatement = ast.KindIfStatement
KindDoStatement = ast.KindDoStatement
KindWhileStatement = ast.KindWhileStatement
KindForStatement = ast.KindForStatement
KindForInStatement = ast.KindForInStatement
KindForOfStatement = ast.KindForOfStatement
KindContinueStatement = ast.KindContinueStatement
KindBreakStatement = ast.KindBreakStatement
KindReturnStatement = ast.KindReturnStatement
KindWithStatement = ast.KindWithStatement
KindSwitchStatement = ast.KindSwitchStatement
KindLabeledStatement = ast.KindLabeledStatement
KindThrowStatement = ast.KindThrowStatement
KindTryStatement = ast.KindTryStatement
KindDebuggerStatement = ast.KindDebuggerStatement
KindVariableDeclaration = ast.KindVariableDeclaration
KindVariableDeclarationList = ast.KindVariableDeclarationList
KindFunctionDeclaration = ast.KindFunctionDeclaration
KindClassDeclaration = ast.KindClassDeclaration
KindInterfaceDeclaration = ast.KindInterfaceDeclaration
KindTypeAliasDeclaration = ast.KindTypeAliasDeclaration
KindEnumDeclaration = ast.KindEnumDeclaration
KindModuleDeclaration = ast.KindModuleDeclaration
KindModuleBlock = ast.KindModuleBlock
KindCaseBlock = ast.KindCaseBlock
KindNamespaceExportDeclaration = ast.KindNamespaceExportDeclaration
KindImportEqualsDeclaration = ast.KindImportEqualsDeclaration
KindImportDeclaration = ast.KindImportDeclaration
KindImportClause = ast.KindImportClause
KindNamespaceImport = ast.KindNamespaceImport
KindNamedImports = ast.KindNamedImports
KindImportSpecifier = ast.KindImportSpecifier
KindExportAssignment = ast.KindExportAssignment
KindExportDeclaration = ast.KindExportDeclaration
KindNamedExports = ast.KindNamedExports
KindNamespaceExport = ast.KindNamespaceExport
KindExportSpecifier = ast.KindExportSpecifier
KindMissingDeclaration = ast.KindMissingDeclaration
// Module references
KindExternalModuleReference = ast.KindExternalModuleReference
// JSX
KindJsxElement = ast.KindJsxElement
KindJsxSelfClosingElement = ast.KindJsxSelfClosingElement
KindJsxOpeningElement = ast.KindJsxOpeningElement
KindJsxClosingElement = ast.KindJsxClosingElement
KindJsxFragment = ast.KindJsxFragment
KindJsxOpeningFragment = ast.KindJsxOpeningFragment
KindJsxClosingFragment = ast.KindJsxClosingFragment
KindJsxAttribute = ast.KindJsxAttribute
KindJsxAttributes = ast.KindJsxAttributes
KindJsxSpreadAttribute = ast.KindJsxSpreadAttribute
KindJsxExpression = ast.KindJsxExpression
KindJsxNamespacedName = ast.KindJsxNamespacedName
// Clauses
KindCaseClause = ast.KindCaseClause
KindDefaultClause = ast.KindDefaultClause
KindHeritageClause = ast.KindHeritageClause
KindCatchClause = ast.KindCatchClause
// Import attributes
KindImportAttributes = ast.KindImportAttributes
KindImportAttribute = ast.KindImportAttribute
// Property assignments
KindPropertyAssignment = ast.KindPropertyAssignment
KindShorthandPropertyAssignment = ast.KindShorthandPropertyAssignment
KindSpreadAssignment = ast.KindSpreadAssignment
// Enum
KindEnumMember = ast.KindEnumMember
// Top-level nodes
KindSourceFile = ast.KindSourceFile
// JSDoc nodes
KindJSDocTypeExpression = ast.KindJSDocTypeExpression
KindJSDocNameReference = ast.KindJSDocNameReference
KindJSDocMemberName = ast.KindJSDocMemberName // C#p
KindJSDocAllType = ast.KindJSDocAllType // The * type
KindJSDocNullableType = ast.KindJSDocNullableType
KindJSDocNonNullableType = ast.KindJSDocNonNullableType
KindJSDocOptionalType = ast.KindJSDocOptionalType
KindJSDocVariadicType = ast.KindJSDocVariadicType
KindJSDoc = ast.KindJSDoc
KindJSDocText = ast.KindJSDocText
KindJSDocTypeLiteral = ast.KindJSDocTypeLiteral
KindJSDocSignature = ast.KindJSDocSignature
KindJSDocLink = ast.KindJSDocLink
KindJSDocLinkCode = ast.KindJSDocLinkCode
KindJSDocLinkPlain = ast.KindJSDocLinkPlain
KindJSDocTag = ast.KindJSDocTag
KindJSDocAugmentsTag = ast.KindJSDocAugmentsTag
KindJSDocImplementsTag = ast.KindJSDocImplementsTag
KindJSDocDeprecatedTag = ast.KindJSDocDeprecatedTag
KindJSDocPublicTag = ast.KindJSDocPublicTag
KindJSDocPrivateTag = ast.KindJSDocPrivateTag
KindJSDocProtectedTag = ast.KindJSDocProtectedTag
KindJSDocReadonlyTag = ast.KindJSDocReadonlyTag
KindJSDocOverrideTag = ast.KindJSDocOverrideTag
KindJSDocCallbackTag = ast.KindJSDocCallbackTag
KindJSDocOverloadTag = ast.KindJSDocOverloadTag
KindJSDocParameterTag = ast.KindJSDocParameterTag
KindJSDocReturnTag = ast.KindJSDocReturnTag
KindJSDocThisTag = ast.KindJSDocThisTag
KindJSDocTypeTag = ast.KindJSDocTypeTag
KindJSDocTemplateTag = ast.KindJSDocTemplateTag
KindJSDocTypedefTag = ast.KindJSDocTypedefTag
KindJSDocSeeTag = ast.KindJSDocSeeTag
KindJSDocPropertyTag = ast.KindJSDocPropertyTag
KindJSDocSatisfiesTag = ast.KindJSDocSatisfiesTag
KindJSDocImportTag = ast.KindJSDocImportTag
// Synthesized list
KindSyntaxList = ast.KindSyntaxList
// Reparsed JS nodes
KindJSTypeAliasDeclaration = ast.KindJSTypeAliasDeclaration
KindJSExportAssignment = ast.KindJSExportAssignment
KindCommonJSExport = ast.KindCommonJSExport
KindJSImportDeclaration = ast.KindJSImportDeclaration
// Transformation nodes
KindNotEmittedStatement = ast.KindNotEmittedStatement
KindPartiallyEmittedExpression = ast.KindPartiallyEmittedExpression
KindCommaListExpression = ast.KindCommaListExpression
KindSyntheticReferenceExpression = ast.KindSyntheticReferenceExpression
KindNotEmittedTypeElement = ast.KindNotEmittedTypeElement
// Enum value count
KindCount = ast.KindCount
// Markers
KindFirstAssignment = ast.KindFirstAssignment
KindLastAssignment = ast.KindLastAssignment
KindFirstCompoundAssignment = ast.KindFirstCompoundAssignment
KindLastCompoundAssignment = ast.KindLastCompoundAssignment
KindFirstReservedWord = ast.KindFirstReservedWord
KindLastReservedWord = ast.KindLastReservedWord
KindFirstKeyword = ast.KindFirstKeyword
KindLastKeyword = ast.KindLastKeyword
KindFirstFutureReservedWord = ast.KindFirstFutureReservedWord
KindLastFutureReservedWord = ast.KindLastFutureReservedWord
KindFirstTypeNode = ast.KindFirstTypeNode
KindLastTypeNode = ast.KindLastTypeNode
KindFirstPunctuation = ast.KindFirstPunctuation
KindLastPunctuation = ast.KindLastPunctuation
KindFirstToken = ast.KindFirstToken
KindLastToken = ast.KindLastToken
KindFirstLiteralToken = ast.KindFirstLiteralToken
KindLastLiteralToken = ast.KindLastLiteralToken
KindFirstTemplateToken = ast.KindFirstTemplateToken
KindLastTemplateToken = ast.KindLastTemplateToken
KindFirstBinaryOperator = ast.KindFirstBinaryOperator
KindLastBinaryOperator = ast.KindLastBinaryOperator
KindFirstStatement = ast.KindFirstStatement
KindLastStatement = ast.KindLastStatement
KindFirstNode = ast.KindFirstNode
KindFirstJSDocNode = ast.KindFirstJSDocNode
KindLastJSDocNode = ast.KindLastJSDocNode
KindFirstJSDocTagNode = ast.KindFirstJSDocTagNode
KindLastJSDocTagNode = ast.KindLastJSDocTagNode
KindFirstContextualKeyword = ast.KindFirstContextualKeyword
KindLastContextualKeyword = ast.KindLastContextualKeyword
KindComment = ast.KindComment
KindFirstTriviaToken = ast.KindFirstTriviaToken
KindLastTriviaToken = ast.KindLastTriviaToken
)

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Aliasing ast.Kind as ts.Kind and re-exporting all ast.Kind constants under the ts package namespace improves encapsulation and provides a consistent API for users of the dql/ts package. This avoids direct dependency on ast types in client code.

type Kind = ast.Kind

const (
	KindUnknown                       = ast.KindUnknown
	KindEndOfFile                     = ast.KindEndOfFile
	KindSingleLineCommentTrivia       = ast.KindSingleLineCommentTrivia
	KindMultiLineCommentTrivia        = ast.KindMultiLineCommentTrivia
	KindNewLineTrivia                 = ast.KindNewLineTrivia
	KindWhitespaceTrivia              = ast.KindWhitespaceTrivia
	KindConflictMarkerTrivia          = ast.KindConflictMarkerTrivia
	KindNonTextFileMarkerTrivia       = ast.KindNonTextFileMarkerTrivia
	KindNumericLiteral                = ast.KindNumericLiteral
	KindBigIntLiteral                 = ast.KindBigIntLiteral
	KindStringLiteral                 = ast.KindStringLiteral
	KindJsxText                       = ast.KindJsxText
	KindJsxTextAllWhiteSpaces         = ast.KindJsxTextAllWhiteSpaces
	KindRegularExpressionLiteral      = ast.KindRegularExpressionLiteral
	KindNoSubstitutionTemplateLiteral = ast.KindNoSubstitutionTemplateLiteral
	// Pseudo-literals
	KindTemplateHead   = ast.KindTemplateHead
	KindTemplateMiddle = ast.KindTemplateMiddle
	KindTemplateTail   = ast.KindTemplateTail
	// Punctuation
	KindOpenBraceToken                         = ast.KindOpenBraceToken
	KindCloseBraceToken                        = ast.KindCloseBraceToken
	KindOpenParenToken                         = ast.KindOpenParenToken
	KindCloseParenToken                        = ast.KindCloseParenToken
	KindOpenBracketToken                       = ast.KindOpenBracketToken
	KindCloseBracketToken                      = ast.KindCloseBracketToken
	KindDotToken                               = ast.KindDotToken
	KindDotDotDotToken                         = ast.KindDotDotDotToken
	KindSemicolonToken                         = ast.KindSemicolonToken
	KindCommaToken                             = ast.KindCommaToken
	KindQuestionDotToken                       = ast.KindQuestionDotToken
	KindLessThanToken                          = ast.KindLessThanToken
	KindLessThanSlashToken                     = ast.KindLessThanSlashToken
	KindGreaterThanToken                       = ast.KindGreaterThanToken
	KindLessThanEqualsToken                    = ast.KindLessThanEqualsToken
	KindGreaterThanEqualsToken                 = ast.KindGreaterThanEqualsToken
	KindEqualsEqualsToken                      = ast.KindEqualsEqualsToken
	KindExclamationEqualsToken                 = ast.KindExclamationEqualsToken
	KindEqualsEqualsEqualsToken                = ast.KindEqualsEqualsEqualsToken
	KindExclamationEqualsEqualsToken           = ast.KindExclamationEqualsEqualsToken
	KindEqualsGreaterThanToken                 = ast.KindEqualsGreaterThanToken
	KindPlusToken                              = ast.KindPlusToken
	KindMinusToken                             = ast.KindMinusToken
	KindAsteriskToken                          = ast.KindAsteriskToken
	KindAsteriskAsteriskToken                  = ast.KindAsteriskAsteriskToken
	KindSlashToken                             = ast.KindSlashToken
	KindPercentToken                           = ast.KindPercentToken
	KindPlusPlusToken                          = ast.KindPlusPlusToken
	KindMinusMinusToken                        = ast.KindMinusMinusToken
	KindLessThanLessThanToken                  = ast.KindLessThanLessThanToken
	KindGreaterThanGreaterThanToken            = ast.KindGreaterThanGreaterThanToken
	KindGreaterThanGreaterThanGreaterThanToken = ast.KindGreaterThanGreaterThanGreaterThanToken
	KindAmpersandToken                         = ast.KindAmpersandToken
	KindBarToken                               = ast.KindBarToken
	KindCaretToken                             = ast.KindCaretToken
	KindExclamationToken                       = ast.KindExclamationToken
	KindTildeToken                             = ast.KindTildeToken
	KindAmpersandAmpersandToken                = ast.KindAmpersandAmpersandToken
	KindBarBarToken                            = ast.KindBarBarToken
	KindQuestionToken                          = ast.KindQuestionToken
	KindColonToken                             = ast.KindColonToken
	KindAtToken                                = ast.KindAtToken
	KindQuestionQuestionToken                  = ast.KindQuestionQuestionToken
	/** Only the JSDoc scanner produces BacktickToken. The normal scanner produces NoSubstitutionTemplateLiteral and related kinds. */
	KindBacktickToken = ast.KindBacktickToken
	/** Only the JSDoc scanner produces HashToken. The normal scanner produces PrivateIdentifier. */
	KindHashToken = ast.KindHashToken
	// Assignments
	KindEqualsToken                                  = ast.KindEqualsToken
	KindPlusEqualsToken                              = ast.KindPlusEqualsToken
	KindMinusEqualsToken                             = ast.KindMinusEqualsToken
	KindAsteriskEqualsToken                          = ast.KindAsteriskEqualsToken
	KindAsteriskAsteriskEqualsToken                  = ast.KindAsteriskAsteriskEqualsToken
	KindSlashEqualsToken                             = ast.KindSlashEqualsToken
	KindPercentEqualsToken                           = ast.KindPercentEqualsToken
	KindLessThanLessThanEqualsToken                  = ast.KindLessThanLessThanEqualsToken
	KindGreaterThanGreaterThanEqualsToken            = ast.KindGreaterThanGreaterThanEqualsToken
	KindGreaterThanGreaterThanGreaterThanEqualsToken = ast.KindGreaterThanGreaterThanGreaterThanEqualsToken
	KindAmpersandEqualsToken                         = ast.KindAmpersandEqualsToken
	KindBarEqualsToken                               = ast.KindBarEqualsToken
	KindBarBarEqualsToken                            = ast.KindBarBarEqualsToken
	KindAmpersandAmpersandEqualsToken                = ast.KindAmpersandAmpersandEqualsToken
	KindQuestionQuestionEqualsToken                  = ast.KindQuestionQuestionEqualsToken
	KindCaretEqualsToken                             = ast.KindCaretEqualsToken
	// Identifiers and PrivateIdentifier
	KindIdentifier            = ast.KindIdentifier
	KindPrivateIdentifier     = ast.KindPrivateIdentifier
	KindJSDocCommentTextToken = ast.KindJSDocCommentTextToken
	// Reserved words
	KindBreakKeyword      = ast.KindBreakKeyword
	KindCaseKeyword       = ast.KindCaseKeyword
	KindCatchKeyword      = ast.KindCatchKeyword
	KindClassKeyword      = ast.KindClassKeyword
	KindConstKeyword      = ast.KindConstKeyword
	KindContinueKeyword   = ast.KindContinueKeyword
	KindDebuggerKeyword   = ast.KindDebuggerKeyword
	KindDefaultKeyword    = ast.KindDefaultKeyword
	KindDeleteKeyword     = ast.KindDeleteKeyword
	KindDoKeyword         = ast.KindDoKeyword
	KindElseKeyword       = ast.KindElseKeyword
	KindEnumKeyword       = ast.KindEnumKeyword
	KindExportKeyword     = ast.KindExportKeyword
	KindExtendsKeyword    = ast.KindExtendsKeyword
	KindFalseKeyword      = ast.KindFalseKeyword
	KindFinallyKeyword    = ast.KindFinallyKeyword
	KindForKeyword        = ast.KindForKeyword
	KindFunctionKeyword   = ast.KindFunctionKeyword
	KindIfKeyword         = ast.KindIfKeyword
	KindImportKeyword     = ast.KindImportKeyword
	KindInKeyword         = ast.KindInKeyword
	KindInstanceOfKeyword = ast.KindInstanceOfKeyword
	KindNewKeyword        = ast.KindNewKeyword
	KindNullKeyword       = ast.KindNullKeyword
	KindReturnKeyword     = ast.KindReturnKeyword
	KindSuperKeyword      = ast.KindSuperKeyword
	KindSwitchKeyword     = ast.KindSwitchKeyword
	KindThisKeyword       = ast.KindThisKeyword
	KindThrowKeyword      = ast.KindThrowKeyword
	KindTrueKeyword       = ast.KindTrueKeyword
	KindTryKeyword        = ast.KindTryKeyword
	KindTypeOfKeyword     = ast.KindTypeOfKeyword
	KindVarKeyword        = ast.KindVarKeyword
	KindVoidKeyword       = ast.KindVoidKeyword
	KindWhileKeyword      = ast.KindWhileKeyword
	KindWithKeyword       = ast.KindWithKeyword
	// Strict mode reserved words
	KindImplementsKeyword = ast.KindImplementsKeyword
	KindInterfaceKeyword  = ast.KindInterfaceKeyword
	KindLetKeyword        = ast.KindLetKeyword
	KindPackageKeyword    = ast.KindPackageKeyword
	KindPrivateKeyword    = ast.KindPrivateKeyword
	KindProtectedKeyword  = ast.KindProtectedKeyword
	KindPublicKeyword     = ast.KindPublicKeyword
	KindStaticKeyword     = ast.KindStaticKeyword
	KindYieldKeyword      = ast.KindYieldKeyword
	// Contextual keywords
	KindAbstractKeyword    = ast.KindAbstractKeyword
	KindAccessorKeyword    = ast.KindAccessorKeyword
	KindAsKeyword          = ast.KindAsKeyword
	KindAssertsKeyword     = ast.KindAssertsKeyword
	KindAssertKeyword      = ast.KindAssertKeyword
	KindAnyKeyword         = ast.KindAnyKeyword
	KindAsyncKeyword       = ast.KindAsyncKeyword
	KindAwaitKeyword       = ast.KindAwaitKeyword
	KindBooleanKeyword     = ast.KindBooleanKeyword
	KindConstructorKeyword = ast.KindConstructorKeyword
	KindDeclareKeyword     = ast.KindDeclareKeyword
	KindGetKeyword         = ast.KindGetKeyword
	KindImmediateKeyword   = ast.KindImmediateKeyword
	KindInferKeyword       = ast.KindInferKeyword
	KindIntrinsicKeyword   = ast.KindIntrinsicKeyword
	KindIsKeyword          = ast.KindIsKeyword
	KindKeyOfKeyword       = ast.KindKeyOfKeyword
	KindModuleKeyword      = ast.KindModuleKeyword
	KindNamespaceKeyword   = ast.KindNamespaceKeyword
	KindNeverKeyword       = ast.KindNeverKeyword
	KindOutKeyword         = ast.KindOutKeyword
	KindReadonlyKeyword    = ast.KindReadonlyKeyword
	KindRequireKeyword     = ast.KindRequireKeyword
	KindNumberKeyword      = ast.KindNumberKeyword
	KindObjectKeyword      = ast.KindObjectKeyword
	KindSatisfiesKeyword   = ast.KindSatisfiesKeyword
	KindSetKeyword         = ast.KindSetKeyword
	KindStringKeyword      = ast.KindStringKeyword
	KindSymbolKeyword      = ast.KindSymbolKeyword
	KindTypeKeyword        = ast.KindTypeKeyword
	KindUndefinedKeyword   = ast.KindUndefinedKeyword
	KindUniqueKeyword      = ast.KindUniqueKeyword
	KindUnknownKeyword     = ast.KindUnknownKeyword
	KindUsingKeyword       = ast.KindUsingKeyword
	KindFromKeyword        = ast.KindFromKeyword
	KindGlobalKeyword      = ast.KindGlobalKeyword
	KindBigIntKeyword      = ast.KindBigIntKeyword
	KindOverrideKeyword    = ast.KindOverrideKeyword
	KindOfKeyword          = ast.KindOfKeyword
	KindDeferKeyword       = ast.KindDeferKeyword // LastKeyword and LastToken and LastContextualKeyword
	// Parse tree nodes
	// Names
	KindQualifiedName        = ast.KindQualifiedName
	KindComputedPropertyName = ast.KindComputedPropertyName
	// Signature elements
	KindTypeParameter = ast.KindTypeParameter
	KindParameter     = ast.KindParameter
	KindDecorator     = ast.KindDecorator
	// TypeMember
	KindPropertySignature           = ast.KindPropertySignature
	KindPropertyDeclaration         = ast.KindPropertyDeclaration
	KindMethodSignature             = ast.KindMethodSignature
	KindMethodDeclaration           = ast.KindMethodDeclaration
	KindClassStaticBlockDeclaration = ast.KindClassStaticBlockDeclaration
	KindConstructor                 = ast.KindConstructor
	KindGetAccessor                 = ast.KindGetAccessor
	KindSetAccessor                 = ast.KindSetAccessor
	KindCallSignature               = ast.KindCallSignature
	KindConstructSignature          = ast.KindConstructSignature
	KindIndexSignature              = ast.KindIndexSignature
	// Type
	KindTypePredicate           = ast.KindTypePredicate
	KindTypeReference           = ast.KindTypeReference
	KindFunctionType            = ast.KindFunctionType
	KindConstructorType         = ast.KindConstructorType
	KindTypeQuery               = ast.KindTypeQuery
	KindTypeLiteral             = ast.KindTypeLiteral
	KindArrayType               = ast.KindArrayType
	KindTupleType               = ast.KindTupleType
	KindOptionalType            = ast.KindOptionalType
	KindRestType                = ast.KindRestType
	KindUnionType               = ast.KindUnionType
	KindIntersectionType        = ast.KindIntersectionType
	KindConditionalType         = ast.KindConditionalType
	KindInferType               = ast.KindInferType
	KindParenthesizedType       = ast.KindParenthesizedType
	KindThisType                = ast.KindThisType
	KindTypeOperator            = ast.KindTypeOperator
	KindIndexedAccessType       = ast.KindIndexedAccessType
	KindMappedType              = ast.KindMappedType
	KindLiteralType             = ast.KindLiteralType
	KindNamedTupleMember        = ast.KindNamedTupleMember
	KindTemplateLiteralType     = ast.KindTemplateLiteralType
	KindTemplateLiteralTypeSpan = ast.KindTemplateLiteralTypeSpan
	KindImportType              = ast.KindImportType
	// Binding patterns
	KindObjectBindingPattern = ast.KindObjectBindingPattern
	KindArrayBindingPattern  = ast.KindArrayBindingPattern
	KindBindingElement       = ast.KindBindingElement
	// Expression
	KindArrayLiteralExpression      = ast.KindArrayLiteralExpression
	KindObjectLiteralExpression     = ast.KindObjectLiteralExpression
	KindPropertyAccessExpression    = ast.KindPropertyAccessExpression
	KindElementAccessExpression     = ast.KindElementAccessExpression
	KindCallExpression              = ast.KindCallExpression
	KindNewExpression               = ast.KindNewExpression
	KindTaggedTemplateExpression    = ast.KindTaggedTemplateExpression
	KindTypeAssertionExpression     = ast.KindTypeAssertionExpression
	KindParenthesizedExpression     = ast.KindParenthesizedExpression
	KindFunctionExpression          = ast.KindFunctionExpression
	KindArrowFunction               = ast.KindArrowFunction
	KindDeleteExpression            = ast.KindDeleteExpression
	KindTypeOfExpression            = ast.KindTypeOfExpression
	KindVoidExpression              = ast.KindVoidExpression
	KindAwaitExpression             = ast.KindAwaitExpression
	KindPrefixUnaryExpression       = ast.KindPrefixUnaryExpression
	KindPostfixUnaryExpression      = ast.KindPostfixUnaryExpression
	KindBinaryExpression            = ast.KindBinaryExpression
	KindConditionalExpression       = ast.KindConditionalExpression
	KindTemplateExpression          = ast.KindTemplateExpression
	KindYieldExpression             = ast.KindYieldExpression
	KindSpreadElement               = ast.KindSpreadElement
	KindClassExpression             = ast.KindClassExpression
	KindOmittedExpression           = ast.KindOmittedExpression
	KindExpressionWithTypeArguments = ast.KindExpressionWithTypeArguments
	KindAsExpression                = ast.KindAsExpression
	KindNonNullExpression           = ast.KindNonNullExpression
	KindMetaProperty                = ast.KindMetaProperty
	KindSyntheticExpression         = ast.KindSyntheticExpression
	KindSatisfiesExpression         = ast.KindSatisfiesExpression
	// Misc
	KindTemplateSpan          = ast.KindTemplateSpan
	KindSemicolonClassElement = ast.KindSemicolonClassElement
	// Element
	KindBlock                      = ast.KindBlock
	KindEmptyStatement             = ast.KindEmptyStatement
	KindVariableStatement          = ast.KindVariableStatement
	KindExpressionStatement        = ast.KindExpressionStatement
	KindIfStatement                = ast.KindIfStatement
	KindDoStatement                = ast.KindDoStatement
	KindWhileStatement             = ast.KindWhileStatement
	KindForStatement               = ast.KindForStatement
	KindForInStatement             = ast.KindForInStatement
	KindForOfStatement             = ast.KindForOfStatement
	KindContinueStatement          = ast.KindContinueStatement
	KindBreakStatement             = ast.KindBreakStatement
	KindReturnStatement            = ast.KindReturnStatement
	KindWithStatement              = ast.KindWithStatement
	KindSwitchStatement            = ast.KindSwitchStatement
	KindLabeledStatement           = ast.KindLabeledStatement
	KindThrowStatement             = ast.KindThrowStatement
	KindTryStatement               = ast.KindTryStatement
	KindDebuggerStatement          = ast.KindDebuggerStatement
	KindVariableDeclaration        = ast.KindVariableDeclaration
	KindVariableDeclarationList    = ast.KindVariableDeclarationList
	KindFunctionDeclaration        = ast.KindFunctionDeclaration
	KindClassDeclaration           = ast.KindClassDeclaration
	KindInterfaceDeclaration       = ast.KindInterfaceDeclaration
	KindTypeAliasDeclaration       = ast.KindTypeAliasDeclaration
	KindEnumDeclaration            = ast.KindEnumDeclaration
	KindModuleDeclaration          = ast.KindModuleDeclaration
	KindModuleBlock                = ast.KindModuleBlock
	KindCaseBlock                  = ast.KindCaseBlock
	KindNamespaceExportDeclaration = ast.KindNamespaceExportDeclaration
	KindImportEqualsDeclaration    = ast.KindImportEqualsDeclaration
	KindImportDeclaration          = ast.KindImportDeclaration
	KindImportClause               = ast.KindImportClause
	KindNamespaceImport            = ast.KindNamespaceImport
	KindNamedImports               = ast.KindNamedImports
	KindImportSpecifier            = ast.KindImportSpecifier
	KindExportAssignment           = ast.KindExportAssignment
	KindExportDeclaration          = ast.KindExportDeclaration
	KindNamedExports               = ast.KindNamedExports
	KindNamespaceExport            = ast.KindNamespaceExport
	KindExportSpecifier            = ast.KindExportSpecifier
	KindMissingDeclaration         = ast.KindMissingDeclaration
	// Module references
	KindExternalModuleReference = ast.KindExternalModuleReference
	// JSX
	KindJsxElement            = ast.KindJsxElement
	KindJsxSelfClosingElement = ast.KindJsxSelfClosingElement
	KindJsxOpeningElement     = ast.KindJsxOpeningElement
	KindJsxClosingElement     = ast.KindJsxClosingElement
	KindJsxFragment           = ast.KindJsxFragment
	KindJsxOpeningFragment    = ast.KindJsxOpeningFragment
	KindJsxClosingFragment    = ast.KindJsxClosingFragment
	KindJsxAttribute          = ast.KindJsxAttribute
	KindJsxAttributes         = ast.KindJsxAttributes
	KindJsxSpreadAttribute    = ast.KindJsxSpreadAttribute
	KindJsxExpression         = ast.KindJsxExpression
	KindJsxNamespacedName     = ast.KindJsxNamespacedName
	// Clauses
	KindCaseClause     = ast.KindCaseClause
	KindDefaultClause  = ast.KindDefaultClause
	KindHeritageClause = ast.KindHeritageClause
	KindCatchClause    = ast.KindCatchClause
	// Import attributes
	KindImportAttributes = ast.KindImportAttributes
	KindImportAttribute  = ast.KindImportAttribute
	// Property assignments
	KindPropertyAssignment          = ast.KindPropertyAssignment
	KindShorthandPropertyAssignment = ast.KindShorthandPropertyAssignment
	KindSpreadAssignment            = ast.KindSpreadAssignment
	// Enum
	KindEnumMember = ast.KindEnumMember
	// Top-level nodes
	KindSourceFile = ast.KindSourceFile
	// JSDoc nodes
	KindJSDocTypeExpression  = ast.KindJSDocTypeExpression
	KindJSDocNameReference   = ast.KindJSDocNameReference
	KindJSDocMemberName      = ast.KindJSDocMemberName // C#p
	KindJSDocAllType         = ast.KindJSDocAllType    // The * type
	KindJSDocNullableType    = ast.KindJSDocNullableType
	KindJSDocNonNullableType = ast.KindJSDocNonNullableType
	KindJSDocOptionalType    = ast.KindJSDocOptionalType
	KindJSDocVariadicType    = ast.KindJSDocVariadicType
	KindJSDoc                = ast.KindJSDoc
	KindJSDocText            = ast.KindJSDocText
	KindJSDocTypeLiteral     = ast.KindJSDocTypeLiteral
	KindJSDocSignature       = ast.KindJSDocSignature
	KindJSDocLink            = ast.KindJSDocLink
	KindJSDocLinkCode        = ast.KindJSDocLinkCode
	KindJSDocLinkPlain       = ast.KindJSDocLinkPlain
	KindJSDocTag             = ast.KindJSDocTag
	KindJSDocAugmentsTag     = ast.KindJSDocAugmentsTag
	KindJSDocImplementsTag   = ast.KindJSDocImplementsTag
	KindJSDocDeprecatedTag   = ast.KindJSDocDeprecatedTag
	KindJSDocPublicTag       = ast.KindJSDocPublicTag
	KindJSDocPrivateTag      = ast.KindJSDocPrivateTag
	KindJSDocProtectedTag    = ast.KindJSDocProtectedTag
	KindJSDocReadonlyTag     = ast.KindReadonlyTag
	KindJSDocOverrideTag     = ast.KindJSDocOverrideTag
	KindJSDocCallbackTag     = ast.KindJSDocCallbackTag
	KindJSDocOverloadTag     = ast.KindJSDocOverloadTag
	KindJSDocParameterTag    = ast.KindJSDocParameterTag
	KindJSDocReturnTag       = ast.KindJSDocReturnTag
	KindJSDocThisTag         = ast.KindJSDocThisTag
	KindJSDocTypeTag         = ast.KindJSDocTypeTag
	KindJSDocTemplateTag     = ast.KindJSDocTemplateTag
	KindJSDocTypedefTag      = ast.KindJSDocTypedefTag
	KindJSDocSeeTag          = ast.KindJSDocSeeTag
	KindJSDocPropertyTag     = ast.KindJSDocPropertyTag
	KindJSDocSatisfiesTag    = ast.KindJSDocSatisfiesTag
	KindJSDocImportTag       = ast.KindJSDocImportTag
	// Synthesized list
	KindSyntaxList = ast.KindSyntaxList
	// Reparsed JS nodes
	KindJSTypeAliasDeclaration = ast.KindJSTypeAliasDeclaration
	KindJSExportAssignment     = ast.KindJSExportAssignment
	KindCommonJSExport         = ast.KindCommonJSExport
	KindJSImportDeclaration    = ast.KindJSImportDeclaration
	// Transformation nodes
	KindNotEmittedStatement          = ast.KindNotEmittedStatement
	KindPartiallyEmittedExpression   = ast.KindPartiallyEmittedExpression
	KindCommaListExpression          = ast.KindCommaListExpression
	KindSyntheticReferenceExpression = ast.KindSyntheticReferenceExpression
	KindNotEmittedTypeElement        = ast.KindNotEmittedTypeElement
	// Enum value count
	KindCount = ast.KindCount
	// Markers
	KindFirstAssignment         = ast.KindFirstAssignment
	KindLastAssignment          = ast.KindLastAssignment
	KindFirstCompoundAssignment = ast.KindFirstCompoundAssignment
	KindLastCompoundAssignment  = ast.KindLastCompoundAssignment
	KindFirstReservedWord       = ast.KindFirstReservedWord
	KindLastReservedWord        = ast.KindLastReservedWord
	KindFirstKeyword            = ast.KindFirstKeyword
	KindLastKeyword             = ast.KindLastKeyword
	KindFirstFutureReservedWord = ast.KindFirstFutureReservedWord
	KindLastFutureReservedWord  = ast.KindLastFutureReservedWord
	KindFirstTypeNode           = ast.KindFirstTypeNode
	KindLastTypeNode            = ast.KindLastTypeNode
	KindFirstPunctuation        = ast.KindFirstPunctuation
	KindLastPunctuation         = ast.KindLastPunctuation
	KindFirstToken              = ast.KindFirstToken
	KindLastToken               = ast.KindLastToken
	KindFirstLiteralToken       = ast.KindFirstLiteralToken
	KindLastLiteralToken        = ast.KindLastLiteralToken
	KindFirstTemplateToken      = ast.KindFirstTemplateToken
	KindLastTemplateToken       = ast.KindLastTemplateToken
	KindFirstBinaryOperator     = ast.KindFirstBinaryOperator
	KindLastBinaryOperator      = ast.KindLastBinaryOperator
	KindFirstStatement          = ast.KindFirstStatement
	KindLastStatement           = ast.KindLastStatement
	KindFirstNode               = ast.KindFirstNode
	KindFirstJSDocNode          = ast.KindFirstJSDocNode
	KindLastJSDocNode           = ast.KindLastJSDocNode
	KindFirstJSDocTagNode       = ast.KindFirstJSDocTagNode
	KindLastJSDocTagNode        = ast.KindLastJSDocTagNode
	KindFirstContextualKeyword  = ast.KindFirstContextualKeyword
	KindLastContextualKeyword   = ast.KindLastContextualKeyword
	KindComment                 = ast.KindComment
	KindFirstTriviaToken        = ast.KindFirstTriviaToken
	KindLastTriviaToken         = ast.KindLastTriviaToken
)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant