@artel/artc 0.6.26013 → 0.6.26014
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/build/Cli.js +3 -3
- package/build/api/Api.js +2 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +1 -1
- package/build/{chunk-TIVWJ4TV.js → chunk-IIRVH26U.js} +2 -2
- package/build/{chunk-E266GANB.js → chunk-K3EBH7V6.js} +143 -101
- package/build/{chunk-I7TWILR4.js → chunk-NNBGH7J7.js} +1 -1
- package/build/types/tree/BaseNode.d.ts +1 -0
- package/package.json +1 -1
package/build/Cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CommandLineCompiler
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-IIRVH26U.js";
|
|
5
|
+
import "./chunk-NNBGH7J7.js";
|
|
6
6
|
import {
|
|
7
7
|
__async
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-K3EBH7V6.js";
|
|
9
9
|
|
|
10
10
|
// source/Cli.ts
|
|
11
11
|
function main() {
|
package/build/api/Api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Compiler
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-NNBGH7J7.js";
|
|
4
4
|
import {
|
|
5
5
|
AccessKind,
|
|
6
6
|
AccessedFunctionParameter,
|
|
@@ -343,7 +343,7 @@ import {
|
|
|
343
343
|
withoutQuotes,
|
|
344
344
|
withoutTemplateQuotes,
|
|
345
345
|
yieldTask
|
|
346
|
-
} from "../chunk-
|
|
346
|
+
} from "../chunk-K3EBH7V6.js";
|
|
347
347
|
export {
|
|
348
348
|
AccessKind,
|
|
349
349
|
AccessedFunctionParameter,
|
package/build/api/ApiNodeJS.js
CHANGED
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
PhysicalFileSystem,
|
|
7
7
|
PhysicalTypeScriptLibrariesProvider,
|
|
8
8
|
PrintingDiagnosticAcceptor
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-IIRVH26U.js";
|
|
10
|
+
import "../chunk-NNBGH7J7.js";
|
|
11
|
+
import "../chunk-K3EBH7V6.js";
|
|
12
12
|
export {
|
|
13
13
|
CommandLineCompiler,
|
|
14
14
|
FileSystemUri,
|
package/build/api/ApiServices.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Compiler
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-NNBGH7J7.js";
|
|
4
4
|
import {
|
|
5
5
|
ArtelVersion,
|
|
6
6
|
Cached,
|
|
@@ -15,7 +15,7 @@ import {
|
|
|
15
15
|
__async,
|
|
16
16
|
performanceMeasurementStageNames,
|
|
17
17
|
performanceMeasurementStages
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-K3EBH7V6.js";
|
|
19
19
|
|
|
20
20
|
// source/executor/FileSystemUri.ts
|
|
21
21
|
import { platform } from "os";
|
|
@@ -764,7 +764,7 @@ var UniqueWithComparatorQuery = class extends Query {
|
|
|
764
764
|
};
|
|
765
765
|
|
|
766
766
|
// source/common/Constants.ts
|
|
767
|
-
var ArtelVersion = true ? "0.6.
|
|
767
|
+
var ArtelVersion = true ? "0.6.26014" : "";
|
|
768
768
|
var ArtelSourceFileExtensions = [".\u0430\u0440\u0442", ".\u0430\u0440\u0442\u0435\u043B\u044C", ".art", ".artel", ".\u0430\u0440\u0442\u043C", ".\u0430\u0440\u0442\u0435\u043B\u044C\u043C", ".artm", ".artelm"];
|
|
769
769
|
var ArtelSourceFileExtensionSet = new Set(ArtelSourceFileExtensions);
|
|
770
770
|
var ArtelSourceAndConfigurationFileExtensionSet = new Set(ArtelSourceFileExtensionSet).add(".json");
|
|
@@ -2434,6 +2434,9 @@ var Token = class extends BaseNode {
|
|
|
2434
2434
|
getTextWithTrivia() {
|
|
2435
2435
|
return this.leadingTrivia.map((t) => t.value).join("") + this.value + this.trailingTrivia.map((t) => t.value).join("");
|
|
2436
2436
|
}
|
|
2437
|
+
hasLeadingLineBreak() {
|
|
2438
|
+
return this.leadingTrivia.some((x) => x.kind === 1 /* NewLine */);
|
|
2439
|
+
}
|
|
2437
2440
|
hasTrailingLineBreak() {
|
|
2438
2441
|
return this.trailingTrivia.length > 0 && this.trailingTrivia[this.trailingTrivia.length - 1].kind === 1 /* NewLine */;
|
|
2439
2442
|
}
|
|
@@ -6919,16 +6922,16 @@ var englishKeywords = new Lazy(() => [
|
|
|
6919
6922
|
{ keyword: "xor", kind: 28 /* Xor */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6920
6923
|
{ keyword: "yes", kind: 56 /* Yes */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */, 1 /* ArtelM */] },
|
|
6921
6924
|
{ keyword: "yield", kind: 32 /* Yield */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6922
|
-
{ keyword: "abstract", kind: 42 /* Abstract */, flags:
|
|
6925
|
+
{ keyword: "abstract", kind: 42 /* Abstract */, flags: 3152904 /* ComAdjective */, dialects: [0 /* ArtelA */] },
|
|
6923
6926
|
{ keyword: "async", kind: 44 /* Async */, flags: 3152904 /* ComAdjective */, dialects: [0 /* ArtelA */] },
|
|
6924
6927
|
{ keyword: "base", kind: 21 /* Basic */, flags: 1055752 /* DeclComAdjective */, dialects: [0 /* ArtelA */] },
|
|
6925
6928
|
{ keyword: "hidden", kind: 41 /* Hidden */, flags: 1055752 /* DeclComAdjective */, dialects: [0 /* ArtelA */] },
|
|
6926
|
-
{ keyword: "in type", kind: 55 /* InType */, flags:
|
|
6927
|
-
{ keyword: "in hierarchy", kind: 52 /* InHierarchy */, flags:
|
|
6928
|
-
{ keyword: "in file", kind: 53 /* InFile */, flags:
|
|
6929
|
-
{ keyword: "in package", kind: 54 /* InPackage */, flags:
|
|
6930
|
-
{ keyword: "override", kind: 43 /* Override */, flags:
|
|
6931
|
-
{ keyword: "static", kind: 45 /* Static */, flags:
|
|
6929
|
+
{ keyword: "in type", kind: 55 /* InType */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6930
|
+
{ keyword: "in hierarchy", kind: 52 /* InHierarchy */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6931
|
+
{ keyword: "in file", kind: 53 /* InFile */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6932
|
+
{ keyword: "in package", kind: 54 /* InPackage */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6933
|
+
{ keyword: "override", kind: 43 /* Override */, flags: 3152904 /* ComAdjective */, dialects: [0 /* ArtelA */] },
|
|
6934
|
+
{ keyword: "static", kind: 45 /* Static */, flags: 3152904 /* ComAdjective */, dialects: [0 /* ArtelA */] }
|
|
6932
6935
|
]);
|
|
6933
6936
|
var russianKeywords = new Lazy(() => [
|
|
6934
6937
|
{ keyword: "\u0430\u0432\u0442\u043E\u0442\u0438\u043F", kind: 2 /* Autotype */, flags: 3154946 /* SingularMasNoun */, dialects: [0 /* ArtelA */] },
|
|
@@ -6991,10 +6994,10 @@ var russianKeywords = new Lazy(() => [
|
|
|
6991
6994
|
{ keyword: "\u0446\u0438\u043A\u043B \u043F\u043E\u043A\u0430", kind: 64 /* LoopWhile */, flags: 3145728 /* AllContexts */, dialects: [1 /* ArtelM */] },
|
|
6992
6995
|
{ keyword: "\u0447\u0442\u0435\u043D\u0438\u0435", kind: 62 /* Get */, flags: 3158018 /* SingularNeuNoun */, dialects: [0 /* ArtelA */] },
|
|
6993
6996
|
{ keyword: "\u044D\u0442\u043E", kind: 18 /* Is */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
6994
|
-
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u0430\u044F", kind: 42 /* Abstract */, flags:
|
|
6995
|
-
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u0435", kind: 42 /* Abstract */, flags:
|
|
6996
|
-
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0439", kind: 42 /* Abstract */, flags:
|
|
6997
|
-
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0435", kind: 42 /* Abstract */, flags:
|
|
6997
|
+
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u0430\u044F", kind: 42 /* Abstract */, flags: 3155976 /* SingularFemAdjective */, dialects: [0 /* ArtelA */] },
|
|
6998
|
+
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u0435", kind: 42 /* Abstract */, flags: 3158024 /* SingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
6999
|
+
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0439", kind: 42 /* Abstract */, flags: 3154952 /* SingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
7000
|
+
{ keyword: "\u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u044B\u0435", kind: 42 /* Abstract */, flags: 3162120 /* PluralAdjective */, dialects: [0 /* ArtelA */] },
|
|
6998
7001
|
{ keyword: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u0430\u044F", kind: 44 /* Async */, flags: 3155976 /* SingularFemAdjective */, dialects: [0 /* ArtelA */] },
|
|
6999
7002
|
{ keyword: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u043E\u0435", kind: 44 /* Async */, flags: 3158024 /* SingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
7000
7003
|
{ keyword: "\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u044B\u0439", kind: 44 /* Async */, flags: 3154952 /* SingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
@@ -7004,23 +7007,23 @@ var russianKeywords = new Lazy(() => [
|
|
|
7004
7007
|
{ keyword: "\u0431\u0430\u0437\u043E\u0432\u043E\u0435", kind: 21 /* Basic */, flags: 1060872 /* DeclSingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
7005
7008
|
{ keyword: "\u0431\u0430\u0437\u043E\u0432\u044B\u0439", kind: 21 /* Basic */, flags: 1057800 /* DeclSingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
7006
7009
|
{ keyword: "\u0431\u0430\u0437\u043E\u0432\u044B\u0435", kind: 21 /* Basic */, flags: 1064968 /* DeclPluralAdjective */, dialects: [0 /* ArtelA */] },
|
|
7007
|
-
{ keyword: "\u0432 \u0442\u0438\u043F\u0435", kind: 55 /* InType */, flags:
|
|
7008
|
-
{ keyword: "\u0432 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438", kind: 52 /* InHierarchy */, flags:
|
|
7009
|
-
{ keyword: "\u0432 \u0444\u0430\u0439\u043B\u0435", kind: 53 /* InFile */, flags:
|
|
7010
|
-
{ keyword: "\u0432 \u043F\u0430\u043A\u0435\u0442\u0435", kind: 54 /* InPackage */, flags:
|
|
7011
|
-
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0430\u044F", kind: 45 /* Static */, flags:
|
|
7012
|
-
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435", kind: 45 /* Static */, flags:
|
|
7013
|
-
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0438\u0439", kind: 45 /* Static */, flags:
|
|
7014
|
-
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0438\u0435", kind: 45 /* Static */, flags:
|
|
7015
|
-
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u0430\u044F", kind: 43 /* Override */, flags:
|
|
7016
|
-
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u043E\u0435", kind: 43 /* Override */, flags:
|
|
7017
|
-
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439", kind: 43 /* Override */, flags:
|
|
7018
|
-
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435", kind: 43 /* Override */, flags:
|
|
7019
|
-
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u043E", kind: 41 /* Hidden */, flags:
|
|
7020
|
-
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u0430\u044F", kind: 41 /* Hidden */, flags:
|
|
7021
|
-
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u043E\u0435", kind: 41 /* Hidden */, flags:
|
|
7022
|
-
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u044B\u0439", kind: 41 /* Hidden */, flags:
|
|
7023
|
-
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u044B\u0435", kind: 41 /* Hidden */, flags:
|
|
7010
|
+
{ keyword: "\u0432 \u0442\u0438\u043F\u0435", kind: 55 /* InType */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
7011
|
+
{ keyword: "\u0432 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0438", kind: 52 /* InHierarchy */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
7012
|
+
{ keyword: "\u0432 \u0444\u0430\u0439\u043B\u0435", kind: 53 /* InFile */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
7013
|
+
{ keyword: "\u0432 \u043F\u0430\u043A\u0435\u0442\u0435", kind: 54 /* InPackage */, flags: 3145728 /* AllContexts */, dialects: [0 /* ArtelA */] },
|
|
7014
|
+
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0430\u044F", kind: 45 /* Static */, flags: 3155976 /* SingularFemAdjective */, dialects: [0 /* ArtelA */] },
|
|
7015
|
+
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435", kind: 45 /* Static */, flags: 3158024 /* SingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
7016
|
+
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0438\u0439", kind: 45 /* Static */, flags: 3154952 /* SingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
7017
|
+
{ keyword: "\u0432\u0441\u0435\u043E\u0431\u0449\u0438\u0435", kind: 45 /* Static */, flags: 3162120 /* PluralAdjective */, dialects: [0 /* ArtelA */] },
|
|
7018
|
+
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u0430\u044F", kind: 43 /* Override */, flags: 3155976 /* SingularFemAdjective */, dialects: [0 /* ArtelA */] },
|
|
7019
|
+
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u043E\u0435", kind: 43 /* Override */, flags: 3158024 /* SingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
7020
|
+
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439", kind: 43 /* Override */, flags: 3154952 /* SingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
7021
|
+
{ keyword: "\u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0435", kind: 43 /* Override */, flags: 3162120 /* PluralAdjective */, dialects: [0 /* ArtelA */] },
|
|
7022
|
+
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u043E", kind: 41 /* Hidden */, flags: 3145744 /* AllAdverb */, dialects: [0 /* ArtelA */] },
|
|
7023
|
+
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u0430\u044F", kind: 41 /* Hidden */, flags: 3155976 /* SingularFemAdjective */, dialects: [0 /* ArtelA */] },
|
|
7024
|
+
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u043E\u0435", kind: 41 /* Hidden */, flags: 3158024 /* SingularNeuAdjective */, dialects: [0 /* ArtelA */] },
|
|
7025
|
+
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u044B\u0439", kind: 41 /* Hidden */, flags: 3154952 /* SingularMasAdjective */, dialects: [0 /* ArtelA */] },
|
|
7026
|
+
{ keyword: "\u0441\u043A\u0440\u044B\u0442\u044B\u0435", kind: 41 /* Hidden */, flags: 3162120 /* PluralAdjective */, dialects: [0 /* ArtelA */] }
|
|
7024
7027
|
]);
|
|
7025
7028
|
var keywordsPerLocale = new Lazy(() => [
|
|
7026
7029
|
{
|
|
@@ -10291,6 +10294,7 @@ var TextParser = class {
|
|
|
10291
10294
|
this.scanner = new Scanner(text);
|
|
10292
10295
|
this.sequenceParsers = new Array();
|
|
10293
10296
|
this.keywords = getOrCreateKeywordDictionary(locale, this.dialect);
|
|
10297
|
+
this.tokenQueue = new Array();
|
|
10294
10298
|
this.keywordsContextFlags_ = 1048576 /* Declaration */;
|
|
10295
10299
|
this.lookingAhead = false;
|
|
10296
10300
|
this.diagnostics = new Array();
|
|
@@ -10307,6 +10311,7 @@ var TextParser = class {
|
|
|
10307
10311
|
new Range(0, 0)
|
|
10308
10312
|
);
|
|
10309
10313
|
this.currentTokenOrKeyword_ = this.currentToken;
|
|
10314
|
+
this.currentTokenOrKeywordContextFlags_ = 1048576 /* Declaration */;
|
|
10310
10315
|
this.hasCurrentTokenOrKeyword = false;
|
|
10311
10316
|
this.packageImportDirectiveParser = new PackageImportDirectiveParser(this);
|
|
10312
10317
|
this.packageMemberDeclarationParser = new PackageMemberDeclarationParser(this);
|
|
@@ -10328,6 +10333,12 @@ var TextParser = class {
|
|
|
10328
10333
|
getCurrentTokenOrKeyword() {
|
|
10329
10334
|
if (!this.hasCurrentTokenOrKeyword) {
|
|
10330
10335
|
this.nextTokenOrKeyword();
|
|
10336
|
+
} else if (this.currentTokenOrKeyword_.kind === 0 /* Token */ && this.currentTokenOrKeyword_.tokenKind === 9 /* Identifier */ && (this.currentTokenOrKeywordContextFlags_ & this.keywordsContextFlags) === 0) {
|
|
10337
|
+
this.tokenQueue.push(this.currentTokenOrKeyword_);
|
|
10338
|
+
this.nextTokenOrKeyword();
|
|
10339
|
+
} else if (this.currentTokenOrKeyword_.kind === 3 /* Keyword */ && (this.currentTokenOrKeyword_.flags & this.keywordsContextFlags) === 0) {
|
|
10340
|
+
this.tokenQueue.push(...this.currentTokenOrKeyword_.tokens);
|
|
10341
|
+
this.nextTokenOrKeyword();
|
|
10331
10342
|
}
|
|
10332
10343
|
return this.currentTokenOrKeyword_;
|
|
10333
10344
|
}
|
|
@@ -10466,8 +10477,15 @@ var TextParser = class {
|
|
|
10466
10477
|
return void 0;
|
|
10467
10478
|
}
|
|
10468
10479
|
lookAhead(callback) {
|
|
10480
|
+
const savedKeywordsContextFlags = this.keywordsContextFlags_;
|
|
10481
|
+
const savedTokenQueueLength = this.tokenQueue.length;
|
|
10482
|
+
if (savedTokenQueueLength > 0) {
|
|
10483
|
+
this.tokenQueue = this.tokenQueue.slice();
|
|
10484
|
+
}
|
|
10485
|
+
const savedTokenQueue = this.tokenQueue;
|
|
10469
10486
|
const savedCurrentToken = this.currentToken;
|
|
10470
10487
|
const savedCurrentTokenOrKeyword = this.currentTokenOrKeyword_;
|
|
10488
|
+
const savedCurrentTokenOrKeywordContextFlags = this.currentTokenOrKeywordContextFlags_;
|
|
10471
10489
|
const savedHasCurrentTokenOrKeyword = this.hasCurrentTokenOrKeyword;
|
|
10472
10490
|
const savedHasPrecedingLineBreak = this.hasPrecedingLineBreak;
|
|
10473
10491
|
const savedSkippedTokenOrKeywords = this.skippedTokenOrKeywords;
|
|
@@ -10478,8 +10496,10 @@ var TextParser = class {
|
|
|
10478
10496
|
const savedLookingAhead = this.lookingAhead;
|
|
10479
10497
|
this.lookingAhead = true;
|
|
10480
10498
|
const result = this.scanner.lookAhead(callback);
|
|
10499
|
+
this.keywordsContextFlags_ = savedKeywordsContextFlags;
|
|
10481
10500
|
this.currentToken = savedCurrentToken;
|
|
10482
10501
|
this.currentTokenOrKeyword_ = savedCurrentTokenOrKeyword;
|
|
10502
|
+
this.currentTokenOrKeywordContextFlags_ = savedCurrentTokenOrKeywordContextFlags;
|
|
10483
10503
|
this.hasCurrentTokenOrKeyword = savedHasCurrentTokenOrKeyword;
|
|
10484
10504
|
this.hasPrecedingLineBreak = savedHasPrecedingLineBreak;
|
|
10485
10505
|
if (savedSkippedTokenOrKeywordsLength > 0) {
|
|
@@ -10487,12 +10507,24 @@ var TextParser = class {
|
|
|
10487
10507
|
} else {
|
|
10488
10508
|
this.skippedTokenOrKeywords.length = 0;
|
|
10489
10509
|
}
|
|
10510
|
+
if (savedTokenQueueLength > 0) {
|
|
10511
|
+
this.tokenQueue = savedTokenQueue;
|
|
10512
|
+
} else {
|
|
10513
|
+
this.tokenQueue.length = 0;
|
|
10514
|
+
}
|
|
10490
10515
|
this.lookingAhead = savedLookingAhead;
|
|
10491
10516
|
return result;
|
|
10492
10517
|
}
|
|
10493
10518
|
tryParse(callback) {
|
|
10519
|
+
const savedKeywordsContextFlags = this.keywordsContextFlags_;
|
|
10520
|
+
const savedTokenQueueLength = this.tokenQueue.length;
|
|
10521
|
+
if (savedTokenQueueLength > 0) {
|
|
10522
|
+
this.tokenQueue = this.tokenQueue.slice();
|
|
10523
|
+
}
|
|
10524
|
+
const savedTokenQueue = this.tokenQueue;
|
|
10494
10525
|
const savedCurrentToken = this.currentToken;
|
|
10495
10526
|
const savedCurrentTokenOrKeyword = this.currentTokenOrKeyword_;
|
|
10527
|
+
const savedCurrentTokenOrKeywordContextFlags = this.currentTokenOrKeywordContextFlags_;
|
|
10496
10528
|
const savedHasCurrentTokenOrKeyword = this.hasCurrentTokenOrKeyword;
|
|
10497
10529
|
const savedHasPrecedingLineBreak = this.hasPrecedingLineBreak;
|
|
10498
10530
|
const savedDiagnostics = this.diagnostics;
|
|
@@ -10513,8 +10545,10 @@ var TextParser = class {
|
|
|
10513
10545
|
const savedLookingAhead = this.lookingAhead;
|
|
10514
10546
|
const result = this.scanner.tryScan(callback);
|
|
10515
10547
|
if (result === void 0) {
|
|
10548
|
+
this.keywordsContextFlags_ = savedKeywordsContextFlags;
|
|
10516
10549
|
this.currentToken = savedCurrentToken;
|
|
10517
10550
|
this.currentTokenOrKeyword_ = savedCurrentTokenOrKeyword;
|
|
10551
|
+
this.currentTokenOrKeywordContextFlags_ = savedCurrentTokenOrKeywordContextFlags;
|
|
10518
10552
|
this.hasCurrentTokenOrKeyword = savedHasCurrentTokenOrKeyword;
|
|
10519
10553
|
this.hasPrecedingLineBreak = savedHasPrecedingLineBreak;
|
|
10520
10554
|
if (savedSkippedTokenOrKeywordsLength > 0) {
|
|
@@ -10523,6 +10557,11 @@ var TextParser = class {
|
|
|
10523
10557
|
this.skippedTokenOrKeywords.length = 0;
|
|
10524
10558
|
}
|
|
10525
10559
|
this.lookingAhead = savedLookingAhead;
|
|
10560
|
+
if (savedTokenQueueLength > 0) {
|
|
10561
|
+
this.tokenQueue = savedTokenQueue;
|
|
10562
|
+
} else {
|
|
10563
|
+
this.tokenQueue.length = 0;
|
|
10564
|
+
}
|
|
10526
10565
|
if (!this.lookingAhead) {
|
|
10527
10566
|
if (savedDiagnosticsLength > 0) {
|
|
10528
10567
|
this.diagnostics = savedDiagnostics;
|
|
@@ -10701,22 +10740,19 @@ var TextParser = class {
|
|
|
10701
10740
|
return scannerTokenKindToTreeTokenKind(scannerToken.kind);
|
|
10702
10741
|
}
|
|
10703
10742
|
parseDetectedToken() {
|
|
10704
|
-
|
|
10705
|
-
|
|
10706
|
-
const result = this.tokenWithSkippedTokens(tokenOrKeyword);
|
|
10743
|
+
Debug.assert(this.hasCurrentTokenOrKeyword && this.currentTokenOrKeyword_.kind === 0 /* Token */);
|
|
10744
|
+
const result = this.tokenWithSkippedTokens(this.currentTokenOrKeyword_);
|
|
10707
10745
|
this.hasCurrentTokenOrKeyword = false;
|
|
10708
10746
|
return result;
|
|
10709
10747
|
}
|
|
10710
10748
|
parseDetectedKeyword() {
|
|
10711
|
-
|
|
10712
|
-
|
|
10713
|
-
const result = this.keywordWithSkippedTokens(tokenOrKeyword);
|
|
10749
|
+
Debug.assert(this.hasCurrentTokenOrKeyword && this.currentTokenOrKeyword_.kind === 3 /* Keyword */);
|
|
10750
|
+
const result = this.keywordWithSkippedTokens(this.currentTokenOrKeyword_);
|
|
10714
10751
|
this.hasCurrentTokenOrKeyword = false;
|
|
10715
10752
|
return result;
|
|
10716
10753
|
}
|
|
10717
10754
|
nextTokenOrKeyword() {
|
|
10718
10755
|
let result;
|
|
10719
|
-
this.hasPrecedingLineBreak = this.hasTrailingLineBreak();
|
|
10720
10756
|
this.nextToken();
|
|
10721
10757
|
const keyword = this.tryParseKeyword();
|
|
10722
10758
|
if (keyword !== void 0) {
|
|
@@ -10728,15 +10764,17 @@ var TextParser = class {
|
|
|
10728
10764
|
result = token;
|
|
10729
10765
|
}
|
|
10730
10766
|
this.hasCurrentTokenOrKeyword = true;
|
|
10767
|
+
this.hasPrecedingLineBreak = this.currentTokenHasLeadingLineBreak();
|
|
10768
|
+
this.currentTokenOrKeywordContextFlags_ = this.keywordsContextFlags_;
|
|
10731
10769
|
return result;
|
|
10732
10770
|
}
|
|
10733
|
-
|
|
10771
|
+
currentTokenHasLeadingLineBreak() {
|
|
10734
10772
|
const tokenOrKeyword = this.currentTokenOrKeyword_;
|
|
10735
10773
|
if (tokenOrKeyword.kind === 0 /* Token */) {
|
|
10736
|
-
return tokenOrKeyword.
|
|
10774
|
+
return tokenOrKeyword.hasLeadingLineBreak();
|
|
10737
10775
|
} else if (tokenOrKeyword.kind === 3 /* Keyword */) {
|
|
10738
10776
|
const tokens = tokenOrKeyword.tokens;
|
|
10739
|
-
return tokens.length > 0 && tokens[
|
|
10777
|
+
return tokens.length > 0 && tokens[0].hasLeadingLineBreak();
|
|
10740
10778
|
} else {
|
|
10741
10779
|
Debug.never(tokenOrKeyword);
|
|
10742
10780
|
}
|
|
@@ -10782,47 +10820,51 @@ var TextParser = class {
|
|
|
10782
10820
|
return result;
|
|
10783
10821
|
}
|
|
10784
10822
|
nextToken() {
|
|
10785
|
-
const tokenStart = this.scanner.getToken().startPosition;
|
|
10786
|
-
const leadingTrivia = this.scanLeadingTrivia();
|
|
10787
|
-
const scannerToken = this.scanner.getToken();
|
|
10788
|
-
this.validateScannerToken(scannerToken);
|
|
10789
|
-
this.scanner.nextToken();
|
|
10790
|
-
const trailingTrivia = this.tryScanTrailingTrivia();
|
|
10791
|
-
const tokenEnd = this.scanner.getToken().startPosition;
|
|
10792
|
-
const kind = scannerTokenKindToTreeTokenKind(scannerToken.kind);
|
|
10793
10823
|
let result;
|
|
10794
|
-
|
|
10795
|
-
|
|
10796
|
-
|
|
10797
|
-
|
|
10798
|
-
|
|
10799
|
-
|
|
10800
|
-
|
|
10801
|
-
|
|
10802
|
-
|
|
10803
|
-
|
|
10804
|
-
|
|
10805
|
-
|
|
10806
|
-
|
|
10807
|
-
|
|
10808
|
-
|
|
10809
|
-
|
|
10810
|
-
|
|
10811
|
-
|
|
10812
|
-
|
|
10813
|
-
|
|
10814
|
-
|
|
10815
|
-
|
|
10816
|
-
|
|
10817
|
-
|
|
10818
|
-
|
|
10819
|
-
|
|
10820
|
-
|
|
10821
|
-
|
|
10822
|
-
|
|
10823
|
-
|
|
10824
|
-
|
|
10825
|
-
|
|
10824
|
+
if (this.tokenQueue.length > 0) {
|
|
10825
|
+
result = this.tokenQueue.shift();
|
|
10826
|
+
} else {
|
|
10827
|
+
const tokenStart = this.scanner.getToken().startPosition;
|
|
10828
|
+
const leadingTrivia = this.scanLeadingTrivia();
|
|
10829
|
+
const scannerToken = this.scanner.getToken();
|
|
10830
|
+
this.validateScannerToken(scannerToken);
|
|
10831
|
+
this.scanner.nextToken();
|
|
10832
|
+
const trailingTrivia = this.tryScanTrailingTrivia();
|
|
10833
|
+
const tokenEnd = this.scanner.getToken().startPosition;
|
|
10834
|
+
const kind = scannerTokenKindToTreeTokenKind(scannerToken.kind);
|
|
10835
|
+
switch (kind) {
|
|
10836
|
+
case 9 /* Identifier */:
|
|
10837
|
+
result = this.createIdentifierToken(
|
|
10838
|
+
scannerToken,
|
|
10839
|
+
leadingTrivia,
|
|
10840
|
+
trailingTrivia,
|
|
10841
|
+
new Range(tokenStart, tokenEnd)
|
|
10842
|
+
);
|
|
10843
|
+
break;
|
|
10844
|
+
case 5 /* TextLiteral */:
|
|
10845
|
+
case 6 /* TextTemplateHead */:
|
|
10846
|
+
case 7 /* TextTemplatePart */:
|
|
10847
|
+
case 8 /* TextTemplateTail */:
|
|
10848
|
+
result = this.createTextOrTextTemplateToken(
|
|
10849
|
+
kind,
|
|
10850
|
+
scannerToken,
|
|
10851
|
+
leadingTrivia,
|
|
10852
|
+
trailingTrivia,
|
|
10853
|
+
new Range(tokenStart, tokenEnd)
|
|
10854
|
+
);
|
|
10855
|
+
break;
|
|
10856
|
+
default:
|
|
10857
|
+
result = new Token(
|
|
10858
|
+
kind,
|
|
10859
|
+
scannerToken.value,
|
|
10860
|
+
leadingTrivia,
|
|
10861
|
+
trailingTrivia,
|
|
10862
|
+
0 /* None */,
|
|
10863
|
+
void 0,
|
|
10864
|
+
new Range(tokenStart, tokenEnd)
|
|
10865
|
+
);
|
|
10866
|
+
break;
|
|
10867
|
+
}
|
|
10826
10868
|
}
|
|
10827
10869
|
this.currentToken = result;
|
|
10828
10870
|
return result;
|
|
@@ -10953,9 +10995,10 @@ var TextParser = class {
|
|
|
10953
10995
|
trivia = new Trivia(0 /* Whitespace */, scannerToken.value);
|
|
10954
10996
|
break;
|
|
10955
10997
|
case 3 /* NewLine */:
|
|
10956
|
-
trivia = new Trivia(1 /* NewLine */, scannerToken.value);
|
|
10957
10998
|
if (untilNewLine) {
|
|
10958
10999
|
doneParsingTrivia = true;
|
|
11000
|
+
} else {
|
|
11001
|
+
trivia = new Trivia(1 /* NewLine */, scannerToken.value);
|
|
10959
11002
|
}
|
|
10960
11003
|
break;
|
|
10961
11004
|
case 4 /* SingleLineComment */:
|
|
@@ -11837,16 +11880,29 @@ var ExpressionParser = class _ExpressionParser {
|
|
|
11837
11880
|
this.indexerArgumentListParser = new ArgumentListParser(this.parser, 24 /* CloseSquareBracket */);
|
|
11838
11881
|
}
|
|
11839
11882
|
// isFollowedByStatementBlock = true если по синтаксису сразу после выражения следует блок.
|
|
11840
|
-
// В таком случае не будет разбираться сокращённая форма
|
|
11883
|
+
// В таком случае не будет разбираться сокращённая форма безымянной функции ({ ... }).
|
|
11841
11884
|
isStartOfExpression(isFollowedByStatementBlock) {
|
|
11842
|
-
|
|
11843
|
-
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11885
|
+
return this.parser.lookAhead(() => {
|
|
11886
|
+
this.parser.keywordsContextFlags = 2097152 /* Expression */;
|
|
11887
|
+
if (this.isPrefixUnaryOperator()) {
|
|
11888
|
+
return true;
|
|
11889
|
+
}
|
|
11890
|
+
if (this.parser.isTokenOneOf(_ExpressionParser.primaryExpressionTokens) || this.parser.isKeywordOneOf(_ExpressionParser.primaryExpressionKeywords)) {
|
|
11891
|
+
return true;
|
|
11892
|
+
} else if (this.parser.isToken(46 /* OpenBrace */)) {
|
|
11893
|
+
return !isFollowedByStatementBlock;
|
|
11894
|
+
}
|
|
11895
|
+
this.parser.parseOptionalKeyword(44 /* Async */);
|
|
11896
|
+
const functionKeyword = this.parser.parseOptionalKeyword(16 /* Function */);
|
|
11897
|
+
return functionKeyword !== void 0 && this.parser.isToken(47 /* OpenParenthesis */);
|
|
11898
|
+
});
|
|
11847
11899
|
}
|
|
11848
11900
|
parseExpression(isFollowedByStatementBlock) {
|
|
11849
|
-
|
|
11901
|
+
const savedKeywordsContextFlags = this.parser.keywordsContextFlags;
|
|
11902
|
+
this.parser.keywordsContextFlags = 2097152 /* Expression */;
|
|
11903
|
+
const result = this.parseNullCoalescingExpression(isFollowedByStatementBlock);
|
|
11904
|
+
this.parser.keywordsContextFlags = savedKeywordsContextFlags;
|
|
11905
|
+
return result;
|
|
11850
11906
|
}
|
|
11851
11907
|
parseNullCoalescingExpression(isFollowedByStatementBlock) {
|
|
11852
11908
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
|
@@ -12203,20 +12259,6 @@ var ExpressionParser = class _ExpressionParser {
|
|
|
12203
12259
|
35 /* Creation */
|
|
12204
12260
|
];
|
|
12205
12261
|
}
|
|
12206
|
-
isStartOfPrimaryExpression(isFollowedByStatementBlock) {
|
|
12207
|
-
if (this.parser.isTokenOneOf(_ExpressionParser.primaryExpressionTokens) || this.parser.isKeywordOneOf(_ExpressionParser.primaryExpressionKeywords)) {
|
|
12208
|
-
return true;
|
|
12209
|
-
} else if (this.parser.isToken(46 /* OpenBrace */)) {
|
|
12210
|
-
return !isFollowedByStatementBlock;
|
|
12211
|
-
} else if (this.parser.isKeyword(44 /* Async */) || this.parser.isKeyword(16 /* Function */)) {
|
|
12212
|
-
return this.parser.lookAhead(() => {
|
|
12213
|
-
this.parser.parseOptionalKeyword(44 /* Async */);
|
|
12214
|
-
const functionKeyword = this.parser.parseOptionalKeyword(16 /* Function */);
|
|
12215
|
-
return functionKeyword !== void 0 && this.parser.isToken(47 /* OpenParenthesis */);
|
|
12216
|
-
});
|
|
12217
|
-
}
|
|
12218
|
-
return false;
|
|
12219
|
-
}
|
|
12220
12262
|
parsePrimaryExpression(isFollowedByStatementBlock) {
|
|
12221
12263
|
let result = void 0;
|
|
12222
12264
|
const tokenOrKeyword = this.parser.getCurrentTokenOrKeyword();
|
|
@@ -59,6 +59,7 @@ export declare class Token<TKind extends TokenKind = TokenKind> extends BaseNode
|
|
|
59
59
|
constructor(tokenKind: TKind, value: string, leadingTrivia: readonly Trivia[], trailingTrivia: readonly Trivia[], flags: TokenFlags, operatorKind: OperatorKind | undefined, rangeWithTrivia: Range | undefined);
|
|
60
60
|
get rangeWithoutTrivia(): Range;
|
|
61
61
|
getTextWithTrivia(): string;
|
|
62
|
+
hasLeadingLineBreak(): boolean;
|
|
62
63
|
hasTrailingLineBreak(): boolean;
|
|
63
64
|
getTriviaAt(position: number): TokenTrivia | undefined;
|
|
64
65
|
selectLeadingTrivia(condition: (trivia: Trivia, rangeStart: number, rangeEnd: number) => boolean): TokenTrivia[];
|