ttsc 0.7.2 → 0.8.0-dev.20260505
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/cmd/platform/main.go +86 -76
- package/cmd/ttsc/api_compile.go +122 -105
- package/cmd/ttsc/api_transform.go +57 -49
- package/cmd/ttsc/build.go +116 -103
- package/cmd/ttsc/main.go +117 -117
- package/cmd/ttsc/main_test.go +191 -191
- package/driver/host.go +9 -9
- package/driver/program.go +285 -285
- package/driver/rewrite.go +266 -219
- package/lib/compiler/internal/compileProjectInMemory.js +3 -3
- package/lib/compiler/internal/compileProjectInMemory.js.map +1 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.js +2 -1
- package/lib/compiler/internal/resolveEmittedJavaScript.js.map +1 -1
- package/lib/compiler/internal/resolveTsgo.js.map +1 -1
- package/lib/compiler/internal/runBuild.js +47 -49
- package/lib/compiler/internal/runBuild.js.map +1 -1
- package/lib/compiler/internal/transformProjectInMemory.js +44 -4
- package/lib/compiler/internal/transformProjectInMemory.js.map +1 -1
- package/lib/launcher/internal/getCompilerVersionText.js +1 -2
- package/lib/launcher/internal/getCompilerVersionText.js.map +1 -1
- package/lib/launcher/internal/prepareExecution.js +6 -4
- package/lib/launcher/internal/prepareExecution.js.map +1 -1
- package/lib/launcher/internal/runTtsc.js +49 -5
- package/lib/launcher/internal/runTtsc.js.map +1 -1
- package/lib/launcher/internal/runTtsx.js +7 -2
- package/lib/launcher/internal/runTtsx.js.map +1 -1
- package/lib/plugin/internal/buildSourcePlugin.js +6 -0
- package/lib/plugin/internal/buildSourcePlugin.js.map +1 -1
- package/lib/plugin/internal/loadProjectPlugins.js +55 -2
- package/lib/plugin/internal/loadProjectPlugins.js.map +1 -1
- package/lib/structures/ITtscPlugin.d.ts +19 -3
- package/lib/structures/ITtscPlugin.js +4 -0
- package/lib/structures/ITtscPlugin.js.map +1 -1
- package/lib/structures/TtscPluginStage.d.ts +4 -10
- package/lib/structures/internal/ITtscLoadedNativePlugin.d.ts +5 -0
- package/package.json +11 -10
- package/shim/ast/lint.go +172 -171
- package/shim/ast/shim.go +84 -83
- package/shim/bundled/shim.go +5 -1
- package/shim/checker/shim.go +79 -79
- package/shim/compiler/emit_hooks.go +494 -0
- package/shim/compiler/shim.go +16 -1
- package/shim/core/shim.go +13 -10
- package/shim/diagnosticwriter/lint.go +79 -79
- package/shim/diagnosticwriter/shim.go +19 -19
- package/shim/parser/shim.go +7 -1
- package/shim/scanner/shim.go +39 -1
- package/shim/tsoptions/shim.go +51 -1
- package/shim/tspath/shim.go +72 -1
- package/shim/vfs/cachedvfs/shim.go +1 -1
- package/shim/vfs/osvfs/shim.go +1 -1
- package/shim/vfs/shim.go +4 -1
- package/src/compiler/internal/compileProjectInMemory.ts +6 -3
- package/src/compiler/internal/resolveEmittedJavaScript.ts +2 -1
- package/src/compiler/internal/resolveTsgo.ts +0 -1
- package/src/compiler/internal/runBuild.ts +58 -86
- package/src/compiler/internal/transformProjectInMemory.ts +51 -6
- package/src/launcher/internal/getCompilerVersionText.ts +1 -2
- package/src/launcher/internal/prepareExecution.ts +6 -6
- package/src/launcher/internal/runTtsc.ts +52 -5
- package/src/launcher/internal/runTtsx.ts +16 -5
- package/src/plugin/internal/buildSourcePlugin.ts +30 -2
- package/src/plugin/internal/loadProjectPlugins.ts +81 -2
- package/src/structures/ITtscPlugin.ts +30 -3
- package/src/structures/TtscPluginStage.ts +4 -10
- package/src/structures/internal/ITtscLoadedNativePlugin.ts +5 -0
- package/test/compiler.test.ts +3 -3
- package/test/platform.test.ts +1 -3
- package/test/tsgo.test.ts +15 -7
- package/tools/gen_shims/main.go +409 -409
- package/utility/host.go +707 -0
package/shim/checker/shim.go
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
package checker
|
|
2
2
|
|
|
3
3
|
import (
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
innerast "github.com/microsoft/typescript-go/internal/ast"
|
|
5
|
+
innerchecker "github.com/microsoft/typescript-go/internal/checker"
|
|
6
|
+
_ "unsafe"
|
|
7
7
|
)
|
|
8
8
|
|
|
9
9
|
type Checker = innerchecker.Checker
|
|
@@ -16,151 +16,151 @@ type ObjectFlags = innerchecker.ObjectFlags
|
|
|
16
16
|
type ElementFlags = innerchecker.ElementFlags
|
|
17
17
|
|
|
18
18
|
const (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
19
|
+
SignatureKindCall = innerchecker.SignatureKindCall
|
|
20
|
+
|
|
21
|
+
TypeFlagsAny = innerchecker.TypeFlagsAny
|
|
22
|
+
TypeFlagsUnknown = innerchecker.TypeFlagsUnknown
|
|
23
|
+
TypeFlagsUndefined = innerchecker.TypeFlagsUndefined
|
|
24
|
+
TypeFlagsNull = innerchecker.TypeFlagsNull
|
|
25
|
+
TypeFlagsVoid = innerchecker.TypeFlagsVoid
|
|
26
|
+
TypeFlagsNever = innerchecker.TypeFlagsNever
|
|
27
|
+
TypeFlagsObject = innerchecker.TypeFlagsObject
|
|
28
|
+
TypeFlagsTemplateLiteral = innerchecker.TypeFlagsTemplateLiteral
|
|
29
|
+
TypeFlagsStringMapping = innerchecker.TypeFlagsStringMapping
|
|
30
|
+
TypeFlagsUnion = innerchecker.TypeFlagsUnion
|
|
31
|
+
TypeFlagsIntersection = innerchecker.TypeFlagsIntersection
|
|
32
|
+
TypeFlagsLiteral = innerchecker.TypeFlagsLiteral
|
|
33
|
+
TypeFlagsStringLiteral = innerchecker.TypeFlagsStringLiteral
|
|
34
|
+
TypeFlagsNumberLiteral = innerchecker.TypeFlagsNumberLiteral
|
|
35
|
+
TypeFlagsBigIntLiteral = innerchecker.TypeFlagsBigIntLiteral
|
|
36
|
+
TypeFlagsBooleanLiteral = innerchecker.TypeFlagsBooleanLiteral
|
|
37
|
+
TypeFlagsStringLike = innerchecker.TypeFlagsStringLike
|
|
38
|
+
TypeFlagsNumberLike = innerchecker.TypeFlagsNumberLike
|
|
39
|
+
TypeFlagsBigIntLike = innerchecker.TypeFlagsBigIntLike
|
|
40
|
+
TypeFlagsBooleanLike = innerchecker.TypeFlagsBooleanLike
|
|
41
|
+
|
|
42
|
+
ObjectFlagsReference = innerchecker.ObjectFlagsReference
|
|
43
|
+
ObjectFlagsClass = innerchecker.ObjectFlagsClass
|
|
44
|
+
ObjectFlagsInterface = innerchecker.ObjectFlagsInterface
|
|
45
|
+
ObjectFlagsClassOrInterface = innerchecker.ObjectFlagsClassOrInterface
|
|
46
|
+
|
|
47
|
+
ElementFlagsNone = innerchecker.ElementFlagsNone
|
|
48
|
+
ElementFlagsRequired = innerchecker.ElementFlagsRequired
|
|
49
|
+
ElementFlagsOptional = innerchecker.ElementFlagsOptional
|
|
50
|
+
ElementFlagsRest = innerchecker.ElementFlagsRest
|
|
51
|
+
ElementFlagsVariadic = innerchecker.ElementFlagsVariadic
|
|
52
52
|
)
|
|
53
53
|
|
|
54
54
|
func IsTupleType(t *innerchecker.Type) bool {
|
|
55
|
-
|
|
55
|
+
return innerchecker.IsTupleType(t)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
func Checker_getIndexInfosOfType(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.IndexInfo {
|
|
59
|
-
|
|
59
|
+
return recv.GetIndexInfosOfType(t)
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
func Checker_getPropertiesOfType(recv *innerchecker.Checker, t *innerchecker.Type) []*innerast.Symbol {
|
|
63
|
-
|
|
63
|
+
return recv.GetPropertiesOfType(t)
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
func Checker_getApparentProperties(recv *innerchecker.Checker, t *innerchecker.Type) []*innerast.Symbol {
|
|
67
|
-
|
|
67
|
+
return recv.GetApparentProperties(t)
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
func Checker_getTypeArguments(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type {
|
|
71
|
-
|
|
71
|
+
return recv.GetTypeArguments(t)
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
func Checker_getTypeOfSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerchecker.Type {
|
|
75
|
-
|
|
75
|
+
return recv.GetTypeOfSymbol(symbol)
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
func Checker_getTypeOfSymbolAtLocation(recv *innerchecker.Checker, symbol *innerast.Symbol, node *innerast.Node) *innerchecker.Type {
|
|
79
|
-
|
|
79
|
+
return recv.GetTypeOfSymbolAtLocation(symbol, node)
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
func Checker_getTypeOfPropertyOfType(recv *innerchecker.Checker, t *innerchecker.Type, name string) *innerchecker.Type {
|
|
83
|
-
|
|
83
|
+
return recv.GetTypeOfPropertyOfType(t, name)
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
//go:linkname checkerGetAliasSymbolForTypeNode github.com/microsoft/typescript-go/internal/checker.(*Checker).getAliasSymbolForTypeNode
|
|
87
87
|
func checkerGetAliasSymbolForTypeNode(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol
|
|
88
88
|
|
|
89
89
|
func Checker_getAliasSymbolForTypeNode(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol {
|
|
90
|
-
|
|
90
|
+
return checkerGetAliasSymbolForTypeNode(recv, node)
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
//go:linkname checkerGetDeclarationOfAliasSymbol github.com/microsoft/typescript-go/internal/checker.(*Checker).getDeclarationOfAliasSymbol
|
|
94
94
|
func checkerGetDeclarationOfAliasSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Node
|
|
95
95
|
|
|
96
96
|
func Checker_getDeclarationOfAliasSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Node {
|
|
97
|
-
|
|
97
|
+
return checkerGetDeclarationOfAliasSymbol(recv, symbol)
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
//go:linkname checkerGetTargetOfImportSpecifier github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetOfImportSpecifier
|
|
101
101
|
func checkerGetTargetOfImportSpecifier(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol
|
|
102
102
|
|
|
103
103
|
func Checker_getTargetOfImportSpecifier(recv *innerchecker.Checker, node *innerast.Node) *innerast.Symbol {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
104
|
+
if recv == nil || node == nil {
|
|
105
|
+
return nil
|
|
106
|
+
}
|
|
107
|
+
return checkerGetTargetOfImportSpecifier(recv, node)
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
func Checker_getAliasedSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Symbol {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
111
|
+
if recv == nil || symbol == nil {
|
|
112
|
+
return nil
|
|
113
|
+
}
|
|
114
|
+
return recv.GetAliasedSymbol(symbol)
|
|
115
115
|
}
|
|
116
116
|
|
|
117
117
|
//go:linkname checkerResolveEntityName github.com/microsoft/typescript-go/internal/checker.(*Checker).resolveEntityName
|
|
118
118
|
func checkerResolveEntityName(
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
119
|
+
recv *innerchecker.Checker,
|
|
120
|
+
name *innerast.Node,
|
|
121
|
+
meaning innerast.SymbolFlags,
|
|
122
|
+
ignoreErrors bool,
|
|
123
|
+
dontResolveAlias bool,
|
|
124
|
+
location *innerast.Node,
|
|
125
125
|
) *innerast.Symbol
|
|
126
126
|
|
|
127
127
|
func Checker_resolveEntityName(
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
128
|
+
recv *innerchecker.Checker,
|
|
129
|
+
name *innerast.Node,
|
|
130
|
+
meaning innerast.SymbolFlags,
|
|
131
|
+
ignoreErrors bool,
|
|
132
|
+
dontResolveAlias bool,
|
|
133
|
+
location *innerast.Node,
|
|
134
134
|
) *innerast.Symbol {
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
if recv == nil || name == nil {
|
|
136
|
+
return nil
|
|
137
|
+
}
|
|
138
|
+
return checkerResolveEntityName(recv, name, meaning, ignoreErrors, dontResolveAlias, location)
|
|
139
139
|
}
|
|
140
140
|
|
|
141
141
|
//go:linkname checkerGetTypeNameSymbol github.com/microsoft/typescript-go/internal/checker.getTypeNameSymbol
|
|
142
142
|
func checkerGetTypeNameSymbol(t *innerchecker.Type) *innerast.Symbol
|
|
143
143
|
|
|
144
144
|
func Type_getTypeNameSymbol(t *innerchecker.Type) *innerast.Symbol {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
if t == nil {
|
|
146
|
+
return nil
|
|
147
|
+
}
|
|
148
|
+
return checkerGetTypeNameSymbol(t)
|
|
149
149
|
}
|
|
150
150
|
|
|
151
151
|
//go:linkname checkerIsArrayType github.com/microsoft/typescript-go/internal/checker.(*Checker).isArrayType
|
|
152
152
|
func checkerIsArrayType(recv *innerchecker.Checker, t *innerchecker.Type) bool
|
|
153
153
|
|
|
154
154
|
func Checker_isArrayType(recv *innerchecker.Checker, t *innerchecker.Type) bool {
|
|
155
|
-
|
|
155
|
+
return checkerIsArrayType(recv, t)
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
//go:linkname checkerGetBaseTypes github.com/microsoft/typescript-go/internal/checker.(*Checker).getBaseTypes
|
|
159
159
|
func checkerGetBaseTypes(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type
|
|
160
160
|
|
|
161
161
|
func Checker_getBaseTypes(recv *innerchecker.Checker, t *innerchecker.Type) []*innerchecker.Type {
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
162
|
+
if recv == nil || t == nil {
|
|
163
|
+
return nil
|
|
164
|
+
}
|
|
165
|
+
return checkerGetBaseTypes(recv, t)
|
|
166
166
|
}
|