 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- func ComputeHash(text string, hashWithText bool) string
- func GetMTime(host compiler.CompilerHost, fileName string) time.Time
- type BuildInfo
- func (b *BuildInfo) GetBuildInfoRootInfoReader(buildInfoDirectory string, comparePathOptions tspath.ComparePathsOptions) *BuildInfoRootInfoReader
- func (b *BuildInfo) GetCompilerOptions(buildInfoDirectory string) *core.CompilerOptions
- func (b *BuildInfo) IsEmitPending(resolved *tsoptions.ParsedCommandLine, buildInfoDirectory string) bool
- func (b *BuildInfo) IsIncremental() bool
- func (b *BuildInfo) IsValidVersion() bool
 
- type BuildInfoDiagnostic
- type BuildInfoDiagnosticsOfFile
- type BuildInfoEmitSignature
- type BuildInfoFileId
- type BuildInfoFileIdListId
- type BuildInfoFileInfo
- type BuildInfoFilePendingEmit
- type BuildInfoReader
- type BuildInfoReferenceMapEntry
- type BuildInfoResolvedRoot
- type BuildInfoRoot
- type BuildInfoRootInfoReader
- type BuildInfoSemanticDiagnostic
- type FileEmitKind
- type Host
- type Program
- func (p *Program) Emit(ctx context.Context, options compiler.EmitOptions) *compiler.EmitResult
- func (p *Program) GetBindDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
- func (p *Program) GetConfigFileParsingDiagnostics() []*ast.Diagnostic
- func (p *Program) GetDeclarationDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
- func (p *Program) GetGlobalDiagnostics(ctx context.Context) []*ast.Diagnostic
- func (p *Program) GetOptionsDiagnostics(ctx context.Context) []*ast.Diagnostic
- func (p *Program) GetProgram() *compiler.Program
- func (p *Program) GetProgramDiagnostics() []*ast.Diagnostic
- func (p *Program) GetSemanticDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
- func (p *Program) GetSourceFiles() []*ast.SourceFile
- func (p *Program) GetSyntacticDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
- func (p *Program) GetTestingData() *TestingData
- func (p *Program) HasChangedDtsFile() bool
- func (p *Program) Options() *core.CompilerOptions
 
- type SignatureUpdateKind
- type TestingData
Constants ¶
const ( FileEmitKindNone FileEmitKind = 0 FileEmitKindJs FileEmitKind = 1 << 0 // emit js file FileEmitKindJsMap FileEmitKind = 1 << 1 // emit js.map file FileEmitKindJsInlineMap FileEmitKind = 1 << 2 // emit inline source map in js file FileEmitKindDtsErrors FileEmitKind = 1 << 3 // emit dts errors FileEmitKindDtsEmit FileEmitKind = 1 << 4 // emit d.ts file FileEmitKindDtsMap FileEmitKind = 1 << 5 // emit d.ts.map file FileEmitKindDts = FileEmitKindDtsErrors | FileEmitKindDtsEmit FileEmitKindAllJs = FileEmitKindJs | FileEmitKindJsMap | FileEmitKindJsInlineMap FileEmitKindAllDtsEmit = FileEmitKindDtsEmit | FileEmitKindDtsMap FileEmitKindAllDts = FileEmitKindDts | FileEmitKindDtsMap FileEmitKindAll = FileEmitKindAllJs | FileEmitKindAllDts )
Variables ¶
This section is empty.
Functions ¶
func ComputeHash ¶
Types ¶
type BuildInfo ¶
type BuildInfo struct {
	Version string `json:"version,omitzero"`
	// Common between incremental and tsc -b buildinfo for non incremental programs
	Errors       bool             `json:"errors,omitzero"`
	CheckPending bool             `json:"checkPending,omitzero"`
	Root         []*BuildInfoRoot `json:"root,omitzero"`
	// IncrementalProgram info
	FileNames                  []string                             `json:"fileNames,omitzero"`
	FileInfos                  []*BuildInfoFileInfo                 `json:"fileInfos,omitzero"`
	FileIdsList                [][]BuildInfoFileId                  `json:"fileIdsList,omitzero"`
	Options                    *collections.OrderedMap[string, any] `json:"options,omitzero"`
	ReferencedMap              []*BuildInfoReferenceMapEntry        `json:"referencedMap,omitzero"`
	SemanticDiagnosticsPerFile []*BuildInfoSemanticDiagnostic       `json:"semanticDiagnosticsPerFile,omitzero"`
	EmitDiagnosticsPerFile     []*BuildInfoDiagnosticsOfFile        `json:"emitDiagnosticsPerFile,omitzero"`
	ChangeFileSet              []BuildInfoFileId                    `json:"changeFileSet,omitzero"`
	AffectedFilesPendingEmit   []*BuildInfoFilePendingEmit          `json:"affectedFilesPendingEmit,omitzero"`
	LatestChangedDtsFile       string                               `json:"latestChangedDtsFile,omitzero"` // Because this is only output file in the program, we dont need fileId to deduplicate name
	EmitSignatures             []*BuildInfoEmitSignature            `json:"emitSignatures,omitzero"`
	ResolvedRoot               []*BuildInfoResolvedRoot             `json:"resolvedRoot,omitzero"`
	// NonIncrementalProgram info
	SemanticErrors bool `json:"semanticErrors,omitzero"`
}
    func (*BuildInfo) GetBuildInfoRootInfoReader ¶
func (b *BuildInfo) GetBuildInfoRootInfoReader(buildInfoDirectory string, comparePathOptions tspath.ComparePathsOptions) *BuildInfoRootInfoReader
func (*BuildInfo) GetCompilerOptions ¶
func (b *BuildInfo) GetCompilerOptions(buildInfoDirectory string) *core.CompilerOptions
func (*BuildInfo) IsEmitPending ¶
func (b *BuildInfo) IsEmitPending(resolved *tsoptions.ParsedCommandLine, buildInfoDirectory string) bool
func (*BuildInfo) IsIncremental ¶
func (*BuildInfo) IsValidVersion ¶
type BuildInfoDiagnostic ¶
type BuildInfoDiagnostic struct {
	// BuildInfoFileId if it is for a File thats other than its stored for
	File               BuildInfoFileId        `json:"file,omitzero"`
	NoFile             bool                   `json:"noFile,omitzero"`
	Pos                int                    `json:"pos,omitzero"`
	End                int                    `json:"end,omitzero"`
	Code               int32                  `json:"code,omitzero"`
	Category           diagnostics.Category   `json:"category,omitzero"`
	Message            string                 `json:"message,omitzero"`
	MessageChain       []*BuildInfoDiagnostic `json:"messageChain,omitzero"`
	RelatedInformation []*BuildInfoDiagnostic `json:"relatedInformation,omitzero"`
	ReportsUnnecessary bool                   `json:"reportsUnnecessary,omitzero"`
	ReportsDeprecated  bool                   `json:"reportsDeprecated,omitzero"`
	SkippedOnNoEmit    bool                   `json:"skippedOnNoEmit,omitzero"`
}
    type BuildInfoDiagnosticsOfFile ¶
type BuildInfoDiagnosticsOfFile struct {
	FileId      BuildInfoFileId
	Diagnostics []*BuildInfoDiagnostic
}
    func (*BuildInfoDiagnosticsOfFile) MarshalJSON ¶
func (b *BuildInfoDiagnosticsOfFile) MarshalJSON() ([]byte, error)
func (*BuildInfoDiagnosticsOfFile) UnmarshalJSON ¶
func (b *BuildInfoDiagnosticsOfFile) UnmarshalJSON(data []byte) error
type BuildInfoEmitSignature ¶
type BuildInfoEmitSignature struct {
	FileId              BuildInfoFileId
	Signature           string // Signature if it is different from file's Signature
	DiffersOnlyInDtsMap bool   // true if signature is different only in dtsMap value
	DiffersInOptions    bool   // true if signature is different in options used to emit file
}
    [fileId, signature] if different from file's signature fileId if file wasnt emitted
func (*BuildInfoEmitSignature) MarshalJSON ¶
func (b *BuildInfoEmitSignature) MarshalJSON() ([]byte, error)
func (*BuildInfoEmitSignature) UnmarshalJSON ¶
func (b *BuildInfoEmitSignature) UnmarshalJSON(data []byte) error
type BuildInfoFileId ¶
type BuildInfoFileId int
type BuildInfoFileIdListId ¶
type BuildInfoFileIdListId int
type BuildInfoFileInfo ¶
type BuildInfoFileInfo struct {
	// contains filtered or unexported fields
}
    func (*BuildInfoFileInfo) GetFileInfo ¶
func (b *BuildInfoFileInfo) GetFileInfo() *fileInfo
func (*BuildInfoFileInfo) HasSignature ¶
func (b *BuildInfoFileInfo) HasSignature() bool
func (*BuildInfoFileInfo) MarshalJSON ¶
func (b *BuildInfoFileInfo) MarshalJSON() ([]byte, error)
func (*BuildInfoFileInfo) UnmarshalJSON ¶
func (b *BuildInfoFileInfo) UnmarshalJSON(data []byte) error
type BuildInfoFilePendingEmit ¶
type BuildInfoFilePendingEmit struct {
	FileId   BuildInfoFileId
	EmitKind FileEmitKind
}
    fileId if pending emit is same as what compilerOptions suggest [fileId] if pending emit is only dts file emit [fileId, emitKind] if any other type emit is pending
func (*BuildInfoFilePendingEmit) MarshalJSON ¶
func (b *BuildInfoFilePendingEmit) MarshalJSON() ([]byte, error)
func (*BuildInfoFilePendingEmit) UnmarshalJSON ¶
func (b *BuildInfoFilePendingEmit) UnmarshalJSON(data []byte) error
type BuildInfoReader ¶
type BuildInfoReader interface {
	ReadBuildInfo(config *tsoptions.ParsedCommandLine) *BuildInfo
}
    func NewBuildInfoReader ¶
func NewBuildInfoReader( host compiler.CompilerHost, ) BuildInfoReader
type BuildInfoReferenceMapEntry ¶
type BuildInfoReferenceMapEntry struct {
	FileId       BuildInfoFileId
	FileIdListId BuildInfoFileIdListId
}
    func (*BuildInfoReferenceMapEntry) MarshalJSON ¶
func (b *BuildInfoReferenceMapEntry) MarshalJSON() ([]byte, error)
func (*BuildInfoReferenceMapEntry) UnmarshalJSON ¶
func (b *BuildInfoReferenceMapEntry) UnmarshalJSON(data []byte) error
type BuildInfoResolvedRoot ¶
type BuildInfoResolvedRoot struct {
	Resolved BuildInfoFileId
	Root     BuildInfoFileId
}
    func (*BuildInfoResolvedRoot) MarshalJSON ¶
func (b *BuildInfoResolvedRoot) MarshalJSON() ([]byte, error)
func (*BuildInfoResolvedRoot) UnmarshalJSON ¶
func (b *BuildInfoResolvedRoot) UnmarshalJSON(data []byte) error
type BuildInfoRoot ¶
type BuildInfoRoot struct {
	Start          BuildInfoFileId
	End            BuildInfoFileId
	NonIncremental string // Root of a non incremental program
}
    buildInfoRoot is - for incremental program buildinfo
- start and end of FileId for consecutive fileIds to be included as root
- start - single fileId that is root
- for non incremental program buildinfo
- string that is the root file name
func (*BuildInfoRoot) MarshalJSON ¶
func (b *BuildInfoRoot) MarshalJSON() ([]byte, error)
func (*BuildInfoRoot) UnmarshalJSON ¶
func (b *BuildInfoRoot) UnmarshalJSON(data []byte) error
type BuildInfoRootInfoReader ¶
type BuildInfoRootInfoReader struct {
	// contains filtered or unexported fields
}
    func (*BuildInfoRootInfoReader) GetBuildInfoFileInfo ¶
func (b *BuildInfoRootInfoReader) GetBuildInfoFileInfo(inputFilePath tspath.Path) (*BuildInfoFileInfo, tspath.Path)
type BuildInfoSemanticDiagnostic ¶
type BuildInfoSemanticDiagnostic struct {
	FileId      BuildInfoFileId             // File is not in changedSet and still doesnt have cached diagnostics
	Diagnostics *BuildInfoDiagnosticsOfFile // Diagnostics for file
}
    func (*BuildInfoSemanticDiagnostic) MarshalJSON ¶
func (b *BuildInfoSemanticDiagnostic) MarshalJSON() ([]byte, error)
func (*BuildInfoSemanticDiagnostic) UnmarshalJSON ¶
func (b *BuildInfoSemanticDiagnostic) UnmarshalJSON(data []byte) error
type FileEmitKind ¶
type FileEmitKind uint32
func GetFileEmitKind ¶
func GetFileEmitKind(options *core.CompilerOptions) FileEmitKind
type Host ¶
type Host interface {
	GetMTime(fileName string) time.Time
	SetMTime(fileName string, mTime time.Time) error
}
    func CreateHost ¶
func CreateHost(compilerHost compiler.CompilerHost) Host
type Program ¶
type Program struct {
	// contains filtered or unexported fields
}
    func NewProgram ¶
func ReadBuildInfoProgram ¶
func ReadBuildInfoProgram(config *tsoptions.ParsedCommandLine, reader BuildInfoReader, host compiler.CompilerHost) *Program
func (*Program) Emit ¶
func (p *Program) Emit(ctx context.Context, options compiler.EmitOptions) *compiler.EmitResult
GetModeForUsageLocation implements compiler.AnyProgram interface.
func (*Program) GetBindDiagnostics ¶
func (p *Program) GetBindDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
GetBindDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetConfigFileParsingDiagnostics ¶
func (p *Program) GetConfigFileParsingDiagnostics() []*ast.Diagnostic
GetConfigFileParsingDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetDeclarationDiagnostics ¶
func (p *Program) GetDeclarationDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
GetDeclarationDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetGlobalDiagnostics ¶
func (p *Program) GetGlobalDiagnostics(ctx context.Context) []*ast.Diagnostic
func (*Program) GetOptionsDiagnostics ¶
func (p *Program) GetOptionsDiagnostics(ctx context.Context) []*ast.Diagnostic
GetOptionsDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetProgram ¶
func (*Program) GetProgramDiagnostics ¶
func (p *Program) GetProgramDiagnostics() []*ast.Diagnostic
func (*Program) GetSemanticDiagnostics ¶
func (p *Program) GetSemanticDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
GetSemanticDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetSourceFiles ¶
func (p *Program) GetSourceFiles() []*ast.SourceFile
GetSourceFiles implements compiler.AnyProgram interface.
func (*Program) GetSyntacticDiagnostics ¶
func (p *Program) GetSyntacticDiagnostics(ctx context.Context, file *ast.SourceFile) []*ast.Diagnostic
GetSyntacticDiagnostics implements compiler.AnyProgram interface.
func (*Program) GetTestingData ¶
func (p *Program) GetTestingData() *TestingData
func (*Program) HasChangedDtsFile ¶
func (*Program) Options ¶
func (p *Program) Options() *core.CompilerOptions
Options implements compiler.AnyProgram interface.
type SignatureUpdateKind ¶
type SignatureUpdateKind byte
const ( SignatureUpdateKindComputedDts SignatureUpdateKind = iota SignatureUpdateKindStoredAtEmit SignatureUpdateKindUsedVersion )
type TestingData ¶
type TestingData struct {
	SemanticDiagnosticsPerFile           *collections.SyncMap[tspath.Path, *diagnosticsOrBuildInfoDiagnosticsWithFileName]
	OldProgramSemanticDiagnosticsPerFile *collections.SyncMap[tspath.Path, *diagnosticsOrBuildInfoDiagnosticsWithFileName]
	UpdatedSignatureKinds                map[tspath.Path]SignatureUpdateKind
}