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) MakeReadonly()
- 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) MakeReadonly ¶
func (p *Program) MakeReadonly()
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 }