Documentation
¶
Index ¶
- type Parser
- func (*Parser) IsSemanticInput(path string) bool
- func (*Parser) Language() string
- func (p *Parser) Parse(ctx context.Context, input parserapi.Input) (graph.ParseResult, error)
- func (p *Parser) ResolutionMetrics() ResolutionMetrics
- func (*Parser) SemanticAffectedPaths(allPaths, changedPaths []string) []string
- func (*Parser) Supports(path string) bool
- func (*Parser) WorkspaceSemanticEvidenceKey(context.Context, parserapi.Input) (string, error)
- func (p *Parser) WorkspaceSemanticKey(ctx context.Context, input parserapi.Input) (string, error)
- type ResolutionMetrics
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
func (*Parser) IsSemanticInput ¶
func (*Parser) ResolutionMetrics ¶
func (p *Parser) ResolutionMetrics() ResolutionMetrics
func (*Parser) SemanticAffectedPaths ¶
SemanticAffectedPaths reparses every TypeScript module when the package or compiler manifests change, because those select module resolution repository wide. A module edit is not expanded here: anything in it that another module can resolve through already changes the workspace semantic key, and therefore every module's incremental cache key.
func (*Parser) WorkspaceSemanticEvidenceKey ¶
func (*Parser) WorkspaceSemanticKey ¶
WorkspaceSemanticKey fingerprints only the repository-wide TypeScript facts that change how an otherwise untouched module extracts: the package and compiler manifests in full, and the resolution surface - module identity, local declarations, and exports - of every tracked module. A statement body cannot change how another module resolves, so it is excluded.