Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Re: #4842
This adds the new Go AST library (written in TypeScript), that will be used to generate Go snippets via the dynamic snippet resolver. The package exists alongside the original Go generator in
generators/go-v2
, just likegenerators/python-v2
.A few things to note:
GoFile
node, which extends theWriter
.Writer
is responsible for managing all Go import statements and aliases (and is accessible by every AST node), whereas theGoFile
is both anAstNode
and aWriter
.Enum
,Field
), but partial implementations are included upfront so that it's easy to fill in the gaps when we rewrite the Go generator in TypeScript.TypeInstantiation
AST node are included in theSnippets.test.ts
.