@ttsc/wasm 0.19.3 → 0.20.0
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 +4 -2
- package/build/build-wasm.cjs +131 -126
- package/dist/.ttsc-wasm-build.json +319 -0
- package/dist/go.mod +2 -0
- package/dist/ttsc.wasm +0 -0
- package/go.mod +2 -0
- package/host/fountain.go +48 -19
- package/lib/src/createMemFS.d.ts +6 -0
- package/lib/src/createMemFS.js +247 -95
- package/lib/src/createMemFS.js.map +1 -1
- package/lib/src/structures/ITtscApi.d.ts +8 -5
- package/lib/src/structures/ITtscNodeAtPositionResult.d.ts +1 -1
- package/lib/src/structures/ITtscNodeInfo.d.ts +1 -1
- package/lib/src/structures/ITtscPositionQuery.d.ts +4 -2
- package/lib/src/structures/ITtscSymbolAtPositionResult.d.ts +1 -1
- package/lib/src/structures/ITtscTypeAtPositionResult.d.ts +1 -1
- package/lib/src/structures/IWasmExecFS.d.ts +14 -4
- package/package.json +1 -1
- package/shim-vendor/shim/ast/shim.go +48 -3
- package/shim-vendor/shim/astnav/go.mod +14 -0
- package/shim-vendor/shim/astnav/go.sum +20 -0
- package/shim-vendor/shim/astnav/shim.go +15 -0
- package/shim-vendor/shim/checker/shim.go +100 -0
- package/shim-vendor/shim/core/shim.go +47 -0
- package/shim-vendor/shim/diagnosticwriter/lint.go +50 -0
- package/src/createMemFS.ts +264 -103
- package/src/structures/ITtscApi.ts +8 -5
- package/src/structures/ITtscNodeAtPositionResult.ts +1 -1
- package/src/structures/ITtscNodeInfo.ts +1 -1
- package/src/structures/ITtscPositionQuery.ts +4 -2
- package/src/structures/ITtscSymbolAtPositionResult.ts +1 -1
- package/src/structures/ITtscTypeAtPositionResult.ts +1 -1
- package/src/structures/IWasmExecFS.ts +14 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createMemFS.js","sourceRoot":"","sources":["../../src/createMemFS.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"createMemFS.js","sourceRoot":"","sources":["../../src/createMemFS.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,16 +70,19 @@ export interface ITtscApi {
|
|
|
70
70
|
getDiagnostics(opts: ITtscSnapshotHandle & {
|
|
71
71
|
file?: string;
|
|
72
72
|
}): Promise<ITtscResult>;
|
|
73
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* Return the syntax token touching `position` (byte offset), including
|
|
75
|
+
* punctuation. Returns `{node: null}` for whitespace and comments.
|
|
76
|
+
*/
|
|
74
77
|
getNodeAtPosition(opts: ITtscPositionQuery): Promise<ITtscResult>;
|
|
75
78
|
/**
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
+
* Resolve the token at `position` and return the enclosing TypeScript-Go
|
|
80
|
+
* semantic node's printed type string + flags. Returns `{type: null}` when
|
|
81
|
+
* the position has no token or no type-bearing token.
|
|
79
82
|
*/
|
|
80
83
|
getTypeAtPosition(opts: ITtscPositionQuery): Promise<ITtscResult>;
|
|
81
84
|
/**
|
|
82
|
-
* Resolve the symbol the
|
|
85
|
+
* Resolve the symbol the token at `position` refers to, including up to 16
|
|
83
86
|
* declaration sites. Returns `{symbol: null}` when no symbol is bound.
|
|
84
87
|
*/
|
|
85
88
|
getSymbolAtPosition(opts: ITtscPositionQuery): Promise<ITtscResult>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ITtscNodeInfo } from "./ITtscNodeInfo";
|
|
2
2
|
/** Payload inside `ITtscResult.result` for `getNodeAtPosition`. */
|
|
3
3
|
export interface ITtscNodeAtPositionResult {
|
|
4
|
-
/** `null` when no
|
|
4
|
+
/** `null` when no syntax token touches the position. */
|
|
5
5
|
node: ITtscNodeInfo | null;
|
|
6
6
|
}
|
|
@@ -5,8 +5,10 @@ import type { ITtscFileQuery } from "./ITtscFileQuery";
|
|
|
5
5
|
*/
|
|
6
6
|
export interface ITtscPositionQuery extends ITtscFileQuery {
|
|
7
7
|
/**
|
|
8
|
-
* Byte offset into the file's source text.
|
|
9
|
-
*
|
|
8
|
+
* Byte offset into the file's source text. It must satisfy `0 <= position <
|
|
9
|
+
* sourceText's UTF-8 byte length`; the offset immediately after the final
|
|
10
|
+
* byte is out of range. JS callers with a UTF-16 line/character pair must
|
|
11
|
+
* resolve it to a byte offset first.
|
|
10
12
|
*/
|
|
11
13
|
position: number;
|
|
12
14
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ITtscSymbolInfo } from "./ITtscSymbolInfo";
|
|
2
2
|
/** Payload inside `ITtscResult.result` for `getSymbolAtPosition`. */
|
|
3
3
|
export interface ITtscSymbolAtPositionResult {
|
|
4
|
-
/** `null` when
|
|
4
|
+
/** `null` when no touching token has an associated symbol. */
|
|
5
5
|
symbol: ITtscSymbolInfo | null;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ITtscTypeInfo } from "./ITtscTypeInfo";
|
|
2
2
|
/** Payload inside `ITtscResult.result` for `getTypeAtPosition`. */
|
|
3
3
|
export interface ITtscTypeAtPositionResult {
|
|
4
|
-
/** `null` when
|
|
4
|
+
/** `null` when no touching token has a type. */
|
|
5
5
|
type: ITtscTypeInfo | null;
|
|
6
6
|
}
|
|
@@ -36,10 +36,20 @@ export interface IWasmExecFS {
|
|
|
36
36
|
truncate(path: string, length: number, callback: (err: NodeJS.ErrnoException | null) => void): void;
|
|
37
37
|
ftruncate(fd: number, length: number, callback: (err: NodeJS.ErrnoException | null) => void): void;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
39
|
+
* JavaScript-only pipe emulation. Returns two fds: a read end and a write
|
|
40
|
+
* end.
|
|
41
|
+
*
|
|
42
|
+
* Installing this does **not** make Go's wasm `os.Pipe()` work. Under the
|
|
43
|
+
* pinned Go toolchain neither `GOOS=js` nor `GOOS=wasip1` has pipes:
|
|
44
|
+
* `os.Pipe` returns an `ENOSYS` syscall error and `syscall.Pipe` returns
|
|
45
|
+
* `ENOSYS`, and neither one crosses the `globalThis.fs` bridge, so no
|
|
46
|
+
* JavaScript method is ever consulted. A custom Go/wasm host cannot reach
|
|
47
|
+
* this shim.
|
|
48
|
+
*
|
|
49
|
+
* The host captures wasm output without pipes: process-level writes to fd 1
|
|
50
|
+
* and fd 2 land in `stdout.buffer` and `stderr.buffer` through `writeSync`,
|
|
51
|
+
* and a plugin's output is collected by the Go-side `host.InvokePlugin` into
|
|
52
|
+
* invocation-owned in-process buffers.
|
|
43
53
|
*/
|
|
44
54
|
pipe2(flags: number, callback: (err: NodeJS.ErrnoException | null, fds: [number, number]) => void): void;
|
|
45
55
|
}
|
package/package.json
CHANGED
|
@@ -279,6 +279,49 @@ func IsElementAccessExpression(node *Node) bool {
|
|
|
279
279
|
return innerast.IsElementAccessExpression(node)
|
|
280
280
|
}
|
|
281
281
|
|
|
282
|
+
// IsTokenKind reports whether kind represents a lexical syntax token.
|
|
283
|
+
func IsTokenKind(kind Kind) bool {
|
|
284
|
+
return innerast.IsTokenKind(kind)
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// IsExpressionNode reports whether node has expression semantics in its
|
|
288
|
+
// enclosing syntax context.
|
|
289
|
+
func IsExpressionNode(node *Node) bool {
|
|
290
|
+
return innerast.IsExpressionNode(node)
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
// IsTypeDeclaration reports whether node declares a type-level symbol.
|
|
294
|
+
func IsTypeDeclaration(node *Node) bool {
|
|
295
|
+
return innerast.IsTypeDeclaration(node)
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// IsTypeDeclarationName reports whether node is the name of a type-level
|
|
299
|
+
// declaration.
|
|
300
|
+
func IsTypeDeclarationName(node *Node) bool {
|
|
301
|
+
return innerast.IsTypeDeclarationName(node)
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// IsBindingElement reports whether node is one element of a binding pattern.
|
|
305
|
+
func IsBindingElement(node *Node) bool {
|
|
306
|
+
return innerast.IsBindingElement(node)
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// IsDeclaration reports whether node is a declaration syntax node.
|
|
310
|
+
func IsDeclaration(node *Node) bool {
|
|
311
|
+
return innerast.IsDeclaration(node)
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// IsDeclarationNameOrImportPropertyName reports whether node names a
|
|
315
|
+
// declaration or the property side of an import or export specifier.
|
|
316
|
+
func IsDeclarationNameOrImportPropertyName(node *Node) bool {
|
|
317
|
+
return innerast.IsDeclarationNameOrImportPropertyName(node)
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
// IsBindingPattern reports whether node is an object or array binding pattern.
|
|
321
|
+
func IsBindingPattern(node *Node) bool {
|
|
322
|
+
return innerast.IsBindingPattern(node)
|
|
323
|
+
}
|
|
324
|
+
|
|
282
325
|
// GetSourceFileOfNode walks up the parent chain to return the SourceFile that
|
|
283
326
|
// owns the given node. Linked from the internal package via go:linkname because
|
|
284
327
|
// the function is unexported there.
|
|
@@ -286,9 +329,11 @@ func IsElementAccessExpression(node *Node) bool {
|
|
|
286
329
|
//go:linkname GetSourceFileOfNode github.com/microsoft/typescript-go/internal/ast.GetSourceFileOfNode
|
|
287
330
|
func GetSourceFileOfNode(node *innerast.Node) *innerast.SourceFile
|
|
288
331
|
|
|
289
|
-
// GetNodeAtPosition returns the deepest AST node whose range covers
|
|
290
|
-
// in file. When includeJSDoc is true the search descends into JSDoc
|
|
291
|
-
//
|
|
332
|
+
// GetNodeAtPosition returns the deepest non-token AST node whose range covers
|
|
333
|
+
// position in file. When includeJSDoc is true the search descends into JSDoc
|
|
334
|
+
// sub-trees. Cursor-facing callers that need the exact token should use
|
|
335
|
+
// astnav.GetTouchingToken instead. Linked from the internal package via
|
|
336
|
+
// go:linkname.
|
|
292
337
|
//
|
|
293
338
|
//go:linkname GetNodeAtPosition github.com/microsoft/typescript-go/internal/ast.GetNodeAtPosition
|
|
294
339
|
func GetNodeAtPosition(file *innerast.SourceFile, position int, includeJSDoc bool) *innerast.Node
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
module github.com/microsoft/typescript-go/shim/astnav
|
|
2
|
+
|
|
3
|
+
go 1.26
|
|
4
|
+
|
|
5
|
+
require github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157
|
|
6
|
+
|
|
7
|
+
require (
|
|
8
|
+
github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433 // indirect
|
|
9
|
+
github.com/klauspost/cpuid/v2 v2.2.10 // indirect
|
|
10
|
+
github.com/zeebo/xxh3 v1.1.0 // indirect
|
|
11
|
+
golang.org/x/sync v0.20.0 // indirect
|
|
12
|
+
golang.org/x/sys v0.43.0 // indirect
|
|
13
|
+
golang.org/x/text v0.36.0 // indirect
|
|
14
|
+
)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433 h1:vymEbVwYFP/L05h5TKQxvkXoKxNvTpjxYKdF1Nlwuao=
|
|
2
|
+
github.com/go-json-experiment/json v0.0.0-20260214004413-d219187c3433/go.mod h1:tphK2c80bpPhMOI4v6bIc2xWywPfbqi1Z06+RcrMkDg=
|
|
3
|
+
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
|
4
|
+
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
|
5
|
+
github.com/klauspost/cpuid/v2 v2.2.10 h1:tBs3QSyvjDyFTq3uoc/9xFpCuOsJQFNPiAhYdw2skhE=
|
|
6
|
+
github.com/klauspost/cpuid/v2 v2.2.10/go.mod h1:hqwkgyIinND0mEev00jJYCxPNVRVXFQeu1XKlok6oO0=
|
|
7
|
+
github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157 h1:llOMPhKDiQ+UEJiAaQuuWaJOTg5V7tNNTEf9JPWoYSY=
|
|
8
|
+
github.com/microsoft/typescript-go v0.0.0-20260429010842-56ab4af42157/go.mod h1:m8YA0PMC7ti0GW0RI05D6fEcjQeu98XVS+FWF+VDW2k=
|
|
9
|
+
github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
|
|
10
|
+
github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
|
|
11
|
+
github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=
|
|
12
|
+
github.com/zeebo/xxh3 v1.1.0/go.mod h1:IisAie1LELR4xhVinxWS5+zf1lA4p0MW4T+w+W07F5s=
|
|
13
|
+
golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4=
|
|
14
|
+
golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
|
|
15
|
+
golang.org/x/sys v0.43.0 h1:Rlag2XtaFTxp19wS8MXlJwTvoh8ArU6ezoyFsMyCTNI=
|
|
16
|
+
golang.org/x/sys v0.43.0/go.mod h1:4GL1E5IUh+htKOUEOaiffhrAeqysfVGipDYzABqnCmw=
|
|
17
|
+
golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg=
|
|
18
|
+
golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164=
|
|
19
|
+
gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q=
|
|
20
|
+
gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// Package astnav exposes cursor-position traversal helpers from TypeScript-Go.
|
|
2
|
+
package astnav
|
|
3
|
+
|
|
4
|
+
import (
|
|
5
|
+
"github.com/microsoft/typescript-go/internal/ast"
|
|
6
|
+
_ "github.com/microsoft/typescript-go/internal/astnav"
|
|
7
|
+
_ "unsafe"
|
|
8
|
+
)
|
|
9
|
+
|
|
10
|
+
// GetTouchingToken returns the token touching position in sourceFile. When
|
|
11
|
+
// position touches no token, it returns the enclosing non-token node instead;
|
|
12
|
+
// callers that require a token must check ast.IsTokenKind on the result kind.
|
|
13
|
+
//
|
|
14
|
+
//go:linkname GetTouchingToken github.com/microsoft/typescript-go/internal/astnav.GetTouchingToken
|
|
15
|
+
func GetTouchingToken(sourceFile *ast.SourceFile, position int) *ast.Node
|
|
@@ -28,6 +28,106 @@ type ElementFlags = innerchecker.ElementFlags
|
|
|
28
28
|
type Program = innerchecker.Program
|
|
29
29
|
type Tracer = innerchecker.Tracer
|
|
30
30
|
|
|
31
|
+
//go:linkname checkerNewAnonymousType github.com/microsoft/typescript-go/internal/checker.(*Checker).newAnonymousType
|
|
32
|
+
func checkerNewAnonymousType(
|
|
33
|
+
recv *innerchecker.Checker,
|
|
34
|
+
symbol *innerast.Symbol,
|
|
35
|
+
members innerast.SymbolTable,
|
|
36
|
+
callSignatures []*innerchecker.Signature,
|
|
37
|
+
constructSignatures []*innerchecker.Signature,
|
|
38
|
+
indexInfos []*innerchecker.IndexInfo,
|
|
39
|
+
) *innerchecker.Type
|
|
40
|
+
|
|
41
|
+
//go:linkname checkerGetTargetSymbol github.com/microsoft/typescript-go/internal/checker.(*Checker).getTargetSymbol
|
|
42
|
+
func checkerGetTargetSymbol(recv *innerchecker.Checker, symbol *innerast.Symbol) *innerast.Symbol
|
|
43
|
+
|
|
44
|
+
//go:linkname checkerIsPrototypeProperty github.com/microsoft/typescript-go/internal/checker.isPrototypeProperty
|
|
45
|
+
func checkerIsPrototypeProperty(symbol *innerast.Symbol) bool
|
|
46
|
+
|
|
47
|
+
//go:linkname checkerArePropertiesAbstractOrInterface github.com/microsoft/typescript-go/internal/checker.(*Checker).arePropertiesAbstractOrInterface
|
|
48
|
+
func checkerArePropertiesAbstractOrInterface(
|
|
49
|
+
recv *innerchecker.Checker,
|
|
50
|
+
base *innerast.Symbol,
|
|
51
|
+
baseDeclarationFlags innerast.ModifierFlags,
|
|
52
|
+
) bool
|
|
53
|
+
|
|
54
|
+
// Checker_isPropertyAssignableTo asks the upstream assignability relater about
|
|
55
|
+
// exactly one source/target property pair. The anonymous types retain the
|
|
56
|
+
// original property symbols, so propertyRelatedTo still enforces instantiated
|
|
57
|
+
// generic types, overloads, optionality, and private/protected declaration
|
|
58
|
+
// origins without an unrelated sibling member participating in the result.
|
|
59
|
+
func Checker_isPropertyAssignableTo(
|
|
60
|
+
recv *innerchecker.Checker,
|
|
61
|
+
sourceProperty *innerast.Symbol,
|
|
62
|
+
targetProperty *innerast.Symbol,
|
|
63
|
+
) bool {
|
|
64
|
+
if recv == nil || sourceProperty == nil || targetProperty == nil ||
|
|
65
|
+
sourceProperty.Name == "" || sourceProperty.Name != targetProperty.Name {
|
|
66
|
+
return false
|
|
67
|
+
}
|
|
68
|
+
source := checkerNewAnonymousType(
|
|
69
|
+
recv,
|
|
70
|
+
nil,
|
|
71
|
+
innerast.SymbolTable{sourceProperty.Name: sourceProperty},
|
|
72
|
+
nil,
|
|
73
|
+
nil,
|
|
74
|
+
nil,
|
|
75
|
+
)
|
|
76
|
+
target := checkerNewAnonymousType(
|
|
77
|
+
recv,
|
|
78
|
+
nil,
|
|
79
|
+
innerast.SymbolTable{targetProperty.Name: targetProperty},
|
|
80
|
+
nil,
|
|
81
|
+
nil,
|
|
82
|
+
nil,
|
|
83
|
+
)
|
|
84
|
+
return source != nil && target != nil && recv.IsTypeAssignableTo(source, target)
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Checker_isValidClassMemberOverridePair applies the class-only member-kind
|
|
88
|
+
// boundary from checkKindsOfPropertyMemberOverrides to one exact pair. Ordinary
|
|
89
|
+
// structural assignability permits more shapes than a class extends clause:
|
|
90
|
+
// notably a concrete property/accessor cannot be replaced by a method, while a
|
|
91
|
+
// base method may be replaced by a function-valued property.
|
|
92
|
+
func Checker_isValidClassMemberOverridePair(
|
|
93
|
+
recv *innerchecker.Checker,
|
|
94
|
+
derivedProperty *innerast.Symbol,
|
|
95
|
+
baseProperty *innerast.Symbol,
|
|
96
|
+
) bool {
|
|
97
|
+
if recv == nil || derivedProperty == nil || baseProperty == nil {
|
|
98
|
+
return false
|
|
99
|
+
}
|
|
100
|
+
derived := checkerGetTargetSymbol(recv, derivedProperty)
|
|
101
|
+
base := checkerGetTargetSymbol(recv, baseProperty)
|
|
102
|
+
if derived == nil || base == nil || derived == base {
|
|
103
|
+
return false
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
baseDeclarationFlags := innerchecker.GetDeclarationModifierFlagsFromSymbol(base)
|
|
107
|
+
basePropertyFlags := base.Flags & innerast.SymbolFlagsPropertyOrAccessor
|
|
108
|
+
derivedPropertyFlags := derived.Flags & innerast.SymbolFlagsPropertyOrAccessor
|
|
109
|
+
if basePropertyFlags != 0 && derivedPropertyFlags != 0 {
|
|
110
|
+
// A direct class base member cannot be a mapped property. The upstream
|
|
111
|
+
// mapped-property exception therefore has no member declaration this
|
|
112
|
+
// direct-pair API could publish; assignment declarations and abstract /
|
|
113
|
+
// interface members are the two applicable exceptions.
|
|
114
|
+
if derived.ValueDeclaration != nil && innerast.IsBinaryExpression(derived.ValueDeclaration) ||
|
|
115
|
+
checkerArePropertiesAbstractOrInterface(recv, base, baseDeclarationFlags) {
|
|
116
|
+
return true
|
|
117
|
+
}
|
|
118
|
+
overriddenInstanceProperty := basePropertyFlags != innerast.SymbolFlagsProperty &&
|
|
119
|
+
derivedPropertyFlags == innerast.SymbolFlagsProperty
|
|
120
|
+
overriddenInstanceAccessor := basePropertyFlags == innerast.SymbolFlagsProperty &&
|
|
121
|
+
derivedPropertyFlags != innerast.SymbolFlagsProperty
|
|
122
|
+
return !overriddenInstanceProperty && !overriddenInstanceAccessor
|
|
123
|
+
}
|
|
124
|
+
if checkerIsPrototypeProperty(base) {
|
|
125
|
+
return checkerIsPrototypeProperty(derived) ||
|
|
126
|
+
derived.Flags&innerast.SymbolFlagsProperty != 0
|
|
127
|
+
}
|
|
128
|
+
return false
|
|
129
|
+
}
|
|
130
|
+
|
|
31
131
|
// NewChecker creates a checker that owns its complete type graph for program.
|
|
32
132
|
// The returned mutex is the upstream checker-pool synchronization primitive;
|
|
33
133
|
// callers that share the checker must serialize access through it.
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
// gen_shims:hand-maintained
|
|
2
|
+
//
|
|
1
3
|
// Package core re-exports the subset of typescript-go's internal/core types
|
|
2
4
|
// and constants that plugins and the ttsc driver need. It provides compiler
|
|
3
5
|
// options, script-kind discrimination, tri-state booleans, and text-range
|
|
@@ -13,6 +15,12 @@ type CompilerOptions = innercore.CompilerOptions
|
|
|
13
15
|
// JsxEmit is the parsed compilerOptions.jsx mode.
|
|
14
16
|
type JsxEmit = innercore.JsxEmit
|
|
15
17
|
|
|
18
|
+
// ModuleResolutionKind selects TypeScript-Go's module resolver.
|
|
19
|
+
type ModuleResolutionKind = innercore.ModuleResolutionKind
|
|
20
|
+
|
|
21
|
+
// ResolutionMode is the CommonJS or ESM lookup mode for one module use.
|
|
22
|
+
type ResolutionMode = innercore.ResolutionMode
|
|
23
|
+
|
|
16
24
|
// Tristate is a three-valued boolean: TSFalse, TSTrue, or TSUnknown. Used by
|
|
17
25
|
// CompilerOptions fields that can be explicitly unset.
|
|
18
26
|
type Tristate = innercore.Tristate
|
|
@@ -20,6 +28,10 @@ type Tristate = innercore.Tristate
|
|
|
20
28
|
// TextPos is a zero-based byte offset into a source file's text.
|
|
21
29
|
type TextPos = innercore.TextPos
|
|
22
30
|
|
|
31
|
+
// ECMALineStarts holds the byte offset of every source line the compiler
|
|
32
|
+
// recognizes under ECMAScript's line-terminator rules.
|
|
33
|
+
type ECMALineStarts = innercore.ECMALineStarts
|
|
34
|
+
|
|
23
35
|
// TextRange is a half-open [Pos, End) byte range inside a source file.
|
|
24
36
|
type TextRange = innercore.TextRange
|
|
25
37
|
|
|
@@ -48,6 +60,35 @@ const (
|
|
|
48
60
|
JsxEmitReact = innercore.JsxEmitReact
|
|
49
61
|
JsxEmitReactJSX = innercore.JsxEmitReactJSX
|
|
50
62
|
JsxEmitReactJSXDev = innercore.JsxEmitReactJSXDev
|
|
63
|
+
|
|
64
|
+
// ModuleKind* constants enumerate every configured output module format.
|
|
65
|
+
ModuleKindNone = innercore.ModuleKindNone
|
|
66
|
+
ModuleKindCommonJS = innercore.ModuleKindCommonJS
|
|
67
|
+
ModuleKindAMD = innercore.ModuleKindAMD
|
|
68
|
+
ModuleKindUMD = innercore.ModuleKindUMD
|
|
69
|
+
ModuleKindSystem = innercore.ModuleKindSystem
|
|
70
|
+
ModuleKindES2015 = innercore.ModuleKindES2015
|
|
71
|
+
ModuleKindES2020 = innercore.ModuleKindES2020
|
|
72
|
+
ModuleKindES2022 = innercore.ModuleKindES2022
|
|
73
|
+
ModuleKindESNext = innercore.ModuleKindESNext
|
|
74
|
+
ModuleKindNode16 = innercore.ModuleKindNode16
|
|
75
|
+
ModuleKindNode18 = innercore.ModuleKindNode18
|
|
76
|
+
ModuleKindNode20 = innercore.ModuleKindNode20
|
|
77
|
+
ModuleKindNodeNext = innercore.ModuleKindNodeNext
|
|
78
|
+
ModuleKindPreserve = innercore.ModuleKindPreserve
|
|
79
|
+
|
|
80
|
+
// ResolutionMode* constants classify a single module-specifier lookup.
|
|
81
|
+
ResolutionModeNone = innercore.ResolutionModeNone
|
|
82
|
+
ResolutionModeCommonJS = innercore.ResolutionModeCommonJS
|
|
83
|
+
ResolutionModeESM = innercore.ResolutionModeESM
|
|
84
|
+
|
|
85
|
+
// ModuleResolutionKind* constants enumerate every TypeScript-Go resolver.
|
|
86
|
+
ModuleResolutionKindUnknown = innercore.ModuleResolutionKindUnknown
|
|
87
|
+
ModuleResolutionKindClassic = innercore.ModuleResolutionKindClassic
|
|
88
|
+
ModuleResolutionKindNode10 = innercore.ModuleResolutionKindNode10
|
|
89
|
+
ModuleResolutionKindNode16 = innercore.ModuleResolutionKindNode16
|
|
90
|
+
ModuleResolutionKindNodeNext = innercore.ModuleResolutionKindNodeNext
|
|
91
|
+
ModuleResolutionKindBundler = innercore.ModuleResolutionKindBundler
|
|
51
92
|
)
|
|
52
93
|
|
|
53
94
|
// Version reports the TypeScript compiler version typescript-go implements, in
|
|
@@ -55,6 +96,12 @@ const (
|
|
|
55
96
|
// consumer can tell which checker resolved the facts it is reading.
|
|
56
97
|
func Version() string { return innercore.Version() }
|
|
57
98
|
|
|
99
|
+
// ComputeECMALineStarts applies the compiler's LF, CRLF, CR, LS, and PS line
|
|
100
|
+
// model to UTF-8 source text.
|
|
101
|
+
func ComputeECMALineStarts(text string) ECMALineStarts {
|
|
102
|
+
return innercore.ComputeECMALineStarts(text)
|
|
103
|
+
}
|
|
104
|
+
|
|
58
105
|
// NewTextRange constructs a closed/open [pos, end) text range.
|
|
59
106
|
func NewTextRange(pos, end int) TextRange { return innercore.NewTextRange(pos, end) }
|
|
60
107
|
|
|
@@ -12,7 +12,10 @@
|
|
|
12
12
|
package diagnosticwriter
|
|
13
13
|
|
|
14
14
|
import (
|
|
15
|
+
"cmp"
|
|
15
16
|
"io"
|
|
17
|
+
"slices"
|
|
18
|
+
"strings"
|
|
16
19
|
|
|
17
20
|
"github.com/microsoft/typescript-go/internal/ast"
|
|
18
21
|
"github.com/microsoft/typescript-go/internal/diagnostics"
|
|
@@ -166,7 +169,54 @@ func FormatMixedDiagnostics(
|
|
|
166
169
|
},
|
|
167
170
|
NewLine: "\n",
|
|
168
171
|
}
|
|
172
|
+
slices.SortFunc(all, compareMixedDiagnostics)
|
|
169
173
|
inner.FormatDiagnosticsWithColorAndContext(output, all, options)
|
|
170
174
|
inner.WriteErrorSummaryText(output, all, options)
|
|
171
175
|
return errors
|
|
172
176
|
}
|
|
177
|
+
|
|
178
|
+
// compareMixedDiagnostics imposes one deterministic source order on tsgo and
|
|
179
|
+
// lint diagnostics before the upstream renderer consumes them. The renderer
|
|
180
|
+
// intentionally writes its input order, while the two producers have separate
|
|
181
|
+
// collection paths; ordering here keeps neither producer's traversal visible
|
|
182
|
+
// in CLI output.
|
|
183
|
+
func compareMixedDiagnostics(a, b inner.Diagnostic) int {
|
|
184
|
+
if c := strings.Compare(mixedDiagnosticFileName(a), mixedDiagnosticFileName(b)); c != 0 {
|
|
185
|
+
return c
|
|
186
|
+
}
|
|
187
|
+
if c := cmp.Compare(a.Pos(), b.Pos()); c != 0 {
|
|
188
|
+
return c
|
|
189
|
+
}
|
|
190
|
+
if c := cmp.Compare(a.End(), b.End()); c != 0 {
|
|
191
|
+
return c
|
|
192
|
+
}
|
|
193
|
+
if c := cmp.Compare(a.Code(), b.Code()); c != 0 {
|
|
194
|
+
return c
|
|
195
|
+
}
|
|
196
|
+
if c := cmp.Compare(a.Category(), b.Category()); c != 0 {
|
|
197
|
+
return c
|
|
198
|
+
}
|
|
199
|
+
if c := strings.Compare(a.Localize(locale.Default), b.Localize(locale.Default)); c != 0 {
|
|
200
|
+
return c
|
|
201
|
+
}
|
|
202
|
+
if c := compareMixedDiagnosticLists(a.MessageChain(), b.MessageChain()); c != 0 {
|
|
203
|
+
return c
|
|
204
|
+
}
|
|
205
|
+
return compareMixedDiagnosticLists(a.RelatedInformation(), b.RelatedInformation())
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
func mixedDiagnosticFileName(d inner.Diagnostic) string {
|
|
209
|
+
if file := d.File(); file != nil {
|
|
210
|
+
return file.FileName()
|
|
211
|
+
}
|
|
212
|
+
return ""
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
func compareMixedDiagnosticLists(a, b []inner.Diagnostic) int {
|
|
216
|
+
for i := 0; i < len(a) && i < len(b); i++ {
|
|
217
|
+
if c := compareMixedDiagnostics(a[i], b[i]); c != 0 {
|
|
218
|
+
return c
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
return cmp.Compare(len(a), len(b))
|
|
222
|
+
}
|