@@ -3,7 +3,6 @@ package incremental
3
3
import (
4
4
"context"
5
5
"maps"
6
- "strings"
7
6
"sync"
8
7
9
8
"github.com/microsoft/typescript-go/internal/ast"
@@ -31,77 +30,37 @@ func (f *fileInfo) ImpliedNodeFormat() core.ResolutionMode { return f.impliedNod
31
30
type FileEmitKind uint32
32
31
33
32
const (
34
- fileEmitKindNone FileEmitKind = 0
35
- fileEmitKindJs FileEmitKind = 1 << 0 // emit js file
36
- fileEmitKindJsMap FileEmitKind = 1 << 1 // emit js.map file
37
- fileEmitKindJsInlineMap FileEmitKind = 1 << 2 // emit inline source map in js file
38
- fileEmitKindDtsErrors FileEmitKind = 1 << 3 // emit dts errors
39
- fileEmitKindDtsEmit FileEmitKind = 1 << 4 // emit d.ts file
40
- fileEmitKindDtsMap FileEmitKind = 1 << 5 // emit d.ts.map file
41
-
42
- fileEmitKindDts = fileEmitKindDtsErrors | fileEmitKindDtsEmit
43
- fileEmitKindAllJs = fileEmitKindJs | fileEmitKindJsMap | fileEmitKindJsInlineMap
44
- fileEmitKindAllDtsEmit = fileEmitKindDtsEmit | fileEmitKindDtsMap
45
- fileEmitKindAllDts = fileEmitKindDts | fileEmitKindDtsMap
46
- fileEmitKindAll = fileEmitKindAllJs | fileEmitKindAllDts
33
+ FileEmitKindNone FileEmitKind = 0
34
+ FileEmitKindJs FileEmitKind = 1 << 0 // emit js file
35
+ FileEmitKindJsMap FileEmitKind = 1 << 1 // emit js.map file
36
+ FileEmitKindJsInlineMap FileEmitKind = 1 << 2 // emit inline source map in js file
37
+ FileEmitKindDtsErrors FileEmitKind = 1 << 3 // emit dts errors
38
+ FileEmitKindDtsEmit FileEmitKind = 1 << 4 // emit d.ts file
39
+ FileEmitKindDtsMap FileEmitKind = 1 << 5 // emit d.ts.map file
40
+
41
+ FileEmitKindDts = FileEmitKindDtsErrors | FileEmitKindDtsEmit
42
+ FileEmitKindAllJs = FileEmitKindJs | FileEmitKindJsMap | FileEmitKindJsInlineMap
43
+ FileEmitKindAllDtsEmit = FileEmitKindDtsEmit | FileEmitKindDtsMap
44
+ FileEmitKindAllDts = FileEmitKindDts | FileEmitKindDtsMap
45
+ FileEmitKindAll = FileEmitKindAllJs | FileEmitKindAllDts
47
46
)
48
47
49
- func (fileEmitKind FileEmitKind ) String () string {
50
- var builder strings.Builder
51
- addFlags := func (flags string ) {
52
- if builder .Len () == 0 {
53
- builder .WriteString (flags )
54
- } else {
55
- builder .WriteString ("|" )
56
- builder .WriteString (flags )
57
- }
58
- }
59
- if fileEmitKind != 0 {
60
- if (fileEmitKind & fileEmitKindJs ) != 0 {
61
- addFlags ("Js" )
62
- }
63
- if (fileEmitKind & fileEmitKindJsMap ) != 0 {
64
- addFlags ("JsMap" )
65
- }
66
- if (fileEmitKind & fileEmitKindJsInlineMap ) != 0 {
67
- addFlags ("JsInlineMap" )
68
- }
69
- if (fileEmitKind & fileEmitKindDts ) == fileEmitKindDts {
70
- addFlags ("Dts" )
71
- } else {
72
- if (fileEmitKind & fileEmitKindDtsEmit ) != 0 {
73
- addFlags ("DtsEmit" )
74
- }
75
- if (fileEmitKind & fileEmitKindDtsErrors ) != 0 {
76
- addFlags ("DtsErrors" )
77
- }
78
- }
79
- if (fileEmitKind & fileEmitKindDtsMap ) != 0 {
80
- addFlags ("DtsMap" )
81
- }
82
- }
83
- if builder .Len () != 0 {
84
- return builder .String ()
85
- }
86
- return "None"
87
- }
88
-
89
48
func GetFileEmitKind (options * core.CompilerOptions ) FileEmitKind {
90
- result := fileEmitKindJs
49
+ result := FileEmitKindJs
91
50
if options .SourceMap .IsTrue () {
92
- result |= fileEmitKindJsMap
51
+ result |= FileEmitKindJsMap
93
52
}
94
53
if options .InlineSourceMap .IsTrue () {
95
- result |= fileEmitKindJsInlineMap
54
+ result |= FileEmitKindJsInlineMap
96
55
}
97
56
if options .GetEmitDeclarations () {
98
- result |= fileEmitKindDts
57
+ result |= FileEmitKindDts
99
58
}
100
59
if options .DeclarationMap .IsTrue () {
101
- result |= fileEmitKindDtsMap
60
+ result |= FileEmitKindDtsMap
102
61
}
103
62
if options .EmitDeclarationOnly .IsTrue () {
104
- result &= fileEmitKindAllDts
63
+ result &= FileEmitKindAllDts
105
64
}
106
65
return result
107
66
}
@@ -114,24 +73,24 @@ func getPendingEmitKindWithOptions(options *core.CompilerOptions, oldOptions *co
114
73
115
74
func getPendingEmitKind (emitKind FileEmitKind , oldEmitKind FileEmitKind ) FileEmitKind {
116
75
if oldEmitKind == emitKind {
117
- return fileEmitKindNone
76
+ return FileEmitKindNone
118
77
}
119
78
if oldEmitKind == 0 || emitKind == 0 {
120
79
return emitKind
121
80
}
122
81
diff := oldEmitKind ^ emitKind
123
- result := fileEmitKindNone
82
+ result := FileEmitKindNone
124
83
// If there is diff in Js emit, pending emit is js emit flags
125
- if (diff & fileEmitKindAllJs ) != 0 {
126
- result |= emitKind & fileEmitKindAllJs
84
+ if (diff & FileEmitKindAllJs ) != 0 {
85
+ result |= emitKind & FileEmitKindAllJs
127
86
}
128
87
// If dts errors pending, add dts errors flag
129
- if (diff & fileEmitKindDtsErrors ) != 0 {
130
- result |= emitKind & fileEmitKindDtsErrors
88
+ if (diff & FileEmitKindDtsErrors ) != 0 {
89
+ result |= emitKind & FileEmitKindDtsErrors
131
90
}
132
91
// If there is diff in Dts emit, pending emit is dts emit flags
133
- if (diff & fileEmitKindAllDtsEmit ) != 0 {
134
- result |= emitKind & fileEmitKindAllDtsEmit
92
+ if (diff & FileEmitKindAllDtsEmit ) != 0 {
93
+ result |= emitKind & FileEmitKindAllDtsEmit
135
94
}
136
95
return result
137
96
}
@@ -447,7 +406,7 @@ func newSnapshotForProgram(program *compiler.Program, oldProgram *Program) *snap
447
406
} else {
448
407
pendingEmitKind = getPendingEmitKindWithOptions (snapshot .options , oldProgram .snapshot .options )
449
408
}
450
- if pendingEmitKind != fileEmitKindNone {
409
+ if pendingEmitKind != FileEmitKindNone {
451
410
// Add all files to affectedFilesPendingEmit since emit changed
452
411
for _ , file := range files {
453
412
// Add to affectedFilesPending emit only if not changed since any changed file will do full emit
0 commit comments