tsc-ts 0.0.10 → 0.1.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 +1 -1
- package/bin/tsc-ts.js +70 -1
- package/dist/api/compiler/ast-utilities.d.ts +19 -1
- package/dist/api/compiler/ast-utilities.js +180 -95
- package/dist/api/compiler/ast.d.ts +20 -15
- package/dist/api/compiler/ast.js +1023 -995
- package/dist/api/compiler/astnav.js +15 -15
- package/dist/api/compiler/binder-utilities.js +186 -186
- package/dist/api/compiler/binder.js +290 -263
- package/dist/api/compiler/character-codes.js +2 -2
- package/dist/api/compiler/checker-calls.js +173 -123
- package/dist/api/compiler/checker-classes.d.ts +14 -3
- package/dist/api/compiler/checker-classes.js +134 -90
- package/dist/api/compiler/checker-contextual.js +64 -61
- package/dist/api/compiler/checker-declaration-order.js +79 -79
- package/dist/api/compiler/checker-declarations.d.ts +1 -0
- package/dist/api/compiler/checker-declarations.js +160 -136
- package/dist/api/compiler/checker-declared-types.js +67 -65
- package/dist/api/compiler/checker-decorators.js +77 -77
- package/dist/api/compiler/checker-deprecation.d.ts +8 -3
- package/dist/api/compiler/checker-deprecation.js +76 -55
- package/dist/api/compiler/checker-destructuring.js +47 -45
- package/dist/api/compiler/checker-elaboration.js +24 -24
- package/dist/api/compiler/checker-emit-helpers.js +4 -4
- package/dist/api/compiler/checker-emit-resolver.d.ts +4 -2
- package/dist/api/compiler/checker-emit-resolver.js +25 -13
- package/dist/api/compiler/checker-evaluator.js +9 -9
- package/dist/api/compiler/checker-expressions.js +244 -211
- package/dist/api/compiler/checker-functions.js +113 -107
- package/dist/api/compiler/checker-generated-code.d.ts +0 -11
- package/dist/api/compiler/checker-generated-code.js +28 -52
- package/dist/api/compiler/checker-grammar.d.ts +1 -0
- package/dist/api/compiler/checker-grammar.js +469 -438
- package/dist/api/compiler/checker-heritage.js +91 -93
- package/dist/api/compiler/checker-inference.d.ts +77 -5
- package/dist/api/compiler/checker-inference.js +487 -113
- package/dist/api/compiler/checker-iteration.d.ts +0 -10
- package/dist/api/compiler/checker-iteration.js +35 -52
- package/dist/api/compiler/checker-javascript.js +14 -14
- package/dist/api/compiler/checker-jsdoc.d.ts +8 -10
- package/dist/api/compiler/checker-jsdoc.js +67 -58
- package/dist/api/compiler/checker-jsx.js +105 -88
- package/dist/api/compiler/checker-members.d.ts +9 -2
- package/dist/api/compiler/checker-members.js +210 -74
- package/dist/api/compiler/checker-modules.d.ts +15 -6
- package/dist/api/compiler/checker-modules.js +469 -309
- package/dist/api/compiler/checker-narrowing.js +273 -189
- package/dist/api/compiler/checker-object-literals.js +25 -22
- package/dist/api/compiler/checker-operators.js +126 -118
- package/dist/api/compiler/checker-overloads.js +27 -27
- package/dist/api/compiler/checker-property-access.js +59 -55
- package/dist/api/compiler/checker-services.d.ts +1 -0
- package/dist/api/compiler/checker-services.js +222 -210
- package/dist/api/compiler/checker-signatures.js +65 -49
- package/dist/api/compiler/checker-source-file.d.ts +5 -0
- package/dist/api/compiler/checker-source-file.js +154 -130
- package/dist/api/compiler/checker-statements.js +33 -32
- package/dist/api/compiler/checker-super.js +50 -50
- package/dist/api/compiler/checker-symbol-types.js +109 -93
- package/dist/api/compiler/checker-symbols.d.ts +13 -1
- package/dist/api/compiler/checker-symbols.js +264 -149
- package/dist/api/compiler/checker-type-factory.d.ts +5 -0
- package/dist/api/compiler/checker-type-factory.js +137 -34
- package/dist/api/compiler/checker-type-nodes.d.ts +1 -0
- package/dist/api/compiler/checker-type-nodes.js +179 -141
- package/dist/api/compiler/checker-type-operators.d.ts +2 -0
- package/dist/api/compiler/checker-type-operators.js +110 -63
- package/dist/api/compiler/checker-types.d.ts +80 -3
- package/dist/api/compiler/checker-types.js +121 -2
- package/dist/api/compiler/checker-unused.js +114 -118
- package/dist/api/compiler/checker-utilities.js +11 -11
- package/dist/api/compiler/checker.d.ts +93 -31
- package/dist/api/compiler/checker.js +143 -35
- package/dist/api/compiler/command-line.d.ts +1 -3
- package/dist/api/compiler/command-line.js +47 -44
- package/dist/api/compiler/compile-program.d.ts +19 -4
- package/dist/api/compiler/compile-program.js +45 -26
- package/dist/api/compiler/diagnostic-messages.d.ts +1849 -1774
- package/dist/api/compiler/diagnostic-messages.js +128 -122
- package/dist/api/compiler/diagnostics.js +7 -7
- package/dist/api/compiler/emitter.d.ts +7 -1
- package/dist/api/compiler/emitter.js +53 -11
- package/dist/api/compiler/file-include.d.ts +2 -1
- package/dist/api/compiler/file-include.js +11 -7
- package/dist/api/compiler/file-loader.d.ts +10 -0
- package/dist/api/compiler/file-loader.js +138 -41
- package/dist/api/compiler/instantiation.d.ts +7 -0
- package/dist/api/compiler/instantiation.js +101 -49
- package/dist/api/compiler/jsdoc.js +23 -23
- package/dist/api/compiler/link-tables.d.ts +48 -18
- package/dist/api/compiler/link-tables.js +80 -37
- package/dist/api/compiler/locales/cs-CZ.d.ts +1 -1
- package/dist/api/compiler/locales/cs-CZ.js +1 -1
- package/dist/api/compiler/locales/de-DE.d.ts +1 -1
- package/dist/api/compiler/locales/de-DE.js +1 -1
- package/dist/api/compiler/locales/es-ES.d.ts +1 -1
- package/dist/api/compiler/locales/es-ES.js +1 -1
- package/dist/api/compiler/locales/fr-FR.d.ts +1 -1
- package/dist/api/compiler/locales/fr-FR.js +1 -1
- package/dist/api/compiler/locales/it-IT.d.ts +1 -1
- package/dist/api/compiler/locales/it-IT.js +1 -1
- package/dist/api/compiler/locales/ja-JP.d.ts +1 -1
- package/dist/api/compiler/locales/ja-JP.js +1 -1
- package/dist/api/compiler/locales/ko-KR.d.ts +1 -1
- package/dist/api/compiler/locales/ko-KR.js +1 -1
- package/dist/api/compiler/locales/pl-PL.d.ts +1 -1
- package/dist/api/compiler/locales/pl-PL.js +1 -1
- package/dist/api/compiler/locales/pt-BR.d.ts +1 -1
- package/dist/api/compiler/locales/pt-BR.js +1 -1
- package/dist/api/compiler/locales/ru-RU.d.ts +1 -1
- package/dist/api/compiler/locales/ru-RU.js +1 -1
- package/dist/api/compiler/locales/tr-TR.d.ts +1 -1
- package/dist/api/compiler/locales/tr-TR.js +1 -1
- package/dist/api/compiler/locales/zh-CN.d.ts +1 -1
- package/dist/api/compiler/locales/zh-CN.js +1 -1
- package/dist/api/compiler/locales/zh-TW.d.ts +1 -1
- package/dist/api/compiler/locales/zh-TW.js +1 -1
- package/dist/api/compiler/module-resolution-types.js +6 -6
- package/dist/api/compiler/module-resolution.d.ts +10 -1
- package/dist/api/compiler/module-resolution.js +115 -84
- package/dist/api/compiler/module-specifiers.d.ts +15 -0
- package/dist/api/compiler/module-specifiers.js +24 -18
- package/dist/api/compiler/name-resolver.js +74 -65
- package/dist/api/compiler/node-builder-names.d.ts +11 -3
- package/dist/api/compiler/node-builder-names.js +210 -90
- package/dist/api/compiler/node-builder-pseudo.js +29 -31
- package/dist/api/compiler/node-builder-reuse.js +23 -22
- package/dist/api/compiler/node-builder.d.ts +18 -1
- package/dist/api/compiler/node-builder.js +191 -102
- package/dist/api/compiler/option-declarations.d.ts +2 -6
- package/dist/api/compiler/option-declarations.js +315 -375
- package/dist/api/compiler/options.d.ts +15 -33
- package/dist/api/compiler/options.js +21 -54
- package/dist/api/compiler/output-paths.d.ts +4 -1
- package/dist/api/compiler/output-paths.js +6 -11
- package/dist/api/compiler/package-json.d.ts +3 -3
- package/dist/api/compiler/package-json.js +11 -10
- package/dist/api/compiler/parser.d.ts +40 -19
- package/dist/api/compiler/parser.js +308 -216
- package/dist/api/compiler/path.d.ts +9 -0
- package/dist/api/compiler/path.js +20 -3
- package/dist/api/compiler/printer/emit-context.d.ts +3 -1
- package/dist/api/compiler/printer/emit-context.js +16 -1
- package/dist/api/compiler/printer/factory-base.d.ts +2 -2
- package/dist/api/compiler/printer/factory-base.js +7 -3
- package/dist/api/compiler/printer/factory.js +3 -1
- package/dist/api/compiler/printer/helpers.js +10 -1
- package/dist/api/compiler/printer/name-generator.d.ts +1 -1
- package/dist/api/compiler/printer/name-generator.js +35 -16
- package/dist/api/compiler/printer/printer.d.ts +1 -0
- package/dist/api/compiler/printer/printer.js +303 -281
- package/dist/api/compiler/printer/utilities.js +149 -147
- package/dist/api/compiler/program-checker.d.ts +8 -2
- package/dist/api/compiler/program-checker.js +84 -34
- package/dist/api/compiler/program-utilities.d.ts +3 -1
- package/dist/api/compiler/program-utilities.js +28 -15
- package/dist/api/compiler/program.d.ts +2 -0
- package/dist/api/compiler/program.js +69 -57
- package/dist/api/compiler/pseudo-bigint.d.ts +2 -0
- package/dist/api/compiler/pseudo-bigint.js +18 -0
- package/dist/api/compiler/regexp-checker.d.ts +1 -1
- package/dist/api/compiler/regexp-checker.js +93 -76
- package/dist/api/compiler/relations.d.ts +27 -4
- package/dist/api/compiler/relations.js +337 -180
- package/dist/api/compiler/reparser.js +60 -56
- package/dist/api/compiler/scanner.d.ts +19 -2
- package/dist/api/compiler/scanner.js +123 -108
- package/dist/api/compiler/shared-results.d.ts +463 -0
- package/dist/api/compiler/shared-results.js +2128 -0
- package/dist/api/compiler/sourcemap.js +2 -2
- package/dist/api/compiler/symbol-accessibility.js +87 -74
- package/dist/api/compiler/symbol.d.ts +22 -13
- package/dist/api/compiler/symbol.js +15 -1
- package/dist/api/compiler/syntax-kind.d.ts +198 -197
- package/dist/api/compiler/transformers/alias-references.js +247 -139
- package/dist/api/compiler/transformers/async-utilities.js +25 -25
- package/dist/api/compiler/transformers/async.d.ts +0 -1
- package/dist/api/compiler/transformers/async.js +64 -77
- package/dist/api/compiler/transformers/class-fields.d.ts +1 -0
- package/dist/api/compiler/transformers/class-fields.js +81 -78
- package/dist/api/compiler/transformers/commonjs-module.js +18 -15
- package/dist/api/compiler/transformers/const-enum-inliner.js +1 -1
- package/dist/api/compiler/transformers/declarations-diagnostics.js +247 -244
- package/dist/api/compiler/transformers/declarations-pseudo.js +100 -100
- package/dist/api/compiler/transformers/declarations-resolver.d.ts +0 -3
- package/dist/api/compiler/transformers/declarations-syntactic.d.ts +1 -2
- package/dist/api/compiler/transformers/declarations-syntactic.js +134 -156
- package/dist/api/compiler/transformers/declarations-tracker.js +18 -18
- package/dist/api/compiler/transformers/declarations.d.ts +4 -1
- package/dist/api/compiler/transformers/declarations.js +305 -238
- package/dist/api/compiler/transformers/decorator-metadata.d.ts +1 -1
- package/dist/api/compiler/transformers/decorator-metadata.js +53 -45
- package/dist/api/compiler/transformers/decorator-utilities.js +24 -24
- package/dist/api/compiler/transformers/destructuring.js +19 -18
- package/dist/api/compiler/transformers/emit-resolver.js +1 -1
- package/dist/api/compiler/transformers/es-decorators.js +55 -55
- package/dist/api/compiler/transformers/external-module-info.js +3 -3
- package/dist/api/compiler/transformers/for-await.js +25 -25
- package/dist/api/compiler/transformers/import-elision.js +14 -14
- package/dist/api/compiler/transformers/jsx.js +12 -12
- package/dist/api/compiler/transformers/legacy-decorators.js +17 -17
- package/dist/api/compiler/transformers/module.js +8 -8
- package/dist/api/compiler/transformers/named-evaluation.js +4 -4
- package/dist/api/compiler/transformers/object-rest-spread.js +20 -20
- package/dist/api/compiler/transformers/optional-chain.js +10 -10
- package/dist/api/compiler/transformers/reference-resolver.d.ts +12 -1
- package/dist/api/compiler/transformers/reference-resolver.js +131 -69
- package/dist/api/compiler/transformers/runtime-syntax.js +35 -31
- package/dist/api/compiler/transformers/subtree-facts.js +47 -47
- package/dist/api/compiler/transformers/syntax-facts.js +56 -58
- package/dist/api/compiler/transformers/type-eraser.js +73 -66
- package/dist/api/compiler/transformers/type-serialization.js +24 -24
- package/dist/api/compiler/transformers/using.js +12 -12
- package/dist/api/compiler/transformers/utilities.js +77 -77
- package/dist/api/compiler/transformers/visitor-base.js +172 -172
- package/dist/api/compiler/transformers/visitor-hooks.js +6 -2
- package/dist/api/compiler/tsconfig.d.ts +10 -2
- package/dist/api/compiler/tsconfig.js +136 -48
- package/dist/api/compiler/type-printer.js +40 -3
- package/dist/api/compiler/types.d.ts +2 -1
- package/dist/api/library/ast.generated.d.ts +42 -39
- package/dist/api/library/ast.generated.js +1 -1
- package/dist/api/library/compiler-options.generated.d.ts +111 -100
- package/dist/api/library/compiler-options.generated.js +1 -1
- package/dist/api/library/disk.js +12 -1
- package/dist/api/library/enums.generated.d.ts +206 -206
- package/dist/api/library/enums.generated.js +206 -206
- package/dist/api/library/nodes.js +26 -26
- package/package.json +9 -9
- package/src/compiler/ast-utilities.ts +99 -7
- package/src/compiler/ast.ts +55 -26
- package/src/compiler/binder.ts +39 -4
- package/src/compiler/character-codes.ts +2 -2
- package/src/compiler/checker-calls.ts +76 -8
- package/src/compiler/checker-classes.ts +78 -24
- package/src/compiler/checker-contextual.ts +6 -1
- package/src/compiler/checker-declarations.ts +31 -4
- package/src/compiler/checker-declared-types.ts +8 -5
- package/src/compiler/checker-decorators.ts +1 -1
- package/src/compiler/checker-deprecation.ts +29 -8
- package/src/compiler/checker-destructuring.ts +10 -3
- package/src/compiler/checker-emit-helpers.ts +1 -0
- package/src/compiler/checker-emit-resolver.ts +16 -6
- package/src/compiler/checker-expressions.ts +79 -46
- package/src/compiler/checker-functions.ts +21 -6
- package/src/compiler/checker-generated-code.ts +2 -22
- package/src/compiler/checker-grammar.ts +133 -60
- package/src/compiler/checker-heritage.ts +22 -21
- package/src/compiler/checker-inference.ts +514 -87
- package/src/compiler/checker-iteration.ts +18 -31
- package/src/compiler/checker-javascript.ts +1 -1
- package/src/compiler/checker-jsdoc.ts +50 -27
- package/src/compiler/checker-jsx.ts +26 -4
- package/src/compiler/checker-members.ts +197 -55
- package/src/compiler/checker-modules.ts +332 -65
- package/src/compiler/checker-narrowing.ts +98 -19
- package/src/compiler/checker-object-literals.ts +3 -0
- package/src/compiler/checker-operators.ts +11 -4
- package/src/compiler/checker-property-access.ts +7 -2
- package/src/compiler/checker-services.ts +39 -12
- package/src/compiler/checker-signatures.ts +15 -1
- package/src/compiler/checker-source-file.ts +39 -13
- package/src/compiler/checker-statements.ts +3 -2
- package/src/compiler/checker-symbol-types.ts +29 -6
- package/src/compiler/checker-symbols.ts +158 -15
- package/src/compiler/checker-type-factory.ts +120 -21
- package/src/compiler/checker-type-nodes.ts +46 -3
- package/src/compiler/checker-type-operators.ts +83 -26
- package/src/compiler/checker-types.ts +147 -4
- package/src/compiler/checker-unused.ts +9 -14
- package/src/compiler/checker.ts +168 -41
- package/src/compiler/command-line.ts +28 -28
- package/src/compiler/compile-program.ts +51 -25
- package/src/compiler/decoder.ts +13 -4
- package/src/compiler/diagnostic-messages.ts +1973 -1892
- package/src/compiler/emitter.ts +57 -8
- package/src/compiler/encoder.ts +23 -8
- package/src/compiler/file-include.ts +9 -3
- package/src/compiler/file-loader.ts +139 -32
- package/src/compiler/help.ts +10 -14
- package/src/compiler/incremental.ts +86 -18
- package/src/compiler/init.ts +2 -7
- package/src/compiler/instantiation.ts +77 -22
- package/src/compiler/jsdoc.ts +3 -1
- package/src/compiler/link-tables.ts +82 -37
- package/src/compiler/locales/cs-CZ.ts +1 -1
- package/src/compiler/locales/de-DE.ts +1 -1
- package/src/compiler/locales/es-ES.ts +1 -1
- package/src/compiler/locales/fr-FR.ts +1 -1
- package/src/compiler/locales/it-IT.ts +1 -1
- package/src/compiler/locales/ja-JP.ts +1 -1
- package/src/compiler/locales/ko-KR.ts +1 -1
- package/src/compiler/locales/pl-PL.ts +1 -1
- package/src/compiler/locales/pt-BR.ts +1 -1
- package/src/compiler/locales/ru-RU.ts +1 -1
- package/src/compiler/locales/tr-TR.ts +1 -1
- package/src/compiler/locales/zh-CN.ts +1 -1
- package/src/compiler/locales/zh-TW.ts +1 -1
- package/src/compiler/module-resolution.ts +44 -8
- package/src/compiler/module-specifiers.ts +62 -20
- package/src/compiler/name-resolver.ts +9 -1
- package/src/compiler/node-builder-names.ts +236 -54
- package/src/compiler/node-builder-pseudo.ts +4 -7
- package/src/compiler/node-builder-reuse.ts +5 -4
- package/src/compiler/node-builder.ts +130 -31
- package/src/compiler/option-declarations.ts +33 -103
- package/src/compiler/options.ts +23 -62
- package/src/compiler/output-paths.ts +5 -18
- package/src/compiler/package-entrypoints.ts +345 -0
- package/src/compiler/package-json.ts +4 -4
- package/src/compiler/parallel-check.ts +197 -8
- package/src/compiler/parallel-emit.ts +1 -1
- package/src/compiler/parser.ts +156 -39
- package/src/compiler/path.ts +22 -2
- package/src/compiler/printer/emit-context.ts +16 -0
- package/src/compiler/printer/factory-base.ts +10 -3
- package/src/compiler/printer/factory.ts +4 -1
- package/src/compiler/printer/helpers.ts +10 -1
- package/src/compiler/printer/name-generator.ts +24 -2
- package/src/compiler/printer/printer.ts +35 -14
- package/src/compiler/printer/utilities.ts +8 -2
- package/src/compiler/program-checker.ts +53 -5
- package/src/compiler/program-utilities.ts +23 -10
- package/src/compiler/program.ts +13 -1
- package/src/compiler/pseudo-bigint.ts +17 -0
- package/src/compiler/regexp-checker.ts +63 -30
- package/src/compiler/relations.ts +233 -77
- package/src/compiler/reparser.ts +7 -2
- package/src/compiler/scanner.ts +109 -79
- package/src/compiler/shared-results.ts +2414 -0
- package/src/compiler/show-config.ts +18 -1
- package/src/compiler/sourcemap.ts +2 -2
- package/src/compiler/symbol-accessibility.ts +26 -3
- package/src/compiler/symbol.ts +31 -14
- package/src/compiler/syntax-kind.ts +188 -187
- package/src/compiler/thread-entry.ts +19 -2
- package/src/compiler/transformers/alias-references.ts +123 -4
- package/src/compiler/transformers/async.ts +2 -17
- package/src/compiler/transformers/class-fields.ts +13 -12
- package/src/compiler/transformers/commonjs-module.ts +11 -7
- package/src/compiler/transformers/declarations-diagnostics.ts +5 -3
- package/src/compiler/transformers/declarations-pseudo.ts +2 -4
- package/src/compiler/transformers/declarations-resolver.ts +0 -3
- package/src/compiler/transformers/declarations-syntactic.ts +1 -21
- package/src/compiler/transformers/declarations.ts +134 -48
- package/src/compiler/transformers/decorator-metadata.ts +9 -1
- package/src/compiler/transformers/destructuring.ts +4 -3
- package/src/compiler/transformers/external-module-info.ts +1 -1
- package/src/compiler/transformers/jsx.ts +2 -1
- package/src/compiler/transformers/reference-resolver.ts +83 -19
- package/src/compiler/transformers/runtime-syntax.ts +6 -1
- package/src/compiler/transformers/syntax-facts.ts +2 -7
- package/src/compiler/transformers/type-eraser.ts +10 -1
- package/src/compiler/transformers/type-serialization.ts +3 -2
- package/src/compiler/transformers/visitor-base.ts +2 -1
- package/src/compiler/transformers/visitor-hooks.ts +9 -4
- package/src/compiler/tsc-build.ts +3 -0
- package/src/compiler/tsc-cli.ts +2 -0
- package/src/compiler/tsc-compile.ts +7 -2
- package/src/compiler/tsc-watch.ts +74 -45
- package/src/compiler/tsconfig.ts +176 -19
- package/src/compiler/type-printer.ts +36 -2
- package/src/compiler/types.ts +2 -1
- package/src/library/ast.generated.ts +57 -41
- package/src/library/compiler-options.generated.ts +117 -103
- package/src/library/disk.ts +10 -1
- package/src/library/enums.generated.ts +196 -196
|
@@ -127,7 +127,7 @@ export class Reparser {
|
|
|
127
127
|
type = this.reparseJSDocTypeLiteral(typeExpression);
|
|
128
128
|
else
|
|
129
129
|
throw new Error('typedef tag type expression should be a name reference or a type expression');
|
|
130
|
-
const typeAlias = new TypeAliasDeclaration(
|
|
130
|
+
const typeAlias = new TypeAliasDeclaration(346 /* SyntaxKind.JSTypeAliasDeclaration */, modifiers, name, typeParameters, type);
|
|
131
131
|
this.finishReparsedNode(typeAlias, tag);
|
|
132
132
|
this.attachReparsedJSDoc(typeAlias, jsDoc);
|
|
133
133
|
p.reparseList.push(this.wrapInJSDocNamespace(fullName, typeAlias, false));
|
|
@@ -139,7 +139,7 @@ export class Reparser {
|
|
|
139
139
|
const functionType = this.reparseJSDocSignature(tag.typeExpression, tag, jsDoc, tag, undefined);
|
|
140
140
|
const name = this.cloneTypeAliasName(this.getInnermostNameOfJSDocNamespace(fullName));
|
|
141
141
|
const typeParameters = this.gatherTypeParameters(jsDoc, true);
|
|
142
|
-
const typeAlias = new TypeAliasDeclaration(
|
|
142
|
+
const typeAlias = new TypeAliasDeclaration(346 /* SyntaxKind.JSTypeAliasDeclaration */, modifiers, name, typeParameters, functionType);
|
|
143
143
|
this.finishReparsedNode(typeAlias, tag);
|
|
144
144
|
this.attachReparsedJSDoc(typeAlias, jsDoc);
|
|
145
145
|
p.reparseList.push(this.wrapInJSDocNamespace(fullName, typeAlias, false));
|
|
@@ -162,16 +162,16 @@ export class Reparser {
|
|
|
162
162
|
p.reparsedClones.push(copy);
|
|
163
163
|
attributes = copy;
|
|
164
164
|
}
|
|
165
|
-
const importDeclaration = new ImportDeclaration(
|
|
165
|
+
const importDeclaration = new ImportDeclaration(347 /* SyntaxKind.JSImportDeclaration */, undefined, importClause, moduleSpecifier, attributes);
|
|
166
166
|
this.finishReparsedNode(importDeclaration, tag);
|
|
167
167
|
p.reparseList.push(importDeclaration);
|
|
168
168
|
return true;
|
|
169
169
|
}
|
|
170
170
|
if (tag instanceof JSDocOverloadTag) {
|
|
171
171
|
// Overload signatures only for functions, methods and constructors outside object literals.
|
|
172
|
-
if ((parent.kind ===
|
|
173
|
-
parent.kind ===
|
|
174
|
-
parent.kind ===
|
|
172
|
+
if ((parent.kind === 264 /* SyntaxKind.FunctionDeclaration */ ||
|
|
173
|
+
parent.kind === 176 /* SyntaxKind.MethodDeclaration */ ||
|
|
174
|
+
parent.kind === 178 /* SyntaxKind.Constructor */) &&
|
|
175
175
|
!p.inObjectLiteralMembers())
|
|
176
176
|
p.reparseList.push(this.reparseJSDocSignature(tag.typeExpression, parent, jsDoc, tag, getModifiers(parent)));
|
|
177
177
|
return true;
|
|
@@ -207,10 +207,10 @@ export class Reparser {
|
|
|
207
207
|
else if (fun instanceof MethodDeclaration) {
|
|
208
208
|
methodName = this.deepCloneReparse(this.checkNonIdentifierName(fun.name));
|
|
209
209
|
}
|
|
210
|
-
else if (fun.kind !==
|
|
210
|
+
else if (fun.kind !== 178 /* SyntaxKind.Constructor */ && fun.kind !== 332 /* SyntaxKind.JSDocCallbackTag */) {
|
|
211
211
|
throw new Error('Unexpected kind ' + fun.kind);
|
|
212
212
|
}
|
|
213
|
-
const typeParameters = tag.kind !==
|
|
213
|
+
const typeParameters = tag.kind !== 332 /* SyntaxKind.JSDocCallbackTag */ ? this.gatherTypeParameters(jsDoc, false) : undefined;
|
|
214
214
|
const parameters = [];
|
|
215
215
|
const signatureParameters = jsSignature instanceof JSDocSignature ? jsSignature.parameters : undefined;
|
|
216
216
|
if (signatureParameters !== undefined) {
|
|
@@ -348,7 +348,7 @@ export class Reparser {
|
|
|
348
348
|
return undefined;
|
|
349
349
|
for (const tag of tags.nodes) {
|
|
350
350
|
// With a @typedef or @callback, @template declares the defined type's type parameters.
|
|
351
|
-
if (!typedefOrCallback && (tag.kind ===
|
|
351
|
+
if (!typedefOrCallback && (tag.kind === 339 /* SyntaxKind.JSDocTypedefTag */ || tag.kind === 332 /* SyntaxKind.JSDocCallbackTag */))
|
|
352
352
|
return undefined;
|
|
353
353
|
if (!(tag instanceof JSDocTemplateTag))
|
|
354
354
|
continue;
|
|
@@ -382,13 +382,13 @@ export class Reparser {
|
|
|
382
382
|
}
|
|
383
383
|
reparseHosted(tag, parent, jsDoc) {
|
|
384
384
|
switch (tag.kind) {
|
|
385
|
-
case
|
|
385
|
+
case 337 /* SyntaxKind.JSDocTypeTag */:
|
|
386
386
|
return this.reparseTypeTag(tag, parent);
|
|
387
|
-
case
|
|
387
|
+
case 343 /* SyntaxKind.JSDocSatisfiesTag */:
|
|
388
388
|
if (tag instanceof JSDocSatisfiesTag)
|
|
389
389
|
this.reparseSatisfiesTag(tag, parent);
|
|
390
390
|
return true;
|
|
391
|
-
case
|
|
391
|
+
case 338 /* SyntaxKind.JSDocTemplateTag */: {
|
|
392
392
|
const fun = getFunctionLikeHost(parent);
|
|
393
393
|
if (fun !== undefined) {
|
|
394
394
|
if (getTypeParameters(fun) === undefined && getFullSignature(fun) === undefined) {
|
|
@@ -396,7 +396,7 @@ export class Reparser {
|
|
|
396
396
|
this.finishMutatedNode(fun);
|
|
397
397
|
}
|
|
398
398
|
}
|
|
399
|
-
else if (parent.kind ===
|
|
399
|
+
else if (parent.kind === 265 /* SyntaxKind.ClassDeclaration */ || parent.kind === 233 /* SyntaxKind.ClassExpression */) {
|
|
400
400
|
if (getClassTypeParameters(parent) === undefined) {
|
|
401
401
|
setClassTypeParameters(parent, this.gatherTypeParameters(jsDoc, false));
|
|
402
402
|
this.finishMutatedNode(parent);
|
|
@@ -404,7 +404,7 @@ export class Reparser {
|
|
|
404
404
|
}
|
|
405
405
|
return true;
|
|
406
406
|
}
|
|
407
|
-
case
|
|
407
|
+
case 334 /* SyntaxKind.JSDocParameterTag */: {
|
|
408
408
|
const fun = getFunctionLikeHost(parent);
|
|
409
409
|
if (fun !== undefined && getFullSignature(fun) === undefined && tag instanceof JSDocParameterOrPropertyTag) {
|
|
410
410
|
const param = findMatchingParameter(fun, tag, jsDoc);
|
|
@@ -422,7 +422,7 @@ export class Reparser {
|
|
|
422
422
|
}
|
|
423
423
|
return true;
|
|
424
424
|
}
|
|
425
|
-
case
|
|
425
|
+
case 336 /* SyntaxKind.JSDocThisTag */: {
|
|
426
426
|
const fun = getFunctionLikeHost(parent);
|
|
427
427
|
if (fun !== undefined && tag instanceof JSDocThisTag) {
|
|
428
428
|
const parameters = getParameters(fun);
|
|
@@ -445,7 +445,7 @@ export class Reparser {
|
|
|
445
445
|
}
|
|
446
446
|
return true;
|
|
447
447
|
}
|
|
448
|
-
case
|
|
448
|
+
case 335 /* SyntaxKind.JSDocReturnTag */: {
|
|
449
449
|
const fun = getFunctionLikeHost(parent);
|
|
450
450
|
if (fun !== undefined && getFullSignature(fun) === undefined) {
|
|
451
451
|
const typeExpression = getTypeExpression(tag);
|
|
@@ -456,17 +456,17 @@ export class Reparser {
|
|
|
456
456
|
}
|
|
457
457
|
return true;
|
|
458
458
|
}
|
|
459
|
-
case
|
|
460
|
-
case
|
|
461
|
-
case
|
|
462
|
-
case
|
|
463
|
-
case
|
|
459
|
+
case 330 /* SyntaxKind.JSDocReadonlyTag */:
|
|
460
|
+
case 328 /* SyntaxKind.JSDocPrivateTag */:
|
|
461
|
+
case 327 /* SyntaxKind.JSDocPublicTag */:
|
|
462
|
+
case 329 /* SyntaxKind.JSDocProtectedTag */:
|
|
463
|
+
case 331 /* SyntaxKind.JSDocOverrideTag */:
|
|
464
464
|
return this.reparseModifierTag(tag, parent);
|
|
465
|
-
case
|
|
465
|
+
case 325 /* SyntaxKind.JSDocImplementsTag */:
|
|
466
466
|
if (tag instanceof JSDocImplementsTag)
|
|
467
467
|
this.reparseImplementsTag(tag, parent);
|
|
468
468
|
return true;
|
|
469
|
-
case
|
|
469
|
+
case 324 /* SyntaxKind.JSDocAugmentsTag */:
|
|
470
470
|
if (tag instanceof JSDocAugmentsTag)
|
|
471
471
|
this.reparseAugmentsTag(tag, parent);
|
|
472
472
|
return true;
|
|
@@ -476,7 +476,7 @@ export class Reparser {
|
|
|
476
476
|
reparseTypeTag(tag, parent) {
|
|
477
477
|
const typeExpression = getTypeExpression(tag);
|
|
478
478
|
switch (parent.kind) {
|
|
479
|
-
case
|
|
479
|
+
case 245 /* SyntaxKind.VariableStatement */:
|
|
480
480
|
if (parent instanceof VariableStatement)
|
|
481
481
|
for (const declaration of parent.declarationList.declarations.nodes)
|
|
482
482
|
if (declaration instanceof VariableDeclaration &&
|
|
@@ -487,26 +487,26 @@ export class Reparser {
|
|
|
487
487
|
return true;
|
|
488
488
|
}
|
|
489
489
|
break;
|
|
490
|
-
case
|
|
491
|
-
case
|
|
492
|
-
case
|
|
493
|
-
case
|
|
494
|
-
case
|
|
495
|
-
case
|
|
490
|
+
case 262 /* SyntaxKind.VariableDeclaration */:
|
|
491
|
+
case 279 /* SyntaxKind.ExportAssignment */:
|
|
492
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
493
|
+
case 304 /* SyntaxKind.PropertyAssignment */:
|
|
494
|
+
case 305 /* SyntaxKind.ShorthandPropertyAssignment */:
|
|
495
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
496
496
|
if (getType(parent) === undefined && typeExpression !== undefined) {
|
|
497
497
|
setType(parent, this.addDeepCloneReparse(getType(typeExpression)));
|
|
498
498
|
this.finishMutatedNode(parent);
|
|
499
499
|
return true;
|
|
500
500
|
}
|
|
501
501
|
break;
|
|
502
|
-
case
|
|
502
|
+
case 171 /* SyntaxKind.Parameter */:
|
|
503
503
|
if (getType(parent) === undefined && typeExpression !== undefined) {
|
|
504
504
|
setType(parent, this.reparseJSDocTypeLiteral(getType(typeExpression)));
|
|
505
505
|
this.finishMutatedNode(parent);
|
|
506
506
|
return true;
|
|
507
507
|
}
|
|
508
508
|
break;
|
|
509
|
-
case
|
|
509
|
+
case 246 /* SyntaxKind.ExpressionStatement */:
|
|
510
510
|
if (parent instanceof ExpressionStatement) {
|
|
511
511
|
const bin = parent.expression;
|
|
512
512
|
if (bin instanceof BinaryExpression && isAssignmentDeclaration(bin) && typeExpression !== undefined) {
|
|
@@ -516,8 +516,8 @@ export class Reparser {
|
|
|
516
516
|
}
|
|
517
517
|
}
|
|
518
518
|
break;
|
|
519
|
-
case
|
|
520
|
-
case
|
|
519
|
+
case 255 /* SyntaxKind.ReturnStatement */:
|
|
520
|
+
case 219 /* SyntaxKind.ParenthesizedExpression */: {
|
|
521
521
|
const expression = getExpressionOfReturnOrParenthesized(parent);
|
|
522
522
|
if (expression !== undefined && typeExpression !== undefined) {
|
|
523
523
|
setExpression(parent, this.makeNewCast(this.addDeepCloneReparse(getType(typeExpression)), expression, true));
|
|
@@ -560,9 +560,9 @@ export class Reparser {
|
|
|
560
560
|
break;
|
|
561
561
|
}
|
|
562
562
|
}
|
|
563
|
-
else if (parent.kind ===
|
|
564
|
-
parent.kind ===
|
|
565
|
-
parent.kind ===
|
|
563
|
+
else if (parent.kind === 262 /* SyntaxKind.VariableDeclaration */ ||
|
|
564
|
+
parent.kind === 174 /* SyntaxKind.PropertyDeclaration */ ||
|
|
565
|
+
parent.kind === 304 /* SyntaxKind.PropertyAssignment */) {
|
|
566
566
|
const initializer = getInitializer(parent);
|
|
567
567
|
if (initializer !== undefined) {
|
|
568
568
|
setInitializer(parent, this.makeNewCast(this.addDeepCloneReparse(getType(typeExpression)), initializer, false));
|
|
@@ -576,9 +576,9 @@ export class Reparser {
|
|
|
576
576
|
this.finishMutatedNode(parent);
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
else if (parent.kind ===
|
|
580
|
-
parent.kind ===
|
|
581
|
-
parent.kind ===
|
|
579
|
+
else if (parent.kind === 255 /* SyntaxKind.ReturnStatement */ ||
|
|
580
|
+
parent.kind === 219 /* SyntaxKind.ParenthesizedExpression */ ||
|
|
581
|
+
parent.kind === 279 /* SyntaxKind.ExportAssignment */) {
|
|
582
582
|
const expression = getExpressionOfReturnOrParenthesized(parent);
|
|
583
583
|
if (expression !== undefined) {
|
|
584
584
|
setExpression(parent, this.makeNewCast(this.addDeepCloneReparse(getType(typeExpression)), expression, false));
|
|
@@ -598,32 +598,32 @@ export class Reparser {
|
|
|
598
598
|
if (parent instanceof ExpressionStatement)
|
|
599
599
|
parent = parent.expression;
|
|
600
600
|
switch (parent.kind) {
|
|
601
|
-
case
|
|
602
|
-
case
|
|
603
|
-
case
|
|
601
|
+
case 176 /* SyntaxKind.MethodDeclaration */:
|
|
602
|
+
case 179 /* SyntaxKind.GetAccessor */:
|
|
603
|
+
case 180 /* SyntaxKind.SetAccessor */:
|
|
604
604
|
// In object literals these aren't class members: reparsed modifiers would cause spurious grammar errors.
|
|
605
605
|
if (this.p.inObjectLiteralMembers())
|
|
606
606
|
return false;
|
|
607
607
|
break;
|
|
608
|
-
case
|
|
609
|
-
case
|
|
610
|
-
case
|
|
608
|
+
case 174 /* SyntaxKind.PropertyDeclaration */:
|
|
609
|
+
case 178 /* SyntaxKind.Constructor */:
|
|
610
|
+
case 228 /* SyntaxKind.BinaryExpression */:
|
|
611
611
|
break;
|
|
612
612
|
default:
|
|
613
613
|
return false;
|
|
614
614
|
}
|
|
615
615
|
let keyword = 0 /* SyntaxKind.Unknown */;
|
|
616
616
|
switch (tag.kind) {
|
|
617
|
-
case
|
|
617
|
+
case 330 /* SyntaxKind.JSDocReadonlyTag */:
|
|
618
618
|
keyword = 148 /* SyntaxKind.ReadonlyKeyword */;
|
|
619
619
|
break;
|
|
620
|
-
case
|
|
620
|
+
case 328 /* SyntaxKind.JSDocPrivateTag */:
|
|
621
621
|
keyword = 122 /* SyntaxKind.PrivateKeyword */;
|
|
622
622
|
break;
|
|
623
|
-
case
|
|
623
|
+
case 327 /* SyntaxKind.JSDocPublicTag */:
|
|
624
624
|
keyword = 124 /* SyntaxKind.PublicKeyword */;
|
|
625
625
|
break;
|
|
626
|
-
case
|
|
626
|
+
case 329 /* SyntaxKind.JSDocProtectedTag */:
|
|
627
627
|
keyword = 123 /* SyntaxKind.ProtectedKeyword */;
|
|
628
628
|
break;
|
|
629
629
|
default:
|
|
@@ -648,7 +648,7 @@ export class Reparser {
|
|
|
648
648
|
return true;
|
|
649
649
|
}
|
|
650
650
|
reparseImplementsTag(tag, parent) {
|
|
651
|
-
if (parent.kind !==
|
|
651
|
+
if (parent.kind !== 265 /* SyntaxKind.ClassDeclaration */ && parent.kind !== 233 /* SyntaxKind.ClassExpression */)
|
|
652
652
|
return false;
|
|
653
653
|
const className = tag.className;
|
|
654
654
|
const heritageClauses = getHeritageClauses(parent);
|
|
@@ -688,10 +688,14 @@ export class Reparser {
|
|
|
688
688
|
return false;
|
|
689
689
|
const target = clause.types.nodes[0];
|
|
690
690
|
const source = tag.className;
|
|
691
|
+
// The tag's type arguments apply to an `extends` clause without any: one naming the same
|
|
692
|
+
// entity, or another expression such as a call (`extends mixin(Base)`), but not `null`.
|
|
691
693
|
if (target instanceof ExpressionWithTypeArguments &&
|
|
692
|
-
hasSamePropertyAccessName(target.expression, source.expression) &&
|
|
693
694
|
target.typeArguments === undefined &&
|
|
694
|
-
source.typeArguments !== undefined
|
|
695
|
+
source.typeArguments !== undefined &&
|
|
696
|
+
target.expression.kind !== 105 /* SyntaxKind.NullKeyword */ &&
|
|
697
|
+
(!isEntityNameExpression(target.expression, false) ||
|
|
698
|
+
hasSamePropertyAccessName(target.expression, source.expression))) {
|
|
695
699
|
const newArguments = [];
|
|
696
700
|
for (const arg of source.typeArguments.nodes)
|
|
697
701
|
newArguments.push(this.addDeepCloneReparse(arg));
|
|
@@ -748,7 +752,7 @@ export class Reparser {
|
|
|
748
752
|
const block = new ModuleBlock(this.p.newNodeList(fullName.pos, fullName.end, [wrapped]));
|
|
749
753
|
this.finishReparsedNode(block, fullName);
|
|
750
754
|
const modifiers = nested ? this.createExportModifier(fullName) : undefined;
|
|
751
|
-
const result = new ModuleDeclaration(modifiers, 145 /* SyntaxKind.NamespaceKeyword */, this.addDeepCloneReparse(fullName.name), block);
|
|
755
|
+
const result = new ModuleDeclaration(modifiers, 145 /* SyntaxKind.NamespaceKeyword */, this.addDeepCloneReparse(fullName.name), undefined, block);
|
|
752
756
|
this.finishReparsedNode(result, fullName);
|
|
753
757
|
this.p.reparsedClones.push(result);
|
|
754
758
|
return result;
|
|
@@ -760,7 +764,7 @@ function findMatchingParameter(fun, parameterTag, jsDoc) {
|
|
|
760
764
|
let paramCount = -1;
|
|
761
765
|
if (jsDoc.tags !== undefined)
|
|
762
766
|
for (const tag of jsDoc.tags.nodes)
|
|
763
|
-
if (tag.kind ===
|
|
767
|
+
if (tag.kind === 334 /* SyntaxKind.JSDocParameterTag */) {
|
|
764
768
|
paramCount++;
|
|
765
769
|
if (tag === parameterTag) {
|
|
766
770
|
tagIndex = paramCount;
|
|
@@ -816,7 +820,7 @@ function getFunctionLikeHost(host) {
|
|
|
816
820
|
fun = first instanceof VariableDeclaration ? first.initializer : undefined;
|
|
817
821
|
}
|
|
818
822
|
}
|
|
819
|
-
else if (host.kind ===
|
|
823
|
+
else if (host.kind === 304 /* SyntaxKind.PropertyAssignment */ || host.kind === 174 /* SyntaxKind.PropertyDeclaration */) {
|
|
820
824
|
fun = getInitializer(host);
|
|
821
825
|
}
|
|
822
826
|
else if (host instanceof ExportAssignment) {
|
|
@@ -172,10 +172,19 @@ export declare class Scanner {
|
|
|
172
172
|
/** Scans a merge conflict marker; returns true if it is skipped as trivia. */
|
|
173
173
|
private scanConflictMarker;
|
|
174
174
|
private processCommentDirective;
|
|
175
|
-
/**
|
|
176
|
-
|
|
175
|
+
/**
|
|
176
|
+
* @internal Scans an identifier after `prefixLength` units; sets the token value. `variant`
|
|
177
|
+
* decides the identifier parts: JSX and JSDoc names also take `-`, and regular expression group
|
|
178
|
+
* names take a surrogate pair written as two `\u` escapes.
|
|
179
|
+
*/
|
|
180
|
+
scanIdentifier(prefixLength: number, variant: IdentifierVariant): boolean;
|
|
177
181
|
/** Scans identifier parts including `\u` escapes and returns their cooked text. */
|
|
178
182
|
private scanIdentifierParts;
|
|
183
|
+
/**
|
|
184
|
+
* At `\`: scans a `\u` escape of an identifier start (`isStart`) or part and returns its code point,
|
|
185
|
+
* or returns -1 and leaves the scanner unchanged.
|
|
186
|
+
*/
|
|
187
|
+
private scanIdentifierEscape;
|
|
179
188
|
private scanInvalidCharacter;
|
|
180
189
|
/** Scans a quoted string and sets its cooked value. */
|
|
181
190
|
private scanString;
|
|
@@ -238,6 +247,14 @@ export declare class Scanner {
|
|
|
238
247
|
canFollowJSDocAt(): boolean;
|
|
239
248
|
scanJSDocToken(): SyntaxKind;
|
|
240
249
|
}
|
|
250
|
+
/** Which characters an identifier scan takes after its start. */
|
|
251
|
+
export declare const enum IdentifierVariant {
|
|
252
|
+
Standard = 0,
|
|
253
|
+
/** JSX and JSDoc names, which take `-`. */
|
|
254
|
+
JSX = 1,
|
|
255
|
+
/** Regular expression group names, which take a surrogate pair written as two `\u` escapes. */
|
|
256
|
+
RegExpGroupName = 2
|
|
257
|
+
}
|
|
241
258
|
/** Whether `text` has a `<<<<<<<`, `|||||||`, `=======` or `>>>>>>>` marker at `pos`. */
|
|
242
259
|
export declare function isConflictMarkerTrivia(text: string, pos: number): boolean;
|
|
243
260
|
/** The `#!` line at the start of `text`, or `''`. */
|