@artel/artc 0.6.25233 → 0.6.25234
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 +8 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +142 -142
- package/build/{chunk-SCSDVK4I.js → chunk-C2RH46GK.js} +1 -1
- package/build/{chunk-YA4OCEDT.js → chunk-ENNXNHHT.js} +2 -2
- package/build/{chunk-T4JAN46C.js → chunk-YAYSHO33.js} +1167 -601
- package/build/types/analysis/Analyzer.d.ts +12 -3
- package/build/types/analysis/BaseMemberConflictsValidator.d.ts +28 -0
- package/build/types/analysis/LocalizationContext.d.ts +3 -2
- package/build/types/analysis/ModifierValidator.d.ts +1 -4
- package/build/types/common/ArrayUtils.d.ts +1 -1
- package/build/types/common/Query.d.ts +1 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +2 -0
- package/build/types/diagnostic/TokenDiagnostic.d.ts +2 -0
- package/build/types/entities/TypeEntity.d.ts +3 -0
- package/build/types/parser/TokenKind.d.ts +55 -55
- package/build/types/tree/TokenKind.d.ts +54 -54
- package/build/types/types/TypeMembers.d.ts +15 -0
- package/package.json +1 -1
@@ -70,11 +70,11 @@ var __yieldStar = (value) => {
|
|
70
70
|
};
|
71
71
|
|
72
72
|
// source/common/PackageDialect.ts
|
73
|
-
var PackageDialect = /* @__PURE__ */ ((
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
return
|
73
|
+
var PackageDialect = /* @__PURE__ */ ((PackageDialect8) => {
|
74
|
+
PackageDialect8[PackageDialect8["Mixed"] = 0] = "Mixed";
|
75
|
+
PackageDialect8[PackageDialect8["Usual"] = 1] = "Usual";
|
76
|
+
PackageDialect8[PackageDialect8["Special"] = 2] = "Special";
|
77
|
+
return PackageDialect8;
|
78
78
|
})(PackageDialect || {});
|
79
79
|
|
80
80
|
// source/common/PackageLocale.ts
|
@@ -195,6 +195,9 @@ var Query = class _Query {
|
|
195
195
|
return void 0;
|
196
196
|
}
|
197
197
|
toMap(keySelector, valueSelector) {
|
198
|
+
if (keySelector === void 0 || valueSelector === void 0) {
|
199
|
+
return new Map(this);
|
200
|
+
}
|
198
201
|
const result = /* @__PURE__ */ new Map();
|
199
202
|
for (const e of this) {
|
200
203
|
const key = keySelector(e);
|
@@ -617,7 +620,7 @@ var UniqueWithComparatorQuery = class extends Query {
|
|
617
620
|
};
|
618
621
|
|
619
622
|
// source/common/Constants.ts
|
620
|
-
var ArtelVersion = true ? "0.6.
|
623
|
+
var ArtelVersion = true ? "0.6.25234" : "";
|
621
624
|
var ArtelSourceFileExtensions = [".\u0430\u0440\u0442", ".\u0430\u0440\u0442\u0435\u043B\u044C", ".art", ".artel"];
|
622
625
|
var ArtelSourceFileExtensionSet = new Set(ArtelSourceFileExtensions);
|
623
626
|
var ArtelSourceAndConfigurationFileExtensionSet = new Set(ArtelSourceFileExtensionSet).add(".json");
|
@@ -761,6 +764,9 @@ var ArrayUtils = class {
|
|
761
764
|
static pushElementIfUniqueComparingWithEquals(array, element) {
|
762
765
|
if (!array.some((e) => e.equals(element))) {
|
763
766
|
array.push(element);
|
767
|
+
return true;
|
768
|
+
} else {
|
769
|
+
return false;
|
764
770
|
}
|
765
771
|
}
|
766
772
|
static pushElementsIfUniqueComparingWithEquals(array, elements) {
|
@@ -1542,60 +1548,60 @@ var TokenKind = /* @__PURE__ */ ((TokenKind6) => {
|
|
1542
1548
|
TokenKind6[TokenKind6["TextTemplateHead"] = 7] = "TextTemplateHead";
|
1543
1549
|
TokenKind6[TokenKind6["TextTemplatePart"] = 8] = "TextTemplatePart";
|
1544
1550
|
TokenKind6[TokenKind6["TextTemplateTail"] = 9] = "TextTemplateTail";
|
1545
|
-
TokenKind6[TokenKind6["
|
1546
|
-
TokenKind6[TokenKind6["
|
1547
|
-
TokenKind6[TokenKind6["
|
1548
|
-
TokenKind6[TokenKind6["
|
1549
|
-
TokenKind6[TokenKind6["
|
1550
|
-
TokenKind6[TokenKind6["
|
1551
|
-
TokenKind6[TokenKind6["
|
1552
|
-
TokenKind6[TokenKind6["
|
1553
|
-
TokenKind6[TokenKind6["
|
1554
|
-
TokenKind6[TokenKind6["
|
1555
|
-
TokenKind6[TokenKind6["
|
1556
|
-
TokenKind6[TokenKind6["
|
1557
|
-
TokenKind6[TokenKind6["
|
1558
|
-
TokenKind6[TokenKind6["
|
1559
|
-
TokenKind6[TokenKind6["
|
1560
|
-
TokenKind6[TokenKind6["
|
1561
|
-
TokenKind6[TokenKind6["
|
1562
|
-
TokenKind6[TokenKind6["
|
1563
|
-
TokenKind6[TokenKind6["
|
1564
|
-
TokenKind6[TokenKind6["
|
1565
|
-
TokenKind6[TokenKind6["
|
1566
|
-
TokenKind6[TokenKind6["
|
1567
|
-
TokenKind6[TokenKind6["
|
1568
|
-
TokenKind6[TokenKind6["
|
1569
|
-
TokenKind6[TokenKind6["
|
1570
|
-
TokenKind6[TokenKind6["
|
1571
|
-
TokenKind6[TokenKind6["
|
1572
|
-
TokenKind6[TokenKind6["
|
1573
|
-
TokenKind6[TokenKind6["
|
1574
|
-
TokenKind6[TokenKind6["
|
1575
|
-
TokenKind6[TokenKind6["
|
1576
|
-
TokenKind6[TokenKind6["
|
1577
|
-
TokenKind6[TokenKind6["
|
1578
|
-
TokenKind6[TokenKind6["
|
1579
|
-
TokenKind6[TokenKind6["
|
1580
|
-
TokenKind6[TokenKind6["
|
1581
|
-
TokenKind6[TokenKind6["
|
1582
|
-
TokenKind6[TokenKind6["
|
1583
|
-
TokenKind6[TokenKind6["
|
1584
|
-
TokenKind6[TokenKind6["
|
1585
|
-
TokenKind6[TokenKind6["
|
1586
|
-
TokenKind6[TokenKind6["
|
1587
|
-
TokenKind6[TokenKind6["
|
1588
|
-
TokenKind6[TokenKind6["
|
1589
|
-
TokenKind6[TokenKind6["
|
1590
|
-
TokenKind6[TokenKind6["
|
1591
|
-
TokenKind6[TokenKind6["
|
1592
|
-
TokenKind6[TokenKind6["
|
1593
|
-
TokenKind6[TokenKind6["
|
1594
|
-
TokenKind6[TokenKind6["
|
1595
|
-
TokenKind6[TokenKind6["
|
1596
|
-
TokenKind6[TokenKind6["
|
1597
|
-
TokenKind6[TokenKind6["
|
1598
|
-
TokenKind6[TokenKind6["
|
1551
|
+
TokenKind6[TokenKind6["Identifier"] = 10] = "Identifier";
|
1552
|
+
TokenKind6[TokenKind6["Ampersand"] = 11] = "Ampersand";
|
1553
|
+
TokenKind6[TokenKind6["AmpersandAmpersand"] = 12] = "AmpersandAmpersand";
|
1554
|
+
TokenKind6[TokenKind6["AmpersandEquals"] = 13] = "AmpersandEquals";
|
1555
|
+
TokenKind6[TokenKind6["Asterisk"] = 14] = "Asterisk";
|
1556
|
+
TokenKind6[TokenKind6["AsteriskAsterisk"] = 15] = "AsteriskAsterisk";
|
1557
|
+
TokenKind6[TokenKind6["AsteriskEquals"] = 16] = "AsteriskEquals";
|
1558
|
+
TokenKind6[TokenKind6["BackQuote"] = 17] = "BackQuote";
|
1559
|
+
TokenKind6[TokenKind6["Bar"] = 18] = "Bar";
|
1560
|
+
TokenKind6[TokenKind6["BarBar"] = 19] = "BarBar";
|
1561
|
+
TokenKind6[TokenKind6["Caret"] = 20] = "Caret";
|
1562
|
+
TokenKind6[TokenKind6["CloseBrace"] = 21] = "CloseBrace";
|
1563
|
+
TokenKind6[TokenKind6["CloseParenthesis"] = 22] = "CloseParenthesis";
|
1564
|
+
TokenKind6[TokenKind6["CloseSquareBracket"] = 23] = "CloseSquareBracket";
|
1565
|
+
TokenKind6[TokenKind6["Colon"] = 24] = "Colon";
|
1566
|
+
TokenKind6[TokenKind6["Comma"] = 25] = "Comma";
|
1567
|
+
TokenKind6[TokenKind6["CommercialAt"] = 26] = "CommercialAt";
|
1568
|
+
TokenKind6[TokenKind6["Dot"] = 27] = "Dot";
|
1569
|
+
TokenKind6[TokenKind6["DoublePeriod"] = 28] = "DoublePeriod";
|
1570
|
+
TokenKind6[TokenKind6["Ellipsis"] = 29] = "Ellipsis";
|
1571
|
+
TokenKind6[TokenKind6["EqualsEquals"] = 30] = "EqualsEquals";
|
1572
|
+
TokenKind6[TokenKind6["EqualsGreaterThan"] = 31] = "EqualsGreaterThan";
|
1573
|
+
TokenKind6[TokenKind6["Exclamation"] = 32] = "Exclamation";
|
1574
|
+
TokenKind6[TokenKind6["ExclamationEquals"] = 33] = "ExclamationEquals";
|
1575
|
+
TokenKind6[TokenKind6["GreaterThan"] = 34] = "GreaterThan";
|
1576
|
+
TokenKind6[TokenKind6["GreaterThanOrEqual"] = 35] = "GreaterThanOrEqual";
|
1577
|
+
TokenKind6[TokenKind6["HashSign"] = 36] = "HashSign";
|
1578
|
+
TokenKind6[TokenKind6["LessThan"] = 37] = "LessThan";
|
1579
|
+
TokenKind6[TokenKind6["LessThanOrEqual"] = 38] = "LessThanOrEqual";
|
1580
|
+
TokenKind6[TokenKind6["LessThanMinus"] = 39] = "LessThanMinus";
|
1581
|
+
TokenKind6[TokenKind6["Minus"] = 40] = "Minus";
|
1582
|
+
TokenKind6[TokenKind6["MinusMinus"] = 41] = "MinusMinus";
|
1583
|
+
TokenKind6[TokenKind6["MinusEquals"] = 42] = "MinusEquals";
|
1584
|
+
TokenKind6[TokenKind6["MinusGreaterThan"] = 43] = "MinusGreaterThan";
|
1585
|
+
TokenKind6[TokenKind6["OpenBrace"] = 44] = "OpenBrace";
|
1586
|
+
TokenKind6[TokenKind6["OpenParenthesis"] = 45] = "OpenParenthesis";
|
1587
|
+
TokenKind6[TokenKind6["OpenSquareBracket"] = 46] = "OpenSquareBracket";
|
1588
|
+
TokenKind6[TokenKind6["Plus"] = 47] = "Plus";
|
1589
|
+
TokenKind6[TokenKind6["PlusPlus"] = 48] = "PlusPlus";
|
1590
|
+
TokenKind6[TokenKind6["PlusEquals"] = 49] = "PlusEquals";
|
1591
|
+
TokenKind6[TokenKind6["Question"] = 50] = "Question";
|
1592
|
+
TokenKind6[TokenKind6["QuestionQuestion"] = 51] = "QuestionQuestion";
|
1593
|
+
TokenKind6[TokenKind6["Semicolon"] = 52] = "Semicolon";
|
1594
|
+
TokenKind6[TokenKind6["Slash"] = 53] = "Slash";
|
1595
|
+
TokenKind6[TokenKind6["SlashEquals"] = 54] = "SlashEquals";
|
1596
|
+
TokenKind6[TokenKind6["Tilde"] = 55] = "Tilde";
|
1597
|
+
TokenKind6[TokenKind6["TildeTilde"] = 56] = "TildeTilde";
|
1598
|
+
TokenKind6[TokenKind6["Underscore"] = 57] = "Underscore";
|
1599
|
+
TokenKind6[TokenKind6["Equals"] = 58] = "Equals";
|
1600
|
+
TokenKind6[TokenKind6["Percent"] = 59] = "Percent";
|
1601
|
+
TokenKind6[TokenKind6["PercentPercent"] = 60] = "PercentPercent";
|
1602
|
+
TokenKind6[TokenKind6["Backslash"] = 61] = "Backslash";
|
1603
|
+
TokenKind6[TokenKind6["BackslashEquals"] = 62] = "BackslashEquals";
|
1604
|
+
TokenKind6[TokenKind6["BackslashBackslash"] = 63] = "BackslashBackslash";
|
1599
1605
|
return TokenKind6;
|
1600
1606
|
})(TokenKind || {});
|
1601
1607
|
var tokenKindValues = {
|
@@ -1609,60 +1615,60 @@ var tokenKindValues = {
|
|
1609
1615
|
[7 /* TextTemplateHead */]: "",
|
1610
1616
|
[8 /* TextTemplatePart */]: "",
|
1611
1617
|
[9 /* TextTemplateTail */]: "",
|
1612
|
-
[10 /*
|
1613
|
-
[11 /*
|
1614
|
-
[12 /*
|
1615
|
-
[13 /*
|
1616
|
-
[14 /*
|
1617
|
-
[15 /*
|
1618
|
-
[16 /*
|
1619
|
-
[17 /*
|
1620
|
-
[18 /*
|
1621
|
-
[19 /*
|
1622
|
-
[20 /*
|
1623
|
-
[21 /*
|
1624
|
-
[22 /*
|
1625
|
-
[23 /*
|
1626
|
-
[24 /*
|
1627
|
-
[25 /*
|
1628
|
-
[26 /*
|
1629
|
-
[27 /*
|
1630
|
-
[28 /*
|
1631
|
-
[29 /*
|
1632
|
-
[30 /*
|
1633
|
-
[31 /*
|
1634
|
-
[32 /*
|
1635
|
-
[33 /*
|
1636
|
-
[34 /*
|
1637
|
-
[35 /*
|
1638
|
-
[36 /*
|
1639
|
-
[37 /*
|
1640
|
-
[38 /*
|
1641
|
-
[39 /*
|
1642
|
-
[40 /*
|
1643
|
-
[41 /*
|
1644
|
-
[42 /*
|
1645
|
-
[43 /*
|
1646
|
-
[44 /*
|
1647
|
-
[45 /*
|
1648
|
-
[46 /*
|
1649
|
-
[47 /*
|
1650
|
-
[48 /*
|
1651
|
-
[49 /*
|
1652
|
-
[50 /*
|
1653
|
-
[51 /*
|
1654
|
-
[52 /*
|
1655
|
-
[53 /*
|
1656
|
-
[54 /*
|
1657
|
-
[55 /*
|
1658
|
-
[56 /*
|
1659
|
-
[57 /*
|
1660
|
-
[58 /*
|
1661
|
-
[59 /*
|
1662
|
-
[60 /*
|
1663
|
-
[61 /*
|
1664
|
-
[62 /*
|
1665
|
-
[63 /*
|
1618
|
+
[10 /* Identifier */]: "",
|
1619
|
+
[11 /* Ampersand */]: "&",
|
1620
|
+
[12 /* AmpersandAmpersand */]: "&&",
|
1621
|
+
[13 /* AmpersandEquals */]: "&=",
|
1622
|
+
[14 /* Asterisk */]: "*",
|
1623
|
+
[15 /* AsteriskAsterisk */]: "**",
|
1624
|
+
[16 /* AsteriskEquals */]: "*=",
|
1625
|
+
[17 /* BackQuote */]: "`",
|
1626
|
+
[18 /* Bar */]: "|",
|
1627
|
+
[19 /* BarBar */]: "||",
|
1628
|
+
[20 /* Caret */]: "^",
|
1629
|
+
[21 /* CloseBrace */]: "}",
|
1630
|
+
[22 /* CloseParenthesis */]: ")",
|
1631
|
+
[23 /* CloseSquareBracket */]: "]",
|
1632
|
+
[24 /* Colon */]: ":",
|
1633
|
+
[25 /* Comma */]: ",",
|
1634
|
+
[26 /* CommercialAt */]: "@",
|
1635
|
+
[27 /* Dot */]: ".",
|
1636
|
+
[28 /* DoublePeriod */]: "..",
|
1637
|
+
[29 /* Ellipsis */]: "...",
|
1638
|
+
[30 /* EqualsEquals */]: "==",
|
1639
|
+
[31 /* EqualsGreaterThan */]: "=>",
|
1640
|
+
[32 /* Exclamation */]: "!",
|
1641
|
+
[33 /* ExclamationEquals */]: "!=",
|
1642
|
+
[34 /* GreaterThan */]: ">",
|
1643
|
+
[35 /* GreaterThanOrEqual */]: ">=",
|
1644
|
+
[36 /* HashSign */]: "#",
|
1645
|
+
[37 /* LessThan */]: "<",
|
1646
|
+
[38 /* LessThanOrEqual */]: "<=",
|
1647
|
+
[39 /* LessThanMinus */]: "<-",
|
1648
|
+
[40 /* Minus */]: "-",
|
1649
|
+
[41 /* MinusMinus */]: "--",
|
1650
|
+
[42 /* MinusEquals */]: "-=",
|
1651
|
+
[43 /* MinusGreaterThan */]: "->",
|
1652
|
+
[44 /* OpenBrace */]: "{",
|
1653
|
+
[45 /* OpenParenthesis */]: "(",
|
1654
|
+
[46 /* OpenSquareBracket */]: "[",
|
1655
|
+
[47 /* Plus */]: "+",
|
1656
|
+
[48 /* PlusPlus */]: "++",
|
1657
|
+
[49 /* PlusEquals */]: "+=",
|
1658
|
+
[50 /* Question */]: "?",
|
1659
|
+
[51 /* QuestionQuestion */]: "??",
|
1660
|
+
[52 /* Semicolon */]: ";",
|
1661
|
+
[53 /* Slash */]: "/",
|
1662
|
+
[54 /* SlashEquals */]: "/=",
|
1663
|
+
[55 /* Tilde */]: "~",
|
1664
|
+
[56 /* TildeTilde */]: "~~",
|
1665
|
+
[57 /* Underscore */]: "_",
|
1666
|
+
[58 /* Equals */]: "=",
|
1667
|
+
[59 /* Percent */]: "%",
|
1668
|
+
[60 /* PercentPercent */]: "%%",
|
1669
|
+
[61 /* Backslash */]: "\\",
|
1670
|
+
[62 /* BackslashEquals */]: "\\=",
|
1671
|
+
[63 /* BackslashBackslash */]: "\\\\"
|
1666
1672
|
};
|
1667
1673
|
|
1668
1674
|
// source/tree/TriviaKind.ts
|
@@ -2483,61 +2489,61 @@ var TokenKind2 = /* @__PURE__ */ ((TokenKind6) => {
|
|
2483
2489
|
TokenKind6[TokenKind6["TextTemplateTail"] = 13] = "TextTemplateTail";
|
2484
2490
|
TokenKind6[TokenKind6["LocalizableTextLiteral"] = 14] = "LocalizableTextLiteral";
|
2485
2491
|
TokenKind6[TokenKind6["LocalizableTextTemplateHead"] = 15] = "LocalizableTextTemplateHead";
|
2486
|
-
TokenKind6[TokenKind6["
|
2487
|
-
TokenKind6[TokenKind6["
|
2488
|
-
TokenKind6[TokenKind6["
|
2489
|
-
TokenKind6[TokenKind6["
|
2490
|
-
TokenKind6[TokenKind6["
|
2491
|
-
TokenKind6[TokenKind6["
|
2492
|
-
TokenKind6[TokenKind6["
|
2493
|
-
TokenKind6[TokenKind6["
|
2494
|
-
TokenKind6[TokenKind6["
|
2495
|
-
TokenKind6[TokenKind6["
|
2496
|
-
TokenKind6[TokenKind6["
|
2497
|
-
TokenKind6[TokenKind6["
|
2498
|
-
TokenKind6[TokenKind6["
|
2499
|
-
TokenKind6[TokenKind6["
|
2500
|
-
TokenKind6[TokenKind6["
|
2501
|
-
TokenKind6[TokenKind6["
|
2502
|
-
TokenKind6[TokenKind6["
|
2503
|
-
TokenKind6[TokenKind6["
|
2504
|
-
TokenKind6[TokenKind6["
|
2505
|
-
TokenKind6[TokenKind6["
|
2506
|
-
TokenKind6[TokenKind6["
|
2507
|
-
TokenKind6[TokenKind6["
|
2508
|
-
TokenKind6[TokenKind6["
|
2509
|
-
TokenKind6[TokenKind6["
|
2510
|
-
TokenKind6[TokenKind6["
|
2511
|
-
TokenKind6[TokenKind6["
|
2512
|
-
TokenKind6[TokenKind6["
|
2513
|
-
TokenKind6[TokenKind6["
|
2514
|
-
TokenKind6[TokenKind6["
|
2515
|
-
TokenKind6[TokenKind6["
|
2516
|
-
TokenKind6[TokenKind6["
|
2517
|
-
TokenKind6[TokenKind6["
|
2518
|
-
TokenKind6[TokenKind6["
|
2519
|
-
TokenKind6[TokenKind6["
|
2520
|
-
TokenKind6[TokenKind6["
|
2521
|
-
TokenKind6[TokenKind6["
|
2522
|
-
TokenKind6[TokenKind6["
|
2523
|
-
TokenKind6[TokenKind6["
|
2524
|
-
TokenKind6[TokenKind6["
|
2525
|
-
TokenKind6[TokenKind6["
|
2526
|
-
TokenKind6[TokenKind6["
|
2527
|
-
TokenKind6[TokenKind6["
|
2528
|
-
TokenKind6[TokenKind6["
|
2529
|
-
TokenKind6[TokenKind6["
|
2530
|
-
TokenKind6[TokenKind6["
|
2531
|
-
TokenKind6[TokenKind6["
|
2532
|
-
TokenKind6[TokenKind6["
|
2533
|
-
TokenKind6[TokenKind6["
|
2534
|
-
TokenKind6[TokenKind6["
|
2535
|
-
TokenKind6[TokenKind6["
|
2536
|
-
TokenKind6[TokenKind6["
|
2537
|
-
TokenKind6[TokenKind6["
|
2538
|
-
TokenKind6[TokenKind6["
|
2539
|
-
TokenKind6[TokenKind6["
|
2540
|
-
TokenKind6[TokenKind6["
|
2492
|
+
TokenKind6[TokenKind6["Identifier"] = 16] = "Identifier";
|
2493
|
+
TokenKind6[TokenKind6["QuotedIdentifier"] = 17] = "QuotedIdentifier";
|
2494
|
+
TokenKind6[TokenKind6["Ampersand"] = 18] = "Ampersand";
|
2495
|
+
TokenKind6[TokenKind6["AmpersandAmpersand"] = 19] = "AmpersandAmpersand";
|
2496
|
+
TokenKind6[TokenKind6["AmpersandEquals"] = 20] = "AmpersandEquals";
|
2497
|
+
TokenKind6[TokenKind6["Asterisk"] = 21] = "Asterisk";
|
2498
|
+
TokenKind6[TokenKind6["AsteriskAsterisk"] = 22] = "AsteriskAsterisk";
|
2499
|
+
TokenKind6[TokenKind6["AsteriskEquals"] = 23] = "AsteriskEquals";
|
2500
|
+
TokenKind6[TokenKind6["BackQuote"] = 24] = "BackQuote";
|
2501
|
+
TokenKind6[TokenKind6["Bar"] = 25] = "Bar";
|
2502
|
+
TokenKind6[TokenKind6["BarBar"] = 26] = "BarBar";
|
2503
|
+
TokenKind6[TokenKind6["Caret"] = 27] = "Caret";
|
2504
|
+
TokenKind6[TokenKind6["RightBrace"] = 28] = "RightBrace";
|
2505
|
+
TokenKind6[TokenKind6["RightParenthesis"] = 29] = "RightParenthesis";
|
2506
|
+
TokenKind6[TokenKind6["RightSquareBracket"] = 30] = "RightSquareBracket";
|
2507
|
+
TokenKind6[TokenKind6["Colon"] = 31] = "Colon";
|
2508
|
+
TokenKind6[TokenKind6["Comma"] = 32] = "Comma";
|
2509
|
+
TokenKind6[TokenKind6["CommercialAt"] = 33] = "CommercialAt";
|
2510
|
+
TokenKind6[TokenKind6["Dot"] = 34] = "Dot";
|
2511
|
+
TokenKind6[TokenKind6["DoublePeriod"] = 35] = "DoublePeriod";
|
2512
|
+
TokenKind6[TokenKind6["Ellipsis"] = 36] = "Ellipsis";
|
2513
|
+
TokenKind6[TokenKind6["EqualsEquals"] = 37] = "EqualsEquals";
|
2514
|
+
TokenKind6[TokenKind6["EqualsRightAngle"] = 38] = "EqualsRightAngle";
|
2515
|
+
TokenKind6[TokenKind6["Exclamation"] = 39] = "Exclamation";
|
2516
|
+
TokenKind6[TokenKind6["ExclamationEquals"] = 40] = "ExclamationEquals";
|
2517
|
+
TokenKind6[TokenKind6["RightAngle"] = 41] = "RightAngle";
|
2518
|
+
TokenKind6[TokenKind6["RightAngleEquals"] = 42] = "RightAngleEquals";
|
2519
|
+
TokenKind6[TokenKind6["HashSign"] = 43] = "HashSign";
|
2520
|
+
TokenKind6[TokenKind6["LeftAngle"] = 44] = "LeftAngle";
|
2521
|
+
TokenKind6[TokenKind6["LeftAngleEquals"] = 45] = "LeftAngleEquals";
|
2522
|
+
TokenKind6[TokenKind6["LeftAngleMinus"] = 46] = "LeftAngleMinus";
|
2523
|
+
TokenKind6[TokenKind6["Minus"] = 47] = "Minus";
|
2524
|
+
TokenKind6[TokenKind6["MinusMinus"] = 48] = "MinusMinus";
|
2525
|
+
TokenKind6[TokenKind6["MinusEquals"] = 49] = "MinusEquals";
|
2526
|
+
TokenKind6[TokenKind6["MinusRightAngle"] = 50] = "MinusRightAngle";
|
2527
|
+
TokenKind6[TokenKind6["LeftBrace"] = 51] = "LeftBrace";
|
2528
|
+
TokenKind6[TokenKind6["LeftParenthesis"] = 52] = "LeftParenthesis";
|
2529
|
+
TokenKind6[TokenKind6["LeftSquareBracket"] = 53] = "LeftSquareBracket";
|
2530
|
+
TokenKind6[TokenKind6["Plus"] = 54] = "Plus";
|
2531
|
+
TokenKind6[TokenKind6["PlusPlus"] = 55] = "PlusPlus";
|
2532
|
+
TokenKind6[TokenKind6["PlusEquals"] = 56] = "PlusEquals";
|
2533
|
+
TokenKind6[TokenKind6["Question"] = 57] = "Question";
|
2534
|
+
TokenKind6[TokenKind6["QuestionQuestion"] = 58] = "QuestionQuestion";
|
2535
|
+
TokenKind6[TokenKind6["Semicolon"] = 59] = "Semicolon";
|
2536
|
+
TokenKind6[TokenKind6["Slash"] = 60] = "Slash";
|
2537
|
+
TokenKind6[TokenKind6["SlashEquals"] = 61] = "SlashEquals";
|
2538
|
+
TokenKind6[TokenKind6["Tilde"] = 62] = "Tilde";
|
2539
|
+
TokenKind6[TokenKind6["TildeTilde"] = 63] = "TildeTilde";
|
2540
|
+
TokenKind6[TokenKind6["Underscore"] = 64] = "Underscore";
|
2541
|
+
TokenKind6[TokenKind6["Equals"] = 65] = "Equals";
|
2542
|
+
TokenKind6[TokenKind6["Percent"] = 66] = "Percent";
|
2543
|
+
TokenKind6[TokenKind6["PercentPercent"] = 67] = "PercentPercent";
|
2544
|
+
TokenKind6[TokenKind6["BackSlash"] = 68] = "BackSlash";
|
2545
|
+
TokenKind6[TokenKind6["BackSlashEquals"] = 69] = "BackSlashEquals";
|
2546
|
+
TokenKind6[TokenKind6["BackSlashBackSlash"] = 70] = "BackSlashBackSlash";
|
2541
2547
|
return TokenKind6;
|
2542
2548
|
})(TokenKind2 || {});
|
2543
2549
|
|
@@ -2647,74 +2653,74 @@ var Scanner = class _Scanner {
|
|
2647
2653
|
case "!":
|
2648
2654
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2649
2655
|
this.currentPosition += 2;
|
2650
|
-
kind =
|
2656
|
+
kind = 40 /* ExclamationEquals */;
|
2651
2657
|
} else {
|
2652
2658
|
this.currentPosition++;
|
2653
|
-
kind =
|
2659
|
+
kind = 39 /* Exclamation */;
|
2654
2660
|
}
|
2655
2661
|
break;
|
2656
2662
|
case "&":
|
2657
2663
|
if (this.text.charAt(this.currentPosition + 1) === "&") {
|
2658
2664
|
this.currentPosition += 2;
|
2659
|
-
kind =
|
2665
|
+
kind = 19 /* AmpersandAmpersand */;
|
2660
2666
|
} else if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2661
2667
|
this.currentPosition += 2;
|
2662
|
-
kind =
|
2668
|
+
kind = 20 /* AmpersandEquals */;
|
2663
2669
|
} else {
|
2664
2670
|
this.currentPosition++;
|
2665
|
-
kind =
|
2671
|
+
kind = 18 /* Ampersand */;
|
2666
2672
|
}
|
2667
2673
|
break;
|
2668
2674
|
case "(":
|
2669
2675
|
this.currentPosition++;
|
2670
|
-
kind =
|
2676
|
+
kind = 52 /* LeftParenthesis */;
|
2671
2677
|
break;
|
2672
2678
|
case ")":
|
2673
2679
|
this.currentPosition++;
|
2674
|
-
kind =
|
2680
|
+
kind = 29 /* RightParenthesis */;
|
2675
2681
|
break;
|
2676
2682
|
case "*":
|
2677
2683
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2678
2684
|
this.currentPosition += 2;
|
2679
|
-
kind =
|
2685
|
+
kind = 23 /* AsteriskEquals */;
|
2680
2686
|
} else if (this.text.charAt(this.currentPosition + 1) === "*") {
|
2681
2687
|
this.currentPosition += 2;
|
2682
|
-
kind =
|
2688
|
+
kind = 22 /* AsteriskAsterisk */;
|
2683
2689
|
} else {
|
2684
2690
|
this.currentPosition++;
|
2685
|
-
kind =
|
2691
|
+
kind = 21 /* Asterisk */;
|
2686
2692
|
}
|
2687
2693
|
break;
|
2688
2694
|
case "+":
|
2689
2695
|
if (this.text.charAt(this.currentPosition + 1) === "+") {
|
2690
2696
|
this.currentPosition += 2;
|
2691
|
-
kind =
|
2697
|
+
kind = 55 /* PlusPlus */;
|
2692
2698
|
} else if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2693
2699
|
this.currentPosition += 2;
|
2694
|
-
kind =
|
2700
|
+
kind = 56 /* PlusEquals */;
|
2695
2701
|
} else {
|
2696
2702
|
this.currentPosition++;
|
2697
|
-
kind =
|
2703
|
+
kind = 54 /* Plus */;
|
2698
2704
|
}
|
2699
2705
|
break;
|
2700
2706
|
case "-":
|
2701
2707
|
if (this.text.charAt(this.currentPosition + 1) === "-") {
|
2702
2708
|
this.currentPosition += 2;
|
2703
|
-
kind =
|
2709
|
+
kind = 48 /* MinusMinus */;
|
2704
2710
|
} else if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2705
2711
|
this.currentPosition += 2;
|
2706
|
-
kind =
|
2712
|
+
kind = 49 /* MinusEquals */;
|
2707
2713
|
} else if (this.text.charAt(this.currentPosition + 1) === ">") {
|
2708
2714
|
this.currentPosition += 2;
|
2709
|
-
kind =
|
2715
|
+
kind = 50 /* MinusRightAngle */;
|
2710
2716
|
} else {
|
2711
2717
|
this.currentPosition++;
|
2712
|
-
kind =
|
2718
|
+
kind = 47 /* Minus */;
|
2713
2719
|
}
|
2714
2720
|
break;
|
2715
2721
|
case ",":
|
2716
2722
|
this.currentPosition++;
|
2717
|
-
kind =
|
2723
|
+
kind = 32 /* Comma */;
|
2718
2724
|
break;
|
2719
2725
|
case ".":
|
2720
2726
|
if (_Scanner.isDigit(this.text.charCodeAt(this.currentPosition + 1))) {
|
@@ -2723,17 +2729,17 @@ var Scanner = class _Scanner {
|
|
2723
2729
|
unterminated = r.unterminated;
|
2724
2730
|
} else {
|
2725
2731
|
this.currentPosition++;
|
2726
|
-
kind =
|
2732
|
+
kind = 34 /* Dot */;
|
2727
2733
|
}
|
2728
2734
|
break;
|
2729
2735
|
case "`":
|
2730
2736
|
this.currentPosition++;
|
2731
|
-
kind =
|
2737
|
+
kind = 24 /* BackQuote */;
|
2732
2738
|
break;
|
2733
2739
|
case "/":
|
2734
2740
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2735
2741
|
this.currentPosition += 2;
|
2736
|
-
kind =
|
2742
|
+
kind = 61 /* SlashEquals */;
|
2737
2743
|
} else if (this.text.charAt(this.currentPosition + 1) === "/") {
|
2738
2744
|
this.currentPosition += 2;
|
2739
2745
|
this.scanSingleLineComment();
|
@@ -2745,16 +2751,16 @@ var Scanner = class _Scanner {
|
|
2745
2751
|
unterminated = !r;
|
2746
2752
|
} else {
|
2747
2753
|
this.currentPosition++;
|
2748
|
-
kind =
|
2754
|
+
kind = 60 /* Slash */;
|
2749
2755
|
}
|
2750
2756
|
break;
|
2751
2757
|
case "%":
|
2752
2758
|
if (this.text.charAt(this.currentPosition + 1) === "%") {
|
2753
2759
|
this.currentPosition += 2;
|
2754
|
-
kind =
|
2760
|
+
kind = 67 /* PercentPercent */;
|
2755
2761
|
} else {
|
2756
2762
|
this.currentPosition++;
|
2757
|
-
kind =
|
2763
|
+
kind = 66 /* Percent */;
|
2758
2764
|
}
|
2759
2765
|
break;
|
2760
2766
|
case "0":
|
@@ -2774,67 +2780,67 @@ var Scanner = class _Scanner {
|
|
2774
2780
|
}
|
2775
2781
|
case ":":
|
2776
2782
|
this.currentPosition++;
|
2777
|
-
kind =
|
2783
|
+
kind = 31 /* Colon */;
|
2778
2784
|
break;
|
2779
2785
|
case ";":
|
2780
2786
|
this.currentPosition++;
|
2781
|
-
kind =
|
2787
|
+
kind = 59 /* Semicolon */;
|
2782
2788
|
break;
|
2783
2789
|
case "<":
|
2784
2790
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2785
2791
|
this.currentPosition += 2;
|
2786
|
-
kind =
|
2792
|
+
kind = 45 /* LeftAngleEquals */;
|
2787
2793
|
} else if (this.text.charAt(this.currentPosition + 1) === "-") {
|
2788
2794
|
this.currentPosition += 2;
|
2789
|
-
kind =
|
2795
|
+
kind = 46 /* LeftAngleMinus */;
|
2790
2796
|
} else {
|
2791
2797
|
this.currentPosition++;
|
2792
|
-
kind =
|
2798
|
+
kind = 44 /* LeftAngle */;
|
2793
2799
|
}
|
2794
2800
|
break;
|
2795
2801
|
case "=":
|
2796
2802
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2797
2803
|
this.currentPosition += 2;
|
2798
|
-
kind =
|
2804
|
+
kind = 37 /* EqualsEquals */;
|
2799
2805
|
} else if (this.text.charAt(this.currentPosition + 1) === ">") {
|
2800
2806
|
this.currentPosition += 2;
|
2801
|
-
kind =
|
2807
|
+
kind = 38 /* EqualsRightAngle */;
|
2802
2808
|
} else {
|
2803
2809
|
this.currentPosition++;
|
2804
|
-
kind =
|
2810
|
+
kind = 65 /* Equals */;
|
2805
2811
|
}
|
2806
2812
|
break;
|
2807
2813
|
case ">":
|
2808
2814
|
if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2809
2815
|
this.currentPosition += 2;
|
2810
|
-
kind =
|
2816
|
+
kind = 42 /* RightAngleEquals */;
|
2811
2817
|
} else {
|
2812
2818
|
this.currentPosition++;
|
2813
|
-
kind =
|
2819
|
+
kind = 41 /* RightAngle */;
|
2814
2820
|
}
|
2815
2821
|
break;
|
2816
2822
|
case "?":
|
2817
2823
|
if (this.text.charAt(this.currentPosition + 1) === "?") {
|
2818
2824
|
this.currentPosition += 2;
|
2819
|
-
kind =
|
2825
|
+
kind = 58 /* QuestionQuestion */;
|
2820
2826
|
} else {
|
2821
2827
|
this.currentPosition++;
|
2822
|
-
kind =
|
2828
|
+
kind = 57 /* Question */;
|
2823
2829
|
}
|
2824
2830
|
break;
|
2825
2831
|
case "|":
|
2826
2832
|
if (this.text.charAt(this.currentPosition + 1) === "|") {
|
2827
2833
|
this.currentPosition += 2;
|
2828
|
-
kind =
|
2834
|
+
kind = 26 /* BarBar */;
|
2829
2835
|
} else {
|
2830
2836
|
this.currentPosition++;
|
2831
|
-
kind =
|
2837
|
+
kind = 25 /* Bar */;
|
2832
2838
|
}
|
2833
2839
|
break;
|
2834
2840
|
case "{":
|
2835
2841
|
this.braceBalance++;
|
2836
2842
|
this.currentPosition++;
|
2837
|
-
kind =
|
2843
|
+
kind = 51 /* LeftBrace */;
|
2838
2844
|
break;
|
2839
2845
|
case "}":
|
2840
2846
|
if (this.isCloseBraceEndingTextTemplate()) {
|
@@ -2844,21 +2850,21 @@ var Scanner = class _Scanner {
|
|
2844
2850
|
} else {
|
2845
2851
|
this.braceBalance--;
|
2846
2852
|
this.currentPosition++;
|
2847
|
-
kind =
|
2853
|
+
kind = 28 /* RightBrace */;
|
2848
2854
|
}
|
2849
2855
|
break;
|
2850
2856
|
case "[":
|
2851
2857
|
this.currentPosition++;
|
2852
|
-
kind =
|
2858
|
+
kind = 53 /* LeftSquareBracket */;
|
2853
2859
|
break;
|
2854
2860
|
case "]":
|
2855
2861
|
this.currentPosition++;
|
2856
|
-
kind =
|
2862
|
+
kind = 30 /* RightSquareBracket */;
|
2857
2863
|
break;
|
2858
2864
|
case "~":
|
2859
2865
|
if (this.text.charAt(this.currentPosition + 1) === "~") {
|
2860
2866
|
this.currentPosition += 2;
|
2861
|
-
kind =
|
2867
|
+
kind = 63 /* TildeTilde */;
|
2862
2868
|
} else if (this.text.charAt(this.currentPosition + 1) === '"') {
|
2863
2869
|
this.currentPosition++;
|
2864
2870
|
const r = this.scanCharOrTextOrTextTemplateElement(true);
|
@@ -2866,50 +2872,50 @@ var Scanner = class _Scanner {
|
|
2866
2872
|
unterminated = r.unterminated;
|
2867
2873
|
} else if (this.text.charAt(this.currentPosition + 1) === "'") {
|
2868
2874
|
const r = this.scanQuotedIdentifier();
|
2869
|
-
kind =
|
2875
|
+
kind = 17 /* QuotedIdentifier */;
|
2870
2876
|
unterminated = !r;
|
2871
2877
|
} else if (_Scanner.isIdentifierStart(this.text.charCodeAt(this.currentPosition + 1))) {
|
2872
2878
|
this.scanIdentifier();
|
2873
|
-
kind =
|
2879
|
+
kind = 16 /* Identifier */;
|
2874
2880
|
} else {
|
2875
2881
|
this.currentPosition++;
|
2876
|
-
kind =
|
2882
|
+
kind = 62 /* Tilde */;
|
2877
2883
|
}
|
2878
2884
|
break;
|
2879
2885
|
case "@":
|
2880
2886
|
this.currentPosition++;
|
2881
|
-
kind =
|
2887
|
+
kind = 33 /* CommercialAt */;
|
2882
2888
|
break;
|
2883
2889
|
case "#":
|
2884
2890
|
this.currentPosition++;
|
2885
|
-
kind =
|
2891
|
+
kind = 43 /* HashSign */;
|
2886
2892
|
break;
|
2887
2893
|
case "^":
|
2888
2894
|
this.currentPosition++;
|
2889
|
-
kind =
|
2895
|
+
kind = 27 /* Caret */;
|
2890
2896
|
break;
|
2891
2897
|
case "\\":
|
2892
2898
|
if (this.text.charAt(this.currentPosition + 1) === "\\") {
|
2893
2899
|
this.currentPosition += 2;
|
2894
|
-
kind =
|
2900
|
+
kind = 70 /* BackSlashBackSlash */;
|
2895
2901
|
} else if (this.text.charAt(this.currentPosition + 1) === "=") {
|
2896
2902
|
this.currentPosition += 2;
|
2897
|
-
kind =
|
2903
|
+
kind = 69 /* BackSlashEquals */;
|
2898
2904
|
} else {
|
2899
2905
|
this.currentPosition++;
|
2900
|
-
kind =
|
2906
|
+
kind = 68 /* BackSlash */;
|
2901
2907
|
}
|
2902
2908
|
break;
|
2903
2909
|
case "'": {
|
2904
2910
|
const r = this.scanQuotedIdentifier();
|
2905
|
-
kind =
|
2911
|
+
kind = 17 /* QuotedIdentifier */;
|
2906
2912
|
unterminated = !r;
|
2907
2913
|
break;
|
2908
2914
|
}
|
2909
2915
|
default:
|
2910
2916
|
if (_Scanner.isIdentifierStart(this.text.charCodeAt(this.currentPosition))) {
|
2911
2917
|
this.scanIdentifier();
|
2912
|
-
kind =
|
2918
|
+
kind = 16 /* Identifier */;
|
2913
2919
|
} else {
|
2914
2920
|
this.currentPosition++;
|
2915
2921
|
kind = 0 /* Unknown */;
|
@@ -4554,7 +4560,7 @@ function childRangeStart(parent, childIndex) {
|
|
4554
4560
|
|
4555
4561
|
// source/tree/red/Utils.ts
|
4556
4562
|
function isIdentifier(node) {
|
4557
|
-
return node.kind === 0 /* Token */ && node.tokenKind ===
|
4563
|
+
return node.kind === 0 /* Token */ && node.tokenKind === 10 /* Identifier */;
|
4558
4564
|
}
|
4559
4565
|
function isToken(node, kind) {
|
4560
4566
|
if (node.kind !== 0 /* Token */) {
|
@@ -12805,6 +12811,8 @@ var DiagnosticCode = /* @__PURE__ */ ((DiagnosticCode2) => {
|
|
12805
12811
|
DiagnosticCode2[DiagnosticCode2["OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0"] = 346] = "OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0";
|
12806
12812
|
DiagnosticCode2[DiagnosticCode2["TypeDoesNotImplementMember0"] = 347] = "TypeDoesNotImplementMember0";
|
12807
12813
|
DiagnosticCode2[DiagnosticCode2["CanNotAccessAbstractMemberOfBaseType"] = 348] = "CanNotAccessAbstractMemberOfBaseType";
|
12814
|
+
DiagnosticCode2[DiagnosticCode2["TheFollowingBaseTypeMembersConflictAndMustBeOverridden0"] = 349] = "TheFollowingBaseTypeMembersConflictAndMustBeOverridden0";
|
12815
|
+
DiagnosticCode2[DiagnosticCode2["TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1"] = 350] = "TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1";
|
12808
12816
|
DiagnosticCode2[DiagnosticCode2["CannotFindTsLibDirectoryBaseSearchPaths0"] = 401] = "CannotFindTsLibDirectoryBaseSearchPaths0";
|
12809
12817
|
DiagnosticCode2[DiagnosticCode2["SourceFile0IsNotPartOfThePackageAndWontBeLoaded"] = 402] = "SourceFile0IsNotPartOfThePackageAndWontBeLoaded";
|
12810
12818
|
DiagnosticCode2[DiagnosticCode2["ProgramWithoutMainPackageCannotBeCompiled"] = 403] = "ProgramWithoutMainPackageCannotBeCompiled";
|
@@ -13036,6 +13044,8 @@ var englishErrorMessages = {
|
|
13036
13044
|
[346 /* OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0 */]: "Overriding field must not be 'const' or have write function to match base field '{0}'",
|
13037
13045
|
[347 /* TypeDoesNotImplementMember0 */]: "Type does not implement member '{0}'.",
|
13038
13046
|
[348 /* CanNotAccessAbstractMemberOfBaseType */]: "Can not access abstract member of base type.",
|
13047
|
+
[349 /* TheFollowingBaseTypeMembersConflictAndMustBeOverridden0 */]: "The following base type members conflict and must be overridden:{0}",
|
13048
|
+
[350 /* TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1 */]: "The following base type members conflict because they have the same original name '{0}' and must be overridden:{1}",
|
13039
13049
|
[401 /* CannotFindTsLibDirectoryBaseSearchPaths0 */]: "Can not find directory with TypeScript library. Base search paths: {0}.",
|
13040
13050
|
[402 /* SourceFile0IsNotPartOfThePackageAndWontBeLoaded */]: "Source file '{0}' is not part of the package and won't be loaded.",
|
13041
13051
|
[403 /* ProgramWithoutMainPackageCannotBeCompiled */]: "Program without main package can not be compiled.",
|
@@ -13069,7 +13079,7 @@ var russianErrorMessages = {
|
|
13069
13079
|
[118 /* CatchClauseOrFinallyClauseExpected */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u0441\u044F \u0431\u043B\u043E\u043A '\u043B\u043E\u0432\u0443\u0448\u043A\u0430' \u0438\u043B\u0438 '\u043D\u0430\u043F\u043E\u0441\u043B\u0435\u0434\u043E\u043A'.",
|
13070
13080
|
[119 /* PackageImportExpected */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u0430\u043A\u0435\u0442\u0430.",
|
13071
13081
|
[120 /* DeclarationOrPackageImportExpected */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0431\u044A\u044F\u0432\u043B\u0435\u043D\u0438\u0435 \u0438\u043B\u0438 \u043F\u043E\u0434\u043A\u043B\u044E\u0447\u0435\u043D\u0438\u0435 \u043F\u0430\u043A\u0435\u0442\u0430.",
|
13072
|
-
[121 /* Expected0But1Found */]: "\u041E\u0436\u0438\u0434\u0430\u043B\
|
13082
|
+
[121 /* Expected0But1Found */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u0430\u0441\u044C \u043B\u0435\u043A\u0441\u0435\u043C\u0430 '{0}', \u043D\u043E \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043B\u0430\u0441\u044C \u043B\u0435\u043A\u0441\u0435\u043C\u0430 '{1}'.",
|
13073
13083
|
[122 /* InvalidTextTemplateLiteral */]: "\u041D\u0435\u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u044B\u0439 \u0442\u0435\u043A\u0441\u0442\u043E\u0432\u044B\u0439 \u0448\u0430\u0431\u043B\u043E\u043D.",
|
13074
13084
|
[123 /* ModifierListExpected */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u0441\u044F \u0441\u043F\u0438\u0441\u043E\u043A \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u0432.",
|
13075
13085
|
[124 /* RunKeywordCreationKeywordOrModifierListExpected */]: "\u041E\u0436\u0438\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043B\u0443\u0436\u0435\u0431\u043D\u043E\u0435 \u0441\u043B\u043E\u0432\u043E '\u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u044C' \u0438\u043B\u0438 \u0441\u043B\u0443\u0436\u0435\u0431\u043D\u043E\u0435 \u0441\u043B\u043E\u0432\u043E '\u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435', \u0438\u043B\u0438 \u0441\u043F\u0438\u0441\u043E\u043A \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u0432.",
|
@@ -13229,6 +13239,8 @@ var russianErrorMessages = {
|
|
13229
13239
|
[345 /* OverridingMethodMustNotBeAsyncBecauseBaseMethod0IsNotAsync */]: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u044B\u0439 \u043C\u0435\u0442\u043E\u0434 \u043D\u0435 \u0434\u043E\u043B\u0436\u0435\u043D \u0431\u044B\u0442\u044C \u043F\u043E\u043C\u0435\u0447\u0435\u043D \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C '\u0430\u0441\u0438\u043D\u0445\u0440\u043E\u043D\u043D\u044B\u0439', \u043F\u043E\u0441\u043A\u043E\u043B\u044C\u043A\u0443 \u0431\u0430\u0437\u043E\u0432\u044B\u0439 \u043C\u0435\u0442\u043E\u0434 '{0}' \u043D\u0435 \u043F\u043E\u043C\u0435\u0447\u0435\u043D \u0442\u0430\u043A\u0438\u043C \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C.",
|
13230
13240
|
[346 /* OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0 */]: "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u043D\u043E\u0435 \u043F\u043E\u043B\u0435 \u043D\u0435 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043F\u043E\u043C\u0435\u0447\u0435\u043D\u043E \u043C\u043E\u0434\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440\u043E\u043C '\u043A\u043E\u043D\u0441\u0442' \u0438\u043B\u0438 \u0434\u043E\u043B\u0436\u043D\u043E \u0438\u043C\u0435\u0442\u044C \u0444\u0443\u043D\u043A\u0446\u0438\u0438 \u0437\u0430\u043F\u0438\u0441\u0438, \u0447\u0442\u043E\u0431\u044B \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043E\u0432\u0430\u0442\u044C \u0431\u0430\u0437\u043E\u0432\u043E\u043C\u0443 \u043F\u043E\u043B\u044E '{0}'.",
|
13231
13241
|
[348 /* CanNotAccessAbstractMemberOfBaseType */]: "\u041D\u0435\u043B\u044C\u0437\u044F \u043E\u0431\u0440\u0430\u0442\u0438\u0442\u044C\u0441\u044F \u043A \u0430\u0431\u0441\u0442\u0440\u0430\u043A\u0442\u043D\u043E\u043C\u0443 \u0447\u043B\u0435\u043D\u0443 \u0431\u0430\u0437\u043E\u0432\u043E\u0433\u043E \u0442\u0438\u043F\u0430.",
|
13242
|
+
[349 /* TheFollowingBaseTypeMembersConflictAndMustBeOverridden0 */]: "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0447\u043B\u0435\u043D\u044B \u0431\u0430\u0437\u043E\u0432\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u0443\u044E\u0442 \u043C\u0435\u0436\u0434\u0443 \u0441\u043E\u0431\u043E\u0439 \u0438 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u044B:{0}",
|
13243
|
+
[350 /* TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1 */]: "\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 \u0447\u043B\u0435\u043D\u044B \u0431\u0430\u0437\u043E\u0432\u044B\u0445 \u0442\u0438\u043F\u043E\u0432 \u043A\u043E\u043D\u0444\u043B\u0438\u043A\u0442\u0443\u044E\u0442 \u043C\u0435\u0436\u0434\u0443 \u0441\u043E\u0431\u043E\u0439, \u043F\u043E\u0442\u043E\u043C\u0443 \u0447\u0442\u043E \u0438\u0445 \u0438\u043C\u0435\u043D\u0430 '{0}' \u0441\u043E\u0432\u043F\u0430\u0434\u0430\u044E\u0442 \u043D\u0430 \u044F\u0437\u044B\u043A\u0435 \u043E\u0440\u0438\u0433\u0438\u043D\u0430\u043B\u0430, \u0438 \u0434\u043E\u043B\u0436\u043D\u044B \u0431\u044B\u0442\u044C \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043D\u044B:{1}",
|
13232
13244
|
[401 /* CannotFindTsLibDirectoryBaseSearchPaths0 */]: "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043D\u0430\u0439\u0442\u0438 \u043F\u0430\u043F\u043A\u0443 \u0441\u043E \u0441\u0442\u0430\u043D\u0434\u0430\u0440\u0442\u043D\u043E\u0439 \u0431\u0438\u0431\u043B\u0438\u043E\u0442\u0435\u043A\u043E\u0439 TypeScript. \u041F\u0443\u0442\u0438, \u043E\u0442\u043D\u043E\u0441\u0438\u0442\u0435\u043B\u044C\u043D\u043E \u043A\u043E\u0442\u043E\u0440\u044B\u0445 \u043E\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043B\u044F\u043B\u0441\u044F \u043F\u043E\u0438\u0441\u043A: {0}.",
|
13233
13245
|
[402 /* SourceFile0IsNotPartOfThePackageAndWontBeLoaded */]: "\u0418\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u0444\u0430\u0439\u043B '{0}' \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0447\u0430\u0441\u0442\u044C\u044E \u043F\u0430\u043A\u0435\u0442\u0430 \u0438 \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D.",
|
13234
13246
|
[403 /* ProgramWithoutMainPackageCannotBeCompiled */]: "\u041F\u0440\u043E\u0433\u0440\u0430\u043C\u043C\u0430 \u0431\u0435\u0437 \u0433\u043B\u0430\u0432\u043D\u043E\u0433\u043E \u043F\u0430\u043A\u0435\u0442\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u0431\u044B\u0442\u044C \u0441\u043A\u043E\u043C\u043F\u0438\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u0430.",
|
@@ -14516,10 +14528,14 @@ var LocalizationContext = class {
|
|
14516
14528
|
getEntityName(entity) {
|
14517
14529
|
const containingPackage = getPackageContainingEntity(entity);
|
14518
14530
|
const translationPackage = this._translationPackageByTranslated.get(containingPackage);
|
14519
|
-
|
14520
|
-
|
14531
|
+
const translatedName = translationPackage?.getEntityName(entity);
|
14532
|
+
if (translationPackage !== void 0 && translatedName !== void 0) {
|
14533
|
+
return new LocalizedName.Translated(
|
14534
|
+
translatedName,
|
14535
|
+
new Localization.Translated(new Translation(translationPackage))
|
14536
|
+
);
|
14521
14537
|
}
|
14522
|
-
return
|
14538
|
+
return new LocalizedName.Original(entity.getName(), new Localization.Original(containingPackage.getLocale()));
|
14523
14539
|
}
|
14524
14540
|
};
|
14525
14541
|
|
@@ -15314,7 +15330,7 @@ var DisplayService = class {
|
|
15314
15330
|
Debug.never(localization);
|
15315
15331
|
}
|
15316
15332
|
}
|
15317
|
-
return this._lctxOrLocale instanceof LocalizationContext ? this._lctxOrLocale.getEntityName(entity) : entity.getName();
|
15333
|
+
return this._lctxOrLocale instanceof LocalizationContext ? this._lctxOrLocale.getEntityName(entity).value : entity.getName();
|
15318
15334
|
}
|
15319
15335
|
};
|
15320
15336
|
function typeToTypeUsage(type) {
|
@@ -16702,7 +16718,8 @@ __export(types_exports, {
|
|
16702
16718
|
UnionType: () => UnionType,
|
16703
16719
|
UnresolvedType: () => UnresolvedType2,
|
16704
16720
|
ValueParameter: () => ValueParameter,
|
16705
|
-
VariantType: () => VariantType2
|
16721
|
+
VariantType: () => VariantType2,
|
16722
|
+
isNamedTypeMember: () => isNamedTypeMember
|
16706
16723
|
});
|
16707
16724
|
|
16708
16725
|
// source/types/AliasType.ts
|
@@ -17357,6 +17374,9 @@ var TypeFactory = class {
|
|
17357
17374
|
};
|
17358
17375
|
|
17359
17376
|
// source/types/TypeMembers.ts
|
17377
|
+
function isNamedTypeMember(member) {
|
17378
|
+
return member.kind === "field" || member.kind === "method";
|
17379
|
+
}
|
17360
17380
|
var Method = class _Method {
|
17361
17381
|
constructor(_analyzer, _entity, _substitutions) {
|
17362
17382
|
this._analyzer = _analyzer;
|
@@ -17366,6 +17386,9 @@ var Method = class _Method {
|
|
17366
17386
|
this._valueParameters = new Cached();
|
17367
17387
|
this._signatureEntity = new Cached();
|
17368
17388
|
}
|
17389
|
+
get debuggerDisplay() {
|
17390
|
+
return this.toString();
|
17391
|
+
}
|
17369
17392
|
getName() {
|
17370
17393
|
return this._entity.getName();
|
17371
17394
|
}
|
@@ -17437,6 +17460,9 @@ var Method = class _Method {
|
|
17437
17460
|
}
|
17438
17461
|
return other.kind === "method" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17439
17462
|
}
|
17463
|
+
toString() {
|
17464
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17465
|
+
}
|
17440
17466
|
};
|
17441
17467
|
var ValueParameter = class {
|
17442
17468
|
constructor(_entity, _substitutions) {
|
@@ -17468,6 +17494,9 @@ var Field = class _Field {
|
|
17468
17494
|
this._substitutions = _substitutions;
|
17469
17495
|
this.kind = "field";
|
17470
17496
|
}
|
17497
|
+
get debuggerDisplay() {
|
17498
|
+
return this.toString();
|
17499
|
+
}
|
17471
17500
|
getName() {
|
17472
17501
|
return this._entity.getName();
|
17473
17502
|
}
|
@@ -17501,6 +17530,9 @@ var Field = class _Field {
|
|
17501
17530
|
}
|
17502
17531
|
return other.kind === "field" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17503
17532
|
}
|
17533
|
+
toString() {
|
17534
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17535
|
+
}
|
17504
17536
|
};
|
17505
17537
|
var Operator = class _Operator {
|
17506
17538
|
constructor(_analyzer, _entity, _substitutions) {
|
@@ -17511,6 +17543,9 @@ var Operator = class _Operator {
|
|
17511
17543
|
this._valueParameters = new Cached();
|
17512
17544
|
this._signatureEntity = new Cached();
|
17513
17545
|
}
|
17546
|
+
get debuggerDisplay() {
|
17547
|
+
return this.toString();
|
17548
|
+
}
|
17514
17549
|
getOperatorKind() {
|
17515
17550
|
return this._entity.getOperatorKind();
|
17516
17551
|
}
|
@@ -17581,6 +17616,9 @@ var Constructor = class _Constructor {
|
|
17581
17616
|
this.kind = "constructor";
|
17582
17617
|
this._valueParameters = new Cached();
|
17583
17618
|
}
|
17619
|
+
get debuggerDisplay() {
|
17620
|
+
return this.toString();
|
17621
|
+
}
|
17584
17622
|
getValueParameters() {
|
17585
17623
|
return this._valueParameters.getOrInsertWith(
|
17586
17624
|
() => this._entity.getValueParameters().map((p) => new ValueParameter(p, this._substitutions))
|
@@ -17607,6 +17645,9 @@ var Constructor = class _Constructor {
|
|
17607
17645
|
}
|
17608
17646
|
return other.kind === "constructor" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17609
17647
|
}
|
17648
|
+
toString() {
|
17649
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17650
|
+
}
|
17610
17651
|
};
|
17611
17652
|
var Destructor = class _Destructor {
|
17612
17653
|
constructor(_entity, _substitutions) {
|
@@ -17615,6 +17656,9 @@ var Destructor = class _Destructor {
|
|
17615
17656
|
this.kind = "destructor";
|
17616
17657
|
this._valueParameters = new Cached();
|
17617
17658
|
}
|
17659
|
+
get debuggerDisplay() {
|
17660
|
+
return this.toString();
|
17661
|
+
}
|
17618
17662
|
getValueParameters() {
|
17619
17663
|
return this._valueParameters.getOrInsertWith(
|
17620
17664
|
() => this._entity.getValueParameters().map((p) => new ValueParameter(p, this._substitutions))
|
@@ -17641,6 +17685,9 @@ var Destructor = class _Destructor {
|
|
17641
17685
|
}
|
17642
17686
|
return other.kind === "destructor" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17643
17687
|
}
|
17688
|
+
toString() {
|
17689
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17690
|
+
}
|
17644
17691
|
};
|
17645
17692
|
var Indexer = class _Indexer {
|
17646
17693
|
constructor(_entity, _substitutions) {
|
@@ -17649,6 +17696,9 @@ var Indexer = class _Indexer {
|
|
17649
17696
|
this.kind = "indexer";
|
17650
17697
|
this._valueParameters = new Cached();
|
17651
17698
|
}
|
17699
|
+
get debuggerDisplay() {
|
17700
|
+
return this.toString();
|
17701
|
+
}
|
17652
17702
|
getValueParameters() {
|
17653
17703
|
return this._valueParameters.getOrInsertWith(
|
17654
17704
|
() => this._entity.getValueParameters().map((p) => new ValueParameter(p, this._substitutions))
|
@@ -17678,6 +17728,9 @@ var Indexer = class _Indexer {
|
|
17678
17728
|
}
|
17679
17729
|
return other.kind === "indexer" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17680
17730
|
}
|
17731
|
+
toString() {
|
17732
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17733
|
+
}
|
17681
17734
|
};
|
17682
17735
|
var DereferenceOperator = class _DereferenceOperator {
|
17683
17736
|
constructor(_entity, _substitutions) {
|
@@ -17685,6 +17738,9 @@ var DereferenceOperator = class _DereferenceOperator {
|
|
17685
17738
|
this._substitutions = _substitutions;
|
17686
17739
|
this.kind = "dereference-operator";
|
17687
17740
|
}
|
17741
|
+
get debuggerDisplay() {
|
17742
|
+
return this.toString();
|
17743
|
+
}
|
17688
17744
|
getType() {
|
17689
17745
|
return this._entity.getType().applySubstitutions(this._substitutions.map);
|
17690
17746
|
}
|
@@ -17709,6 +17765,9 @@ var DereferenceOperator = class _DereferenceOperator {
|
|
17709
17765
|
}
|
17710
17766
|
return other.kind === "dereference-operator" && this._entity === other._entity && this._substitutions.equals(other._substitutions);
|
17711
17767
|
}
|
17768
|
+
toString() {
|
17769
|
+
return new DisplayService(void 0, 1 /* Ru */).displayTypeMember(this);
|
17770
|
+
}
|
17712
17771
|
};
|
17713
17772
|
|
17714
17773
|
// source/types/UnionType.ts
|
@@ -17873,6 +17932,23 @@ var VariantType2 = class {
|
|
17873
17932
|
};
|
17874
17933
|
|
17875
17934
|
// source/entities/TypeEntity.ts
|
17935
|
+
var TypeEntity2;
|
17936
|
+
((TypeEntity10) => {
|
17937
|
+
function isAbstract(entity) {
|
17938
|
+
switch (entity.typeEntityKind) {
|
17939
|
+
case 1 /* Structured */:
|
17940
|
+
return entity.isAbstract() || entity.isAspect();
|
17941
|
+
case 0 /* Function */:
|
17942
|
+
case 2 /* Parameter */:
|
17943
|
+
case 3 /* Variant */:
|
17944
|
+
case 4 /* Alias */:
|
17945
|
+
return false;
|
17946
|
+
default:
|
17947
|
+
Debug.never(entity);
|
17948
|
+
}
|
17949
|
+
}
|
17950
|
+
TypeEntity10.isAbstract = isAbstract;
|
17951
|
+
})(TypeEntity2 || (TypeEntity2 = {}));
|
17876
17952
|
var TypeEntityKind = /* @__PURE__ */ ((TypeEntityKind4) => {
|
17877
17953
|
TypeEntityKind4[TypeEntityKind4["Function"] = 0] = "Function";
|
17878
17954
|
TypeEntityKind4[TypeEntityKind4["Structured"] = 1] = "Structured";
|
@@ -20098,6 +20174,150 @@ __decorateClass([
|
|
20098
20174
|
atomicBlock
|
20099
20175
|
], FileInternal.prototype, "update", 1);
|
20100
20176
|
|
20177
|
+
// source/diagnostic/TokenDiagnostic.ts
|
20178
|
+
function getTokenName(tokenKind) {
|
20179
|
+
const userLocale2 = getUserLocale();
|
20180
|
+
let names = englishTokenNames;
|
20181
|
+
if (userLocale2 !== void 0) {
|
20182
|
+
if (userLocale2.startsWith("ru")) {
|
20183
|
+
names = russianTokenNames;
|
20184
|
+
}
|
20185
|
+
}
|
20186
|
+
return names[tokenKind];
|
20187
|
+
}
|
20188
|
+
var englishTokenNames = {
|
20189
|
+
[0 /* Unknown */]: "unknown",
|
20190
|
+
[1 /* EndOfFile */]: "end of file",
|
20191
|
+
[2 /* IntegerLiteral */]: "integer literal",
|
20192
|
+
[3 /* RealLiteral */]: "real literal",
|
20193
|
+
[4 /* MeasureLiteral */]: "measure literal",
|
20194
|
+
[5 /* CharLiteral */]: "character literal",
|
20195
|
+
[6 /* TextLiteral */]: "text literal",
|
20196
|
+
[7 /* TextTemplateHead */]: "text template literal",
|
20197
|
+
[8 /* TextTemplatePart */]: "text template literal",
|
20198
|
+
[9 /* TextTemplateTail */]: "text template literal",
|
20199
|
+
[10 /* Identifier */]: "identifier",
|
20200
|
+
[11 /* Ampersand */]: "&",
|
20201
|
+
[12 /* AmpersandAmpersand */]: "&&",
|
20202
|
+
[13 /* AmpersandEquals */]: "&=",
|
20203
|
+
[14 /* Asterisk */]: "*",
|
20204
|
+
[15 /* AsteriskAsterisk */]: "**",
|
20205
|
+
[16 /* AsteriskEquals */]: "*=",
|
20206
|
+
[17 /* BackQuote */]: "`",
|
20207
|
+
[18 /* Bar */]: "|",
|
20208
|
+
[19 /* BarBar */]: "||",
|
20209
|
+
[20 /* Caret */]: "^",
|
20210
|
+
[21 /* CloseBrace */]: "}",
|
20211
|
+
[22 /* CloseParenthesis */]: ")",
|
20212
|
+
[23 /* CloseSquareBracket */]: "]",
|
20213
|
+
[24 /* Colon */]: ":",
|
20214
|
+
[25 /* Comma */]: ",",
|
20215
|
+
[26 /* CommercialAt */]: "@",
|
20216
|
+
[27 /* Dot */]: ".",
|
20217
|
+
[28 /* DoublePeriod */]: "..",
|
20218
|
+
[29 /* Ellipsis */]: "...",
|
20219
|
+
[30 /* EqualsEquals */]: "==",
|
20220
|
+
[31 /* EqualsGreaterThan */]: "=>",
|
20221
|
+
[32 /* Exclamation */]: "!",
|
20222
|
+
[33 /* ExclamationEquals */]: "!=",
|
20223
|
+
[34 /* GreaterThan */]: ">",
|
20224
|
+
[35 /* GreaterThanOrEqual */]: ">=",
|
20225
|
+
[36 /* HashSign */]: "#",
|
20226
|
+
[37 /* LessThan */]: "<",
|
20227
|
+
[38 /* LessThanOrEqual */]: "<=",
|
20228
|
+
[39 /* LessThanMinus */]: "<-",
|
20229
|
+
[40 /* Minus */]: "-",
|
20230
|
+
[41 /* MinusMinus */]: "--",
|
20231
|
+
[42 /* MinusEquals */]: "-=",
|
20232
|
+
[43 /* MinusGreaterThan */]: "->",
|
20233
|
+
[44 /* OpenBrace */]: "{",
|
20234
|
+
[45 /* OpenParenthesis */]: "(",
|
20235
|
+
[46 /* OpenSquareBracket */]: "[",
|
20236
|
+
[47 /* Plus */]: "+",
|
20237
|
+
[48 /* PlusPlus */]: "++",
|
20238
|
+
[49 /* PlusEquals */]: "+=",
|
20239
|
+
[50 /* Question */]: "?",
|
20240
|
+
[51 /* QuestionQuestion */]: "??",
|
20241
|
+
[52 /* Semicolon */]: ";",
|
20242
|
+
[53 /* Slash */]: "/",
|
20243
|
+
[54 /* SlashEquals */]: "/=",
|
20244
|
+
[55 /* Tilde */]: "~",
|
20245
|
+
[56 /* TildeTilde */]: "~~",
|
20246
|
+
[57 /* Underscore */]: "_",
|
20247
|
+
[58 /* Equals */]: "=",
|
20248
|
+
[59 /* Percent */]: "%",
|
20249
|
+
[60 /* PercentPercent */]: "%%",
|
20250
|
+
[61 /* Backslash */]: "\\",
|
20251
|
+
[62 /* BackslashEquals */]: "\\=",
|
20252
|
+
[63 /* BackslashBackslash */]: "\\\\"
|
20253
|
+
};
|
20254
|
+
var russianTokenNames = {
|
20255
|
+
[0 /* Unknown */]: "\u043D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F",
|
20256
|
+
[1 /* EndOfFile */]: "\u043A\u043E\u043D\u0435\u0446 \u0444\u0430\u0439\u043B\u0430",
|
20257
|
+
[2 /* IntegerLiteral */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0446\u0435\u043B\u043E\u0435 \u0447\u0438\u0441\u043B\u043E",
|
20258
|
+
[3 /* RealLiteral */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u0435\u043D\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E",
|
20259
|
+
[4 /* MeasureLiteral */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0447\u0438\u0441\u043B\u043E \u0441 \u0435\u0434\u0438\u043D\u0438\u0446\u0435\u0439 \u0438\u0437\u043C\u0435\u0440\u0435\u043D\u0438\u044F",
|
20260
|
+
[5 /* CharLiteral */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0441\u0438\u043C\u0432\u043E\u043B \u0442\u0435\u043A\u0441\u0442\u0430",
|
20261
|
+
[6 /* TextLiteral */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0442\u0435\u043A\u0441\u0442",
|
20262
|
+
[7 /* TextTemplateHead */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0430",
|
20263
|
+
[8 /* TextTemplatePart */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0430",
|
20264
|
+
[9 /* TextTemplateTail */]: "\u0431\u0443\u043A\u0432\u0430\u043B\u044C\u043D\u043E \u0448\u0430\u0431\u043B\u043E\u043D \u0442\u0435\u043A\u0441\u0442\u0430",
|
20265
|
+
[10 /* Identifier */]: "\u0438\u043C\u044F",
|
20266
|
+
[11 /* Ampersand */]: "&",
|
20267
|
+
[12 /* AmpersandAmpersand */]: "&&",
|
20268
|
+
[13 /* AmpersandEquals */]: "&=",
|
20269
|
+
[14 /* Asterisk */]: "*",
|
20270
|
+
[15 /* AsteriskAsterisk */]: "**",
|
20271
|
+
[16 /* AsteriskEquals */]: "*=",
|
20272
|
+
[17 /* BackQuote */]: "`",
|
20273
|
+
[18 /* Bar */]: "|",
|
20274
|
+
[19 /* BarBar */]: "||",
|
20275
|
+
[20 /* Caret */]: "^",
|
20276
|
+
[21 /* CloseBrace */]: "}",
|
20277
|
+
[22 /* CloseParenthesis */]: ")",
|
20278
|
+
[23 /* CloseSquareBracket */]: "]",
|
20279
|
+
[24 /* Colon */]: ":",
|
20280
|
+
[25 /* Comma */]: ",",
|
20281
|
+
[26 /* CommercialAt */]: "@",
|
20282
|
+
[27 /* Dot */]: ".",
|
20283
|
+
[28 /* DoublePeriod */]: "..",
|
20284
|
+
[29 /* Ellipsis */]: "...",
|
20285
|
+
[30 /* EqualsEquals */]: "==",
|
20286
|
+
[31 /* EqualsGreaterThan */]: "=>",
|
20287
|
+
[32 /* Exclamation */]: "!",
|
20288
|
+
[33 /* ExclamationEquals */]: "!=",
|
20289
|
+
[34 /* GreaterThan */]: ">",
|
20290
|
+
[35 /* GreaterThanOrEqual */]: ">=",
|
20291
|
+
[36 /* HashSign */]: "#",
|
20292
|
+
[37 /* LessThan */]: "<",
|
20293
|
+
[38 /* LessThanOrEqual */]: "<=",
|
20294
|
+
[39 /* LessThanMinus */]: "<-",
|
20295
|
+
[40 /* Minus */]: "-",
|
20296
|
+
[41 /* MinusMinus */]: "--",
|
20297
|
+
[42 /* MinusEquals */]: "-=",
|
20298
|
+
[43 /* MinusGreaterThan */]: "->",
|
20299
|
+
[44 /* OpenBrace */]: "{",
|
20300
|
+
[45 /* OpenParenthesis */]: "(",
|
20301
|
+
[46 /* OpenSquareBracket */]: "[",
|
20302
|
+
[47 /* Plus */]: "+",
|
20303
|
+
[48 /* PlusPlus */]: "++",
|
20304
|
+
[49 /* PlusEquals */]: "+=",
|
20305
|
+
[50 /* Question */]: "?",
|
20306
|
+
[51 /* QuestionQuestion */]: "??",
|
20307
|
+
[52 /* Semicolon */]: ";",
|
20308
|
+
[53 /* Slash */]: "/",
|
20309
|
+
[54 /* SlashEquals */]: "/=",
|
20310
|
+
[55 /* Tilde */]: "~",
|
20311
|
+
[56 /* TildeTilde */]: "~~",
|
20312
|
+
[57 /* Underscore */]: "_",
|
20313
|
+
[58 /* Equals */]: "=",
|
20314
|
+
[59 /* Percent */]: "%",
|
20315
|
+
[60 /* PercentPercent */]: "%%",
|
20316
|
+
[61 /* Backslash */]: "\\",
|
20317
|
+
[62 /* BackslashEquals */]: "\\=",
|
20318
|
+
[63 /* BackslashBackslash */]: "\\\\"
|
20319
|
+
};
|
20320
|
+
|
20101
20321
|
// source/parser/ConvertTokenKind.ts
|
20102
20322
|
function scannerTokenKindToTreeTokenKind(kind) {
|
20103
20323
|
return getOrCreateTokenMapping()[kind];
|
@@ -20122,61 +20342,61 @@ function getOrCreateTokenMapping() {
|
|
20122
20342
|
result[13 /* TextTemplateTail */] = 9 /* TextTemplateTail */;
|
20123
20343
|
result[14 /* LocalizableTextLiteral */] = 6 /* TextLiteral */;
|
20124
20344
|
result[15 /* LocalizableTextTemplateHead */] = 7 /* TextTemplateHead */;
|
20125
|
-
result[16 /*
|
20126
|
-
result[17 /*
|
20127
|
-
result[18 /*
|
20128
|
-
result[19 /*
|
20129
|
-
result[20 /*
|
20130
|
-
result[21 /*
|
20131
|
-
result[22 /*
|
20132
|
-
result[23 /*
|
20133
|
-
result[24 /*
|
20134
|
-
result[25 /*
|
20135
|
-
result[26 /*
|
20136
|
-
result[27 /*
|
20137
|
-
result[28 /*
|
20138
|
-
result[29 /*
|
20139
|
-
result[30 /*
|
20140
|
-
result[31 /*
|
20141
|
-
result[32 /*
|
20142
|
-
result[33 /*
|
20143
|
-
result[34 /*
|
20144
|
-
result[35 /*
|
20145
|
-
result[36 /*
|
20146
|
-
result[37 /*
|
20147
|
-
result[38 /*
|
20148
|
-
result[39 /*
|
20149
|
-
result[40 /*
|
20150
|
-
result[41 /*
|
20151
|
-
result[42 /*
|
20152
|
-
result[43 /*
|
20153
|
-
result[44 /*
|
20154
|
-
result[45 /*
|
20155
|
-
result[46 /*
|
20156
|
-
result[47 /*
|
20157
|
-
result[48 /*
|
20158
|
-
result[49 /*
|
20159
|
-
result[50 /*
|
20160
|
-
result[51 /*
|
20161
|
-
result[52 /*
|
20162
|
-
result[53 /*
|
20163
|
-
result[54 /*
|
20164
|
-
result[55 /*
|
20165
|
-
result[56 /*
|
20166
|
-
result[57 /*
|
20167
|
-
result[58 /*
|
20168
|
-
result[59 /*
|
20169
|
-
result[60 /*
|
20170
|
-
result[61 /*
|
20171
|
-
result[62 /*
|
20172
|
-
result[63 /*
|
20173
|
-
result[
|
20174
|
-
result[
|
20175
|
-
result[
|
20176
|
-
result[
|
20177
|
-
result[
|
20178
|
-
result[
|
20179
|
-
result[
|
20345
|
+
result[16 /* Identifier */] = 10 /* Identifier */;
|
20346
|
+
result[17 /* QuotedIdentifier */] = 10 /* Identifier */;
|
20347
|
+
result[18 /* Ampersand */] = 11 /* Ampersand */;
|
20348
|
+
result[19 /* AmpersandAmpersand */] = 12 /* AmpersandAmpersand */;
|
20349
|
+
result[20 /* AmpersandEquals */] = 13 /* AmpersandEquals */;
|
20350
|
+
result[21 /* Asterisk */] = 14 /* Asterisk */;
|
20351
|
+
result[22 /* AsteriskAsterisk */] = 15 /* AsteriskAsterisk */;
|
20352
|
+
result[23 /* AsteriskEquals */] = 16 /* AsteriskEquals */;
|
20353
|
+
result[24 /* BackQuote */] = 17 /* BackQuote */;
|
20354
|
+
result[25 /* Bar */] = 18 /* Bar */;
|
20355
|
+
result[26 /* BarBar */] = 19 /* BarBar */;
|
20356
|
+
result[27 /* Caret */] = 20 /* Caret */;
|
20357
|
+
result[28 /* RightBrace */] = 21 /* CloseBrace */;
|
20358
|
+
result[29 /* RightParenthesis */] = 22 /* CloseParenthesis */;
|
20359
|
+
result[30 /* RightSquareBracket */] = 23 /* CloseSquareBracket */;
|
20360
|
+
result[31 /* Colon */] = 24 /* Colon */;
|
20361
|
+
result[32 /* Comma */] = 25 /* Comma */;
|
20362
|
+
result[33 /* CommercialAt */] = 26 /* CommercialAt */;
|
20363
|
+
result[34 /* Dot */] = 27 /* Dot */;
|
20364
|
+
result[35 /* DoublePeriod */] = 28 /* DoublePeriod */;
|
20365
|
+
result[36 /* Ellipsis */] = 29 /* Ellipsis */;
|
20366
|
+
result[37 /* EqualsEquals */] = 30 /* EqualsEquals */;
|
20367
|
+
result[38 /* EqualsRightAngle */] = 31 /* EqualsGreaterThan */;
|
20368
|
+
result[39 /* Exclamation */] = 32 /* Exclamation */;
|
20369
|
+
result[40 /* ExclamationEquals */] = 33 /* ExclamationEquals */;
|
20370
|
+
result[41 /* RightAngle */] = 34 /* GreaterThan */;
|
20371
|
+
result[42 /* RightAngleEquals */] = 35 /* GreaterThanOrEqual */;
|
20372
|
+
result[43 /* HashSign */] = 36 /* HashSign */;
|
20373
|
+
result[44 /* LeftAngle */] = 37 /* LessThan */;
|
20374
|
+
result[45 /* LeftAngleEquals */] = 38 /* LessThanOrEqual */;
|
20375
|
+
result[46 /* LeftAngleMinus */] = 39 /* LessThanMinus */;
|
20376
|
+
result[47 /* Minus */] = 40 /* Minus */;
|
20377
|
+
result[48 /* MinusMinus */] = 41 /* MinusMinus */;
|
20378
|
+
result[49 /* MinusEquals */] = 42 /* MinusEquals */;
|
20379
|
+
result[50 /* MinusRightAngle */] = 43 /* MinusGreaterThan */;
|
20380
|
+
result[51 /* LeftBrace */] = 44 /* OpenBrace */;
|
20381
|
+
result[52 /* LeftParenthesis */] = 45 /* OpenParenthesis */;
|
20382
|
+
result[53 /* LeftSquareBracket */] = 46 /* OpenSquareBracket */;
|
20383
|
+
result[54 /* Plus */] = 47 /* Plus */;
|
20384
|
+
result[55 /* PlusPlus */] = 48 /* PlusPlus */;
|
20385
|
+
result[56 /* PlusEquals */] = 49 /* PlusEquals */;
|
20386
|
+
result[57 /* Question */] = 50 /* Question */;
|
20387
|
+
result[58 /* QuestionQuestion */] = 51 /* QuestionQuestion */;
|
20388
|
+
result[59 /* Semicolon */] = 52 /* Semicolon */;
|
20389
|
+
result[60 /* Slash */] = 53 /* Slash */;
|
20390
|
+
result[61 /* SlashEquals */] = 54 /* SlashEquals */;
|
20391
|
+
result[62 /* Tilde */] = 55 /* Tilde */;
|
20392
|
+
result[63 /* TildeTilde */] = 56 /* TildeTilde */;
|
20393
|
+
result[64 /* Underscore */] = 57 /* Underscore */;
|
20394
|
+
result[65 /* Equals */] = 58 /* Equals */;
|
20395
|
+
result[66 /* Percent */] = 59 /* Percent */;
|
20396
|
+
result[67 /* PercentPercent */] = 60 /* PercentPercent */;
|
20397
|
+
result[68 /* BackSlash */] = 61 /* Backslash */;
|
20398
|
+
result[69 /* BackSlashEquals */] = 62 /* BackslashEquals */;
|
20399
|
+
result[70 /* BackSlashBackSlash */] = 63 /* BackslashBackslash */;
|
20180
20400
|
for (let i = 0; i < result.length; i++) {
|
20181
20401
|
if (result[i] === void 0) {
|
20182
20402
|
throw new Error(`Mapping for token ${TokenKind2[i]} not specified.`);
|
@@ -20265,7 +20485,7 @@ var TextParser = class {
|
|
20265
20485
|
this.tryReportDiagnosticAtCurrentRange(
|
20266
20486
|
121 /* Expected0But1Found */,
|
20267
20487
|
0 /* Error */,
|
20268
|
-
|
20488
|
+
getTokenName(kind),
|
20269
20489
|
this._currentTokenOrKeyword.toString()
|
20270
20490
|
);
|
20271
20491
|
return this.createMissingToken(kind);
|
@@ -20315,7 +20535,7 @@ var TextParser = class {
|
|
20315
20535
|
return result;
|
20316
20536
|
}
|
20317
20537
|
parseIdentifier(declarationKind = 0 /* None */, diagnosticKind = 101 /* IdentifierExpected */) {
|
20318
|
-
if (this._currentTokenOrKeyword.kind === "token" && this._currentTokenOrKeyword.value.tokenKind ===
|
20538
|
+
if (this._currentTokenOrKeyword.kind === "token" && this._currentTokenOrKeyword.value.tokenKind === 10 /* Identifier */) {
|
20319
20539
|
const range = this._currentTokenOrKeyword.getRangeWithoutTrivia();
|
20320
20540
|
const identifier2 = this.tokenWithSkippedTokens(
|
20321
20541
|
this._currentTokenOrKeyword.value,
|
@@ -20329,13 +20549,13 @@ var TextParser = class {
|
|
20329
20549
|
return identifier2;
|
20330
20550
|
}
|
20331
20551
|
this.tryReportDiagnosticAtCurrentRange(diagnosticKind);
|
20332
|
-
return this.createMissingToken(
|
20552
|
+
return this.createMissingToken(10 /* Identifier */);
|
20333
20553
|
}
|
20334
20554
|
parseSemicolonOrLineBreak() {
|
20335
20555
|
if (this._currentTokenOrKeyword.hasPrecedingLineBreak()) {
|
20336
20556
|
return void 0;
|
20337
20557
|
}
|
20338
|
-
return this.parseExpectedToken(
|
20558
|
+
return this.parseExpectedToken(52 /* Semicolon */);
|
20339
20559
|
}
|
20340
20560
|
parseQualifiedName(diagnosticKindForFirstMissingIdentifier) {
|
20341
20561
|
const qualifiedNameStart = this.tokenOrKeywordStartPosition();
|
@@ -20343,17 +20563,17 @@ var TextParser = class {
|
|
20343
20563
|
0 /* None */,
|
20344
20564
|
diagnosticKindForFirstMissingIdentifier
|
20345
20565
|
)];
|
20346
|
-
let dotToken = this.parseOptionalToken(
|
20566
|
+
let dotToken = this.parseOptionalToken(27 /* Dot */);
|
20347
20567
|
while (dotToken !== void 0) {
|
20348
20568
|
parts.push(dotToken);
|
20349
20569
|
parts.push(this.parseIdentifier());
|
20350
|
-
dotToken = this.parseOptionalToken(
|
20570
|
+
dotToken = this.parseOptionalToken(27 /* Dot */);
|
20351
20571
|
}
|
20352
20572
|
const result = new QualifiedName2(parts);
|
20353
20573
|
return this.intern(result, qualifiedNameStart);
|
20354
20574
|
}
|
20355
20575
|
parseOptionalFunctionBlock(allowSingleExpression = true) {
|
20356
|
-
if (this.currentTokenOrKeyword.isToken(
|
20576
|
+
if (this.currentTokenOrKeyword.isToken(44 /* OpenBrace */)) {
|
20357
20577
|
return this.statementParser.parseFunctionBlock(allowSingleExpression);
|
20358
20578
|
}
|
20359
20579
|
return void 0;
|
@@ -20421,7 +20641,7 @@ var TextParser = class {
|
|
20421
20641
|
return this._nodeInterner.intern(node, startPosition);
|
20422
20642
|
}
|
20423
20643
|
parseComma() {
|
20424
|
-
return this.parseExpectedToken(
|
20644
|
+
return this.parseExpectedToken(25 /* Comma */);
|
20425
20645
|
}
|
20426
20646
|
tokenOrKeywordStartPosition() {
|
20427
20647
|
let startPosition;
|
@@ -20503,7 +20723,7 @@ var TextParser = class {
|
|
20503
20723
|
tryParseKeywordParts(dictionary) {
|
20504
20724
|
let result = void 0;
|
20505
20725
|
const token = this._nextToken;
|
20506
|
-
if (token.tokenKind ===
|
20726
|
+
if (token.tokenKind === 10 /* Identifier */) {
|
20507
20727
|
const identifier2 = token;
|
20508
20728
|
const keywordPart = dictionary.get(identifier2.value);
|
20509
20729
|
if (keywordPart !== void 0) {
|
@@ -20533,7 +20753,7 @@ var TextParser = class {
|
|
20533
20753
|
this.validateScannerToken(scannerToken);
|
20534
20754
|
const kind = scannerTokenKindToTreeTokenKind(scannerToken.kind);
|
20535
20755
|
let result;
|
20536
|
-
if (kind ===
|
20756
|
+
if (kind === 10 /* Identifier */) {
|
20537
20757
|
result = this.intern(this.createIdentifierToken(scannerToken.value, trivia), tokenStart);
|
20538
20758
|
} else {
|
20539
20759
|
result = this.intern(this.createNonIdentifierToken(kind, scannerToken.value, trivia), tokenStart);
|
@@ -20565,7 +20785,7 @@ var TextParser = class {
|
|
20565
20785
|
code = 3 /* UnterminatedTextOrTextTemplate */;
|
20566
20786
|
break;
|
20567
20787
|
}
|
20568
|
-
case
|
20788
|
+
case 17 /* QuotedIdentifier */: {
|
20569
20789
|
code = 4 /* UnterminatedQuotedIdentifier */;
|
20570
20790
|
break;
|
20571
20791
|
}
|
@@ -20622,7 +20842,7 @@ var TextParser = class {
|
|
20622
20842
|
if (!Scanner.isPlainIdentifier(valueWithoutQuotes)) {
|
20623
20843
|
flags |= 8 /* RequiresQuotes */;
|
20624
20844
|
}
|
20625
|
-
return new Token6(
|
20845
|
+
return new Token6(10 /* Identifier */, value, trivia, flags, operatorKind);
|
20626
20846
|
}
|
20627
20847
|
createNonIdentifierToken(kind, value, trivia) {
|
20628
20848
|
const flags = 0 /* None */;
|
@@ -20756,8 +20976,8 @@ var PackageImportDirectiveParser = class {
|
|
20756
20976
|
);
|
20757
20977
|
this._packageImportSequenceParser = new SequenceParser(
|
20758
20978
|
this.parser,
|
20759
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
20760
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
20979
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
20980
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
20761
20981
|
() => true,
|
20762
20982
|
() => this.parsePackageImport(),
|
20763
20983
|
() => this.parser.parseSemicolonOrLineBreak(),
|
@@ -20773,12 +20993,12 @@ var PackageImportDirectiveParser = class {
|
|
20773
20993
|
parsePackageImportDirective() {
|
20774
20994
|
const packageImportDirectiveStart = this.parser.tokenOrKeywordStartPosition();
|
20775
20995
|
const usingKeyword = this.parser.parseExpectedKeyword(18 /* Import */);
|
20776
|
-
const openBraceToken = this.parser.parseOptionalToken(
|
20996
|
+
const openBraceToken = this.parser.parseOptionalToken(44 /* OpenBrace */);
|
20777
20997
|
let result;
|
20778
20998
|
if (openBraceToken !== void 0) {
|
20779
20999
|
const elements = this._packageImportSequenceParser.parse();
|
20780
21000
|
const packageImports = new PackageImportList2(elements);
|
20781
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
21001
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
20782
21002
|
result = new PackageGroupImportDirective2(usingKeyword, openBraceToken, packageImports, closeBraceToken);
|
20783
21003
|
} else {
|
20784
21004
|
const packageImport = this.parsePackageImport();
|
@@ -20790,13 +21010,13 @@ var PackageImportDirectiveParser = class {
|
|
20790
21010
|
const packageImportStart = this.parser.tokenOrKeywordStartPosition();
|
20791
21011
|
const hasAlias = this.parser.lookAhead(() => {
|
20792
21012
|
this.parser.parseIdentifier();
|
20793
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
21013
|
+
return this.parser.currentTokenOrKeyword.isToken(58 /* Equals */);
|
20794
21014
|
});
|
20795
21015
|
let alias;
|
20796
21016
|
let equalsToken;
|
20797
21017
|
if (hasAlias) {
|
20798
21018
|
alias = this.parser.parseIdentifier();
|
20799
|
-
equalsToken = this.parser.parseExpectedToken(
|
21019
|
+
equalsToken = this.parser.parseExpectedToken(58 /* Equals */);
|
20800
21020
|
}
|
20801
21021
|
const packageName = this.parsePackageName();
|
20802
21022
|
const result = new PackageImport2(alias, equalsToken, packageName);
|
@@ -20808,8 +21028,8 @@ var PackageImportDirectiveParser = class {
|
|
20808
21028
|
0 /* None */,
|
20809
21029
|
103 /* PackageNameExpected */
|
20810
21030
|
)];
|
20811
|
-
while (this.parser.currentTokenOrKeyword.isToken(
|
20812
|
-
parts.push(this.parser.parseExpectedToken(
|
21031
|
+
while (this.parser.currentTokenOrKeyword.isToken(27 /* Dot */)) {
|
21032
|
+
parts.push(this.parser.parseExpectedToken(27 /* Dot */));
|
20813
21033
|
parts.push(this.parser.parseIdentifier());
|
20814
21034
|
}
|
20815
21035
|
const result = new PackageName2(parts);
|
@@ -20822,7 +21042,7 @@ var StatementParser = class {
|
|
20822
21042
|
this._statementSequenceParser = new SequenceParser(
|
20823
21043
|
this.parser,
|
20824
21044
|
() => this.isStartOfStatement(),
|
20825
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
21045
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
20826
21046
|
() => true,
|
20827
21047
|
() => this.parseStatement(),
|
20828
21048
|
() => this.parser.parseSemicolonOrLineBreak(),
|
@@ -20832,7 +21052,7 @@ var StatementParser = class {
|
|
20832
21052
|
this._switchStatementParser = new SwitchStatementParser(this.parser);
|
20833
21053
|
this._forStatementVariableSequenceParser = new SequenceParser(
|
20834
21054
|
this.parser,
|
20835
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
21055
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
20836
21056
|
() => this.isEnumerationVariableSequenceTerminator(),
|
20837
21057
|
() => true,
|
20838
21058
|
() => this.parseEnumerationVariableDeclaration(),
|
@@ -20850,15 +21070,15 @@ var StatementParser = class {
|
|
20850
21070
|
);
|
20851
21071
|
}
|
20852
21072
|
isStartOfBlock() {
|
20853
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
21073
|
+
return this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */);
|
20854
21074
|
}
|
20855
21075
|
parseStatementBlock() {
|
20856
21076
|
let result;
|
20857
21077
|
const blockStart = this.parser.tokenOrKeywordStartPosition();
|
20858
|
-
const openBraceToken = this.parser.parseExpectedToken(
|
21078
|
+
const openBraceToken = this.parser.parseExpectedToken(44 /* OpenBrace */);
|
20859
21079
|
if (!openBraceToken.isMissing) {
|
20860
21080
|
const statementList = this.parseStatementList();
|
20861
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
21081
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
20862
21082
|
result = this.parser.intern(
|
20863
21083
|
new StatementBlock2(openBraceToken, statementList, closeBraceToken),
|
20864
21084
|
blockStart
|
@@ -20867,21 +21087,20 @@ var StatementParser = class {
|
|
20867
21087
|
const statementList = this.parser.intern(new StatementList2([]), blockStart);
|
20868
21088
|
const flags = 1 /* Missing */;
|
20869
21089
|
const closeBraceToken = this.parser.intern(
|
20870
|
-
new Token6(
|
21090
|
+
new Token6(21 /* CloseBrace */, "", [], flags, void 0),
|
20871
21091
|
blockStart
|
20872
21092
|
);
|
20873
21093
|
result = this.parser.intern(
|
20874
21094
|
new StatementBlock2(openBraceToken, statementList, closeBraceToken),
|
20875
21095
|
blockStart
|
20876
21096
|
);
|
20877
|
-
result = this.parser.intern(result, blockStart);
|
20878
21097
|
}
|
20879
21098
|
return result;
|
20880
21099
|
}
|
20881
21100
|
parseFunctionBlock(allowSingleExpression = true) {
|
20882
21101
|
let result;
|
20883
21102
|
const blockStart = this.parser.tokenOrKeywordStartPosition();
|
20884
|
-
const openBraceToken = this.parser.parseExpectedToken(
|
21103
|
+
const openBraceToken = this.parser.parseExpectedToken(44 /* OpenBrace */);
|
20885
21104
|
if (!openBraceToken.isMissing) {
|
20886
21105
|
let expressionOrStatementList;
|
20887
21106
|
if (allowSingleExpression) {
|
@@ -20890,7 +21109,7 @@ var StatementParser = class {
|
|
20890
21109
|
if (expressionOrStatementList === void 0) {
|
20891
21110
|
expressionOrStatementList = this.parseStatementList();
|
20892
21111
|
}
|
20893
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
21112
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
20894
21113
|
result = this.parser.intern(
|
20895
21114
|
new FunctionBlock2(openBraceToken, expressionOrStatementList, closeBraceToken),
|
20896
21115
|
blockStart
|
@@ -20899,14 +21118,13 @@ var StatementParser = class {
|
|
20899
21118
|
const expressionOrStatementList = this.parser.intern(new StatementList2([]), blockStart);
|
20900
21119
|
const flags = 1 /* Missing */;
|
20901
21120
|
const closeBraceToken = this.parser.intern(
|
20902
|
-
new Token6(
|
21121
|
+
new Token6(21 /* CloseBrace */, "", [], flags, void 0),
|
20903
21122
|
blockStart
|
20904
21123
|
);
|
20905
21124
|
result = this.parser.intern(
|
20906
21125
|
new FunctionBlock2(openBraceToken, expressionOrStatementList, closeBraceToken),
|
20907
21126
|
blockStart
|
20908
21127
|
);
|
20909
|
-
result = this.parser.intern(result, blockStart);
|
20910
21128
|
}
|
20911
21129
|
return result;
|
20912
21130
|
}
|
@@ -20928,7 +21146,7 @@ var StatementParser = class {
|
|
20928
21146
|
}
|
20929
21147
|
parseEmptyStatement() {
|
20930
21148
|
const statementStart = this.parser.tokenOrKeywordStartPosition();
|
20931
|
-
const semicolonToken = this.parser.parseExpectedToken(
|
21149
|
+
const semicolonToken = this.parser.parseExpectedToken(52 /* Semicolon */);
|
20932
21150
|
const result = new EmptyStatement2(semicolonToken);
|
20933
21151
|
return this.parser.intern(result, statementStart);
|
20934
21152
|
}
|
@@ -20978,7 +21196,7 @@ var StatementParser = class {
|
|
20978
21196
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
20979
21197
|
const catchKeyword = this.parser.parseExpectedKeyword(32 /* Catch */);
|
20980
21198
|
let errorVariable;
|
20981
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
21199
|
+
if (this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */)) {
|
20982
21200
|
errorVariable = this.parseErrorVariableDeclaration();
|
20983
21201
|
}
|
20984
21202
|
const block = this.parseStatementBlock();
|
@@ -21018,7 +21236,7 @@ var StatementParser = class {
|
|
21018
21236
|
return this.parser.intern(result, statementStart);
|
21019
21237
|
}
|
21020
21238
|
isEnumerationVariableSequenceTerminator() {
|
21021
|
-
return this.parser.currentTokenOrKeyword.isKeyword(9 /* From */) || this.parser.currentTokenOrKeyword.isToken(
|
21239
|
+
return this.parser.currentTokenOrKeyword.isKeyword(9 /* From */) || this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */);
|
21022
21240
|
}
|
21023
21241
|
parseEnumerationVariableDeclaration() {
|
21024
21242
|
const declarationStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21033,7 +21251,7 @@ var StatementParser = class {
|
|
21033
21251
|
} else {
|
21034
21252
|
result = this.parser.tryParse(() => {
|
21035
21253
|
const expression = this.parser.expressionParser.parseExpression(false);
|
21036
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
21254
|
+
return this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */) ? expression : void 0;
|
21037
21255
|
});
|
21038
21256
|
}
|
21039
21257
|
return result;
|
@@ -21132,7 +21350,7 @@ var StatementParser = class {
|
|
21132
21350
|
typeAnnotation = this.parser.typeAnnotationParser.parseTypeAnnotation();
|
21133
21351
|
}
|
21134
21352
|
let initializer;
|
21135
|
-
const equalsToken = this.parser.parseOptionalToken(
|
21353
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
21136
21354
|
if (equalsToken !== void 0) {
|
21137
21355
|
initializer = this.parser.expressionParser.parseExpression(false);
|
21138
21356
|
}
|
@@ -21153,12 +21371,12 @@ var StatementParser = class {
|
|
21153
21371
|
isAssignmentOperator() {
|
21154
21372
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
21155
21373
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21156
|
-
case
|
21157
|
-
case
|
21158
|
-
case
|
21159
|
-
case
|
21160
|
-
case
|
21161
|
-
case
|
21374
|
+
case 58 /* Equals */:
|
21375
|
+
case 16 /* AsteriskEquals */:
|
21376
|
+
case 42 /* MinusEquals */:
|
21377
|
+
case 49 /* PlusEquals */:
|
21378
|
+
case 54 /* SlashEquals */:
|
21379
|
+
case 62 /* BackslashEquals */:
|
21162
21380
|
return true;
|
21163
21381
|
default:
|
21164
21382
|
return false;
|
@@ -21197,10 +21415,10 @@ var StatementParser = class {
|
|
21197
21415
|
let result;
|
21198
21416
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
21199
21417
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21200
|
-
case
|
21418
|
+
case 52 /* Semicolon */:
|
21201
21419
|
result = () => this.parseEmptyStatement();
|
21202
21420
|
break;
|
21203
|
-
case
|
21421
|
+
case 44 /* OpenBrace */:
|
21204
21422
|
result = () => this.parseRunStatement();
|
21205
21423
|
break;
|
21206
21424
|
}
|
@@ -21319,12 +21537,12 @@ var ExpressionParser = class {
|
|
21319
21537
|
this._indexedAccessArgumentListParser = new ArgumentListParser(
|
21320
21538
|
this.parser,
|
21321
21539
|
() => this.parser.tryReportDiagnosticAtCurrentRange(114 /* IndexedAccessArgumentExpected */),
|
21322
|
-
|
21540
|
+
23 /* CloseSquareBracket */
|
21323
21541
|
);
|
21324
21542
|
this._callArgumentListParser = new ArgumentListParser(
|
21325
21543
|
this.parser,
|
21326
21544
|
() => this.parser.tryReportDiagnosticAtCurrentRange(113 /* FunctionCallArgumentExpected */),
|
21327
|
-
|
21545
|
+
22 /* CloseParenthesis */
|
21328
21546
|
);
|
21329
21547
|
}
|
21330
21548
|
// isFollowedByStatementBlock = true если по синтаксису сразу после выражения следует блок.
|
@@ -21342,7 +21560,7 @@ var ExpressionParser = class {
|
|
21342
21560
|
parseNoneCoalescingExpression(isFollowedByStatementBlock) {
|
21343
21561
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
21344
21562
|
let result = this.parseDisjunctiveExpression(isFollowedByStatementBlock);
|
21345
|
-
while (this.parser.currentTokenOrKeyword.isToken(
|
21563
|
+
while (this.parser.currentTokenOrKeyword.isToken(51 /* QuestionQuestion */)) {
|
21346
21564
|
const operator = this.parser.parseTokenOrKeyword();
|
21347
21565
|
const right = this.parseDisjunctiveExpression(isFollowedByStatementBlock);
|
21348
21566
|
result = new BinaryExpression2(result, operator.value, right);
|
@@ -21394,7 +21612,7 @@ var ExpressionParser = class {
|
|
21394
21612
|
return result;
|
21395
21613
|
}
|
21396
21614
|
isRelationOperator(tokenOrKeyword) {
|
21397
|
-
return tokenOrKeyword.isToken(
|
21615
|
+
return tokenOrKeyword.isToken(30 /* EqualsEquals */) || tokenOrKeyword.isToken(33 /* ExclamationEquals */) || tokenOrKeyword.isToken(37 /* LessThan */) || tokenOrKeyword.isToken(34 /* GreaterThan */) || tokenOrKeyword.isToken(38 /* LessThanOrEqual */) || tokenOrKeyword.isToken(35 /* GreaterThanOrEqual */) || tokenOrKeyword.isKeyword(14 /* Is */);
|
21398
21616
|
}
|
21399
21617
|
parseAdditiveExpression(isFollowedByStatementBlock) {
|
21400
21618
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21408,7 +21626,7 @@ var ExpressionParser = class {
|
|
21408
21626
|
return result;
|
21409
21627
|
}
|
21410
21628
|
isAdditiveOperator(tokenOrKeyword) {
|
21411
|
-
return tokenOrKeyword.isToken(
|
21629
|
+
return tokenOrKeyword.isToken(47 /* Plus */) || tokenOrKeyword.isToken(40 /* Minus */);
|
21412
21630
|
}
|
21413
21631
|
parseMultiplicativeExpression(isFollowedByStatementBlock) {
|
21414
21632
|
if (this.parser.dialect === 1 /* Usual */ || this.parser.dialect === 0 /* Mixed */) {
|
@@ -21434,7 +21652,7 @@ var ExpressionParser = class {
|
|
21434
21652
|
}
|
21435
21653
|
}
|
21436
21654
|
isMultiplicativeOperator(tokenOrKeyword) {
|
21437
|
-
return tokenOrKeyword.isToken(
|
21655
|
+
return tokenOrKeyword.isToken(14 /* Asterisk */) || tokenOrKeyword.isToken(53 /* Slash */) || tokenOrKeyword.isToken(61 /* Backslash */) || tokenOrKeyword.isToken(63 /* BackslashBackslash */);
|
21438
21656
|
}
|
21439
21657
|
parseBitwiseDisjunctiveExpression(isFollowedByStatementBlock) {
|
21440
21658
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21448,7 +21666,7 @@ var ExpressionParser = class {
|
|
21448
21666
|
return result;
|
21449
21667
|
}
|
21450
21668
|
isBitwiseDisjunctiveOperator(tokenOrKeyword) {
|
21451
|
-
return tokenOrKeyword.isToken(
|
21669
|
+
return tokenOrKeyword.isToken(18 /* Bar */) || tokenOrKeyword.isToken(19 /* BarBar */);
|
21452
21670
|
}
|
21453
21671
|
parseBitwiseConjunctiveExpression(isFollowedByStatementBlock) {
|
21454
21672
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21462,7 +21680,7 @@ var ExpressionParser = class {
|
|
21462
21680
|
return result;
|
21463
21681
|
}
|
21464
21682
|
isBitwiseConjunctiveOperator(tokenOrKeyword) {
|
21465
|
-
return tokenOrKeyword.isToken(
|
21683
|
+
return tokenOrKeyword.isToken(11 /* Ampersand */);
|
21466
21684
|
}
|
21467
21685
|
parseAsExpression(isFollowedByStatementBlock) {
|
21468
21686
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21494,7 +21712,7 @@ var ExpressionParser = class {
|
|
21494
21712
|
return result;
|
21495
21713
|
}
|
21496
21714
|
isPrefixUnaryOperator(tokenOrKeyword) {
|
21497
|
-
return tokenOrKeyword.isToken(
|
21715
|
+
return tokenOrKeyword.isToken(47 /* Plus */) || tokenOrKeyword.isToken(40 /* Minus */) || tokenOrKeyword.isKeyword(43 /* Not */);
|
21498
21716
|
}
|
21499
21717
|
parsePostfixUnaryExpression(isFollowedByStatementBlock) {
|
21500
21718
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21505,7 +21723,7 @@ var ExpressionParser = class {
|
|
21505
21723
|
throw internalCompilerError();
|
21506
21724
|
}
|
21507
21725
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21508
|
-
case
|
21726
|
+
case 37 /* LessThan */: {
|
21509
21727
|
const hasTypeArguments = this.parser.typeArgumentParser.canParseTypeArgumentClause();
|
21510
21728
|
if (!hasTypeArguments) {
|
21511
21729
|
break parsingLoop;
|
@@ -21517,32 +21735,32 @@ var ExpressionParser = class {
|
|
21517
21735
|
);
|
21518
21736
|
break;
|
21519
21737
|
}
|
21520
|
-
case
|
21521
|
-
const exclamationToken = this.parser.parseExpectedToken(
|
21738
|
+
case 32 /* Exclamation */: {
|
21739
|
+
const exclamationToken = this.parser.parseExpectedToken(32 /* Exclamation */);
|
21522
21740
|
expression = this.parser.intern(
|
21523
21741
|
new AssertionExpression2(expression, exclamationToken),
|
21524
21742
|
expressionStart
|
21525
21743
|
);
|
21526
21744
|
break;
|
21527
21745
|
}
|
21528
|
-
case
|
21529
|
-
const questionToken = this.parser.parseExpectedToken(
|
21746
|
+
case 50 /* Question */: {
|
21747
|
+
const questionToken = this.parser.parseExpectedToken(50 /* Question */);
|
21530
21748
|
expression = this.parser.intern(
|
21531
21749
|
new AssumptionExpression2(expression, questionToken),
|
21532
21750
|
expressionStart
|
21533
21751
|
);
|
21534
21752
|
break;
|
21535
21753
|
}
|
21536
|
-
case
|
21537
|
-
const caretToken = this.parser.parseExpectedToken(
|
21754
|
+
case 20 /* Caret */: {
|
21755
|
+
const caretToken = this.parser.parseExpectedToken(20 /* Caret */);
|
21538
21756
|
expression = this.parser.intern(
|
21539
21757
|
new DereferenceExpression2(expression, caretToken),
|
21540
21758
|
expressionStart
|
21541
21759
|
);
|
21542
21760
|
break;
|
21543
21761
|
}
|
21544
|
-
case
|
21545
|
-
const dotToken = this.parser.parseExpectedToken(
|
21762
|
+
case 27 /* Dot */: {
|
21763
|
+
const dotToken = this.parser.parseExpectedToken(27 /* Dot */);
|
21546
21764
|
let memberName;
|
21547
21765
|
const runKeyword = this.parser.parseOptionalKeyword(7 /* Run */);
|
21548
21766
|
if (runKeyword !== void 0) {
|
@@ -21557,20 +21775,20 @@ var ExpressionParser = class {
|
|
21557
21775
|
);
|
21558
21776
|
break;
|
21559
21777
|
}
|
21560
|
-
case
|
21561
|
-
const openBracketToken = this.parser.parseExpectedToken(
|
21778
|
+
case 46 /* OpenSquareBracket */: {
|
21779
|
+
const openBracketToken = this.parser.parseExpectedToken(46 /* OpenSquareBracket */);
|
21562
21780
|
const argumentList = this._indexedAccessArgumentListParser.parseArgumentList();
|
21563
|
-
const closeSquareBracketToken = this.parser.parseExpectedToken(
|
21781
|
+
const closeSquareBracketToken = this.parser.parseExpectedToken(23 /* CloseSquareBracket */);
|
21564
21782
|
expression = this.parser.intern(
|
21565
21783
|
new IndexedAccessExpression2(expression, openBracketToken, argumentList, closeSquareBracketToken),
|
21566
21784
|
expressionStart
|
21567
21785
|
);
|
21568
21786
|
break;
|
21569
21787
|
}
|
21570
|
-
case
|
21571
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
21788
|
+
case 45 /* OpenParenthesis */: {
|
21789
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
21572
21790
|
const argumentList = this._callArgumentListParser.parseArgumentList();
|
21573
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
21791
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
21574
21792
|
expression = this.parser.intern(
|
21575
21793
|
new CallExpression2(expression, openParenthesisToken, argumentList, closeParenthesisToken),
|
21576
21794
|
expressionStart
|
@@ -21584,13 +21802,13 @@ var ExpressionParser = class {
|
|
21584
21802
|
isStartOfPostfixUnaryExpression() {
|
21585
21803
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
21586
21804
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21587
|
-
case
|
21588
|
-
case
|
21589
|
-
case
|
21590
|
-
case
|
21591
|
-
case
|
21592
|
-
case
|
21593
|
-
case
|
21805
|
+
case 37 /* LessThan */:
|
21806
|
+
case 32 /* Exclamation */:
|
21807
|
+
case 45 /* OpenParenthesis */:
|
21808
|
+
case 27 /* Dot */:
|
21809
|
+
case 20 /* Caret */:
|
21810
|
+
case 50 /* Question */:
|
21811
|
+
case 46 /* OpenSquareBracket */:
|
21594
21812
|
return true;
|
21595
21813
|
default:
|
21596
21814
|
return false;
|
@@ -21602,10 +21820,10 @@ var ExpressionParser = class {
|
|
21602
21820
|
let result = false;
|
21603
21821
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
21604
21822
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21605
|
-
case
|
21606
|
-
case
|
21823
|
+
case 45 /* OpenParenthesis */:
|
21824
|
+
case 46 /* OpenSquareBracket */:
|
21607
21825
|
case 7 /* TextTemplateHead */:
|
21608
|
-
case
|
21826
|
+
case 10 /* Identifier */:
|
21609
21827
|
case 5 /* CharLiteral */:
|
21610
21828
|
case 6 /* TextLiteral */:
|
21611
21829
|
case 2 /* IntegerLiteral */:
|
@@ -21613,7 +21831,7 @@ var ExpressionParser = class {
|
|
21613
21831
|
case 4 /* MeasureLiteral */:
|
21614
21832
|
result = true;
|
21615
21833
|
break;
|
21616
|
-
case
|
21834
|
+
case 44 /* OpenBrace */:
|
21617
21835
|
result = !isFollowedByStatementBlock;
|
21618
21836
|
break;
|
21619
21837
|
}
|
@@ -21624,7 +21842,7 @@ var ExpressionParser = class {
|
|
21624
21842
|
result = this.parser.lookAhead(() => {
|
21625
21843
|
this.parser.parseOptionalKeyword(40 /* Async */);
|
21626
21844
|
const functionKeyword = this.parser.parseOptionalKeyword(12 /* Function */);
|
21627
|
-
return functionKeyword !== void 0 && this.parser.currentTokenOrKeyword.isToken(
|
21845
|
+
return functionKeyword !== void 0 && this.parser.currentTokenOrKeyword.isToken(45 /* OpenParenthesis */);
|
21628
21846
|
});
|
21629
21847
|
break;
|
21630
21848
|
case 52 /* Yes */:
|
@@ -21645,21 +21863,21 @@ var ExpressionParser = class {
|
|
21645
21863
|
let result = void 0;
|
21646
21864
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
21647
21865
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
21648
|
-
case
|
21866
|
+
case 45 /* OpenParenthesis */:
|
21649
21867
|
result = this.parseParenthesizedExpression();
|
21650
21868
|
break;
|
21651
|
-
case
|
21869
|
+
case 46 /* OpenSquareBracket */:
|
21652
21870
|
result = this._arrayLiteralParser.parseArrayLiteral();
|
21653
21871
|
break;
|
21654
21872
|
case 7 /* TextTemplateHead */:
|
21655
21873
|
result = this.parseTextTemplateLiteral();
|
21656
21874
|
break;
|
21657
|
-
case
|
21875
|
+
case 44 /* OpenBrace */:
|
21658
21876
|
if (!isFollowedByStatementBlock) {
|
21659
21877
|
result = this.parseFunctionBlockLiteral();
|
21660
21878
|
}
|
21661
21879
|
break;
|
21662
|
-
case
|
21880
|
+
case 10 /* Identifier */:
|
21663
21881
|
result = this.parseIdentifierExpression();
|
21664
21882
|
break;
|
21665
21883
|
case 5 /* CharLiteral */:
|
@@ -21723,9 +21941,9 @@ var ExpressionParser = class {
|
|
21723
21941
|
parseReferenceExpression() {
|
21724
21942
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
21725
21943
|
const referenceKeyword = this.parser.parseExpectedKeyword(54 /* Reference */);
|
21726
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
21944
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
21727
21945
|
const expression = this.parseExpression(false);
|
21728
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
21946
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
21729
21947
|
const result = new ReferenceExpression2(
|
21730
21948
|
referenceKeyword,
|
21731
21949
|
openParenthesisToken,
|
@@ -21737,9 +21955,9 @@ var ExpressionParser = class {
|
|
21737
21955
|
parseAutotypeCallExpression() {
|
21738
21956
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
21739
21957
|
const colonKeyword = this.parser.parseExpectedKeyword(2 /* Autotype */);
|
21740
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
21958
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
21741
21959
|
const argumentList = this._callArgumentListParser.parseArgumentList();
|
21742
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
21960
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
21743
21961
|
const result = new AutotypeCallExpression2(
|
21744
21962
|
colonKeyword,
|
21745
21963
|
openParenthesisToken,
|
@@ -21756,25 +21974,25 @@ var ExpressionParser = class {
|
|
21756
21974
|
}
|
21757
21975
|
parseParenthesizedExpression() {
|
21758
21976
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
21759
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
21977
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
21760
21978
|
const expression = this.parseExpression(false);
|
21761
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
21979
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
21762
21980
|
const result = new ParenthesizedExpression2(openParenthesisToken, expression, closeParenthesisToken);
|
21763
21981
|
return this.parser.intern(result, expressionStart);
|
21764
21982
|
}
|
21765
21983
|
parseConditionalExpression() {
|
21766
21984
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
21767
21985
|
const condKeyword = this.parser.parseExpectedKeyword(30 /* Cond */);
|
21768
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
21986
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
21769
21987
|
const condition = this.parseExpression(false);
|
21770
|
-
const firstComma = this.parser.parseExpectedToken(
|
21988
|
+
const firstComma = this.parser.parseExpectedToken(25 /* Comma */);
|
21771
21989
|
const first = this.parseExpression(false);
|
21772
|
-
const secondComma = this.parser.parseOptionalToken(
|
21990
|
+
const secondComma = this.parser.parseOptionalToken(25 /* Comma */);
|
21773
21991
|
let second = void 0;
|
21774
21992
|
if (secondComma !== void 0) {
|
21775
21993
|
second = this.parseExpression(false);
|
21776
21994
|
}
|
21777
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
21995
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
21778
21996
|
const result = new ConditionalExpression2(
|
21779
21997
|
condKeyword,
|
21780
21998
|
openParenthesisToken,
|
@@ -21801,9 +22019,6 @@ var ExpressionParser = class {
|
|
21801
22019
|
return this.parser.intern(result, expressionStart);
|
21802
22020
|
}
|
21803
22021
|
parseTextTemplateLiteral() {
|
21804
|
-
if (!this.parser.currentTokenOrKeyword.isToken(7 /* TextTemplateHead */)) {
|
21805
|
-
throw internalCompilerError();
|
21806
|
-
}
|
21807
22022
|
const literalStart = this.parser.tokenOrKeywordStartPosition();
|
21808
22023
|
const head = this.parser.parseExpectedToken(7 /* TextTemplateHead */);
|
21809
22024
|
const spanListStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -21886,7 +22101,7 @@ var PackageMemberDeclarationParser = class {
|
|
21886
22101
|
typeAnnotation = this.parser.typeAnnotationParser.parseTypeAnnotation();
|
21887
22102
|
}
|
21888
22103
|
let initializer;
|
21889
|
-
const equalsToken = this.parser.parseOptionalToken(
|
22104
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
21890
22105
|
if (equalsToken !== void 0) {
|
21891
22106
|
initializer = this.parser.expressionParser.parseExpression(false);
|
21892
22107
|
}
|
@@ -21957,16 +22172,16 @@ var PackageMemberDeclarationParser = class {
|
|
21957
22172
|
const declarationsParser = new SequenceParser(
|
21958
22173
|
this.parser,
|
21959
22174
|
() => this.isStartOfPackageMemberDeclaration(),
|
21960
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22175
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
21961
22176
|
() => true,
|
21962
22177
|
() => this.parsePackageMemberDeclaration(),
|
21963
22178
|
() => this.parser.parseSemicolonOrLineBreak(),
|
21964
22179
|
() => this.parser.tryReportDiagnosticAtCurrentRange(105 /* PackageMemberDeclarationExpected */)
|
21965
22180
|
);
|
21966
|
-
const openBraceToken = this.parser.parseExpectedToken(
|
22181
|
+
const openBraceToken = this.parser.parseExpectedToken(44 /* OpenBrace */);
|
21967
22182
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
21968
22183
|
const elements = declarationsParser.parse();
|
21969
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
22184
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
21970
22185
|
const declarationList = this.parser.intern(new PackageMemberDeclarationList2(elements), listStart);
|
21971
22186
|
const result = new PackageMemberGroupDeclaration2(
|
21972
22187
|
tagList,
|
@@ -21983,7 +22198,7 @@ var PackageMemberDeclarationParser = class {
|
|
21983
22198
|
return false;
|
21984
22199
|
}
|
21985
22200
|
this.parseExtendedTypeClause();
|
21986
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
22201
|
+
return this.parser.currentTokenOrKeyword.isToken(49 /* PlusEquals */);
|
21987
22202
|
});
|
21988
22203
|
if (isTypeExtensionDeclaration) {
|
21989
22204
|
return this.parseTypeExtensionDeclaration(declarationStart, tagList, modifierList);
|
@@ -21998,7 +22213,7 @@ var PackageMemberDeclarationParser = class {
|
|
21998
22213
|
if (this.parser.typeParameterParser.isStartOfTypeParameterClause()) {
|
21999
22214
|
typeParameterClause = this.parser.typeParameterParser.parseTypeParameterClause();
|
22000
22215
|
}
|
22001
|
-
const equalsToken = this.parser.parseExpectedToken(
|
22216
|
+
const equalsToken = this.parser.parseExpectedToken(58 /* Equals */);
|
22002
22217
|
const body = this.parser.typeDeclarationBodyParser.parseTypeDeclarationBody();
|
22003
22218
|
let result;
|
22004
22219
|
switch (body.kind) {
|
@@ -22054,7 +22269,7 @@ var PackageMemberDeclarationParser = class {
|
|
22054
22269
|
parseTypeExtensionDeclaration(declarationStart, tagList, modifierList) {
|
22055
22270
|
const typeKeyword = this.parser.parseExpectedKeyword(16 /* Type */);
|
22056
22271
|
const extendedTypeClause = this.parseExtendedTypeClause();
|
22057
|
-
const plusEqualsToken = this.parser.parseExpectedToken(
|
22272
|
+
const plusEqualsToken = this.parser.parseExpectedToken(49 /* PlusEquals */);
|
22058
22273
|
const memberBlock = this.parser.typeMemberDeclarationParser.parseTypeMemberDeclarationBlock(false);
|
22059
22274
|
const result = new TypeExtensionDeclaration2(
|
22060
22275
|
tagList,
|
@@ -22069,17 +22284,17 @@ var PackageMemberDeclarationParser = class {
|
|
22069
22284
|
parseExtendedTypeClause() {
|
22070
22285
|
const extendedTypeClauseStart = this.parser.tokenOrKeywordStartPosition();
|
22071
22286
|
const qualifiedName = this.parser.parseQualifiedName(102 /* TypeNameExpected */);
|
22072
|
-
const lessThanToken = this.parser.parseOptionalToken(
|
22287
|
+
const lessThanToken = this.parser.parseOptionalToken(37 /* LessThan */);
|
22073
22288
|
let commaList;
|
22074
22289
|
let greaterThanToken;
|
22075
22290
|
if (lessThanToken !== void 0) {
|
22076
22291
|
const commas = new Array();
|
22077
22292
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
22078
|
-
while (this.parser.currentTokenOrKeyword.isToken(
|
22293
|
+
while (this.parser.currentTokenOrKeyword.isToken(25 /* Comma */)) {
|
22079
22294
|
commas.push(this.parser.parseComma());
|
22080
22295
|
}
|
22081
22296
|
commaList = this.parser.intern(new ExtendedTypeClauseCommaList2(commas), listStart);
|
22082
|
-
greaterThanToken = this.parser.parseExpectedToken(
|
22297
|
+
greaterThanToken = this.parser.parseExpectedToken(34 /* GreaterThan */);
|
22083
22298
|
}
|
22084
22299
|
const result = new ExtendedTypeClause2(qualifiedName, lessThanToken, commaList, greaterThanToken);
|
22085
22300
|
return this.parser.intern(result, extendedTypeClauseStart);
|
@@ -22087,9 +22302,9 @@ var PackageMemberDeclarationParser = class {
|
|
22087
22302
|
getPackageMemberDeclarationParsingFunction(allowGroupDeclaration) {
|
22088
22303
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
22089
22304
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
22090
|
-
case
|
22305
|
+
case 10 /* Identifier */:
|
22091
22306
|
return (declarationStart, tagList, modifierList) => this.parsePackageVariableDeclaration(declarationStart, tagList, modifierList);
|
22092
|
-
case
|
22307
|
+
case 44 /* OpenBrace */:
|
22093
22308
|
return (declarationStart, tagList, modifierList) => {
|
22094
22309
|
if (!allowGroupDeclaration) {
|
22095
22310
|
this.parser.tryReportDiagnosticAtCurrentRange(
|
@@ -22129,7 +22344,7 @@ var TypeMemberDeclarationParser = class {
|
|
22129
22344
|
const declarationsParser = new SequenceParser(
|
22130
22345
|
this.parser,
|
22131
22346
|
() => this.isStartOfTypeMemberDeclaration(parseVariantInsteadOfVariable),
|
22132
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22347
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
22133
22348
|
() => true,
|
22134
22349
|
() => this.parseTypeMemberDeclaration(parseVariantInsteadOfVariable),
|
22135
22350
|
() => this.parser.parseSemicolonOrLineBreak(),
|
@@ -22140,15 +22355,15 @@ var TypeMemberDeclarationParser = class {
|
|
22140
22355
|
return this.parser.intern(result, listStart);
|
22141
22356
|
}
|
22142
22357
|
isStartOfTypeMemberDeclarationBlock() {
|
22143
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
22358
|
+
return this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */);
|
22144
22359
|
}
|
22145
22360
|
parseTypeMemberDeclarationBlock(parseVariantInsteadOfVariable) {
|
22146
22361
|
const blockStart = this.parser.tokenOrKeywordStartPosition();
|
22147
|
-
const openBraceToken = this.parser.parseExpectedToken(
|
22362
|
+
const openBraceToken = this.parser.parseExpectedToken(44 /* OpenBrace */);
|
22148
22363
|
const memberList = this.parser.typeMemberDeclarationParser.parseTypeMemberDeclarationList(
|
22149
22364
|
parseVariantInsteadOfVariable
|
22150
22365
|
);
|
22151
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
22366
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
22152
22367
|
const result = new TypeMemberDeclarationBlock2(openBraceToken, memberList, closeBraceToken);
|
22153
22368
|
return this.parser.intern(result, blockStart);
|
22154
22369
|
}
|
@@ -22174,7 +22389,7 @@ var TypeMemberDeclarationParser = class {
|
|
22174
22389
|
parseVariantDeclaration(declarationStart, tagList, modifierList) {
|
22175
22390
|
const identifier2 = this.parser.parseIdentifier(4 /* Other */);
|
22176
22391
|
let value;
|
22177
|
-
const equalsToken = this.parser.parseOptionalToken(
|
22392
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
22178
22393
|
if (equalsToken !== void 0) {
|
22179
22394
|
value = this.parser.expressionParser.parseExpression(false);
|
22180
22395
|
}
|
@@ -22260,7 +22475,7 @@ var TypeMemberDeclarationParser = class {
|
|
22260
22475
|
typeAnnotation = this.parser.typeAnnotationParser.parseTypeAnnotation();
|
22261
22476
|
}
|
22262
22477
|
let initializer;
|
22263
|
-
const equalsToken = this.parser.parseOptionalToken(
|
22478
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
22264
22479
|
if (equalsToken !== void 0) {
|
22265
22480
|
initializer = this.parser.expressionParser.parseExpression(false);
|
22266
22481
|
}
|
@@ -22276,9 +22491,9 @@ var TypeMemberDeclarationParser = class {
|
|
22276
22491
|
}
|
22277
22492
|
parseTypeMemberGetterDeclaration(declarationStart, tagList, modifierList) {
|
22278
22493
|
const getKeyword = this.parser.parseExpectedKeyword(58 /* Get */);
|
22279
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
22494
|
+
if (this.parser.currentTokenOrKeyword.isToken(46 /* OpenSquareBracket */)) {
|
22280
22495
|
return this.parseIndexedElementGetterDeclaration(declarationStart, tagList, modifierList, getKeyword);
|
22281
|
-
} else if (this.parser.currentTokenOrKeyword.isToken(
|
22496
|
+
} else if (this.parser.currentTokenOrKeyword.isToken(20 /* Caret */)) {
|
22282
22497
|
return this.parseDereferencedVariableGetterDeclaration(declarationStart, tagList, modifierList, getKeyword);
|
22283
22498
|
} else {
|
22284
22499
|
return this.parseFieldGetterDeclaration(declarationStart, tagList, modifierList, getKeyword);
|
@@ -22299,7 +22514,7 @@ var TypeMemberDeclarationParser = class {
|
|
22299
22514
|
return this.parser.intern(result, declarationStart);
|
22300
22515
|
}
|
22301
22516
|
parseDereferencedVariableGetterDeclaration(declarationStart, tagList, modifierList, getKeyword) {
|
22302
|
-
const caretToken = this.parser.parseExpectedToken(
|
22517
|
+
const caretToken = this.parser.parseExpectedToken(20 /* Caret */);
|
22303
22518
|
const typeAnnotation = this.parser.typeAnnotationParser.parseTypeAnnotation();
|
22304
22519
|
const block = this.parser.parseOptionalFunctionBlock();
|
22305
22520
|
const result = new DereferencedVariableGetterDeclaration2(
|
@@ -22328,9 +22543,9 @@ var TypeMemberDeclarationParser = class {
|
|
22328
22543
|
}
|
22329
22544
|
parseTypeMemberSetterDeclaration(declarationStart, tagList, modifierList) {
|
22330
22545
|
const setKeyword = this.parser.parseExpectedKeyword(59 /* Set */);
|
22331
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
22546
|
+
if (this.parser.currentTokenOrKeyword.isToken(46 /* OpenSquareBracket */)) {
|
22332
22547
|
return this.parseIndexedElementSetterDeclaration(declarationStart, tagList, modifierList, setKeyword);
|
22333
|
-
} else if (this.parser.currentTokenOrKeyword.isToken(
|
22548
|
+
} else if (this.parser.currentTokenOrKeyword.isToken(20 /* Caret */)) {
|
22334
22549
|
return this.parseDereferencedVariableSetterDeclaration(declarationStart, tagList, modifierList, setKeyword);
|
22335
22550
|
} else {
|
22336
22551
|
return this.parseFieldSetterDeclaration(declarationStart, tagList, modifierList, setKeyword);
|
@@ -22343,7 +22558,7 @@ var TypeMemberDeclarationParser = class {
|
|
22343
22558
|
return this.parser.intern(result, declarationStart);
|
22344
22559
|
}
|
22345
22560
|
parseDereferencedVariableSetterDeclaration(declarationStart, tagList, modifierList, setKeyword) {
|
22346
|
-
const caretToken = this.parser.parseExpectedToken(
|
22561
|
+
const caretToken = this.parser.parseExpectedToken(20 /* Caret */);
|
22347
22562
|
const block = this.parser.parseOptionalFunctionBlock(false);
|
22348
22563
|
const result = new DereferencedVariableSetterDeclaration2(
|
22349
22564
|
tagList,
|
@@ -22368,13 +22583,13 @@ var TypeMemberDeclarationParser = class {
|
|
22368
22583
|
getTypeMemberDeclarationParsingFunction(allowGroupDeclaration, parseVariantInsteadOfVariable) {
|
22369
22584
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
22370
22585
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
22371
|
-
case
|
22586
|
+
case 10 /* Identifier */:
|
22372
22587
|
if (parseVariantInsteadOfVariable) {
|
22373
22588
|
return (declarationStart, tags, modifiers) => this.parseVariantDeclaration(declarationStart, tags, modifiers);
|
22374
22589
|
} else {
|
22375
22590
|
return (declarationStart, tags, modifiers) => this.parseFieldDeclaration(declarationStart, tags, modifiers);
|
22376
22591
|
}
|
22377
|
-
case
|
22592
|
+
case 44 /* OpenBrace */:
|
22378
22593
|
return (declarationStart, tags, modifiers) => {
|
22379
22594
|
if (!allowGroupDeclaration) {
|
22380
22595
|
this.parser.tryReportDiagnosticAtCurrentRange(123 /* ModifierListExpected */);
|
@@ -22410,11 +22625,11 @@ var TagParser = class {
|
|
22410
22625
|
this._argumentListParser = new ArgumentListParser(
|
22411
22626
|
this.parser,
|
22412
22627
|
() => this.parser.tryReportDiagnosticAtCurrentRange(115 /* TagArgumentExpected */),
|
22413
|
-
|
22628
|
+
22 /* CloseParenthesis */
|
22414
22629
|
);
|
22415
22630
|
}
|
22416
22631
|
isStartOfTag() {
|
22417
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
22632
|
+
return this.parser.currentTokenOrKeyword.isToken(36 /* HashSign */);
|
22418
22633
|
}
|
22419
22634
|
parseTagList() {
|
22420
22635
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
@@ -22427,7 +22642,7 @@ var TagParser = class {
|
|
22427
22642
|
}
|
22428
22643
|
parseTag() {
|
22429
22644
|
const tagStart = this.parser.tokenOrKeywordStartPosition();
|
22430
|
-
const hashSignToken = this.parser.parseExpectedToken(
|
22645
|
+
const hashSignToken = this.parser.parseExpectedToken(36 /* HashSign */);
|
22431
22646
|
const name = this.parser.parseQualifiedName(130 /* TagNameExpected */);
|
22432
22647
|
let typeArgumentClause;
|
22433
22648
|
if (this.parser.typeArgumentParser.isStartOfTypeArgumentClause()) {
|
@@ -22436,10 +22651,10 @@ var TagParser = class {
|
|
22436
22651
|
let openParenthesisToken;
|
22437
22652
|
let argumentList;
|
22438
22653
|
let closeParenthesisToken;
|
22439
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
22440
|
-
openParenthesisToken = this.parser.parseExpectedToken(
|
22654
|
+
if (this.parser.currentTokenOrKeyword.isToken(45 /* OpenParenthesis */)) {
|
22655
|
+
openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
22441
22656
|
argumentList = this._argumentListParser.parseArgumentList();
|
22442
|
-
closeParenthesisToken = this.parser.parseExpectedToken(
|
22657
|
+
closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
22443
22658
|
}
|
22444
22659
|
const result = new Tag2(
|
22445
22660
|
hashSignToken,
|
@@ -22490,7 +22705,7 @@ var ModifierParser = class {
|
|
22490
22705
|
const value = this.parser.parseTokenOrKeyword().asKeyword();
|
22491
22706
|
let constraint;
|
22492
22707
|
let closeParenthesisToken;
|
22493
|
-
const openParenthesisToken = this.parser.parseOptionalToken(
|
22708
|
+
const openParenthesisToken = this.parser.parseOptionalToken(45 /* OpenParenthesis */);
|
22494
22709
|
if (openParenthesisToken !== void 0) {
|
22495
22710
|
if (this.parser.currentTokenOrKeyword.kind === "keyword") {
|
22496
22711
|
switch (this.parser.currentTokenOrKeyword.keywordKind) {
|
@@ -22505,7 +22720,7 @@ var ModifierParser = class {
|
|
22505
22720
|
if (constraint === void 0) {
|
22506
22721
|
this.parser.tryReportDiagnosticAtCurrentRange(125 /* HidingLevelExpected */);
|
22507
22722
|
}
|
22508
|
-
closeParenthesisToken = this.parser.parseExpectedToken(
|
22723
|
+
closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
22509
22724
|
}
|
22510
22725
|
const result = new Modifier2(value, openParenthesisToken, constraint, closeParenthesisToken);
|
22511
22726
|
return this.parser.intern(result, modifierStart);
|
@@ -22516,7 +22731,7 @@ var ArgumentListParser = class {
|
|
22516
22731
|
this.parser = parser2;
|
22517
22732
|
this._sequenceParser = new SequenceParser(
|
22518
22733
|
this.parser,
|
22519
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22734
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */) || this.parser.expressionParser.isStartOfExpression(false),
|
22520
22735
|
() => this.parser.currentTokenOrKeyword.isToken(closingBracketKind),
|
22521
22736
|
() => true,
|
22522
22737
|
() => this.parseExpectedArgument(),
|
@@ -22535,11 +22750,11 @@ var ArgumentListParser = class {
|
|
22535
22750
|
let name;
|
22536
22751
|
let equalsToken;
|
22537
22752
|
const isNamedArgumentDeclaration = this.parser.lookAhead(() => {
|
22538
|
-
return !this.parser.parseIdentifier().isMissing && this.parser.currentTokenOrKeyword.isToken(
|
22753
|
+
return !this.parser.parseIdentifier().isMissing && this.parser.currentTokenOrKeyword.isToken(58 /* Equals */);
|
22539
22754
|
});
|
22540
22755
|
if (isNamedArgumentDeclaration) {
|
22541
22756
|
name = this.parser.parseIdentifier();
|
22542
|
-
equalsToken = this.parser.parseExpectedToken(
|
22757
|
+
equalsToken = this.parser.parseExpectedToken(58 /* Equals */);
|
22543
22758
|
}
|
22544
22759
|
const expression = this.parser.expressionParser.parseExpression(false);
|
22545
22760
|
const result = new Argument2(name, equalsToken, expression);
|
@@ -22552,7 +22767,7 @@ var TypeArgumentParser = class {
|
|
22552
22767
|
this._sequenceParser = new SequenceParser(
|
22553
22768
|
this.parser,
|
22554
22769
|
() => this.parser.typeSpecifierParser.isStartOfTypeSpecifier(),
|
22555
|
-
() => !this.parser.currentTokenOrKeyword.isToken(
|
22770
|
+
() => !this.parser.currentTokenOrKeyword.isToken(25 /* Comma */),
|
22556
22771
|
() => false,
|
22557
22772
|
() => this.parser.typeSpecifierParser.parseTypeSpecifier(),
|
22558
22773
|
() => this.parser.parseComma(),
|
@@ -22561,9 +22776,9 @@ var TypeArgumentParser = class {
|
|
22561
22776
|
}
|
22562
22777
|
parseTypeArgumentClause() {
|
22563
22778
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
22564
|
-
const lessThanToken = this.parser.parseExpectedToken(
|
22779
|
+
const lessThanToken = this.parser.parseExpectedToken(37 /* LessThan */);
|
22565
22780
|
const typeArgumentList = this.parseTypeArgumentList();
|
22566
|
-
const greaterThanToken = this.parser.parseExpectedToken(
|
22781
|
+
const greaterThanToken = this.parser.parseExpectedToken(34 /* GreaterThan */);
|
22567
22782
|
const result = new TypeArgumentClause2(lessThanToken, typeArgumentList, greaterThanToken);
|
22568
22783
|
return this.parser.intern(result, clauseStart);
|
22569
22784
|
}
|
@@ -22574,7 +22789,7 @@ var TypeArgumentParser = class {
|
|
22574
22789
|
return this.parser.intern(result, listStart);
|
22575
22790
|
}
|
22576
22791
|
isStartOfTypeArgumentClause() {
|
22577
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
22792
|
+
return this.parser.currentTokenOrKeyword.isToken(37 /* LessThan */);
|
22578
22793
|
}
|
22579
22794
|
canParseTypeArgumentClause() {
|
22580
22795
|
return this.parser.lookAhead(() => {
|
@@ -22588,22 +22803,22 @@ var TypeParameterParser = class {
|
|
22588
22803
|
this.parser = parser2;
|
22589
22804
|
this._sequenceParser = new SequenceParser(
|
22590
22805
|
this.parser,
|
22591
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22806
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
22592
22807
|
() => this.isTypeParameterSequenceTerminator(),
|
22593
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22808
|
+
() => this.parser.currentTokenOrKeyword.isToken(34 /* GreaterThan */),
|
22594
22809
|
() => this.parseTypeParameterDeclaration(),
|
22595
22810
|
() => this.parser.parseComma(),
|
22596
22811
|
() => this.parser.tryReportDiagnosticAtCurrentRange(116 /* TypeParameterExpected */)
|
22597
22812
|
);
|
22598
22813
|
}
|
22599
22814
|
isStartOfTypeParameterClause() {
|
22600
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
22815
|
+
return this.parser.currentTokenOrKeyword.isToken(37 /* LessThan */);
|
22601
22816
|
}
|
22602
22817
|
parseTypeParameterClause() {
|
22603
22818
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
22604
|
-
const lessThanToken = this.parser.parseExpectedToken(
|
22819
|
+
const lessThanToken = this.parser.parseExpectedToken(37 /* LessThan */);
|
22605
22820
|
const typeParameterList = this.parseTypeParameterList();
|
22606
|
-
const greaterThanToken = this.parser.parseExpectedToken(
|
22821
|
+
const greaterThanToken = this.parser.parseExpectedToken(34 /* GreaterThan */);
|
22607
22822
|
const result = new TypeParameterClause2(lessThanToken, typeParameterList, greaterThanToken);
|
22608
22823
|
return this.parser.intern(result, clauseStart);
|
22609
22824
|
}
|
@@ -22616,10 +22831,10 @@ var TypeParameterParser = class {
|
|
22616
22831
|
isTypeParameterSequenceTerminator() {
|
22617
22832
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
22618
22833
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
22619
|
-
case
|
22834
|
+
case 34 /* GreaterThan */:
|
22620
22835
|
return true;
|
22621
|
-
case
|
22622
|
-
case
|
22836
|
+
case 45 /* OpenParenthesis */:
|
22837
|
+
case 58 /* Equals */:
|
22623
22838
|
return true;
|
22624
22839
|
default:
|
22625
22840
|
return false;
|
@@ -22631,12 +22846,12 @@ var TypeParameterParser = class {
|
|
22631
22846
|
const declarationStart = this.parser.tokenOrKeywordStartPosition();
|
22632
22847
|
const name = this.parser.parseIdentifier(4 /* Other */);
|
22633
22848
|
let typeConstraint;
|
22634
|
-
const colonToken = this.parser.parseOptionalToken(
|
22849
|
+
const colonToken = this.parser.parseOptionalToken(24 /* Colon */);
|
22635
22850
|
if (colonToken !== void 0) {
|
22636
22851
|
typeConstraint = this.parser.typeSpecifierParser.parseTypeSpecifier();
|
22637
22852
|
}
|
22638
22853
|
let defaultValue;
|
22639
|
-
const equalsToken = this.parser.parseOptionalToken(
|
22854
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
22640
22855
|
if (equalsToken !== void 0) {
|
22641
22856
|
defaultValue = this.parser.typeSpecifierParser.parseTypeSpecifier();
|
22642
22857
|
}
|
@@ -22649,8 +22864,8 @@ var ParameterParser = class {
|
|
22649
22864
|
this.parser = parser2;
|
22650
22865
|
this._parameterSequenceParser = new SequenceParser(
|
22651
22866
|
this.parser,
|
22652
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22653
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22867
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */) || this.parser.tagParser.isStartOfTag(),
|
22868
|
+
() => this.parser.currentTokenOrKeyword.isToken(22 /* CloseParenthesis */) || this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */),
|
22654
22869
|
// For better error recovery.
|
22655
22870
|
() => true,
|
22656
22871
|
() => this.parseParameterDeclaration(),
|
@@ -22659,8 +22874,8 @@ var ParameterParser = class {
|
|
22659
22874
|
);
|
22660
22875
|
this._indexParameterSequenceParser = new SequenceParser(
|
22661
22876
|
this.parser,
|
22662
|
-
() => this.parser.tagParser.isStartOfTag() || this.parser.currentTokenOrKeyword.isToken(
|
22663
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22877
|
+
() => this.parser.tagParser.isStartOfTag() || this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
22878
|
+
() => this.parser.currentTokenOrKeyword.isToken(23 /* CloseSquareBracket */),
|
22664
22879
|
() => true,
|
22665
22880
|
() => this.parser.parameterParser.parseParameterDeclaration(),
|
22666
22881
|
() => this.parser.parseComma(),
|
@@ -22669,9 +22884,9 @@ var ParameterParser = class {
|
|
22669
22884
|
}
|
22670
22885
|
parseParameterClause() {
|
22671
22886
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
22672
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
22887
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
22673
22888
|
const parameterList = this.parseParameterList();
|
22674
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
22889
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
22675
22890
|
const result = new ParameterClause2(openParenthesisToken, parameterList, closeParenthesisToken);
|
22676
22891
|
return this.parser.intern(result, clauseStart);
|
22677
22892
|
}
|
@@ -22683,9 +22898,9 @@ var ParameterParser = class {
|
|
22683
22898
|
}
|
22684
22899
|
parseIndexParameterClause() {
|
22685
22900
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
22686
|
-
const openBracketToken = this.parser.parseExpectedToken(
|
22901
|
+
const openBracketToken = this.parser.parseExpectedToken(46 /* OpenSquareBracket */);
|
22687
22902
|
const parameterList = this.parseIndexParameterList();
|
22688
|
-
const closeSquareBracketToken = this.parser.parseExpectedToken(
|
22903
|
+
const closeSquareBracketToken = this.parser.parseExpectedToken(23 /* CloseSquareBracket */);
|
22689
22904
|
const result = new IndexParameterClause2(openBracketToken, parameterList, closeSquareBracketToken);
|
22690
22905
|
return this.parser.intern(result, clauseStart);
|
22691
22906
|
}
|
@@ -22704,7 +22919,7 @@ var ParameterParser = class {
|
|
22704
22919
|
typeAnnotation = this.parser.typeAnnotationParser.parseTypeAnnotation();
|
22705
22920
|
}
|
22706
22921
|
let defaultValue;
|
22707
|
-
const equalsToken = this.parser.parseOptionalToken(
|
22922
|
+
const equalsToken = this.parser.parseOptionalToken(58 /* Equals */);
|
22708
22923
|
if (equalsToken !== void 0) {
|
22709
22924
|
defaultValue = this.parser.expressionParser.parseExpression(false);
|
22710
22925
|
}
|
@@ -22718,7 +22933,7 @@ var ArrayLiteralParser = class {
|
|
22718
22933
|
this._elementParser = new SequenceParser(
|
22719
22934
|
this.parser,
|
22720
22935
|
() => this.parser.expressionParser.isStartOfExpression(false),
|
22721
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22936
|
+
() => this.parser.currentTokenOrKeyword.isToken(23 /* CloseSquareBracket */),
|
22722
22937
|
() => true,
|
22723
22938
|
() => this.parser.expressionParser.parseExpression(false),
|
22724
22939
|
() => this.parser.parseComma(),
|
@@ -22727,11 +22942,11 @@ var ArrayLiteralParser = class {
|
|
22727
22942
|
}
|
22728
22943
|
parseArrayLiteral() {
|
22729
22944
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
22730
|
-
const openSquareBracketToken = this.parser.parseExpectedToken(
|
22945
|
+
const openSquareBracketToken = this.parser.parseExpectedToken(46 /* OpenSquareBracket */);
|
22731
22946
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
22732
22947
|
const elements = this._elementParser.parse();
|
22733
22948
|
const elementList = this.parser.intern(new ArrayLiteralElementList2(elements), listStart);
|
22734
|
-
const closeSquareBracketToken = this.parser.parseExpectedToken(
|
22949
|
+
const closeSquareBracketToken = this.parser.parseExpectedToken(23 /* CloseSquareBracket */);
|
22735
22950
|
const result = new ArrayLiteral2(openSquareBracketToken, elementList, closeSquareBracketToken);
|
22736
22951
|
return this.parser.intern(result, expressionStart);
|
22737
22952
|
}
|
@@ -22750,11 +22965,11 @@ var SwitchStatementParser = class {
|
|
22750
22965
|
);
|
22751
22966
|
this._matchExpressionSequenceParser = new SequenceParser(
|
22752
22967
|
this.parser,
|
22753
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22754
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22968
|
+
() => this.parser.currentTokenOrKeyword.isToken(14 /* Asterisk */) || this.parser.expressionParser.isStartOfExpression(true),
|
22969
|
+
() => this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */),
|
22755
22970
|
() => true,
|
22756
22971
|
() => {
|
22757
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
22972
|
+
if (this.parser.currentTokenOrKeyword.isToken(14 /* Asterisk */)) {
|
22758
22973
|
return this.parseDefaultMatchExpression();
|
22759
22974
|
}
|
22760
22975
|
return this.parser.expressionParser.parseExpression(true);
|
@@ -22785,7 +23000,7 @@ var SwitchStatementParser = class {
|
|
22785
23000
|
}
|
22786
23001
|
parseDefaultMatchExpression() {
|
22787
23002
|
const expressionStart = this.parser.tokenOrKeywordStartPosition();
|
22788
|
-
const asteriskToken = this.parser.parseExpectedToken(
|
23003
|
+
const asteriskToken = this.parser.parseExpectedToken(14 /* Asterisk */);
|
22789
23004
|
const result = new DefaultMatchExpression2(asteriskToken);
|
22790
23005
|
return this.parser.intern(result, expressionStart);
|
22791
23006
|
}
|
@@ -22795,8 +23010,8 @@ var TranslationsDeclarationParser = class {
|
|
22795
23010
|
this.parser = parser2;
|
22796
23011
|
this._parameterSequenceParser = new SequenceParser(
|
22797
23012
|
this.parser,
|
22798
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22799
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23013
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
23014
|
+
() => this.parser.currentTokenOrKeyword.isToken(22 /* CloseParenthesis */),
|
22800
23015
|
() => true,
|
22801
23016
|
() => this.parser.parseIdentifier(4 /* Other */),
|
22802
23017
|
() => this.parser.parseComma(),
|
@@ -22804,8 +23019,8 @@ var TranslationsDeclarationParser = class {
|
|
22804
23019
|
);
|
22805
23020
|
this._typeParameterSequenceParser = new SequenceParser(
|
22806
23021
|
this.parser,
|
22807
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22808
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23022
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
23023
|
+
() => this.parser.currentTokenOrKeyword.isToken(34 /* GreaterThan */) || this.parser.currentTokenOrKeyword.isToken(58 /* Equals */),
|
22809
23024
|
/* for better error recovery */
|
22810
23025
|
() => true,
|
22811
23026
|
() => this.parser.parseIdentifier(4 /* Other */),
|
@@ -22815,7 +23030,7 @@ var TranslationsDeclarationParser = class {
|
|
22815
23030
|
this._typeMemberTranslationSequenceParser = new SequenceParser(
|
22816
23031
|
this.parser,
|
22817
23032
|
() => this.isStartOfTypeMemberTranslation(),
|
22818
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23033
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
22819
23034
|
() => true,
|
22820
23035
|
() => this.parseTypeMemberTranslation(),
|
22821
23036
|
() => this.parser.parseSemicolonOrLineBreak(),
|
@@ -22824,7 +23039,7 @@ var TranslationsDeclarationParser = class {
|
|
22824
23039
|
this._topLevelTranslationSequenceParser = new SequenceParser(
|
22825
23040
|
this.parser,
|
22826
23041
|
() => this.isStartOfTopLevelTranslation(),
|
22827
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23042
|
+
() => this.parser.currentTokenOrKeyword.isToken(21 /* CloseBrace */),
|
22828
23043
|
() => true,
|
22829
23044
|
() => this.parseTopLevelTranslation(),
|
22830
23045
|
() => this.parser.parseSemicolonOrLineBreak(),
|
@@ -22832,8 +23047,8 @@ var TranslationsDeclarationParser = class {
|
|
22832
23047
|
);
|
22833
23048
|
this._indexParameterSequenceParser = new SequenceParser(
|
22834
23049
|
this.parser,
|
22835
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
22836
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23050
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
23051
|
+
() => this.parser.currentTokenOrKeyword.isToken(23 /* CloseSquareBracket */),
|
22837
23052
|
() => true,
|
22838
23053
|
() => this.parser.parseIdentifier(4 /* Other */),
|
22839
23054
|
() => this.parser.parseComma(),
|
@@ -22848,14 +23063,14 @@ var TranslationsDeclarationParser = class {
|
|
22848
23063
|
}
|
22849
23064
|
parseTranslationsDeclaration(declarationStart, tags, modifiers) {
|
22850
23065
|
const translationsKeyword = this.parser.parseExpectedKeyword(55 /* Translations */);
|
22851
|
-
const openBraceToken = this.parser.parseExpectedToken(
|
23066
|
+
const openBraceToken = this.parser.parseExpectedToken(44 /* OpenBrace */);
|
22852
23067
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
22853
23068
|
const translationListElements = this._topLevelTranslationSequenceParser.parse();
|
22854
23069
|
const translationList = this.parser.intern(
|
22855
23070
|
new TopLevelTranslationList2(translationListElements),
|
22856
23071
|
listStart
|
22857
23072
|
);
|
22858
|
-
const closeBraceToken = this.parser.parseExpectedToken(
|
23073
|
+
const closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
22859
23074
|
const result = new TranslationsDeclaration2(
|
22860
23075
|
tags,
|
22861
23076
|
modifiers,
|
@@ -22883,7 +23098,7 @@ var TranslationsDeclarationParser = class {
|
|
22883
23098
|
getTopLevelTranslationParsingFunction() {
|
22884
23099
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
22885
23100
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
22886
|
-
case
|
23101
|
+
case 10 /* Identifier */:
|
22887
23102
|
return () => this.parsePackageVariableTranslation();
|
22888
23103
|
case 6 /* TextLiteral */:
|
22889
23104
|
return () => this.parseTextLiteralTranslation();
|
@@ -22905,9 +23120,9 @@ var TranslationsDeclarationParser = class {
|
|
22905
23120
|
getTypeMemberTranslationParsingFunction() {
|
22906
23121
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
22907
23122
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
22908
|
-
case
|
23123
|
+
case 10 /* Identifier */:
|
22909
23124
|
return () => this.parseFieldOrVariantTranslation();
|
22910
|
-
case
|
23125
|
+
case 46 /* OpenSquareBracket */:
|
22911
23126
|
return () => this.parseIndexerTranslation();
|
22912
23127
|
}
|
22913
23128
|
} else {
|
@@ -22924,7 +23139,7 @@ var TranslationsDeclarationParser = class {
|
|
22924
23139
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
22925
23140
|
const importKeyword = this.parser.parseExpectedKeyword(18 /* Import */);
|
22926
23141
|
const sourceName = this.parser.parseQualifiedName(103 /* PackageNameExpected */);
|
22927
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23142
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22928
23143
|
const translatedName = this.parser.parseQualifiedName(103 /* PackageNameExpected */);
|
22929
23144
|
const result = new PackageImportTranslation2(importKeyword, sourceName, minusGreaterThanToken, translatedName);
|
22930
23145
|
return this.parser.intern(result, translationStart);
|
@@ -22932,7 +23147,7 @@ var TranslationsDeclarationParser = class {
|
|
22932
23147
|
parsePackageVariableTranslation() {
|
22933
23148
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
22934
23149
|
const sourceName = this.parser.parseIdentifier(4 /* Other */);
|
22935
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23150
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22936
23151
|
const translatedName = this.parser.parseIdentifier(4 /* Other */);
|
22937
23152
|
const result = new PackageVariableTranslation2(sourceName, minusGreaterThanToken, translatedName);
|
22938
23153
|
return this.parser.intern(result, translationStart);
|
@@ -22943,7 +23158,7 @@ var TranslationsDeclarationParser = class {
|
|
22943
23158
|
const sourceName = this.parser.parseIdentifier(4 /* Other */);
|
22944
23159
|
const sourceTypeParameterClause = this.parseOptionalTypeParameterClause();
|
22945
23160
|
const sourceParameterClause = this.parseParameterClause();
|
22946
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23161
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22947
23162
|
const translatedName = this.parser.parseIdentifier(4 /* Other */);
|
22948
23163
|
const translatedTypeParameterClause = this.parseOptionalTypeParameterClause();
|
22949
23164
|
const translatedParameterClause = this.parseParameterClause();
|
@@ -22965,7 +23180,7 @@ var TranslationsDeclarationParser = class {
|
|
22965
23180
|
const sourceName = this.parser.parseIdentifier(4 /* Other */);
|
22966
23181
|
const sourceTypeParameterClause = this.parseOptionalTypeParameterClause();
|
22967
23182
|
const sourceParameterClause = this.parseParameterClause();
|
22968
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23183
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22969
23184
|
const translatedName = this.parser.parseIdentifier(4 /* Other */);
|
22970
23185
|
const translatedTypeParameterClause = this.parseOptionalTypeParameterClause();
|
22971
23186
|
const translatedParameterClause = this.parseParameterClause();
|
@@ -22984,7 +23199,7 @@ var TranslationsDeclarationParser = class {
|
|
22984
23199
|
parseFieldOrVariantTranslation() {
|
22985
23200
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
22986
23201
|
const sourceName = this.parser.parseIdentifier(3 /* FieldTranslation */);
|
22987
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23202
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22988
23203
|
const translatedName = this.parser.parseIdentifier(3 /* FieldTranslation */);
|
22989
23204
|
const result = new FieldOrVariantTranslation2(sourceName, minusGreaterThanToken, translatedName);
|
22990
23205
|
return this.parser.intern(result, translationStart);
|
@@ -22993,7 +23208,7 @@ var TranslationsDeclarationParser = class {
|
|
22993
23208
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
22994
23209
|
const creationKeyword = this.parser.parseExpectedKeyword(31 /* Creation */);
|
22995
23210
|
const sourceParameterClause = this.parseParameterClause();
|
22996
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23211
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
22997
23212
|
const translatedParameterClause = this.parseParameterClause();
|
22998
23213
|
const result = new ConstructorTranslation2(
|
22999
23214
|
creationKeyword,
|
@@ -23006,23 +23221,23 @@ var TranslationsDeclarationParser = class {
|
|
23006
23221
|
parseIndexerTranslation() {
|
23007
23222
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
23008
23223
|
const sourceParameterClause = this.parseIndexParameterClause();
|
23009
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23224
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
23010
23225
|
const translatedParameterClause = this.parseIndexParameterClause();
|
23011
23226
|
const result = new IndexerTranslation2(sourceParameterClause, minusGreaterThanToken, translatedParameterClause);
|
23012
23227
|
return this.parser.intern(result, translationStart);
|
23013
23228
|
}
|
23014
23229
|
parseOptionalTypeParameterClause() {
|
23015
23230
|
let result;
|
23016
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23231
|
+
if (this.parser.currentTokenOrKeyword.isToken(37 /* LessThan */)) {
|
23017
23232
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
23018
|
-
const lessThanToken = this.parser.parseExpectedToken(
|
23233
|
+
const lessThanToken = this.parser.parseExpectedToken(37 /* LessThan */);
|
23019
23234
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
23020
23235
|
const elements = this._typeParameterSequenceParser.parse();
|
23021
23236
|
const parameterList = this.parser.intern(
|
23022
23237
|
new TranslationTypeParameterList2(elements),
|
23023
23238
|
listStart
|
23024
23239
|
);
|
23025
|
-
const greaterThanToken = this.parser.parseExpectedToken(
|
23240
|
+
const greaterThanToken = this.parser.parseExpectedToken(34 /* GreaterThan */);
|
23026
23241
|
result = this.parser.intern(
|
23027
23242
|
new TranslationTypeParameterClause2(lessThanToken, parameterList, greaterThanToken),
|
23028
23243
|
clauseStart
|
@@ -23032,21 +23247,21 @@ var TranslationsDeclarationParser = class {
|
|
23032
23247
|
}
|
23033
23248
|
parseParameterClause() {
|
23034
23249
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
23035
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
23250
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
23036
23251
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
23037
23252
|
const elements = this._parameterSequenceParser.parse();
|
23038
23253
|
const parameterList = this.parser.intern(new TranslationParameterList2(elements), listStart);
|
23039
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
23254
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
23040
23255
|
const result = new TranslationParameterClause2(openParenthesisToken, parameterList, closeParenthesisToken);
|
23041
23256
|
return this.parser.intern(result, clauseStart);
|
23042
23257
|
}
|
23043
23258
|
parseIndexParameterClause() {
|
23044
23259
|
const clauseStart = this.parser.tokenOrKeywordStartPosition();
|
23045
|
-
const openBracketToken = this.parser.parseExpectedToken(
|
23260
|
+
const openBracketToken = this.parser.parseExpectedToken(46 /* OpenSquareBracket */);
|
23046
23261
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
23047
23262
|
const elements = this._indexParameterSequenceParser.parse();
|
23048
23263
|
const parameterList = this.parser.intern(new TranslationParameterList2(elements), listStart);
|
23049
|
-
const closeSquareBracketToken = this.parser.parseExpectedToken(
|
23264
|
+
const closeSquareBracketToken = this.parser.parseExpectedToken(23 /* CloseSquareBracket */);
|
23050
23265
|
const result = new IndexParameterTranslationClause2(openBracketToken, parameterList, closeSquareBracketToken);
|
23051
23266
|
return this.parser.intern(result, clauseStart);
|
23052
23267
|
}
|
@@ -23055,24 +23270,24 @@ var TranslationsDeclarationParser = class {
|
|
23055
23270
|
const typeKeyword = this.parser.parseExpectedKeyword(16 /* Type */);
|
23056
23271
|
const sourceName = this.parser.parseIdentifier(4 /* Other */);
|
23057
23272
|
const sourceTypeParameterClause = this.parseOptionalTypeParameterClause();
|
23058
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23273
|
+
if (this.parser.currentTokenOrKeyword.isToken(45 /* OpenParenthesis */)) {
|
23059
23274
|
return this.parseFunctionTypeTranslation(translationStart, typeKeyword, sourceName, sourceTypeParameterClause);
|
23060
23275
|
} else {
|
23061
23276
|
return this.parseTypeTranslation(translationStart, typeKeyword, sourceName, sourceTypeParameterClause);
|
23062
23277
|
}
|
23063
23278
|
}
|
23064
23279
|
parseTypeTranslation(translationStart, typeKeyword, sourceName, sourceTypeParameterClause) {
|
23065
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23280
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
23066
23281
|
const translatedName = this.parser.parseIdentifier(4 /* Other */);
|
23067
23282
|
const translatedTypeParameterClause = this.parseOptionalTypeParameterClause();
|
23068
23283
|
let memberList;
|
23069
23284
|
let closeBraceToken;
|
23070
|
-
const openBraceToken = this.parser.parseOptionalToken(
|
23285
|
+
const openBraceToken = this.parser.parseOptionalToken(44 /* OpenBrace */);
|
23071
23286
|
if (openBraceToken !== void 0) {
|
23072
23287
|
const listStart = this.parser.tokenOrKeywordStartPosition();
|
23073
23288
|
const elements = this._typeMemberTranslationSequenceParser.parse();
|
23074
23289
|
memberList = this.parser.intern(new TypeMemberTranslationList2(elements), listStart);
|
23075
|
-
closeBraceToken = this.parser.parseExpectedToken(
|
23290
|
+
closeBraceToken = this.parser.parseExpectedToken(21 /* CloseBrace */);
|
23076
23291
|
}
|
23077
23292
|
const result = new TypeTranslation2(
|
23078
23293
|
typeKeyword,
|
@@ -23089,7 +23304,7 @@ var TranslationsDeclarationParser = class {
|
|
23089
23304
|
}
|
23090
23305
|
parseFunctionTypeTranslation(translationStart, typeKeyword, sourceName, sourceTypeParameterClause) {
|
23091
23306
|
const sourceParameterClause = this.parseParameterClause();
|
23092
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23307
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
23093
23308
|
const translatedName = this.parser.parseIdentifier(4 /* Other */);
|
23094
23309
|
const translatedTypeParameterClause = this.parseOptionalTypeParameterClause();
|
23095
23310
|
const translatedParameterClause = this.parseParameterClause();
|
@@ -23108,7 +23323,7 @@ var TranslationsDeclarationParser = class {
|
|
23108
23323
|
parseTextLiteralTranslation() {
|
23109
23324
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
23110
23325
|
const sourceTextLiteral = this.parser.parseExpectedToken(6 /* TextLiteral */);
|
23111
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23326
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
23112
23327
|
const translatedTextLiteral = this.parser.parseExpectedToken(6 /* TextLiteral */);
|
23113
23328
|
const result = new TextLiteralTranslation2(
|
23114
23329
|
sourceTextLiteral,
|
@@ -23120,7 +23335,7 @@ var TranslationsDeclarationParser = class {
|
|
23120
23335
|
parseTextTemplateLiteralTranslation() {
|
23121
23336
|
const translationStart = this.parser.tokenOrKeywordStartPosition();
|
23122
23337
|
const sourceTextTemplateLiteral = this.parser.expressionParser.parseTextTemplateLiteral();
|
23123
|
-
const minusGreaterThanToken = this.parser.parseExpectedToken(
|
23338
|
+
const minusGreaterThanToken = this.parser.parseExpectedToken(43 /* MinusGreaterThan */);
|
23124
23339
|
const translatedTextTemplateLiteral = this.parser.expressionParser.parseTextTemplateLiteral();
|
23125
23340
|
const result = new TextTemplateLiteralTranslation2(
|
23126
23341
|
sourceTextTemplateLiteral,
|
@@ -23143,10 +23358,10 @@ var TypeSpecifierParser = class {
|
|
23143
23358
|
parseUnionTypeSpecifier() {
|
23144
23359
|
const specifierStart = this.parser.tokenOrKeywordStartPosition();
|
23145
23360
|
let result = this.parseIntersectionTypeSpecifier();
|
23146
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23361
|
+
if (this.parser.currentTokenOrKeyword.isToken(18 /* Bar */)) {
|
23147
23362
|
const typeListElements = [result];
|
23148
|
-
while (this.parser.currentTokenOrKeyword.isToken(
|
23149
|
-
typeListElements.push(this.parser.parseExpectedToken(
|
23363
|
+
while (this.parser.currentTokenOrKeyword.isToken(18 /* Bar */)) {
|
23364
|
+
typeListElements.push(this.parser.parseExpectedToken(18 /* Bar */));
|
23150
23365
|
typeListElements.push(this.parseIntersectionTypeSpecifier());
|
23151
23366
|
}
|
23152
23367
|
result = this.parser.intern(new UnionTypeSpecifier2(typeListElements), specifierStart);
|
@@ -23156,10 +23371,10 @@ var TypeSpecifierParser = class {
|
|
23156
23371
|
parseIntersectionTypeSpecifier() {
|
23157
23372
|
const specifierStart = this.parser.tokenOrKeywordStartPosition();
|
23158
23373
|
let result = this.parsePostfixTypeSpecifier();
|
23159
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23374
|
+
if (this.parser.currentTokenOrKeyword.isToken(11 /* Ampersand */)) {
|
23160
23375
|
const typeListElements = [result];
|
23161
|
-
while (this.parser.currentTokenOrKeyword.isToken(
|
23162
|
-
typeListElements.push(this.parser.parseExpectedToken(
|
23376
|
+
while (this.parser.currentTokenOrKeyword.isToken(11 /* Ampersand */)) {
|
23377
|
+
typeListElements.push(this.parser.parseExpectedToken(11 /* Ampersand */));
|
23163
23378
|
typeListElements.push(this.parsePostfixTypeSpecifier());
|
23164
23379
|
}
|
23165
23380
|
result = this.parser.intern(new IntersectionTypeSpecifier2(typeListElements), specifierStart);
|
@@ -23169,8 +23384,8 @@ var TypeSpecifierParser = class {
|
|
23169
23384
|
parsePostfixTypeSpecifier() {
|
23170
23385
|
const specifierStart = this.parser.tokenOrKeywordStartPosition();
|
23171
23386
|
let typeSpecifier = this.parsePrimaryTypeSpecifier();
|
23172
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23173
|
-
const questionToken = this.parser.parseExpectedToken(
|
23387
|
+
if (this.parser.currentTokenOrKeyword.isToken(50 /* Question */) && (typeSpecifier.kind === 10 /* NamedTypeSpecifier */ || typeSpecifier.kind === 13 /* ParenthesizedTypeSpecifier */)) {
|
23388
|
+
const questionToken = this.parser.parseExpectedToken(50 /* Question */);
|
23174
23389
|
typeSpecifier = this.parser.intern(
|
23175
23390
|
new NullableTypeSpecifier2(typeSpecifier, questionToken),
|
23176
23391
|
specifierStart
|
@@ -23191,7 +23406,7 @@ var TypeSpecifierParser = class {
|
|
23191
23406
|
const specifierStart = this.parser.tokenOrKeywordStartPosition();
|
23192
23407
|
const qualifiedName = this.parser.parseQualifiedName(102 /* TypeNameExpected */);
|
23193
23408
|
let typeArgumentClause;
|
23194
|
-
if (this.parser.currentTokenOrKeyword.isToken(
|
23409
|
+
if (this.parser.currentTokenOrKeyword.isToken(37 /* LessThan */)) {
|
23195
23410
|
typeArgumentClause = this.parser.typeArgumentParser.parseTypeArgumentClause();
|
23196
23411
|
}
|
23197
23412
|
const result = new NamedTypeSpecifier2(qualifiedName, typeArgumentClause);
|
@@ -23199,9 +23414,9 @@ var TypeSpecifierParser = class {
|
|
23199
23414
|
}
|
23200
23415
|
parseParenthesizedTypeSpecifier() {
|
23201
23416
|
const specifierStart = this.parser.tokenOrKeywordStartPosition();
|
23202
|
-
const openParenthesisToken = this.parser.parseExpectedToken(
|
23417
|
+
const openParenthesisToken = this.parser.parseExpectedToken(45 /* OpenParenthesis */);
|
23203
23418
|
const typeSpecifier = this.parseTypeSpecifier();
|
23204
|
-
const closeParenthesisToken = this.parser.parseExpectedToken(
|
23419
|
+
const closeParenthesisToken = this.parser.parseExpectedToken(22 /* CloseParenthesis */);
|
23205
23420
|
const result = new ParenthesizedTypeSpecifier2(openParenthesisToken, typeSpecifier, closeParenthesisToken);
|
23206
23421
|
return this.parser.intern(result, specifierStart);
|
23207
23422
|
}
|
@@ -23258,9 +23473,9 @@ var TypeSpecifierParser = class {
|
|
23258
23473
|
getPrimaryTypeSpecifierParsingFunction() {
|
23259
23474
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
23260
23475
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
23261
|
-
case
|
23476
|
+
case 10 /* Identifier */:
|
23262
23477
|
return () => this.parseNamedTypeSpecifier();
|
23263
|
-
case
|
23478
|
+
case 45 /* OpenParenthesis */:
|
23264
23479
|
return () => this.parseParenthesizedTypeSpecifier();
|
23265
23480
|
}
|
23266
23481
|
} else {
|
@@ -23286,8 +23501,8 @@ var TypeDeclarationBodyParser = class {
|
|
23286
23501
|
this.parser = parser2;
|
23287
23502
|
this._baseTypesSequenceParser = new SequenceParser(
|
23288
23503
|
this.parser,
|
23289
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23290
|
-
() => this.parser.currentTokenOrKeyword.isToken(
|
23504
|
+
() => this.parser.currentTokenOrKeyword.isToken(10 /* Identifier */),
|
23505
|
+
() => this.parser.currentTokenOrKeyword.isToken(44 /* OpenBrace */),
|
23291
23506
|
() => true,
|
23292
23507
|
() => this.parser.typeSpecifierParser.parseNamedTypeSpecifier(),
|
23293
23508
|
() => this.parser.parseComma(),
|
@@ -23378,8 +23593,8 @@ var TypeDeclarationBodyParser = class {
|
|
23378
23593
|
getTypeDeclarationBodyParsingFunction() {
|
23379
23594
|
if (this.parser.currentTokenOrKeyword.kind === "token") {
|
23380
23595
|
switch (this.parser.currentTokenOrKeyword.tokenKind) {
|
23381
|
-
case
|
23382
|
-
case
|
23596
|
+
case 10 /* Identifier */:
|
23597
|
+
case 45 /* OpenParenthesis */:
|
23383
23598
|
return () => this.parseAliasTypeDeclarationBody();
|
23384
23599
|
}
|
23385
23600
|
} else {
|
@@ -23405,11 +23620,11 @@ var TypeAnnotationParser = class {
|
|
23405
23620
|
this.parser = parser2;
|
23406
23621
|
}
|
23407
23622
|
isStartOfTypeAnnotation() {
|
23408
|
-
return this.parser.currentTokenOrKeyword.isToken(
|
23623
|
+
return this.parser.currentTokenOrKeyword.isToken(24 /* Colon */);
|
23409
23624
|
}
|
23410
23625
|
parseTypeAnnotation() {
|
23411
23626
|
const typeAnnotationStart = this.parser.tokenOrKeywordStartPosition();
|
23412
|
-
const colonToken = this.parser.parseExpectedToken(
|
23627
|
+
const colonToken = this.parser.parseExpectedToken(24 /* Colon */);
|
23413
23628
|
const typeSpecifier = this.parser.typeSpecifierParser.parseTypeSpecifier();
|
23414
23629
|
const result = new TypeAnnotation2(colonToken, typeSpecifier);
|
23415
23630
|
return this.parser.intern(result, typeAnnotationStart);
|
@@ -23431,7 +23646,11 @@ var TokenDetails = class {
|
|
23431
23646
|
return this.value.tokenKind;
|
23432
23647
|
}
|
23433
23648
|
toString() {
|
23434
|
-
|
23649
|
+
let value = this.value.value;
|
23650
|
+
if (value === "") {
|
23651
|
+
value = `(${getTokenName(this.value.tokenKind)})`;
|
23652
|
+
}
|
23653
|
+
return value;
|
23435
23654
|
}
|
23436
23655
|
isToken(kind) {
|
23437
23656
|
return this.value.tokenKind === kind;
|
@@ -27906,11 +28125,9 @@ function modifierToModifierFlag(modifier) {
|
|
27906
28125
|
|
27907
28126
|
// source/analysis/ModifierValidator.ts
|
27908
28127
|
var ModifierValidator = class _ModifierValidator {
|
27909
|
-
constructor(_analyzer, _diagnostics
|
28128
|
+
constructor(_analyzer, _diagnostics) {
|
27910
28129
|
this._analyzer = _analyzer;
|
27911
28130
|
this._diagnostics = _diagnostics;
|
27912
|
-
this._locale = _locale;
|
27913
|
-
this._dialect = _dialect;
|
27914
28131
|
this.effectiveModifiers = [];
|
27915
28132
|
}
|
27916
28133
|
static {
|
@@ -28163,7 +28380,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28163
28380
|
break;
|
28164
28381
|
}
|
28165
28382
|
case 22 /* PackageAliasTypeDeclaration */: {
|
28166
|
-
const declarationKind = 1 /* AliasTypeDeclaration */;
|
28383
|
+
const declarationKind = declaration.body.aliasedTypeSpecifier.kind !== 16 /* InvalidTypeSpecifier */ ? 1 /* AliasTypeDeclaration */ : 15 /* InvalidDeclaration */;
|
28167
28384
|
this.validatePackageMemberModifierList(declaration.modifierList, declarationKind, parentGroupFlags);
|
28168
28385
|
this.validatePackageMemberCanBePlacedInGroupWithModifiers(
|
28169
28386
|
declarationKind,
|
@@ -28218,7 +28435,6 @@ var ModifierValidator = class _ModifierValidator {
|
|
28218
28435
|
case 43 /* InvalidPackageMemberDeclaration */: {
|
28219
28436
|
const declarationKind = 15 /* InvalidDeclaration */;
|
28220
28437
|
this.validatePackageMemberModifierList(declaration.modifierList, declarationKind, parentGroupFlags);
|
28221
|
-
this.validatePackageMemberCanBePlacedInGroupWithModifiers(declarationKind, declaration, parentGroupFlags);
|
28222
28438
|
break;
|
28223
28439
|
}
|
28224
28440
|
case 26 /* PackageEntryPointDeclaration */:
|
@@ -28256,7 +28472,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28256
28472
|
const flag = 128 /* Basic */;
|
28257
28473
|
if ((flags & flag) !== 0) {
|
28258
28474
|
this.reportDuplicateModifier(modifier, flag, parentGroupFlags);
|
28259
|
-
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 8 /* ObjectTypeDeclaration */)) {
|
28475
|
+
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 8 /* ObjectTypeDeclaration */ || declarationKind === 15 /* InvalidDeclaration */)) {
|
28260
28476
|
this._diagnostics.addDiagnostic(this._analyzer.createNodeDiagnostic(
|
28261
28477
|
332 /* BasicModifierCanOnlyBeAppliedToObjectTypes */,
|
28262
28478
|
modifier
|
@@ -28274,7 +28490,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28274
28490
|
const flag = 64 /* Abstract */;
|
28275
28491
|
if ((flags & flag) !== 0) {
|
28276
28492
|
this.reportDuplicateModifier(modifier, flag, parentGroupFlags);
|
28277
|
-
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 8 /* ObjectTypeDeclaration */)) {
|
28493
|
+
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 8 /* ObjectTypeDeclaration */ || declarationKind === 15 /* InvalidDeclaration */)) {
|
28278
28494
|
this._diagnostics.addDiagnostic(this._analyzer.createNodeDiagnostic(
|
28279
28495
|
333 /* AbstractModifierCanOnlyBeAppliedToObjectTypes */,
|
28280
28496
|
modifier
|
@@ -28297,7 +28513,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28297
28513
|
modifier,
|
28298
28514
|
this.findModifier(512 /* Async */)
|
28299
28515
|
);
|
28300
|
-
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 11 /* VariableDeclaration */)) {
|
28516
|
+
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 11 /* VariableDeclaration */ || declarationKind === 15 /* InvalidDeclaration */)) {
|
28301
28517
|
this.reportModifierIsNotAllowedHere(modifier);
|
28302
28518
|
}
|
28303
28519
|
flags |= flag;
|
@@ -28312,7 +28528,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28312
28528
|
modifier,
|
28313
28529
|
this.findModifier(1024 /* Const */)
|
28314
28530
|
);
|
28315
|
-
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 6 /* FunctionDeclaration */)) {
|
28531
|
+
} else if (!(declarationKind === 2 /* MemberGroupDeclaration */ || declarationKind === 6 /* FunctionDeclaration */ || declarationKind === 15 /* InvalidDeclaration */)) {
|
28316
28532
|
this.reportModifierIsNotAllowedHere(modifier);
|
28317
28533
|
}
|
28318
28534
|
flags |= flag;
|
@@ -28471,11 +28687,6 @@ var ModifierValidator = class _ModifierValidator {
|
|
28471
28687
|
);
|
28472
28688
|
break;
|
28473
28689
|
case 57 /* InvalidTypeMemberDeclaration */:
|
28474
|
-
this.validateTypeMemberCanBePlacedInGroupWithModifiers(
|
28475
|
-
declaration.kind,
|
28476
|
-
declaration,
|
28477
|
-
parentGroupFlags
|
28478
|
-
);
|
28479
28690
|
break;
|
28480
28691
|
case 142 /* VariantDeclaration */:
|
28481
28692
|
this.validateTypeMemberCanBePlacedInGroupWithModifiers(
|
@@ -28643,7 +28854,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28643
28854
|
modifier,
|
28644
28855
|
this.findModifier(512 /* Async */)
|
28645
28856
|
);
|
28646
|
-
} else if (!(typeMemberDeclarationKind === 44 /* TypeMemberGroupDeclaration */ || typeMemberDeclarationKind === 54 /* FieldDeclaration */)) {
|
28857
|
+
} else if (!(typeMemberDeclarationKind === 44 /* TypeMemberGroupDeclaration */ || typeMemberDeclarationKind === 54 /* FieldDeclaration */ || typeMemberDeclarationKind === 57 /* InvalidTypeMemberDeclaration */)) {
|
28647
28858
|
this.reportModifierIsNotAllowedHere(modifier);
|
28648
28859
|
}
|
28649
28860
|
flags |= flag;
|
@@ -28658,7 +28869,7 @@ var ModifierValidator = class _ModifierValidator {
|
|
28658
28869
|
modifier,
|
28659
28870
|
this.findModifier(1024 /* Const */)
|
28660
28871
|
);
|
28661
|
-
} else if (!(typeMemberDeclarationKind === 44 /* TypeMemberGroupDeclaration */ || typeMemberDeclarationKind === 52 /* MethodDeclaration */)) {
|
28872
|
+
} else if (!(typeMemberDeclarationKind === 44 /* TypeMemberGroupDeclaration */ || typeMemberDeclarationKind === 52 /* MethodDeclaration */ || typeMemberDeclarationKind === 57 /* InvalidTypeMemberDeclaration */)) {
|
28662
28873
|
this.reportModifierIsNotAllowedHere(modifier);
|
28663
28874
|
}
|
28664
28875
|
flags |= flag;
|
@@ -35944,7 +36155,7 @@ var GraphBuilder = class {
|
|
35944
36155
|
}
|
35945
36156
|
visitAssignmentStatement(node) {
|
35946
36157
|
this.visitChildren(node);
|
35947
|
-
if (node.operator.tokenKind ===
|
36158
|
+
if (node.operator.tokenKind === 58 /* Equals */ && isNarrowableExpression(node.left)) {
|
35948
36159
|
this.setAssignmentAsCurrentPredecessor(new AssignmentNode(this._currentPredecessor, node));
|
35949
36160
|
}
|
35950
36161
|
}
|
@@ -36211,7 +36422,7 @@ var GraphBuilder = class {
|
|
36211
36422
|
this.visitCondition(node.left, leftFlowTargets);
|
36212
36423
|
this._currentPredecessor = rightPredecessor.toNode();
|
36213
36424
|
this.visitCondition(node.right, conditionTargets);
|
36214
|
-
} else if (operator.kind === 0 /* Token */ && (operator.tokenKind ===
|
36425
|
+
} else if (operator.kind === 0 /* Token */ && (operator.tokenKind === 30 /* EqualsEquals */ || operator.tokenKind === 33 /* ExclamationEquals */) && (isNarrowableExpression(node.left) || isNarrowableExpression(node.right))) {
|
36215
36426
|
this.visitChildren(node);
|
36216
36427
|
conditionTargets?.createAndAddConditionPredecessor(node, this._currentPredecessor);
|
36217
36428
|
} else {
|
@@ -36703,9 +36914,9 @@ var TypeNarrower = class {
|
|
36703
36914
|
const left = unwrapParenthesizedExpressions(node.syntaxNode.left);
|
36704
36915
|
const right = unwrapParenthesizedExpressions(node.syntaxNode.right);
|
36705
36916
|
const operator = node.syntaxNode.operator;
|
36706
|
-
if (operator.kind === 0 /* Token */ && (operator.tokenKind ===
|
36917
|
+
if (operator.kind === 0 /* Token */ && (operator.tokenKind === 30 /* EqualsEquals */ || operator.tokenKind === 33 /* ExclamationEquals */)) {
|
36707
36918
|
if (this.isSameReferenceAsNarrowedExpression(left) && NodeTypeUtils.isNoneLiteral(right) || this.isSameReferenceAsNarrowedExpression(right) && NodeTypeUtils.isNoneLiteral(left)) {
|
36708
|
-
const isEqual = node.isTrue ? operator.tokenKind ===
|
36919
|
+
const isEqual = node.isTrue ? operator.tokenKind === 30 /* EqualsEquals */ : !(operator.tokenKind === 30 /* EqualsEquals */);
|
36709
36920
|
return this.getTypeAtComparisonWithNone(typeAtPredecessor, isEqual);
|
36710
36921
|
}
|
36711
36922
|
}
|
@@ -36718,7 +36929,7 @@ var TypeNarrower = class {
|
|
36718
36929
|
}
|
36719
36930
|
}
|
36720
36931
|
getTypeAtAssignment(node) {
|
36721
|
-
if (node.syntaxNode.operator.tokenKind !==
|
36932
|
+
if (node.syntaxNode.operator.tokenKind !== 58 /* Equals */) {
|
36722
36933
|
return this.getTypeAtControlFlowNode(node.predecessor);
|
36723
36934
|
}
|
36724
36935
|
const reference = getReferenceAtExpressionIfNarrowable(this._analyzer, node.syntaxNode.left);
|
@@ -37010,9 +37221,9 @@ var UserDefinableUnaryOperatorResolver = class {
|
|
37010
37221
|
const operator = this._node.operator;
|
37011
37222
|
if (operator.kind === 0 /* Token */) {
|
37012
37223
|
switch (operator.tokenKind) {
|
37013
|
-
case
|
37224
|
+
case 47 /* Plus */:
|
37014
37225
|
return 0 /* UnaryPlus */;
|
37015
|
-
case
|
37226
|
+
case 40 /* Minus */:
|
37016
37227
|
return 1 /* UnaryMinus */;
|
37017
37228
|
}
|
37018
37229
|
} else if (operator.kind === 3 /* Keyword */) {
|
@@ -39758,7 +39969,7 @@ var Analyzer = class _Analyzer {
|
|
39758
39969
|
return 3 /* ReferencedValue */;
|
39759
39970
|
}
|
39760
39971
|
if (parent.kind === 91 /* AssignmentStatement */ && unwrapParenthesizedExpressions(parent.left) === node) {
|
39761
|
-
return parent.operator.tokenKind ===
|
39972
|
+
return parent.operator.tokenKind === 58 /* Equals */ ? 1 /* Set */ : 2 /* GetSet */;
|
39762
39973
|
}
|
39763
39974
|
return 0 /* Get */;
|
39764
39975
|
}
|
@@ -40309,37 +40520,37 @@ var Analyzer = class _Analyzer {
|
|
40309
40520
|
classifyBinaryExpressionOperator(operator) {
|
40310
40521
|
if (operator.kind === 0 /* Token */) {
|
40311
40522
|
switch (operator.tokenKind) {
|
40312
|
-
case
|
40523
|
+
case 14 /* Asterisk */:
|
40313
40524
|
return { kind: "user-definable", operatorKind: 5 /* Multiply */ };
|
40314
|
-
case
|
40525
|
+
case 30 /* EqualsEquals */:
|
40315
40526
|
return { kind: "equals" };
|
40316
|
-
case
|
40527
|
+
case 33 /* ExclamationEquals */:
|
40317
40528
|
return { kind: "not-equals" };
|
40318
|
-
case
|
40529
|
+
case 34 /* GreaterThan */:
|
40319
40530
|
return { kind: "user-definable", operatorKind: 10 /* GreaterThan */ };
|
40320
|
-
case
|
40531
|
+
case 35 /* GreaterThanOrEqual */:
|
40321
40532
|
return { kind: "user-definable", operatorKind: 12 /* GreaterThanOrEqual */ };
|
40322
|
-
case
|
40533
|
+
case 37 /* LessThan */:
|
40323
40534
|
return { kind: "user-definable", operatorKind: 9 /* LessThan */ };
|
40324
|
-
case
|
40535
|
+
case 38 /* LessThanOrEqual */:
|
40325
40536
|
return { kind: "user-definable", operatorKind: 11 /* LessThanOrEqual */ };
|
40326
|
-
case
|
40537
|
+
case 40 /* Minus */:
|
40327
40538
|
return { kind: "user-definable", operatorKind: 4 /* Subtract */ };
|
40328
|
-
case
|
40539
|
+
case 47 /* Plus */:
|
40329
40540
|
return { kind: "user-definable", operatorKind: 3 /* Add */ };
|
40330
|
-
case
|
40541
|
+
case 51 /* QuestionQuestion */:
|
40331
40542
|
return { kind: "question-question" };
|
40332
|
-
case
|
40543
|
+
case 53 /* Slash */:
|
40333
40544
|
return { kind: "user-definable", operatorKind: 6 /* Divide */ };
|
40334
|
-
case
|
40545
|
+
case 61 /* Backslash */:
|
40335
40546
|
return { kind: "user-definable", operatorKind: 7 /* IntegerDivide */ };
|
40336
|
-
case
|
40547
|
+
case 63 /* BackslashBackslash */:
|
40337
40548
|
return { kind: "user-definable", operatorKind: 8 /* Modulo */ };
|
40338
|
-
case
|
40549
|
+
case 11 /* Ampersand */:
|
40339
40550
|
return { kind: "user-definable", operatorKind: 16 /* BitwiseAnd */ };
|
40340
|
-
case
|
40551
|
+
case 18 /* Bar */:
|
40341
40552
|
return { kind: "user-definable", operatorKind: 17 /* BitwiseOr */ };
|
40342
|
-
case
|
40553
|
+
case 19 /* BarBar */:
|
40343
40554
|
return { kind: "user-definable", operatorKind: 18 /* BitwiseXor */ };
|
40344
40555
|
default:
|
40345
40556
|
Debug.never(operator);
|
@@ -40359,17 +40570,17 @@ var Analyzer = class _Analyzer {
|
|
40359
40570
|
}
|
40360
40571
|
getBinaryOperatorKindIfCompoundAssignmentOperator(operator) {
|
40361
40572
|
switch (operator.tokenKind) {
|
40362
|
-
case
|
40573
|
+
case 58 /* Equals */:
|
40363
40574
|
return void 0;
|
40364
|
-
case
|
40575
|
+
case 49 /* PlusEquals */:
|
40365
40576
|
return 3 /* Add */;
|
40366
|
-
case
|
40577
|
+
case 42 /* MinusEquals */:
|
40367
40578
|
return 4 /* Subtract */;
|
40368
|
-
case
|
40579
|
+
case 16 /* AsteriskEquals */:
|
40369
40580
|
return 5 /* Multiply */;
|
40370
|
-
case
|
40581
|
+
case 54 /* SlashEquals */:
|
40371
40582
|
return 6 /* Divide */;
|
40372
|
-
case
|
40583
|
+
case 62 /* BackslashEquals */:
|
40373
40584
|
return 7 /* IntegerDivide */;
|
40374
40585
|
default:
|
40375
40586
|
Debug.never(operator);
|
@@ -40564,7 +40775,7 @@ var Analyzer = class _Analyzer {
|
|
40564
40775
|
const localizationContext = this.semanticContext.containing(node).getLocalizationContext();
|
40565
40776
|
result = type.getValueParameters().map(
|
40566
40777
|
(p) => new IntrinsicParameterVariableEntity(
|
40567
|
-
localizationContext.getEntityName(p.getEntity()),
|
40778
|
+
localizationContext.getEntityName(p.getEntity()).value,
|
40568
40779
|
p.getType(),
|
40569
40780
|
new ParameterVariableEntityContainer.FunctionLiteral(containingEntity),
|
40570
40781
|
p.isOptional(),
|
@@ -41155,17 +41366,18 @@ var Analyzer = class _Analyzer {
|
|
41155
41366
|
const type = this.instantiateTypeByIdentitySubstitution(typeEntity);
|
41156
41367
|
const abstractMembers = new Array();
|
41157
41368
|
const overriddenMembers = new Array();
|
41369
|
+
const isAbstractType = TypeEntity2.isAbstract(typeEntity);
|
41158
41370
|
const ownMembers = typeEntity.getMembers().getAll();
|
41159
41371
|
for (const ownMember of ownMembers) {
|
41160
41372
|
ArrayUtils.pushElementsIfUniqueComparingWithEquals(
|
41161
41373
|
overriddenMembers,
|
41162
41374
|
TypeMemberEntity.getOverriddenMembers(ownMember)
|
41163
41375
|
);
|
41164
|
-
if (TypeMemberEntity.isAbstract(ownMember)) {
|
41376
|
+
if (isAbstractType && TypeMemberEntity.isAbstract(ownMember)) {
|
41165
41377
|
abstractMembers.push(TypeMemberEntity.instantiate(this, ownMember, type.getSubstitutions()));
|
41166
41378
|
}
|
41167
41379
|
}
|
41168
|
-
const baseTypes = this.typeUtils.
|
41380
|
+
const baseTypes = this.typeUtils.getBaseOrAliasedTypes(type);
|
41169
41381
|
for (const baseType of baseTypes) {
|
41170
41382
|
const unaliasedBaseType = unaliasType(baseType);
|
41171
41383
|
const baseTypeEntity = unaliasedBaseType.getEntity();
|
@@ -42162,7 +42374,7 @@ var TargetType = class {
|
|
42162
42374
|
return void 0;
|
42163
42375
|
}
|
42164
42376
|
Debug.assert(child === parent.right);
|
42165
|
-
if (parent.operator.tokenKind ===
|
42377
|
+
if (parent.operator.tokenKind === 58 /* Equals */) {
|
42166
42378
|
return this._analyzer.type.ofExpression(parent.left);
|
42167
42379
|
}
|
42168
42380
|
return void 0;
|
@@ -43572,6 +43784,34 @@ var OverriddenAndShadowedMembers = class {
|
|
43572
43784
|
this.shadowedMembers = shadowedMembers;
|
43573
43785
|
}
|
43574
43786
|
};
|
43787
|
+
function isOverridableTypeMemberEntity(entity) {
|
43788
|
+
switch (entity.kind) {
|
43789
|
+
case 0 /* Variable */:
|
43790
|
+
case 1 /* Function */:
|
43791
|
+
case 5 /* Indexer */:
|
43792
|
+
case 6 /* DereferenceOperator */:
|
43793
|
+
case 9 /* Operator */:
|
43794
|
+
return true;
|
43795
|
+
default:
|
43796
|
+
Debug.typeIsAssignableTo();
|
43797
|
+
Debug.typeIsAssignableTo();
|
43798
|
+
return false;
|
43799
|
+
}
|
43800
|
+
}
|
43801
|
+
function isOverridableTypeMember(entity) {
|
43802
|
+
switch (entity.kind) {
|
43803
|
+
case "field":
|
43804
|
+
case "method":
|
43805
|
+
case "operator":
|
43806
|
+
case "indexer":
|
43807
|
+
case "dereference-operator":
|
43808
|
+
return true;
|
43809
|
+
default:
|
43810
|
+
Debug.typeIsAssignableTo();
|
43811
|
+
Debug.typeIsAssignableTo();
|
43812
|
+
return false;
|
43813
|
+
}
|
43814
|
+
}
|
43575
43815
|
var Tags = class {
|
43576
43816
|
constructor(_analyzer) {
|
43577
43817
|
this._analyzer = _analyzer;
|
@@ -44672,8 +44912,7 @@ var TypeUtils = class {
|
|
44672
44912
|
}
|
44673
44913
|
return;
|
44674
44914
|
}
|
44675
|
-
|
44676
|
-
type = unaliasType(type);
|
44915
|
+
getBaseOrAliasedTypes(type) {
|
44677
44916
|
switch (type.kind) {
|
44678
44917
|
case "function": {
|
44679
44918
|
const baseType = type.getBaseType();
|
@@ -44690,6 +44929,7 @@ var TypeUtils = class {
|
|
44690
44929
|
return baseType !== void 0 ? [baseType] : [];
|
44691
44930
|
}
|
44692
44931
|
case "alias":
|
44932
|
+
return [type.getAliasedType()];
|
44693
44933
|
case "unresolved":
|
44694
44934
|
case "parameter":
|
44695
44935
|
case "union":
|
@@ -44699,12 +44939,12 @@ var TypeUtils = class {
|
|
44699
44939
|
Debug.never(type);
|
44700
44940
|
}
|
44701
44941
|
}
|
44702
|
-
|
44942
|
+
getBaseAndAliasedTypesRecursively(type) {
|
44703
44943
|
const result = new Array();
|
44704
|
-
this.
|
44944
|
+
this.collectBaseAndAliasedTypesRecursively(type, result);
|
44705
44945
|
return result;
|
44706
44946
|
}
|
44707
|
-
|
44947
|
+
collectBaseAndAliasedTypesRecursively(type, result) {
|
44708
44948
|
switch (type.kind) {
|
44709
44949
|
case "function": {
|
44710
44950
|
addTypeAndContinueIfUnique(this, type.getBaseType(), result);
|
@@ -44722,8 +44962,7 @@ var TypeUtils = class {
|
|
44722
44962
|
break;
|
44723
44963
|
}
|
44724
44964
|
case "alias": {
|
44725
|
-
|
44726
|
-
this.collectBaseTypesRecursively(unaliased, result);
|
44965
|
+
addTypeAndContinueIfUnique(this, type.getAliasedType(), result);
|
44727
44966
|
break;
|
44728
44967
|
}
|
44729
44968
|
case "unresolved":
|
@@ -44737,7 +44976,7 @@ var TypeUtils = class {
|
|
44737
44976
|
function addTypeAndContinueIfUnique(this_, type2, result2) {
|
44738
44977
|
if (type2 !== void 0 && !result2.some((t) => t.equals(type2))) {
|
44739
44978
|
result2.push(type2);
|
44740
|
-
this_.
|
44979
|
+
this_.collectBaseAndAliasedTypesRecursively(type2, result2);
|
44741
44980
|
}
|
44742
44981
|
}
|
44743
44982
|
}
|
@@ -44899,6 +45138,31 @@ var ConflictsCheck = class {
|
|
44899
45138
|
}
|
44900
45139
|
return result;
|
44901
45140
|
}
|
45141
|
+
/**
|
45142
|
+
* Метод аналогичен методу {@link doFunctionSignaturesConflict}.
|
45143
|
+
*/
|
45144
|
+
doMethodSignaturesConflict(method1, method2) {
|
45145
|
+
const parameters1 = method1.getValueParameters();
|
45146
|
+
const parameters2 = method2.getValueParameters();
|
45147
|
+
if (parameters1.length !== parameters2.length) {
|
45148
|
+
return false;
|
45149
|
+
}
|
45150
|
+
const typeParameters1 = method1.getTypeParameters();
|
45151
|
+
let substitutionMap1;
|
45152
|
+
if (typeParameters1.length > 0) {
|
45153
|
+
substitutionMap1 = this.createSubstitutionMapWithStubTypes(typeParameters1);
|
45154
|
+
}
|
45155
|
+
const typeParameters2 = method2.getTypeParameters();
|
45156
|
+
let substitutionMap2;
|
45157
|
+
if (typeParameters2.length > 0) {
|
45158
|
+
substitutionMap2 = this.createSubstitutionMapWithStubTypes(typeParameters2);
|
45159
|
+
}
|
45160
|
+
let result = this.doTypeMemberParametersConflict(parameters1, parameters2, substitutionMap1, substitutionMap2);
|
45161
|
+
if (result && typeParameters1.length !== typeParameters2.length) {
|
45162
|
+
result = this.doTypeArgumentCountsIntersect(typeParameters1, typeParameters2);
|
45163
|
+
}
|
45164
|
+
return result;
|
45165
|
+
}
|
44902
45166
|
/**
|
44903
45167
|
* Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
|
44904
45168
|
*
|
@@ -44907,6 +45171,9 @@ var ConflictsCheck = class {
|
|
44907
45171
|
doSignaturesWithoutTypeParametersConflict(entity1, entity2) {
|
44908
45172
|
return this.doParametersConflict(entity1.getValueParameters(), entity2.getValueParameters());
|
44909
45173
|
}
|
45174
|
+
doTypeMemberSignaturesWithoutTypeParametersConflict(member1, member2) {
|
45175
|
+
return this.doTypeMemberParametersConflict(member1.getValueParameters(), member2.getValueParameters());
|
45176
|
+
}
|
44910
45177
|
/**
|
44911
45178
|
* Проверяет, конфликтуют ли два типа, т.е. могут ли такие типы находиться в одном пакете. Метод не сравнивает имена.
|
44912
45179
|
*
|
@@ -44940,6 +45207,25 @@ var ConflictsCheck = class {
|
|
44940
45207
|
}
|
44941
45208
|
return true;
|
44942
45209
|
}
|
45210
|
+
doTypeMemberParametersConflict(parameters1, parameters2, substitutionMap1, substitutionMap2) {
|
45211
|
+
if (parameters1.length !== parameters2.length) {
|
45212
|
+
return false;
|
45213
|
+
}
|
45214
|
+
for (let i = 0; i < parameters1.length; i++) {
|
45215
|
+
let type1 = parameters1[i].getType();
|
45216
|
+
if (substitutionMap1 !== void 0) {
|
45217
|
+
type1 = type1.applySubstitutions(substitutionMap1);
|
45218
|
+
}
|
45219
|
+
let type2 = parameters2[i].getType();
|
45220
|
+
if (substitutionMap2 !== void 0) {
|
45221
|
+
type2 = type2.applySubstitutions(substitutionMap2);
|
45222
|
+
}
|
45223
|
+
if (!type1.equals(type2)) {
|
45224
|
+
return false;
|
45225
|
+
}
|
45226
|
+
}
|
45227
|
+
return true;
|
45228
|
+
}
|
44943
45229
|
createSubstitutionMapWithStubTypes(typeParameters) {
|
44944
45230
|
const count = typeParameters.length;
|
44945
45231
|
if (this._stubParameterTypes.length < count) {
|
@@ -45128,6 +45414,247 @@ var AssignmentChecker = class {
|
|
45128
45414
|
}
|
45129
45415
|
};
|
45130
45416
|
|
45417
|
+
// source/analysis/BaseMemberConflictsValidator.ts
|
45418
|
+
var BaseMemberConflictsValidator = class {
|
45419
|
+
constructor(_analyzer, _typeEntity, _hidingMatcher, _localizationContext, _dialect, _diagnostics, _nodeForDiagnostic) {
|
45420
|
+
this._analyzer = _analyzer;
|
45421
|
+
this._typeEntity = _typeEntity;
|
45422
|
+
this._hidingMatcher = _hidingMatcher;
|
45423
|
+
this._localizationContext = _localizationContext;
|
45424
|
+
this._dialect = _dialect;
|
45425
|
+
this._diagnostics = _diagnostics;
|
45426
|
+
this._nodeForDiagnostic = _nodeForDiagnostic;
|
45427
|
+
}
|
45428
|
+
get displayService() {
|
45429
|
+
return this._displayService ??= new DisplayService(this._analyzer, this._localizationContext, this._dialect);
|
45430
|
+
}
|
45431
|
+
validate() {
|
45432
|
+
const type = this._analyzer.instantiateTypeByIdentitySubstitution(this._typeEntity);
|
45433
|
+
if (this._analyzer.typeUtils.getBaseOrAliasedTypes(type).length <= 1) {
|
45434
|
+
return;
|
45435
|
+
}
|
45436
|
+
const members = this.getAllNotShadowedNotOverriddenMembers(type);
|
45437
|
+
const namedMembers = new Array();
|
45438
|
+
const anonymousMembers = new Array();
|
45439
|
+
for (let i = members.length - 1; i >= 0; i--) {
|
45440
|
+
const member = members[i];
|
45441
|
+
if (TypeMemberEntity.isAbstract(member.value.getEntity())) {
|
45442
|
+
continue;
|
45443
|
+
}
|
45444
|
+
if (member.kind === "named") {
|
45445
|
+
namedMembers.push(member);
|
45446
|
+
} else {
|
45447
|
+
anonymousMembers.push(member);
|
45448
|
+
}
|
45449
|
+
}
|
45450
|
+
const diagnosticReporter = this.reportMembersConflictDiagnostic.bind(this);
|
45451
|
+
if (this.validateMemberConflictsMutatingMap(namedMembers, diagnosticReporter)) {
|
45452
|
+
this.validateNamedMemberConflictsUsingOriginalNames(namedMembers);
|
45453
|
+
}
|
45454
|
+
this.validateMemberConflictsMutatingMap(anonymousMembers, diagnosticReporter);
|
45455
|
+
}
|
45456
|
+
getAllNotShadowedNotOverriddenMembers(type) {
|
45457
|
+
const overriddenMembers = new Array();
|
45458
|
+
this._typeEntity.getMembers().getAll().forEach((m) => {
|
45459
|
+
const instantiated = TypeMemberEntity.instantiate(this._analyzer, m, type.getSubstitutions());
|
45460
|
+
this.addOverriddenMembersRecursively(instantiated, overriddenMembers);
|
45461
|
+
});
|
45462
|
+
const result = new Array();
|
45463
|
+
const allBaseTypes = this._analyzer.typeUtils.getBaseAndAliasedTypesRecursively(type);
|
45464
|
+
for (const baseType of allBaseTypes) {
|
45465
|
+
const baseTypeEntity = baseType.getEntity();
|
45466
|
+
if (baseTypeEntity === void 0 || !isTypeEntityWithMembers(baseTypeEntity)) {
|
45467
|
+
continue;
|
45468
|
+
}
|
45469
|
+
for (const baseTypeMemberEntity of baseTypeEntity.getMembers().getAll()) {
|
45470
|
+
if (!isOverridableTypeMemberEntity(baseTypeMemberEntity)) {
|
45471
|
+
continue;
|
45472
|
+
}
|
45473
|
+
const baseTypeMember = TypeMemberEntity.instantiate(
|
45474
|
+
this._analyzer,
|
45475
|
+
baseTypeMemberEntity,
|
45476
|
+
baseType.getSubstitutions()
|
45477
|
+
);
|
45478
|
+
let localizedBaseTypeMember;
|
45479
|
+
if (isNamedTypeMember(baseTypeMember)) {
|
45480
|
+
const name = this._localizationContext.getEntityName(baseTypeMember.getEntity());
|
45481
|
+
localizedBaseTypeMember = new LocalizedNamedTypeMember(baseTypeMember, name);
|
45482
|
+
} else {
|
45483
|
+
const translationPackage = this._localizationContext.getTranslatedTypeOrExtensionEntityMembers(this._typeEntity)?.translationPackage;
|
45484
|
+
const localization = translationPackage !== void 0 ? new Localization.Translated(new Translation(translationPackage)) : Localization.Original.ofEntity(baseTypeMemberEntity);
|
45485
|
+
localizedBaseTypeMember = new LocalizedAnonymousTypeMember(baseTypeMember, localization);
|
45486
|
+
}
|
45487
|
+
if (!result.some((m) => m.value.equals(localizedBaseTypeMember.value))) {
|
45488
|
+
result.push(localizedBaseTypeMember);
|
45489
|
+
this.addOverriddenMembersRecursively(baseTypeMember, overriddenMembers);
|
45490
|
+
}
|
45491
|
+
}
|
45492
|
+
}
|
45493
|
+
return result.filter((m) => this.typeMemberMatchesHiding(m.value) && !overriddenMembers.some((om) => om.equals(m.value)));
|
45494
|
+
}
|
45495
|
+
validateMemberConflictsMutatingMap(members, reportDiagnostic) {
|
45496
|
+
const membersByContainer = Query.from(members).groupByToMap((m) => m.value.getEntity().getContainer().getEntity());
|
45497
|
+
let hasConflicts = false;
|
45498
|
+
for (const [container, members2] of membersByContainer) {
|
45499
|
+
for (let i = members2.length - 1; i >= 0; i--) {
|
45500
|
+
const member = members2[i];
|
45501
|
+
let conflictingMembers;
|
45502
|
+
for (const [containerToCheckAgainst, membersToCheckAgainst] of membersByContainer) {
|
45503
|
+
if (containerToCheckAgainst === container) {
|
45504
|
+
continue;
|
45505
|
+
}
|
45506
|
+
for (let j = membersToCheckAgainst.length - 1; j >= 0; j--) {
|
45507
|
+
const memberToCheckAgainst = membersToCheckAgainst[j];
|
45508
|
+
if (this.doTypeMembersConflict(member, memberToCheckAgainst)) {
|
45509
|
+
if (conflictingMembers === void 0) {
|
45510
|
+
conflictingMembers = [];
|
45511
|
+
conflictingMembers.push(member);
|
45512
|
+
}
|
45513
|
+
conflictingMembers.push(memberToCheckAgainst);
|
45514
|
+
ArrayUtils.removeElement(membersToCheckAgainst, j);
|
45515
|
+
}
|
45516
|
+
}
|
45517
|
+
}
|
45518
|
+
if (conflictingMembers !== void 0) {
|
45519
|
+
reportDiagnostic(conflictingMembers);
|
45520
|
+
hasConflicts ||= true;
|
45521
|
+
}
|
45522
|
+
ArrayUtils.removeElement(members2, i);
|
45523
|
+
}
|
45524
|
+
}
|
45525
|
+
return !hasConflicts;
|
45526
|
+
}
|
45527
|
+
validateNamedMemberConflictsUsingOriginalNames(members) {
|
45528
|
+
let someNamesChanged = false;
|
45529
|
+
const membersWithOriginalNames = members.map((m) => {
|
45530
|
+
const nameOfLeastOverriddenMember = this.getOriginalNameOfLeastOverriddenMember(m.value.getEntity());
|
45531
|
+
if (nameOfLeastOverriddenMember !== void 0) {
|
45532
|
+
someNamesChanged ||= !nameOfLeastOverriddenMember.value.considerEqual(m.name.value);
|
45533
|
+
return new LocalizedNamedTypeMember(m.value, nameOfLeastOverriddenMember);
|
45534
|
+
}
|
45535
|
+
if (m.name.kind === "translated") {
|
45536
|
+
const entity = m.value.getEntity();
|
45537
|
+
someNamesChanged ||= !entity.getName().considerEqual(m.name.value);
|
45538
|
+
return new LocalizedNamedTypeMember(m.value, new LocalizedName.Original(
|
45539
|
+
entity.getName(),
|
45540
|
+
Localization.Original.ofEntity(entity)
|
45541
|
+
));
|
45542
|
+
}
|
45543
|
+
return m;
|
45544
|
+
});
|
45545
|
+
if (someNamesChanged) {
|
45546
|
+
this.validateMemberConflictsMutatingMap(membersWithOriginalNames, (conflictingMembers) => {
|
45547
|
+
Debug.assert(conflictingMembers.length > 0 && conflictingMembers[0].kind === "named");
|
45548
|
+
this.reportMembersOriginalNameConflictConflictDiagnostic(conflictingMembers, conflictingMembers[0].name.value);
|
45549
|
+
});
|
45550
|
+
}
|
45551
|
+
}
|
45552
|
+
doTypeMembersConflict(member1, member2) {
|
45553
|
+
if (member1.kind === "named" && member2.kind === "named") {
|
45554
|
+
if (!member1.name.value.considerEqual(member2.name.value)) {
|
45555
|
+
return false;
|
45556
|
+
}
|
45557
|
+
if (member1.value.kind === "method" && member2.value.kind === "method") {
|
45558
|
+
return this._analyzer.conflictsCheck.doMethodSignaturesConflict(member1.value, member2.value);
|
45559
|
+
}
|
45560
|
+
return true;
|
45561
|
+
}
|
45562
|
+
switch (member1.value.kind) {
|
45563
|
+
case "operator":
|
45564
|
+
return member2.value.kind === "operator" && member1.value.getOperatorKind() === member2.value.getOperatorKind();
|
45565
|
+
case "constructor":
|
45566
|
+
return member2.value.kind === "constructor" && this._analyzer.conflictsCheck.doTypeMemberSignaturesWithoutTypeParametersConflict(
|
45567
|
+
member1.value,
|
45568
|
+
member2.value
|
45569
|
+
);
|
45570
|
+
case "destructor":
|
45571
|
+
return member2.value.kind === "destructor" && this._analyzer.conflictsCheck.doTypeMemberSignaturesWithoutTypeParametersConflict(
|
45572
|
+
member1.value,
|
45573
|
+
member2.value
|
45574
|
+
);
|
45575
|
+
case "indexer":
|
45576
|
+
return member2.value.kind === "indexer" && this._analyzer.conflictsCheck.doTypeMemberSignaturesWithoutTypeParametersConflict(
|
45577
|
+
member1.value,
|
45578
|
+
member2.value
|
45579
|
+
);
|
45580
|
+
case "dereference-operator":
|
45581
|
+
return member2.value.kind === "dereference-operator";
|
45582
|
+
case "field":
|
45583
|
+
case "method":
|
45584
|
+
return false;
|
45585
|
+
default:
|
45586
|
+
Debug.never(member1.value);
|
45587
|
+
}
|
45588
|
+
}
|
45589
|
+
reportMembersConflictDiagnostic(conflictingMembers) {
|
45590
|
+
if (conflictingMembers.length === 0) {
|
45591
|
+
return;
|
45592
|
+
}
|
45593
|
+
const membersText = "\n" + conflictingMembers.map((m) => `'${this.displayService.displayTypeMember(m.value, m.localization)}'`).join("\n");
|
45594
|
+
this._diagnostics.addDiagnostic(this._analyzer.createNodeDiagnostic(
|
45595
|
+
349 /* TheFollowingBaseTypeMembersConflictAndMustBeOverridden0 */,
|
45596
|
+
this._nodeForDiagnostic,
|
45597
|
+
[membersText]
|
45598
|
+
));
|
45599
|
+
}
|
45600
|
+
reportMembersOriginalNameConflictConflictDiagnostic(conflictingMembers, originalName) {
|
45601
|
+
if (conflictingMembers.length === 0) {
|
45602
|
+
return;
|
45603
|
+
}
|
45604
|
+
const membersText = "\n" + conflictingMembers.map((m) => `'${this.displayService.displayTypeMember(m.value, m.localization)}'`).join("\n");
|
45605
|
+
this._diagnostics.addDiagnostic(this._analyzer.createNodeDiagnostic(
|
45606
|
+
350 /* TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1 */,
|
45607
|
+
this._nodeForDiagnostic,
|
45608
|
+
[originalName.unescapedOriginal, membersText]
|
45609
|
+
));
|
45610
|
+
}
|
45611
|
+
addOverriddenMembersRecursively(member, result) {
|
45612
|
+
const overriddenMemberEntities = TypeMemberEntity.getOverriddenMembers(member.getEntity());
|
45613
|
+
for (const overriddenMember of overriddenMemberEntities) {
|
45614
|
+
const substitutedOverriddenMember = overriddenMember.applySubstitutions(member.getSubstitutions());
|
45615
|
+
if (ArrayUtils.pushElementIfUniqueComparingWithEquals(result, substitutedOverriddenMember)) {
|
45616
|
+
this.addOverriddenMembersRecursively(substitutedOverriddenMember, result);
|
45617
|
+
}
|
45618
|
+
}
|
45619
|
+
}
|
45620
|
+
typeMemberMatchesHiding(member) {
|
45621
|
+
const hiding = member.isHidden();
|
45622
|
+
return hiding === void 0 || this._hidingMatcher.matches(hiding);
|
45623
|
+
}
|
45624
|
+
getOriginalNameOfLeastOverriddenMember(entity) {
|
45625
|
+
let leastOverriddenMember = void 0;
|
45626
|
+
let currentOverriddenMembers = entity.getOverriddenMembers();
|
45627
|
+
while (currentOverriddenMembers !== void 0 && currentOverriddenMembers.length > 0) {
|
45628
|
+
leastOverriddenMember = currentOverriddenMembers[0].getEntity();
|
45629
|
+
currentOverriddenMembers = leastOverriddenMember.getOverriddenMembers();
|
45630
|
+
}
|
45631
|
+
if (leastOverriddenMember === void 0) {
|
45632
|
+
return void 0;
|
45633
|
+
}
|
45634
|
+
return new LocalizedName.Original(
|
45635
|
+
leastOverriddenMember.getName(),
|
45636
|
+
Localization.Original.ofEntity(leastOverriddenMember)
|
45637
|
+
);
|
45638
|
+
}
|
45639
|
+
};
|
45640
|
+
var LocalizedNamedTypeMember = class {
|
45641
|
+
constructor(value, name) {
|
45642
|
+
this.value = value;
|
45643
|
+
this.name = name;
|
45644
|
+
this.kind = "named";
|
45645
|
+
}
|
45646
|
+
get localization() {
|
45647
|
+
return this.name.localization;
|
45648
|
+
}
|
45649
|
+
};
|
45650
|
+
var LocalizedAnonymousTypeMember = class {
|
45651
|
+
constructor(value, localization) {
|
45652
|
+
this.value = value;
|
45653
|
+
this.localization = localization;
|
45654
|
+
this.kind = "anonymous";
|
45655
|
+
}
|
45656
|
+
};
|
45657
|
+
|
45131
45658
|
// source/analysis/TypeMemberConflictsValidator.ts
|
45132
45659
|
var TypeMemberConflictsValidator = class {
|
45133
45660
|
constructor(_analyzer, _members, _diagnostics) {
|
@@ -45391,12 +45918,7 @@ var DiagnosticCollector = class _DiagnosticCollector {
|
|
45391
45918
|
analyzer.createLocalizationContext(sourceFile),
|
45392
45919
|
sourceFile.package.dialect
|
45393
45920
|
);
|
45394
|
-
this._modifierValidator = new ModifierValidator(
|
45395
|
-
analyzer,
|
45396
|
-
this._diagnosticAcceptor,
|
45397
|
-
sourceFile.package.locale,
|
45398
|
-
sourceFile.package.dialect
|
45399
|
-
);
|
45921
|
+
this._modifierValidator = new ModifierValidator(analyzer, this._diagnosticAcceptor);
|
45400
45922
|
}
|
45401
45923
|
static {
|
45402
45924
|
this.CancellationTokenThrottleTime = 50;
|
@@ -45594,6 +46116,16 @@ var DiagnosticCollector = class _DiagnosticCollector {
|
|
45594
46116
|
this._analyzer.semanticContext.ofTypeDeclarationTypeParameters(node, node.typeParameterClause).validateNameConflicts(this._diagnosticAcceptor);
|
45595
46117
|
}
|
45596
46118
|
new TypeMemberConflictsValidator(this._analyzer, entity.getMembers(), this._diagnosticAcceptor).validate();
|
46119
|
+
const semanticContext = this._analyzer.semanticContext.outermostSemanticContextOfTypeDeclaration(node);
|
46120
|
+
new BaseMemberConflictsValidator(
|
46121
|
+
this._analyzer,
|
46122
|
+
entity,
|
46123
|
+
semanticContext.getHidingMatcher(),
|
46124
|
+
semanticContext.getLocalizationContext(),
|
46125
|
+
this._sourceFile.package.dialect,
|
46126
|
+
this._diagnosticAcceptor,
|
46127
|
+
node.name
|
46128
|
+
).validate();
|
45597
46129
|
new TypeMemberImplementationValidator(this._analyzer, entity, this._displayService, this._diagnosticAcceptor).validate();
|
45598
46130
|
break;
|
45599
46131
|
}
|
@@ -45603,6 +46135,16 @@ var DiagnosticCollector = class _DiagnosticCollector {
|
|
45603
46135
|
}
|
45604
46136
|
const entity = this._analyzer.entity.ofPackageVariantTypeDeclaration(node);
|
45605
46137
|
new TypeMemberConflictsValidator(this._analyzer, entity.getMembers(), this._diagnosticAcceptor).validate();
|
46138
|
+
const semanticContext = this._analyzer.semanticContext.outermostSemanticContextOfTypeDeclaration(node);
|
46139
|
+
new BaseMemberConflictsValidator(
|
46140
|
+
this._analyzer,
|
46141
|
+
entity,
|
46142
|
+
semanticContext.getHidingMatcher(),
|
46143
|
+
semanticContext.getLocalizationContext(),
|
46144
|
+
this._sourceFile.package.dialect,
|
46145
|
+
this._diagnosticAcceptor,
|
46146
|
+
node.name
|
46147
|
+
).validate();
|
45606
46148
|
new TypeMemberImplementationValidator(this._analyzer, entity, this._displayService, this._diagnosticAcceptor).validate();
|
45607
46149
|
break;
|
45608
46150
|
}
|
@@ -45870,6 +46412,16 @@ var DiagnosticCollector = class _DiagnosticCollector {
|
|
45870
46412
|
this._analyzer.semanticContext.ofTypeDeclarationTypeParameters(node, node.typeParameterClause).validateNameConflicts(this._diagnosticAcceptor);
|
45871
46413
|
}
|
45872
46414
|
new TypeMemberConflictsValidator(this._analyzer, entity.getMembers(), this._diagnosticAcceptor).validate();
|
46415
|
+
const semanticContext = this._analyzer.semanticContext.outermostSemanticContextOfTypeDeclaration(node);
|
46416
|
+
new BaseMemberConflictsValidator(
|
46417
|
+
this._analyzer,
|
46418
|
+
entity,
|
46419
|
+
semanticContext.getHidingMatcher(),
|
46420
|
+
semanticContext.getLocalizationContext(),
|
46421
|
+
this._sourceFile.package.dialect,
|
46422
|
+
this._diagnosticAcceptor,
|
46423
|
+
node.name
|
46424
|
+
).validate();
|
45873
46425
|
break;
|
45874
46426
|
}
|
45875
46427
|
case 143 /* TypeParameterDeclaration */: {
|
@@ -45930,12 +46482,32 @@ var DiagnosticCollector = class _DiagnosticCollector {
|
|
45930
46482
|
case 18 /* AnonymousStructuredTypeDeclaration */: {
|
45931
46483
|
const entity = this._analyzer.entity.ofAnonymousStructuredTypeDeclaration(node);
|
45932
46484
|
new TypeMemberConflictsValidator(this._analyzer, entity.getMembers(), this._diagnosticAcceptor).validate();
|
46485
|
+
const semanticContext = this._analyzer.semanticContext.outermostSemanticContextOfTypeDeclaration(node);
|
46486
|
+
new BaseMemberConflictsValidator(
|
46487
|
+
this._analyzer,
|
46488
|
+
entity,
|
46489
|
+
semanticContext.getHidingMatcher(),
|
46490
|
+
semanticContext.getLocalizationContext(),
|
46491
|
+
this._sourceFile.package.dialect,
|
46492
|
+
this._diagnosticAcceptor,
|
46493
|
+
node.body.structuredTypeKindKeyword
|
46494
|
+
).validate();
|
45933
46495
|
new TypeMemberImplementationValidator(this._analyzer, entity, this._displayService, this._diagnosticAcceptor).validate();
|
45934
46496
|
break;
|
45935
46497
|
}
|
45936
46498
|
case 19 /* AnonymousVariantTypeDeclaration */: {
|
45937
46499
|
const entity = this._analyzer.entity.ofAnonymousVariantTypeDeclaration(node);
|
45938
46500
|
new TypeMemberConflictsValidator(this._analyzer, entity.getMembers(), this._diagnosticAcceptor).validate();
|
46501
|
+
const semanticContext = this._analyzer.semanticContext.outermostSemanticContextOfTypeDeclaration(node);
|
46502
|
+
new BaseMemberConflictsValidator(
|
46503
|
+
this._analyzer,
|
46504
|
+
entity,
|
46505
|
+
semanticContext.getHidingMatcher(),
|
46506
|
+
semanticContext.getLocalizationContext(),
|
46507
|
+
this._sourceFile.package.dialect,
|
46508
|
+
this._diagnosticAcceptor,
|
46509
|
+
node.body.variantKeyword
|
46510
|
+
).validate();
|
45939
46511
|
new TypeMemberImplementationValidator(this._analyzer, entity, this._displayService, this._diagnosticAcceptor).validate();
|
45940
46512
|
break;
|
45941
46513
|
}
|
@@ -49204,16 +49776,7 @@ var SourcePackageEntity = class {
|
|
49204
49776
|
return this._package.name;
|
49205
49777
|
}
|
49206
49778
|
getLocale() {
|
49207
|
-
|
49208
|
-
case "program":
|
49209
|
-
return this._package.configuration.locale;
|
49210
|
-
case "translation": {
|
49211
|
-
const analyzedPackage = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(this._package);
|
49212
|
-
return analyzedPackage?.getTranslatedPackage().getLocale() ?? DefaultLocale;
|
49213
|
-
}
|
49214
|
-
default:
|
49215
|
-
Debug.never(this._package);
|
49216
|
-
}
|
49779
|
+
return this._package.configuration.locale;
|
49217
49780
|
}
|
49218
49781
|
getMembers() {
|
49219
49782
|
return this._members.getOrInsertWith(() => this._analyzer.createPackageMembers(this._package));
|
@@ -59612,22 +60175,22 @@ var IrBuilder = class {
|
|
59612
60175
|
}
|
59613
60176
|
let operatorKind;
|
59614
60177
|
switch (statement.operator.tokenKind) {
|
59615
|
-
case
|
60178
|
+
case 16 /* AsteriskEquals */:
|
59616
60179
|
operatorKind = 3 /* MultiplyEquals */;
|
59617
60180
|
break;
|
59618
|
-
case
|
60181
|
+
case 58 /* Equals */:
|
59619
60182
|
operatorKind = 0 /* Equals */;
|
59620
60183
|
break;
|
59621
|
-
case
|
60184
|
+
case 42 /* MinusEquals */:
|
59622
60185
|
operatorKind = 2 /* SubtractEquals */;
|
59623
60186
|
break;
|
59624
|
-
case
|
60187
|
+
case 49 /* PlusEquals */:
|
59625
60188
|
operatorKind = 1 /* AddEquals */;
|
59626
60189
|
break;
|
59627
|
-
case
|
60190
|
+
case 54 /* SlashEquals */:
|
59628
60191
|
operatorKind = 4 /* DivideEquals */;
|
59629
60192
|
break;
|
59630
|
-
case
|
60193
|
+
case 62 /* BackslashEquals */:
|
59631
60194
|
operatorKind = 5 /* IntegerDivideEquals */;
|
59632
60195
|
break;
|
59633
60196
|
default:
|
@@ -60634,52 +61197,52 @@ var IrBuilder = class {
|
|
60634
61197
|
let operatorKind;
|
60635
61198
|
if (expression.operator.kind === 0 /* Token */) {
|
60636
61199
|
switch (expression.operator.tokenKind) {
|
60637
|
-
case
|
61200
|
+
case 14 /* Asterisk */:
|
60638
61201
|
operatorKind = 2 /* Multiply */;
|
60639
61202
|
break;
|
60640
|
-
case
|
61203
|
+
case 30 /* EqualsEquals */:
|
60641
61204
|
operatorKind = 5 /* Equals */;
|
60642
61205
|
break;
|
60643
|
-
case
|
61206
|
+
case 33 /* ExclamationEquals */:
|
60644
61207
|
operatorKind = 6 /* NotEquals */;
|
60645
61208
|
break;
|
60646
|
-
case
|
61209
|
+
case 34 /* GreaterThan */:
|
60647
61210
|
operatorKind = 8 /* GreaterThan */;
|
60648
61211
|
break;
|
60649
|
-
case
|
61212
|
+
case 35 /* GreaterThanOrEqual */:
|
60650
61213
|
operatorKind = 10 /* GreaterThanOrEqual */;
|
60651
61214
|
break;
|
60652
|
-
case
|
61215
|
+
case 37 /* LessThan */:
|
60653
61216
|
operatorKind = 7 /* LessThan */;
|
60654
61217
|
break;
|
60655
|
-
case
|
61218
|
+
case 38 /* LessThanOrEqual */:
|
60656
61219
|
operatorKind = 9 /* LessThanOrEqual */;
|
60657
61220
|
break;
|
60658
|
-
case
|
61221
|
+
case 40 /* Minus */:
|
60659
61222
|
operatorKind = 1 /* Subtract */;
|
60660
61223
|
break;
|
60661
|
-
case
|
61224
|
+
case 47 /* Plus */:
|
60662
61225
|
operatorKind = 0 /* Add */;
|
60663
61226
|
break;
|
60664
|
-
case
|
61227
|
+
case 51 /* QuestionQuestion */:
|
60665
61228
|
operatorKind = 14 /* QuestionQuestion */;
|
60666
61229
|
break;
|
60667
|
-
case
|
61230
|
+
case 53 /* Slash */:
|
60668
61231
|
operatorKind = 3 /* Divide */;
|
60669
61232
|
break;
|
60670
|
-
case
|
61233
|
+
case 61 /* Backslash */:
|
60671
61234
|
operatorKind = 4 /* IntegerDivide */;
|
60672
61235
|
break;
|
60673
|
-
case
|
61236
|
+
case 63 /* BackslashBackslash */:
|
60674
61237
|
operatorKind = 15 /* Modulo */;
|
60675
61238
|
break;
|
60676
|
-
case
|
61239
|
+
case 11 /* Ampersand */:
|
60677
61240
|
operatorKind = 16 /* BitwiseAnd */;
|
60678
61241
|
break;
|
60679
|
-
case
|
61242
|
+
case 18 /* Bar */:
|
60680
61243
|
operatorKind = 17 /* BitwiseOr */;
|
60681
61244
|
break;
|
60682
|
-
case
|
61245
|
+
case 19 /* BarBar */:
|
60683
61246
|
operatorKind = 18 /* BitwiseXor */;
|
60684
61247
|
break;
|
60685
61248
|
default:
|
@@ -60965,10 +61528,10 @@ var IrBuilder = class {
|
|
60965
61528
|
let operatorKind;
|
60966
61529
|
if (expression.operator.kind === 0 /* Token */) {
|
60967
61530
|
switch (expression.operator.tokenKind) {
|
60968
|
-
case
|
61531
|
+
case 47 /* Plus */:
|
60969
61532
|
operatorKind = 0 /* Plus */;
|
60970
61533
|
break;
|
60971
|
-
case
|
61534
|
+
case 40 /* Minus */:
|
60972
61535
|
operatorKind = 1 /* Minus */;
|
60973
61536
|
break;
|
60974
61537
|
default:
|
@@ -64205,6 +64768,7 @@ export {
|
|
64205
64768
|
NamedType_alias,
|
64206
64769
|
OperatorDeclaration_typeMember,
|
64207
64770
|
types_exports,
|
64771
|
+
TypeEntity2 as TypeEntity,
|
64208
64772
|
TypeEntityKind,
|
64209
64773
|
AliasedType,
|
64210
64774
|
PackageAliasTypeDeclarationEntity,
|
@@ -64372,6 +64936,8 @@ export {
|
|
64372
64936
|
ShadowReason,
|
64373
64937
|
ShadowedMemberInfo,
|
64374
64938
|
OverriddenAndShadowedMembers,
|
64939
|
+
isOverridableTypeMemberEntity,
|
64940
|
+
isOverridableTypeMember,
|
64375
64941
|
LinkedMultiPlatformPackage,
|
64376
64942
|
LinkedTypeWithMembers,
|
64377
64943
|
TypeAssignabilityFlags,
|