MCPcopy Index your code
hub / github.com/microsoft/typescript-go / setupChecker

Method setupChecker

internal/api/session.go:490–509  ·  view source on GitHub ↗

setupChecker resolves snapshot, program, and type checker for a project. Callers must defer setup.done() to release the checker.

(ctx context.Context, snapshot SnapshotID, projectHandle ProjectID)

Source from the content-addressed store, hash-verified

488// setupChecker resolves snapshot, program, and type checker for a project.
489// Callers must defer setup.done() to release the checker.
490func (s *Session) setupChecker(ctx context.Context, snapshot SnapshotID, projectHandle ProjectID) (checkerSetup, error) {
491 sd, err := s.getSnapshotData(snapshot)
492 if err != nil {
493 return checkerSetup{}, err
494 }
495
496 program, err := sd.getProgram(projectHandle)
497 if err != nil {
498 return checkerSetup{}, err
499 }
500
501 c, done := program.GetTypeChecker(core.WithCheckerLifetime(ctx, core.CheckerLifetimeAPI))
502 return checkerSetup{
503 sd: sd,
504 program: program,
505 checker: c,
506 done: done,
507 projectID: projectHandle,
508 }, nil
509}
510
511// setupLanguageService creates a LanguageService for the given snapshot/project.
512// Unlike setupChecker, this does NOT acquire a checker from the pool, so callers that

Calls 4

getSnapshotDataMethod · 0.95
WithCheckerLifetimeFunction · 0.92
GetTypeCheckerMethod · 0.80
getProgramMethod · 0.65

Tested by

no test coverage detected