@artel/artc 0.6.25221 → 0.6.25223
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 +10 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +281 -261
- package/build/{chunk-XMV7LOUY.js → chunk-AX3LQ2CF.js} +2 -2
- package/build/{chunk-X7TMUZ4C.js → chunk-DZNNWICP.js} +2738 -1794
- package/build/{chunk-5F65ZJE3.js → chunk-LG4Z4SWO.js} +1 -1
- package/build/types/analysis/Analyzer.d.ts +13 -10
- package/build/types/analysis/ControlFlowGraphBuilder.d.ts +12 -4
- package/build/types/analysis/LocalizationContext.d.ts +2 -2
- package/build/types/analysis/Lookup.d.ts +4 -4
- package/build/types/analysis/NodeTypeUtils.d.ts +1 -6
- package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +1 -1
- package/build/types/analysis/Scope.d.ts +21 -44
- package/build/types/analysis/SemanticContext.d.ts +21 -1
- package/build/types/analysis/SemanticContextBuilder.d.ts +3 -0
- package/build/types/analysis/StatementBlockScopeBuilder.d.ts +20 -17
- package/build/types/analysis/TypeMemberLookup.d.ts +39 -11
- package/build/types/analysis/TypeNarrower.d.ts +48 -8
- package/build/types/emitter/IrBuilder.d.ts +3 -1
- package/build/types/emitter/IrToJs.d.ts +1 -0
- package/build/types/emitter/Transformer.d.ts +2 -0
- package/build/types/emitter/ir/Nodes.d.ts +86 -78
- package/build/types/emitter/ir/types.d.ts +2 -2
- package/build/types/entities/index.d.ts +3 -0
- package/build/types/parser/Scanner.d.ts +1 -2
- package/build/types/tree/KeywordKind.d.ts +41 -40
- package/build/types/tree/NodeKind.d.ts +63 -61
- package/build/types/tree/green/Nodes.d.ts +83 -56
- package/build/types/tree/green/SyntaxFactory.d.ts +12 -10
- package/build/types/tree/green/SyntaxToCode.d.ts +1 -0
- package/build/types/tree/red/Nodes.d.ts +69 -41
- package/build/types/types/TypeMembers.d.ts +5 -0
- package/package.json +1 -1
package/build/api/ApiServices.js
CHANGED
@@ -27,6 +27,7 @@ import {
|
|
27
27
|
Emitter,
|
28
28
|
EntityLocalizationHelper,
|
29
29
|
FileSystemTree,
|
30
|
+
FunctionBlock,
|
30
31
|
GeneratedSourceFileScheme,
|
31
32
|
GenericCancellationToken,
|
32
33
|
InMemoryPackageScheme,
|
@@ -181,7 +182,7 @@ import {
|
|
181
182
|
unwrapParenthesizedExpressions,
|
182
183
|
visitChildren,
|
183
184
|
yieldExecution
|
184
|
-
} from "../chunk-
|
185
|
+
} from "../chunk-DZNNWICP.js";
|
185
186
|
|
186
187
|
// source/services/CustomCommand.ts
|
187
188
|
import * as ls from "vscode-languageserver";
|
@@ -318,7 +319,7 @@ var AddPropertyAssignmentService = class {
|
|
318
319
|
const reassignmentText = `${leftValueText} = ${value}`;
|
319
320
|
const subprogramBody = this.ifShouldBeAssignedAtTheEndOfSubprogramThenBody(assignmentNode);
|
320
321
|
if (subprogramBody !== void 0) {
|
321
|
-
const lastStatement = subprogramBody.
|
322
|
+
const lastStatement = subprogramBody.expressionOrStatementList.kind === 92 /* StatementList */ ? subprogramBody.expressionOrStatementList?.statements.last() : subprogramBody.expressionOrStatementList;
|
322
323
|
let editRangeStart;
|
323
324
|
let indentationText;
|
324
325
|
if (lastStatement !== void 0) {
|
@@ -348,40 +349,12 @@ var AddPropertyAssignmentService = class {
|
|
348
349
|
* расположить сразу после. Иначе присваивание необходимо расположить в конце подпрограммы (после всех ветвлений).
|
349
350
|
*/
|
350
351
|
ifShouldBeAssignedAtTheEndOfSubprogramThenBody(node) {
|
351
|
-
const parent = node.parent.parent
|
352
|
+
const parent = node.parent.parent;
|
352
353
|
switch (parent.kind) {
|
353
|
-
case
|
354
|
-
case 26 /* PackageEntryPointDeclaration */:
|
355
|
-
case 27 /* PackageMethodDeclaration */:
|
356
|
-
case 36 /* PackageVariableGetterDeclaration */:
|
357
|
-
case 37 /* PackageVariableSetterDeclaration */:
|
358
|
-
case 45 /* TypeConstructorDeclaration */:
|
359
|
-
case 46 /* TypeDestructorDeclaration */:
|
360
|
-
case 47 /* TypeIndexedGetterDeclaration */:
|
361
|
-
case 48 /* TypeIndexedSetterDeclaration */:
|
362
|
-
case 50 /* TypeDereferencedVariableGetterDeclaration */:
|
363
|
-
case 51 /* TypeDereferencedVariableSetterDeclaration */:
|
364
|
-
case 52 /* TypeMethodDeclaration */:
|
365
|
-
case 55 /* TypeVariableGetterDeclaration */:
|
366
|
-
case 56 /* TypeVariableSetterDeclaration */:
|
367
|
-
case 58 /* NestedMethodDeclaration */:
|
368
|
-
case 67 /* MethodBlockLiteral */:
|
369
|
-
case 74 /* MethodLiteral */:
|
370
|
-
case 53 /* OperatorDeclaration */:
|
371
|
-
return void 0;
|
372
|
-
case 97 /* RunStatement */:
|
373
|
-
return this.ifShouldBeAssignedAtTheEndOfSubprogramThenBody(parent);
|
374
|
-
case 98 /* TryStatement */:
|
375
|
-
case 99 /* CatchClause */:
|
376
|
-
case 101 /* FinallyClause */:
|
377
|
-
case 106 /* ForStatement */:
|
378
|
-
case 107 /* IfStatement */:
|
379
|
-
case 109 /* ElseIfClause */:
|
380
|
-
case 110 /* ElseClause */:
|
381
|
-
case 114 /* LoopStatement */:
|
382
|
-
case 119 /* CaseClause */:
|
383
|
-
case 120 /* WhileStatement */:
|
354
|
+
case 93 /* StatementBlock */:
|
384
355
|
return this.getContainingSubprogram(parent)?.block;
|
356
|
+
case 94 /* FunctionBlock */:
|
357
|
+
return void 0;
|
385
358
|
default:
|
386
359
|
Debug.never(parent);
|
387
360
|
}
|
@@ -572,7 +545,7 @@ var SyntaxFactory = class {
|
|
572
545
|
static packageVariableGetterDeclaration(tags, modifiers, name, typeSpecifier, body) {
|
573
546
|
const tagList = new TagList(tags);
|
574
547
|
const modifierList = new ModifierList(modifiers);
|
575
|
-
const getKeyword = this.keyword(
|
548
|
+
const getKeyword = this.keyword(58 /* Get */);
|
576
549
|
const nameIdentifier = this.createIdentifier(name);
|
577
550
|
const typeAnnotation = this.typeAnnotation(typeSpecifier);
|
578
551
|
return new PackageVariableGetterDeclaration(
|
@@ -587,7 +560,7 @@ var SyntaxFactory = class {
|
|
587
560
|
static packageVariableSetterDeclaration(tags, modifiers, name, body) {
|
588
561
|
const tagList = new TagList(tags);
|
589
562
|
const modifierList = new ModifierList(modifiers);
|
590
|
-
const setKeyword = this.keyword(
|
563
|
+
const setKeyword = this.keyword(59 /* Set */);
|
591
564
|
const nameIdentifier = this.createIdentifier(name);
|
592
565
|
return new PackageVariableSetterDeclaration(tagList, modifierList, setKeyword, nameIdentifier, body);
|
593
566
|
}
|
@@ -634,7 +607,7 @@ var SyntaxFactory = class {
|
|
634
607
|
static typeVariableGetterDeclaration(tags, modifiers, name, typeSpecifier, body) {
|
635
608
|
const tagList = new TagList(tags);
|
636
609
|
const modifierList = new ModifierList(modifiers);
|
637
|
-
const getKeyword = this.keyword(
|
610
|
+
const getKeyword = this.keyword(58 /* Get */);
|
638
611
|
const nameIdentifier = this.createIdentifier(name);
|
639
612
|
const typeAnnotation = this.typeAnnotation(typeSpecifier);
|
640
613
|
return new TypeVariableGetterDeclaration(
|
@@ -649,7 +622,7 @@ var SyntaxFactory = class {
|
|
649
622
|
static typeVariableSetterDeclaration(tags, modifiers, name, body) {
|
650
623
|
const tagList = new TagList(tags);
|
651
624
|
const modifierList = new ModifierList(modifiers);
|
652
|
-
const setKeyword = this.keyword(
|
625
|
+
const setKeyword = this.keyword(59 /* Set */);
|
653
626
|
const nameIdentifier = this.createIdentifier(name);
|
654
627
|
return new TypeVariableSetterDeclaration(tagList, modifierList, setKeyword, nameIdentifier, body);
|
655
628
|
}
|
@@ -675,21 +648,21 @@ var SyntaxFactory = class {
|
|
675
648
|
static typeConstructorDeclaration(tags, modifiers, parameters, body) {
|
676
649
|
const tagList = new TagList(tags);
|
677
650
|
const modifierList = new ModifierList(modifiers);
|
678
|
-
const creationKeyword = this.keyword(
|
651
|
+
const creationKeyword = this.keyword(30 /* Creation */);
|
679
652
|
const parameterClause = this.parameterClause(parameters);
|
680
653
|
return new TypeConstructorDeclaration(tagList, modifierList, creationKeyword, parameterClause, body);
|
681
654
|
}
|
682
655
|
static typeDestructorDeclaration(tags, modifiers, parameters, body) {
|
683
656
|
const tagList = new TagList(tags);
|
684
657
|
const modifierList = new ModifierList(modifiers);
|
685
|
-
const destructionKeyword = this.keyword(
|
658
|
+
const destructionKeyword = this.keyword(47 /* Destruction */);
|
686
659
|
const parameterClause = this.parameterClause(parameters);
|
687
660
|
return new TypeDestructorDeclaration(tagList, modifierList, destructionKeyword, parameterClause, body);
|
688
661
|
}
|
689
662
|
static typeIndexedGetterDeclaration(tags, modifiers, parameters, typeSpecifier, body) {
|
690
663
|
const tagList = new TagList(tags);
|
691
664
|
const modifierList = new ModifierList(modifiers);
|
692
|
-
const getKeyword = this.keyword(
|
665
|
+
const getKeyword = this.keyword(58 /* Get */);
|
693
666
|
const parameterClause = this.indexerParameterClause(parameters);
|
694
667
|
const typeAnnotation = this.typeAnnotation(typeSpecifier);
|
695
668
|
return new TypeIndexedGetterDeclaration(
|
@@ -704,7 +677,7 @@ var SyntaxFactory = class {
|
|
704
677
|
static typeIndexedSetterDeclaration(tags, modifiers, parameters, body) {
|
705
678
|
const tagList = new TagList(tags);
|
706
679
|
const modifierList = new ModifierList(modifiers);
|
707
|
-
const getKeyword = this.keyword(
|
680
|
+
const getKeyword = this.keyword(59 /* Set */);
|
708
681
|
const parameterClause = this.indexerParameterClause(parameters);
|
709
682
|
return new TypeIndexedSetterDeclaration(tagList, modifierList, getKeyword, parameterClause, body);
|
710
683
|
}
|
@@ -856,8 +829,19 @@ var SyntaxFactory = class {
|
|
856
829
|
const closeBraceToken = this.token(20 /* CloseBrace */);
|
857
830
|
return new StatementBlock(openBraceToken, statementList, closeBraceToken);
|
858
831
|
}
|
832
|
+
static functionExpressionBlock(expression) {
|
833
|
+
const openBraceToken = this.token(43 /* OpenBrace */);
|
834
|
+
const closeBraceToken = this.token(20 /* CloseBrace */);
|
835
|
+
return new FunctionBlock(openBraceToken, expression, closeBraceToken);
|
836
|
+
}
|
837
|
+
static functionStatementBlock(statements) {
|
838
|
+
const openBraceToken = this.token(43 /* OpenBrace */);
|
839
|
+
const statementList = new StatementList(statements);
|
840
|
+
const closeBraceToken = this.token(20 /* CloseBrace */);
|
841
|
+
return new FunctionBlock(openBraceToken, statementList, closeBraceToken);
|
842
|
+
}
|
859
843
|
static noneLiteral() {
|
860
|
-
return new KeywordExpression(this.keyword(
|
844
|
+
return new KeywordExpression(this.keyword(57 /* None */));
|
861
845
|
}
|
862
846
|
static integerLiteral(value) {
|
863
847
|
return new TokenExpression(this.token(2 /* IntegerLiteral */, value.toString()));
|
@@ -865,7 +849,7 @@ var SyntaxFactory = class {
|
|
865
849
|
static translationsDeclaration(translations) {
|
866
850
|
const tagList = new TagList([]);
|
867
851
|
const modifierList = new ModifierList([]);
|
868
|
-
const translationsKeyword = this.keyword(
|
852
|
+
const translationsKeyword = this.keyword(55 /* Translations */);
|
869
853
|
const openBraceToken = this.token(43 /* OpenBrace */);
|
870
854
|
const translationList = new TopLevelTranslationList(translations);
|
871
855
|
const closeBraceToken = this.token(20 /* CloseBrace */);
|
@@ -982,7 +966,7 @@ var SyntaxFactory = class {
|
|
982
966
|
);
|
983
967
|
}
|
984
968
|
static constructorTranslation(sourceParameters, translatedParameters) {
|
985
|
-
const creationKeyword = this.keyword(
|
969
|
+
const creationKeyword = this.keyword(30 /* Creation */);
|
986
970
|
const sourceParameterClause = this.translationParameterClause(sourceParameters);
|
987
971
|
const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
|
988
972
|
const translatedParameterClause = this.translationParameterClause(translatedParameters);
|
@@ -1661,11 +1645,11 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1661
1645
|
this.writeNodeDefault(node);
|
1662
1646
|
}
|
1663
1647
|
writeDeclarationBody(node, addLeadingNewLineOrWhitespace = true) {
|
1664
|
-
if (node.
|
1648
|
+
if (node.expressionOrStatementList.kind !== 92 /* StatementList */ || node.expressionOrStatementList.elements.length === 0) {
|
1665
1649
|
this.writeWhitespace();
|
1666
|
-
this.
|
1650
|
+
this.writeFunctionBlock(node, false);
|
1667
1651
|
} else {
|
1668
|
-
this.
|
1652
|
+
this.writeFunctionBlock(node, true);
|
1669
1653
|
}
|
1670
1654
|
}
|
1671
1655
|
writeStatementBlock(node, addLeadingNewLineOrWhitespace = true) {
|
@@ -1674,6 +1658,12 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1674
1658
|
}
|
1675
1659
|
this.writeNodeDefault(node);
|
1676
1660
|
}
|
1661
|
+
writeFunctionBlock(node, addLeadingNewLineOrWhitespace = true) {
|
1662
|
+
if (addLeadingNewLineOrWhitespace) {
|
1663
|
+
this.writeNewLineOrWhitespace();
|
1664
|
+
}
|
1665
|
+
this.writeNodeDefault(node);
|
1666
|
+
}
|
1677
1667
|
writeTranslationsDeclaration(node) {
|
1678
1668
|
this.writeKeyword(node.translationsKeyword);
|
1679
1669
|
this.writeNewLineOrWhitespace();
|
@@ -1997,17 +1987,18 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1997
1987
|
[55 /* TypeVariableGetterDeclaration */]: this.prototype.writeTypeVariableGetterDeclaration,
|
1998
1988
|
[56 /* TypeVariableSetterDeclaration */]: this.prototype.writeTypeVariableSetterDeclaration,
|
1999
1989
|
[93 /* StatementBlock */]: this.prototype.writeStatementBlock,
|
2000
|
-
[
|
2001
|
-
[
|
2002
|
-
[
|
2003
|
-
[
|
2004
|
-
[
|
2005
|
-
[145 /*
|
2006
|
-
[147 /*
|
2007
|
-
[
|
2008
|
-
[
|
2009
|
-
[
|
2010
|
-
[152 /*
|
1990
|
+
[94 /* FunctionBlock */]: this.prototype.writeFunctionBlock,
|
1991
|
+
[135 /* QualifiedName */]: this.prototype.writeQualifiedName,
|
1992
|
+
[142 /* VariantDeclaration */]: this.prototype.writeVariantDeclaration,
|
1993
|
+
[143 /* TypeParameterDeclaration */]: this.prototype.writeTypeParameterDeclaration,
|
1994
|
+
[144 /* ParameterDeclaration */]: this.prototype.writeParameterDeclaration,
|
1995
|
+
[145 /* Argument */]: this.prototype.writeArgument,
|
1996
|
+
[147 /* Tag */]: this.prototype.writeTag,
|
1997
|
+
[149 /* Modifier */]: this.prototype.writeModifier,
|
1998
|
+
[150 /* ParameterClause */]: this.prototype.writeParameterClause,
|
1999
|
+
[151 /* ParameterList */]: this.prototype.writeParameterList,
|
2000
|
+
[152 /* TypeArgumentClause */]: this.prototype.writeTypeArgumentClause,
|
2001
|
+
[154 /* TypeParameterClause */]: this.prototype.writeTypeParameterClause,
|
2011
2002
|
[17 /* AnonymousMethodTypeDeclaration */]: this.prototype.writeAnonymousMethodTypeDeclaration,
|
2012
2003
|
[18 /* AnonymousStructuredTypeDeclaration */]: this.prototype.writeAnonymousStructuredTypeDeclaration,
|
2013
2004
|
[19 /* AnonymousVariantTypeDeclaration */]: this.prototype.writeAnonymousVariantTypeDeclaration,
|
@@ -2060,56 +2051,57 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2060
2051
|
[90 /* DefaultMatchExpression */]: this.prototype.writeNodeDefault,
|
2061
2052
|
[91 /* AssignmentStatement */]: this.prototype.writeNodeDefault,
|
2062
2053
|
[92 /* StatementList */]: this.prototype.writeNodeDefault,
|
2063
|
-
[
|
2064
|
-
[
|
2065
|
-
[
|
2066
|
-
[
|
2067
|
-
[
|
2068
|
-
[
|
2069
|
-
[
|
2070
|
-
[
|
2071
|
-
[
|
2072
|
-
[
|
2073
|
-
[
|
2074
|
-
[
|
2075
|
-
[
|
2076
|
-
[
|
2077
|
-
[
|
2078
|
-
[
|
2079
|
-
[
|
2080
|
-
[
|
2081
|
-
[
|
2082
|
-
[
|
2083
|
-
[
|
2084
|
-
[
|
2085
|
-
[
|
2086
|
-
[
|
2087
|
-
[
|
2088
|
-
[
|
2089
|
-
[
|
2090
|
-
[
|
2091
|
-
[
|
2092
|
-
[
|
2093
|
-
[
|
2094
|
-
[
|
2095
|
-
[
|
2096
|
-
[
|
2097
|
-
[
|
2098
|
-
[
|
2099
|
-
[
|
2100
|
-
[
|
2101
|
-
[
|
2102
|
-
[134 /*
|
2103
|
-
[
|
2104
|
-
[
|
2105
|
-
[
|
2106
|
-
[
|
2107
|
-
[
|
2108
|
-
[
|
2109
|
-
[146 /*
|
2110
|
-
[
|
2111
|
-
[153 /*
|
2112
|
-
[
|
2054
|
+
[95 /* BreakLoopStatement */]: this.prototype.writeNodeDefault,
|
2055
|
+
[96 /* ContinueLoopStatement */]: this.prototype.writeNodeDefault,
|
2056
|
+
[97 /* DisposeStatement */]: this.prototype.writeNodeDefault,
|
2057
|
+
[98 /* RunStatement */]: this.prototype.writeNodeDefault,
|
2058
|
+
[99 /* TryStatement */]: this.prototype.writeNodeDefault,
|
2059
|
+
[100 /* CatchClause */]: this.prototype.writeNodeDefault,
|
2060
|
+
[101 /* ErrorVariableDeclaration */]: this.prototype.writeNodeDefault,
|
2061
|
+
[102 /* FinallyClause */]: this.prototype.writeNodeDefault,
|
2062
|
+
[103 /* EmptyStatement */]: this.prototype.writeNodeDefault,
|
2063
|
+
[104 /* ErrorStatement */]: this.prototype.writeNodeDefault,
|
2064
|
+
[105 /* ImportantStatement */]: this.prototype.writeNodeDefault,
|
2065
|
+
[106 /* ExpressionStatement */]: this.prototype.writeNodeDefault,
|
2066
|
+
[107 /* EnumerationVariableList */]: this.prototype.writeNodeDefault,
|
2067
|
+
[108 /* ForStatement */]: this.prototype.writeNodeDefault,
|
2068
|
+
[109 /* IfStatement */]: this.prototype.writeNodeDefault,
|
2069
|
+
[110 /* ElseIfClauseList */]: this.prototype.writeNodeDefault,
|
2070
|
+
[111 /* ElseIfClause */]: this.prototype.writeNodeDefault,
|
2071
|
+
[112 /* ElseClause */]: this.prototype.writeNodeDefault,
|
2072
|
+
[113 /* InvalidStatement */]: this.prototype.writeNodeDefault,
|
2073
|
+
[114 /* NestedMethodDeclarationStatement */]: this.prototype.writeNodeDefault,
|
2074
|
+
[115 /* LocalVariableDeclarationStatement */]: this.prototype.writeNodeDefault,
|
2075
|
+
[116 /* LoopStatement */]: this.prototype.writeNodeDefault,
|
2076
|
+
[117 /* ReturnStatement */]: this.prototype.writeNodeDefault,
|
2077
|
+
[118 /* CaseClauseList */]: this.prototype.writeNodeDefault,
|
2078
|
+
[119 /* SwitchStatement */]: this.prototype.writeNodeDefault,
|
2079
|
+
[120 /* MatchExpressionList */]: this.prototype.writeNodeDefault,
|
2080
|
+
[121 /* CaseClause */]: this.prototype.writeNodeDefault,
|
2081
|
+
[122 /* WhileStatement */]: this.prototype.writeNodeDefault,
|
2082
|
+
[123 /* YieldStatement */]: this.prototype.writeNodeDefault,
|
2083
|
+
[124 /* TranslationParameterList */]: this.prototype.writeNodeDefault,
|
2084
|
+
[125 /* TranslationParameterClause */]: this.prototype.writeTranslationParameterClause,
|
2085
|
+
[126 /* ConstructorTranslation */]: this.prototype.writeConstructorTranslation,
|
2086
|
+
[127 /* IndexerTranslationParameterClause */]: this.prototype.writeIndexerTranslationParameterClause,
|
2087
|
+
[128 /* IndexerTranslation */]: this.prototype.writeIndexerTranslation,
|
2088
|
+
[129 /* TranslationTypeParameterList */]: this.prototype.writeNodeDefault,
|
2089
|
+
[130 /* TranslationTypeParameterClause */]: this.prototype.writeTranslationTypeParameterClause,
|
2090
|
+
[131 /* PackageMethodTranslation */]: this.prototype.writePackageMethodTranslation,
|
2091
|
+
[132 /* TypeMethodTranslation */]: this.prototype.writeTypeMethodTranslation,
|
2092
|
+
[133 /* MethodTypeTranslation */]: this.prototype.writeMethodTypeTranslation,
|
2093
|
+
[134 /* PackageImportTranslation */]: this.prototype.writePackageImportTranslation,
|
2094
|
+
[136 /* PackageVariableTranslation */]: this.prototype.writePackageVariableTranslation,
|
2095
|
+
[137 /* TypeVariableOrVariantTranslation */]: this.prototype.writeTypeVariableOrVariantTranslation,
|
2096
|
+
[138 /* TypeMemberTranslationList */]: this.prototype.writeNodeDefault,
|
2097
|
+
[139 /* TypeTranslation */]: this.prototype.writeTypeTranslation,
|
2098
|
+
[140 /* TextLiteralTranslation */]: this.prototype.writeNodeDefault,
|
2099
|
+
[141 /* TextTemplateLiteralTranslation */]: this.prototype.writeNodeDefault,
|
2100
|
+
[146 /* TagList */]: this.prototype.writeNodeDefault,
|
2101
|
+
[148 /* ModifierList */]: this.prototype.writeNodeDefault,
|
2102
|
+
[153 /* TypeArgumentList */]: this.prototype.writeNodeDefault,
|
2103
|
+
[155 /* TypeParameterList */]: this.prototype.writeNodeDefault,
|
2104
|
+
[156 /* TypeAnnotation */]: this.prototype.writeNodeDefault
|
2113
2105
|
};
|
2114
2106
|
return writeFunctions;
|
2115
2107
|
}
|
@@ -2120,14 +2112,14 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2120
2112
|
}
|
2121
2113
|
};
|
2122
2114
|
var modifierSortOrder = {
|
2123
|
-
[
|
2124
|
-
[
|
2115
|
+
[36 /* Hidden */]: 0,
|
2116
|
+
[41 /* Static */]: 1,
|
2125
2117
|
[17 /* Basic */]: 2,
|
2126
|
-
[
|
2127
|
-
[
|
2128
|
-
[
|
2129
|
-
[
|
2130
|
-
[
|
2118
|
+
[38 /* Redefinable */]: 3,
|
2119
|
+
[37 /* Abstract */]: 4,
|
2120
|
+
[39 /* Redefined */]: 5,
|
2121
|
+
[40 /* Async */]: 6,
|
2122
|
+
[35 /* Const */]: 7
|
2131
2123
|
};
|
2132
2124
|
|
2133
2125
|
// source/services/TreeUtils.ts
|
@@ -2295,7 +2287,7 @@ var TranslationsGenerationService = class {
|
|
2295
2287
|
return void 0;
|
2296
2288
|
}
|
2297
2289
|
let result;
|
2298
|
-
if (tokenOrKeyword.isToken(63 /* Identifier */) && tokenOrKeyword.parent.kind ===
|
2290
|
+
if (tokenOrKeyword.isToken(63 /* Identifier */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslation */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
|
2299
2291
|
const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
|
2300
2292
|
if (translationPackage !== void 0) {
|
2301
2293
|
const generator = new TranslationsGenerator(
|
@@ -2307,7 +2299,7 @@ var TranslationsGenerationService = class {
|
|
2307
2299
|
result = generator.generateMissingTypeMemberTranslations(tokenOrKeyword.parent);
|
2308
2300
|
}
|
2309
2301
|
}
|
2310
|
-
if (result === void 0 && tokenOrKeyword.isKeyword(
|
2302
|
+
if (result === void 0 && tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 21 /* TranslationsDeclaration */) {
|
2311
2303
|
const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
|
2312
2304
|
if (translationPackage !== void 0) {
|
2313
2305
|
const generator = new TranslationsGenerator(
|
@@ -2333,7 +2325,7 @@ var TranslationsGenerationService = class {
|
|
2333
2325
|
if (tokenOrKeyword === void 0) {
|
2334
2326
|
return false;
|
2335
2327
|
}
|
2336
|
-
if (!(tokenOrKeyword.isKeyword(
|
2328
|
+
if (!(tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 21 /* TranslationsDeclaration */)) {
|
2337
2329
|
return false;
|
2338
2330
|
}
|
2339
2331
|
const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
|
@@ -2341,7 +2333,7 @@ var TranslationsGenerationService = class {
|
|
2341
2333
|
return false;
|
2342
2334
|
}
|
2343
2335
|
const generator = new TranslationsGenerator(analyzer, sourceFile, translationPackage, sourceFile.package.dialect);
|
2344
|
-
return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind ===
|
2336
|
+
return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind === 139 /* TypeTranslation */).mapAndFilter((t) => translationPackage.getTypeTranslationTarget(t).target).any((t) => generator.collectNotTranslatedTypeMembers(t).length > 0);
|
2345
2337
|
}
|
2346
2338
|
};
|
2347
2339
|
var TranslationsGenerator = class _TranslationsGenerator {
|
@@ -2368,7 +2360,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2368
2360
|
};
|
2369
2361
|
const memberTranslationsCode = Query.from(memberEntities).mapAndFilter((m) => this.createPackageMemberTranslationNode(m)).uniqueWithComparator(compareNodes).map((n) => {
|
2370
2362
|
const code = new SyntaxToCode(n, syntaxToCodeOptions).convert();
|
2371
|
-
if (n.kind ===
|
2363
|
+
if (n.kind === 139 /* TypeTranslation */) {
|
2372
2364
|
const startOffset = Math.max(code.indexOf(newLine), 0);
|
2373
2365
|
return this.addNewLineBeforeArrowsInTranslation(
|
2374
2366
|
code,
|
@@ -2400,7 +2392,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2400
2392
|
generateMissingTranslationsForPartiallyTranslatedTypes(translationsDeclaration) {
|
2401
2393
|
const result = new Array();
|
2402
2394
|
for (const translation of translationsDeclaration.translationList.translationDeclarations) {
|
2403
|
-
if (translation.kind ===
|
2395
|
+
if (translation.kind === 139 /* TypeTranslation */) {
|
2404
2396
|
const edits = this.generateMissingTypeMemberTranslations(translation);
|
2405
2397
|
if (edits !== void 0) {
|
2406
2398
|
result.push(...edits);
|
@@ -2497,13 +2489,13 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2497
2489
|
}
|
2498
2490
|
detectIndentationStepForTypeMemberTranslations(node) {
|
2499
2491
|
let indentationStepSize;
|
2500
|
-
if (node.kind ===
|
2492
|
+
if (node.kind === 139 /* TypeTranslation */) {
|
2501
2493
|
indentationStepSize = tryDetectIndentationStepSizeUsingTypeTranslation(node, this._sourceFile);
|
2502
2494
|
}
|
2503
2495
|
if (indentationStepSize === void 0) {
|
2504
2496
|
const translationsDeclarations = node.kind === 21 /* TranslationsDeclaration */ ? node : node.parent.parent;
|
2505
2497
|
for (const member of translationsDeclarations.translationList.translationDeclarations) {
|
2506
|
-
if (member.kind ===
|
2498
|
+
if (member.kind === 139 /* TypeTranslation */) {
|
2507
2499
|
indentationStepSize = tryDetectIndentationStepSizeUsingTypeTranslation(member, this._sourceFile);
|
2508
2500
|
if (indentationStepSize !== void 0) {
|
2509
2501
|
break;
|
@@ -2790,7 +2782,7 @@ var SignatureForNode = class _SignatureForNode {
|
|
2790
2782
|
return _SignatureForNode.getSignaturesForAutotypeCallExpression(analyzer, node);
|
2791
2783
|
case 71 /* IndexedAccessExpression */:
|
2792
2784
|
return _SignatureForNode.getSignaturesForIndexedAccessExpression(analyzer, node);
|
2793
|
-
case
|
2785
|
+
case 147 /* Tag */:
|
2794
2786
|
return _SignatureForNode.getSignaturesForTag(analyzer, node);
|
2795
2787
|
default:
|
2796
2788
|
Debug.never(node);
|
@@ -3225,7 +3217,7 @@ var CompletionService = class {
|
|
3225
3217
|
typeExtensionLookup
|
3226
3218
|
);
|
3227
3219
|
}
|
3228
|
-
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind ===
|
3220
|
+
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
|
3229
3221
|
const namedTypeSpecifier = tokenOrKeyword.parent.parent;
|
3230
3222
|
const resolutionResult = this._analyzer.resolveNamedTypeSpecifier(namedTypeSpecifier);
|
3231
3223
|
const segmentIndex = Math.floor(
|
@@ -3267,7 +3259,7 @@ var CompletionService = class {
|
|
3267
3259
|
}
|
3268
3260
|
return { kind: "none" };
|
3269
3261
|
}
|
3270
|
-
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind ===
|
3262
|
+
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 147 /* Tag */) {
|
3271
3263
|
const tag = tokenOrKeyword.parent.parent;
|
3272
3264
|
const resolutionResult = this._analyzer.resolveTag(tag);
|
3273
3265
|
const segmentIndex = Math.floor(
|
@@ -3360,17 +3352,17 @@ var CompletionService = class {
|
|
3360
3352
|
translationKind = 0 /* Any */;
|
3361
3353
|
hasPrecedingKeyword = false;
|
3362
3354
|
}
|
3363
|
-
if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind ===
|
3355
|
+
if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 134 /* PackageImportTranslation */) {
|
3364
3356
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3365
3357
|
translationKind = 1 /* PackageImport */;
|
3366
3358
|
hasPrecedingKeyword = true;
|
3367
3359
|
}
|
3368
|
-
if (tokenOrKeyword.isKeyword(16 /* Type */) && (tokenOrKeyword.parent.kind ===
|
3360
|
+
if (tokenOrKeyword.isKeyword(16 /* Type */) && (tokenOrKeyword.parent.kind === 139 /* TypeTranslation */ || tokenOrKeyword.parent.kind === 133 /* MethodTypeTranslation */)) {
|
3369
3361
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3370
3362
|
translationKind = 3 /* Type */;
|
3371
3363
|
hasPrecedingKeyword = true;
|
3372
3364
|
}
|
3373
|
-
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind ===
|
3365
|
+
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 131 /* PackageMethodTranslation */) {
|
3374
3366
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3375
3367
|
translationKind = 2 /* Method */;
|
3376
3368
|
hasPrecedingKeyword = true;
|
@@ -3390,9 +3382,9 @@ var CompletionService = class {
|
|
3390
3382
|
hasPrecedingKeyword
|
3391
3383
|
);
|
3392
3384
|
}
|
3393
|
-
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind ===
|
3385
|
+
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */) {
|
3394
3386
|
const qualifiedName = tokenOrKeyword.parent;
|
3395
|
-
if (qualifiedName.parent.kind ===
|
3387
|
+
if (qualifiedName.parent.kind === 134 /* PackageImportTranslation */ && qualifiedName === qualifiedName.parent.sourceName) {
|
3396
3388
|
const precedingSegmentNames = qualifiedName.qualifiers.takeWhile((s) => s.rangeStart < tokenOrKeyword.value.rangeStart).map((p) => this._analyzer.createNameFromIdentifier(p)).toArray();
|
3397
3389
|
const sourceLocale = translationPackage.getTranslatedPackage().getLocale();
|
3398
3390
|
return new PackageImportCompletionContext(precedingSegmentNames, { sourceLocale });
|
@@ -3417,12 +3409,12 @@ var CompletionService = class {
|
|
3417
3409
|
translationKind = 0 /* Any */;
|
3418
3410
|
hasPrecedingKeyword = false;
|
3419
3411
|
}
|
3420
|
-
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind ===
|
3412
|
+
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 132 /* TypeMethodTranslation */) {
|
3421
3413
|
typeTranslation = tokenOrKeyword.parent.parent.parent;
|
3422
3414
|
translationKind = 1 /* Method */;
|
3423
3415
|
hasPrecedingKeyword = true;
|
3424
3416
|
}
|
3425
|
-
if (tokenOrKeyword.isKeyword(
|
3417
|
+
if (tokenOrKeyword.isKeyword(30 /* Creation */) && tokenOrKeyword.parent.kind === 126 /* ConstructorTranslation */) {
|
3426
3418
|
typeTranslation = tokenOrKeyword.parent.parent.parent;
|
3427
3419
|
translationKind = 3 /* Constructor */;
|
3428
3420
|
hasPrecedingKeyword = true;
|
@@ -3462,7 +3454,7 @@ var CompletionService = class {
|
|
3462
3454
|
role.argumentList.parent
|
3463
3455
|
);
|
3464
3456
|
break;
|
3465
|
-
case
|
3457
|
+
case 147 /* Tag */:
|
3466
3458
|
signatures = SignatureForNode.getSignaturesForTag(this._analyzer, role.argumentList.parent);
|
3467
3459
|
valueArguments = ValueArgumentFactory.createValueArgumentsOfTag(role.argumentList.parent);
|
3468
3460
|
break;
|
@@ -3506,6 +3498,13 @@ var CompletionService = class {
|
|
3506
3498
|
}
|
3507
3499
|
return { targetTypes: void 0, targetSignaturesParameters: void 0 };
|
3508
3500
|
}
|
3501
|
+
if (role.kind === "function-block-expression") {
|
3502
|
+
const targetType = semanticContext.getContainingSubprogram()?.getReturnType();
|
3503
|
+
if (targetType !== void 0 && !targetType.equals(this._analyzer.standardTypes.none)) {
|
3504
|
+
return { targetTypes: [targetType], targetSignaturesParameters: void 0 };
|
3505
|
+
}
|
3506
|
+
return { targetTypes: void 0, targetSignaturesParameters: void 0 };
|
3507
|
+
}
|
3509
3508
|
if (role.kind === "other") {
|
3510
3509
|
if (role.expressionForTargetType !== void 0) {
|
3511
3510
|
const targetType = this._analyzer.getTargetTypeOfExpression(role.expressionForTargetType);
|
@@ -3595,22 +3594,22 @@ var CompletionService = class {
|
|
3595
3594
|
}
|
3596
3595
|
const kinds = /* @__PURE__ */ new Set();
|
3597
3596
|
if (syntaxContext.isPackageMemberDeclarationListContext) {
|
3598
|
-
kinds.add(18 /* Import */).add(7 /* Run */).add(
|
3597
|
+
kinds.add(18 /* Import */).add(7 /* Run */).add(30 /* Creation */).add(12 /* Function */).add(17 /* Basic */).add(16 /* Type */).add(58 /* Get */).add(59 /* Set */).add(55 /* Translations */);
|
3599
3598
|
}
|
3600
3599
|
if (syntaxContext.isPackageMemberDeclarationListContext || syntaxContext.isTypeMemberDeclarationListContext) {
|
3601
|
-
kinds.add(
|
3600
|
+
kinds.add(36 /* Hidden */).add(41 /* Static */).add(38 /* Redefinable */).add(37 /* Abstract */).add(39 /* Redefined */).add(40 /* Async */).add(35 /* Const */);
|
3602
3601
|
}
|
3603
3602
|
if (syntaxContext.isTypeMemberDeclarationListContext) {
|
3604
|
-
kinds.add(
|
3603
|
+
kinds.add(30 /* Creation */).add(12 /* Function */).add(47 /* Destruction */).add(58 /* Get */).add(59 /* Set */);
|
3605
3604
|
}
|
3606
3605
|
if (syntaxContext.isStatementContext) {
|
3607
|
-
kinds.add(7 /* Run */).add(
|
3606
|
+
kinds.add(7 /* Run */).add(34 /* For */).add(25 /* While */).add(26 /* Loop */).add(15 /* Return */).add(20 /* Error */).add(28 /* Yield */).add(32 /* BreakLoop */).add(33 /* ContinueLoop */).add(13 /* If */).add(44 /* Switch */).add(1 /* Let */).add(35 /* Const */).add(46 /* Dispose */).add(8 /* Try */).add(12 /* Function */).add(40 /* Async */);
|
3608
3607
|
}
|
3609
3608
|
if (this.isFromKeywordContext(positionDescription)) {
|
3610
3609
|
kinds.add(9 /* From */);
|
3611
3610
|
}
|
3612
3611
|
if (syntaxContext.isExpressionContext !== void 0) {
|
3613
|
-
kinds.add(
|
3612
|
+
kinds.add(43 /* Not */).add(52 /* Yes */).add(53 /* No */).add(57 /* None */).add(40 /* Async */).add(12 /* Function */).add(54 /* Reference */).add(2 /* Autotype */);
|
3614
3613
|
if (positionDescription.kind === "after-token-or-keyword") {
|
3615
3614
|
const container = semanticContext.getContainingTypeOrTypeExtension();
|
3616
3615
|
if (container !== void 0) {
|
@@ -3618,40 +3617,40 @@ var CompletionService = class {
|
|
3618
3617
|
if (container.kind === "type") {
|
3619
3618
|
const typeEntity = container.value;
|
3620
3619
|
if (typeEntity?.typeEntityKind === 1 /* Structured */ && typeEntity.getBaseObjectType() !== void 0 || typeEntity?.typeEntityKind === 3 /* Variant */ || typeEntity?.typeEntityKind === 4 /* Alias */) {
|
3621
|
-
kinds.add(
|
3620
|
+
kinds.add(56 /* Base */);
|
3622
3621
|
}
|
3623
3622
|
}
|
3624
3623
|
}
|
3625
3624
|
}
|
3626
3625
|
}
|
3627
3626
|
if (this.isTypeKindCompletionContext(positionDescription)) {
|
3628
|
-
kinds.add(4 /* Object */).add(5 /* PlainObject */).add(3 /* Aspect */).add(6 /* Variant */).add(12 /* Function */).add(
|
3627
|
+
kinds.add(4 /* Object */).add(5 /* PlainObject */).add(3 /* Aspect */).add(6 /* Variant */).add(12 /* Function */).add(40 /* Async */);
|
3629
3628
|
}
|
3630
3629
|
if (this.isCaseKeywordContext(positionDescription, syntaxContext)) {
|
3631
|
-
kinds.add(
|
3630
|
+
kinds.add(45 /* Case */);
|
3632
3631
|
}
|
3633
3632
|
if (this.isCatchKeywordContext(positionDescription)) {
|
3634
|
-
kinds.add(
|
3633
|
+
kinds.add(31 /* Catch */);
|
3635
3634
|
}
|
3636
3635
|
if (this.isFinallyKeywordContext(positionDescription)) {
|
3637
|
-
kinds.add(
|
3636
|
+
kinds.add(21 /* Finally */);
|
3638
3637
|
}
|
3639
3638
|
if (this.isElseOrElseIfKeywordContext(positionDescription)) {
|
3640
3639
|
kinds.add(10 /* Else */).add(11 /* ElseIf */);
|
3641
3640
|
}
|
3642
3641
|
if (syntaxContext.precedingExpression !== void 0) {
|
3643
|
-
kinds.add(
|
3642
|
+
kinds.add(42 /* As */).add(14 /* Is */).add(22 /* And */).add(23 /* Or */).add(24 /* Xor */).add(29 /* When */);
|
3644
3643
|
}
|
3645
3644
|
if (this.isModifierLevelContext(positionDescription)) {
|
3646
|
-
kinds.add(
|
3645
|
+
kinds.add(51 /* InType */).add(48 /* InHierarchy */).add(49 /* InFile */).add(50 /* InPackage */);
|
3647
3646
|
}
|
3648
3647
|
if (this.isRepeatWhileKeywordContext(positionDescription)) {
|
3649
|
-
kinds.add(
|
3648
|
+
kinds.add(27 /* RepeatWhile */);
|
3650
3649
|
}
|
3651
3650
|
if (syntaxContext.isUnqualifiedTypeContext?.allowsAnonymousTypes === true) {
|
3652
|
-
kinds.add(5 /* PlainObject */).add(4 /* Object */).add(6 /* Variant */).add(3 /* Aspect */).add(12 /* Function */).add(
|
3651
|
+
kinds.add(5 /* PlainObject */).add(4 /* Object */).add(6 /* Variant */).add(3 /* Aspect */).add(12 /* Function */).add(40 /* Async */);
|
3653
3652
|
}
|
3654
|
-
if (positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isKeyword(
|
3653
|
+
if (positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isKeyword(40 /* Async */) && (positionDescription.tokenOrKeyword.parent.kind === 58 /* NestedMethodDeclaration */ || positionDescription.tokenOrKeyword.parent.kind === 74 /* MethodLiteral */ || positionDescription.tokenOrKeyword.parent.kind === 29 /* MethodTypeDeclarationBody */)) {
|
3655
3654
|
kinds.add(12 /* Function */);
|
3656
3655
|
}
|
3657
3656
|
return Query.from(kinds.values()).map(
|
@@ -3663,35 +3662,35 @@ var CompletionService = class {
|
|
3663
3662
|
return false;
|
3664
3663
|
}
|
3665
3664
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3666
|
-
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind ===
|
3665
|
+
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 116 /* LoopStatement */;
|
3667
3666
|
}
|
3668
3667
|
isModifierLevelContext(positionDescription) {
|
3669
3668
|
if (positionDescription.kind !== "after-token-or-keyword") {
|
3670
3669
|
return false;
|
3671
3670
|
}
|
3672
3671
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3673
|
-
return tokenOrKeyword.isToken(44 /* OpenParenthesis */) && tokenOrKeyword.parent.kind ===
|
3672
|
+
return tokenOrKeyword.isToken(44 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 149 /* Modifier */;
|
3674
3673
|
}
|
3675
3674
|
isElseOrElseIfKeywordContext(positionDescription) {
|
3676
3675
|
if (positionDescription.kind !== "after-token-or-keyword") {
|
3677
3676
|
return false;
|
3678
3677
|
}
|
3679
3678
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3680
|
-
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind ===
|
3679
|
+
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 109 /* IfStatement */ && tokenOrKeyword.parent === tokenOrKeyword.parent.parent.block || tokenOrKeyword.parent.parent.kind === 111 /* ElseIfClause */);
|
3681
3680
|
}
|
3682
3681
|
isCatchKeywordContext(positionDescription) {
|
3683
3682
|
if (positionDescription.kind !== "after-token-or-keyword") {
|
3684
3683
|
return false;
|
3685
3684
|
}
|
3686
3685
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3687
|
-
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind ===
|
3686
|
+
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 99 /* TryStatement */;
|
3688
3687
|
}
|
3689
3688
|
isFinallyKeywordContext(positionDescription) {
|
3690
3689
|
if (positionDescription.kind !== "after-token-or-keyword") {
|
3691
3690
|
return false;
|
3692
3691
|
}
|
3693
3692
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3694
|
-
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind ===
|
3693
|
+
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 99 /* TryStatement */ || tokenOrKeyword.parent.parent.kind === 100 /* CatchClause */);
|
3695
3694
|
}
|
3696
3695
|
isTypeKindCompletionContext(positionDescription) {
|
3697
3696
|
return positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(57 /* Equals */) && NodeTypeUtils.isPackageTypeDeclaration(positionDescription.tokenOrKeyword.parent);
|
@@ -3708,10 +3707,10 @@ var CompletionService = class {
|
|
3708
3707
|
return false;
|
3709
3708
|
}
|
3710
3709
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3711
|
-
if (tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind ===
|
3710
|
+
if (tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 121 /* CaseClause */) {
|
3712
3711
|
return true;
|
3713
3712
|
}
|
3714
|
-
if (syntaxContext.precedingExpression !== void 0 && syntaxContext.precedingExpression.parent.kind ===
|
3713
|
+
if (syntaxContext.precedingExpression !== void 0 && syntaxContext.precedingExpression.parent.kind === 119 /* SwitchStatement */) {
|
3715
3714
|
return true;
|
3716
3715
|
}
|
3717
3716
|
return false;
|
@@ -4023,8 +4022,9 @@ var CompletionService = class {
|
|
4023
4022
|
}
|
4024
4023
|
getTypeMemberCompletionItemInfos(ctx) {
|
4025
4024
|
const type = this._analyzer.excludeNoneFromType(ctx.type);
|
4026
|
-
const memberLookup =
|
4027
|
-
|
4025
|
+
const memberLookup = TypeMemberLookup.ofType(this._analyzer, type, ctx.localizationContext);
|
4026
|
+
const options6 = ctx.isStaticAccess ? 2 /* OnlyStaticMembers */ : 0 /* None */;
|
4027
|
+
return memberLookup.getNamedMembers(options6, ctx.hidingMatcher, ctx.typeExtensionsLookup).map((m) => {
|
4028
4028
|
switch (m.value.kind) {
|
4029
4029
|
case "method":
|
4030
4030
|
return new TypeMethodCompletionItemInfo(
|
@@ -4043,7 +4043,7 @@ var CompletionService = class {
|
|
4043
4043
|
default:
|
4044
4044
|
Debug.never(m.value);
|
4045
4045
|
}
|
4046
|
-
}).concat(memberLookup.getOperators(ctx.hidingMatcher, ctx.typeExtensionsLookup).
|
4046
|
+
}).concat(memberLookup.getOperators(options6, ctx.hidingMatcher, ctx.typeExtensionsLookup).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o.value, o.localization)));
|
4047
4047
|
}
|
4048
4048
|
getPackageImportCompletionItemInfos(ctx) {
|
4049
4049
|
const result = this._analyzer.packageImports.getPackagesAvailableForImport(this._sourceFile.package).map((p) => p.getImportName()).filter((n) => {
|
@@ -4216,7 +4216,7 @@ var CompletionService = class {
|
|
4216
4216
|
if (!ctx.hasPrecedingKeyword) {
|
4217
4217
|
const keywords = [
|
4218
4218
|
12 /* Function */,
|
4219
|
-
|
4219
|
+
30 /* Creation */
|
4220
4220
|
];
|
4221
4221
|
result = result.chain(
|
4222
4222
|
Query.from(keywords).map(
|
@@ -4379,7 +4379,7 @@ function isInvalidNode(node) {
|
|
4379
4379
|
switch (node.kind) {
|
4380
4380
|
case 72 /* InvalidExpression */:
|
4381
4381
|
case 43 /* InvalidPackageMemberDeclaration */:
|
4382
|
-
case
|
4382
|
+
case 113 /* InvalidStatement */:
|
4383
4383
|
case 57 /* InvalidTypeMemberDeclaration */:
|
4384
4384
|
case 16 /* InvalidTypeSpecifier */:
|
4385
4385
|
return true;
|
@@ -5071,7 +5071,7 @@ var AliasesSourceTypeConstructorCompletionItemInfo = class {
|
|
5071
5071
|
Localization.Original.ofEntity(this.constructor_)
|
5072
5072
|
);
|
5073
5073
|
const displayParts = this.displayService.getConstructorDeclarationDisplayParts(constructorDeclaration);
|
5074
|
-
const creationKeyword = this.displayService.displayKeyword(
|
5074
|
+
const creationKeyword = this.displayService.displayKeyword(30 /* Creation */);
|
5075
5075
|
return creationKeyword + displayParts.valueParametersStart + displayParts.valueParameters.map((p) => p.toString()).join(displayParts.valueParameterSeparator) + displayParts.valueParametersEnd;
|
5076
5076
|
});
|
5077
5077
|
}
|
@@ -5085,7 +5085,7 @@ var AliasesSourceTypeConstructorCompletionItemInfo = class {
|
|
5085
5085
|
return this.label;
|
5086
5086
|
}
|
5087
5087
|
getInsertText() {
|
5088
|
-
const creationKeyword = this.includeOnCreateKeyword ? this.displayService.displayKeyword(
|
5088
|
+
const creationKeyword = this.includeOnCreateKeyword ? this.displayService.displayKeyword(30 /* Creation */) : "";
|
5089
5089
|
const parameters = this.constructor_.getValueParameters().map((p) => this.ctx.getInsertTextForName(p.getName(), true)).join(", ");
|
5090
5090
|
return `${creationKeyword}(${parameters})`;
|
5091
5091
|
}
|
@@ -5163,6 +5163,12 @@ var ExpressionRole_returnedValue = class {
|
|
5163
5163
|
this.kind = "returned-value";
|
5164
5164
|
}
|
5165
5165
|
};
|
5166
|
+
var ExpressionRole_functionBlockExpression = class {
|
5167
|
+
constructor(functionBlock) {
|
5168
|
+
this.functionBlock = functionBlock;
|
5169
|
+
this.kind = "function-block-expression";
|
5170
|
+
}
|
5171
|
+
};
|
5166
5172
|
var ExpressionRole_other = class {
|
5167
5173
|
constructor(expressionForTargetType) {
|
5168
5174
|
this.expressionForTargetType = expressionForTargetType;
|
@@ -5199,7 +5205,7 @@ var SyntaxContextFactory = class {
|
|
5199
5205
|
if (positionDescription.kind === "after-token-or-keyword") {
|
5200
5206
|
isUnqualifiedTypeContext = this.isUnqualifiedTypeContext(positionDescription.tokenOrKeyword);
|
5201
5207
|
}
|
5202
|
-
const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(35 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind ===
|
5208
|
+
const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(35 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 147 /* Tag */;
|
5203
5209
|
let isTopLevelTranslationListContext;
|
5204
5210
|
if (positionDescription.kind === "after-token-or-keyword") {
|
5205
5211
|
isTopLevelTranslationListContext = this.isTopLevelTranslationListContext(positionDescription.tokenOrKeyword);
|
@@ -5241,15 +5247,15 @@ var SyntaxContextFactory = class {
|
|
5241
5247
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.initializer);
|
5242
5248
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5243
5249
|
}
|
5244
|
-
if (tokenOrKeyword.parent.kind ===
|
5250
|
+
if (tokenOrKeyword.parent.kind === 144 /* ParameterDeclaration */) {
|
5245
5251
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.defaultValue);
|
5246
5252
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5247
5253
|
}
|
5248
|
-
if (tokenOrKeyword.parent.kind ===
|
5254
|
+
if (tokenOrKeyword.parent.kind === 145 /* Argument */) {
|
5249
5255
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
|
5250
5256
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5251
5257
|
}
|
5252
|
-
if (tokenOrKeyword.parent.kind ===
|
5258
|
+
if (tokenOrKeyword.parent.kind === 142 /* VariantDeclaration */) {
|
5253
5259
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
|
5254
5260
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5255
5261
|
}
|
@@ -5285,6 +5291,20 @@ var SyntaxContextFactory = class {
|
|
5285
5291
|
if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */) {
|
5286
5292
|
return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
|
5287
5293
|
}
|
5294
|
+
if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 94 /* FunctionBlock */) {
|
5295
|
+
const block = tokenOrKeyword.parent;
|
5296
|
+
if (block.expressionOrStatementList.kind !== 92 /* StatementList */ || block.expressionOrStatementList.statements.count() === 0) {
|
5297
|
+
return {
|
5298
|
+
isExpressionContext: { expressionRole: new ExpressionRole_functionBlockExpression(block) },
|
5299
|
+
isStatementContext: true
|
5300
|
+
};
|
5301
|
+
} else {
|
5302
|
+
return {
|
5303
|
+
isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) },
|
5304
|
+
isStatementContext: true
|
5305
|
+
};
|
5306
|
+
}
|
5307
|
+
}
|
5288
5308
|
if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 92 /* StatementList */) {
|
5289
5309
|
return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
|
5290
5310
|
}
|
@@ -5305,7 +5325,7 @@ var SyntaxContextFactory = class {
|
|
5305
5325
|
const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
|
5306
5326
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5307
5327
|
}
|
5308
|
-
if (tokenOrKeyword.parent.kind ===
|
5328
|
+
if (tokenOrKeyword.parent.kind === 147 /* Tag */) {
|
5309
5329
|
const argumentList = tokenOrKeyword.parent.argumentList;
|
5310
5330
|
if (argumentList !== void 0) {
|
5311
5331
|
const expressionRole = new ExpressionRole_argument(argumentList, 0);
|
@@ -5336,7 +5356,7 @@ var SyntaxContextFactory = class {
|
|
5336
5356
|
const expressionRole = new ExpressionRole_argument(argumentList, index);
|
5337
5357
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5338
5358
|
}
|
5339
|
-
if (tokenOrKeyword.parent.kind ===
|
5359
|
+
if (tokenOrKeyword.parent.kind === 120 /* MatchExpressionList */) {
|
5340
5360
|
const expressionRole = new ExpressionRole_matchListElement(tokenOrKeyword.parent.parent.parent.parent);
|
5341
5361
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5342
5362
|
}
|
@@ -5345,43 +5365,43 @@ var SyntaxContextFactory = class {
|
|
5345
5365
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5346
5366
|
}
|
5347
5367
|
}
|
5348
|
-
if (tokenOrKeyword.isKeyword(
|
5368
|
+
if (tokenOrKeyword.isKeyword(45 /* Case */) && tokenOrKeyword.parent.kind === 121 /* CaseClause */) {
|
5349
5369
|
const expressionRole = new ExpressionRole_matchListElement(tokenOrKeyword.parent.parent.parent);
|
5350
5370
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5351
5371
|
}
|
5352
|
-
if (tokenOrKeyword.isKeyword(15 /* Return */) && tokenOrKeyword.parent.kind ===
|
5372
|
+
if (tokenOrKeyword.isKeyword(15 /* Return */) && tokenOrKeyword.parent.kind === 117 /* ReturnStatement */) {
|
5353
5373
|
const expressionRole = new ExpressionRole_returnedValue(tokenOrKeyword.parent);
|
5354
5374
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5355
5375
|
}
|
5356
|
-
if (tokenOrKeyword.isKeyword(
|
5376
|
+
if (tokenOrKeyword.isKeyword(44 /* Switch */) && tokenOrKeyword.parent.kind === 119 /* SwitchStatement */) {
|
5357
5377
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
|
5358
5378
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5359
5379
|
}
|
5360
|
-
if (tokenOrKeyword.isKeyword(13 /* If */) && tokenOrKeyword.parent.kind ===
|
5380
|
+
if (tokenOrKeyword.isKeyword(13 /* If */) && tokenOrKeyword.parent.kind === 109 /* IfStatement */) {
|
5361
5381
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5362
5382
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5363
5383
|
}
|
5364
|
-
if (tokenOrKeyword.isKeyword(11 /* ElseIf */) && tokenOrKeyword.parent.kind ===
|
5384
|
+
if (tokenOrKeyword.isKeyword(11 /* ElseIf */) && tokenOrKeyword.parent.kind === 111 /* ElseIfClause */) {
|
5365
5385
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5366
5386
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5367
5387
|
}
|
5368
|
-
if (tokenOrKeyword.isKeyword(9 /* From */) && tokenOrKeyword.parent.kind ===
|
5388
|
+
if (tokenOrKeyword.isKeyword(9 /* From */) && tokenOrKeyword.parent.kind === 108 /* ForStatement */) {
|
5369
5389
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.enumeratedExpression);
|
5370
5390
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5371
5391
|
}
|
5372
|
-
if (tokenOrKeyword.isKeyword(
|
5392
|
+
if (tokenOrKeyword.isKeyword(25 /* While */) && tokenOrKeyword.parent.kind === 122 /* WhileStatement */) {
|
5373
5393
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5374
5394
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5375
5395
|
}
|
5376
|
-
if (tokenOrKeyword.isKeyword(
|
5396
|
+
if (tokenOrKeyword.isKeyword(27 /* RepeatWhile */) && tokenOrKeyword.parent.kind === 116 /* LoopStatement */) {
|
5377
5397
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5378
5398
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5379
5399
|
}
|
5380
|
-
if (tokenOrKeyword.isKeyword(
|
5400
|
+
if (tokenOrKeyword.isKeyword(28 /* Yield */) && tokenOrKeyword.parent.kind === 123 /* YieldStatement */) {
|
5381
5401
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
|
5382
5402
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5383
5403
|
}
|
5384
|
-
if (tokenOrKeyword.isKeyword(
|
5404
|
+
if (tokenOrKeyword.isKeyword(29 /* When */) && tokenOrKeyword.parent.kind === 76 /* WhenTernaryExpression */) {
|
5385
5405
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5386
5406
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5387
5407
|
}
|
@@ -5407,7 +5427,7 @@ var SyntaxContextFactory = class {
|
|
5407
5427
|
if (tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 32 /* TypeMemberDeclarationBlock */ && (tokenOrKeyword.parent.parent.kind === 40 /* TypeExtensionDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 33 /* PackageStructuredTypeDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 38 /* PackageVariantTypeDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 22 /* PackageAliasTypeDeclaration */)) {
|
5408
5428
|
return true;
|
5409
5429
|
}
|
5410
|
-
if (tokenOrKeyword.isToken(20 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 21 /* TranslationsDeclaration */ || tokenOrKeyword.parent.kind === 24 /* PackageMemberGroupDeclaration */ || tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || tokenOrKeyword.parent.kind ===
|
5430
|
+
if (tokenOrKeyword.isToken(20 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 21 /* TranslationsDeclaration */ || tokenOrKeyword.parent.kind === 24 /* PackageMemberGroupDeclaration */ || tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || tokenOrKeyword.parent.kind === 94 /* FunctionBlock */ && (tokenOrKeyword.parent.parent.kind === 25 /* PackageConstructorDeclaration */ || tokenOrKeyword.parent.parent.kind === 26 /* PackageEntryPointDeclaration */ || tokenOrKeyword.parent.parent.kind === 27 /* PackageMethodDeclaration */))) {
|
5411
5431
|
return true;
|
5412
5432
|
}
|
5413
5433
|
if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 24 /* PackageMemberGroupDeclaration */) {
|
@@ -5419,10 +5439,10 @@ var SyntaxContextFactory = class {
|
|
5419
5439
|
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 37 /* PackageVariableSetterDeclaration */)) {
|
5420
5440
|
return true;
|
5421
5441
|
}
|
5422
|
-
if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind ===
|
5442
|
+
if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 149 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
|
5423
5443
|
return true;
|
5424
5444
|
}
|
5425
|
-
if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind ===
|
5445
|
+
if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 149 /* Modifier */ && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
|
5426
5446
|
return true;
|
5427
5447
|
}
|
5428
5448
|
return false;
|
@@ -5443,13 +5463,13 @@ var SyntaxContextFactory = class {
|
|
5443
5463
|
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
|
5444
5464
|
tokenOrKeyword,
|
5445
5465
|
51 /* TypeDereferencedVariableSetterDeclaration */
|
5446
|
-
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 52 /* TypeMethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 53 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 45 /* TypeConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 46 /* TypeDestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword,
|
5466
|
+
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 52 /* TypeMethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 53 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 45 /* TypeConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 46 /* TypeDestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 142 /* VariantDeclaration */)) {
|
5447
5467
|
return true;
|
5448
5468
|
}
|
5449
|
-
if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind ===
|
5469
|
+
if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 149 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
|
5450
5470
|
return true;
|
5451
5471
|
}
|
5452
|
-
if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind ===
|
5472
|
+
if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 149 /* Modifier */ && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
|
5453
5473
|
return true;
|
5454
5474
|
}
|
5455
5475
|
return false;
|
@@ -5486,7 +5506,7 @@ var SyntaxContextFactory = class {
|
|
5486
5506
|
return result;
|
5487
5507
|
}
|
5488
5508
|
static isUnqualifiedTypeContext(tokenOrKeyword) {
|
5489
|
-
if (tokenOrKeyword.isToken(23 /* Colon */) && tokenOrKeyword.parent.kind ===
|
5509
|
+
if (tokenOrKeyword.isToken(23 /* Colon */) && tokenOrKeyword.parent.kind === 156 /* TypeAnnotation */) {
|
5490
5510
|
return { allowsAnonymousTypes: true };
|
5491
5511
|
}
|
5492
5512
|
if ((tokenOrKeyword.isKeyword(4 /* Object */) || tokenOrKeyword.isKeyword(5 /* PlainObject */) || tokenOrKeyword.isKeyword(3 /* Aspect */)) && tokenOrKeyword.parent.kind === 34 /* StructuredTypeDeclarationBody */) {
|
@@ -5495,16 +5515,16 @@ var SyntaxContextFactory = class {
|
|
5495
5515
|
if (tokenOrKeyword.isKeyword(16 /* Type */) && (NodeTypeUtils.isPackageTypeDeclaration(tokenOrKeyword.parent) || tokenOrKeyword.parent.kind === 40 /* TypeExtensionDeclaration */)) {
|
5496
5516
|
return { allowsAnonymousTypes: false };
|
5497
5517
|
}
|
5498
|
-
if (tokenOrKeyword.isToken(36 /* LessThan */) && tokenOrKeyword.parent.kind ===
|
5518
|
+
if (tokenOrKeyword.isToken(36 /* LessThan */) && tokenOrKeyword.parent.kind === 152 /* TypeArgumentClause */) {
|
5499
5519
|
return { allowsAnonymousTypes: true };
|
5500
5520
|
}
|
5501
|
-
if (tokenOrKeyword.isToken(24 /* Comma */) && (tokenOrKeyword.parent.kind === 30 /* BaseTypeList */ || tokenOrKeyword.parent.kind ===
|
5502
|
-
return { allowsAnonymousTypes: tokenOrKeyword.parent.kind ===
|
5521
|
+
if (tokenOrKeyword.isToken(24 /* Comma */) && (tokenOrKeyword.parent.kind === 30 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 153 /* TypeArgumentList */)) {
|
5522
|
+
return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 153 /* TypeArgumentList */ };
|
5503
5523
|
}
|
5504
|
-
if (tokenOrKeyword.isToken(35 /* HashSign */) && tokenOrKeyword.parent.kind ===
|
5524
|
+
if (tokenOrKeyword.isToken(35 /* HashSign */) && tokenOrKeyword.parent.kind === 147 /* Tag */) {
|
5505
5525
|
return { allowsAnonymousTypes: false };
|
5506
5526
|
}
|
5507
|
-
if ((tokenOrKeyword.isToken(23 /* Colon */) || tokenOrKeyword.isToken(57 /* Equals */)) && tokenOrKeyword.parent.kind ===
|
5527
|
+
if ((tokenOrKeyword.isToken(23 /* Colon */) || tokenOrKeyword.isToken(57 /* Equals */)) && tokenOrKeyword.parent.kind === 143 /* TypeParameterDeclaration */) {
|
5508
5528
|
return { allowsAnonymousTypes: false };
|
5509
5529
|
}
|
5510
5530
|
if (tokenOrKeyword.isToken(57 /* Equals */) && tokenOrKeyword.parent.kind === 22 /* PackageAliasTypeDeclaration */) {
|
@@ -5513,7 +5533,7 @@ var SyntaxContextFactory = class {
|
|
5513
5533
|
if (tokenOrKeyword.isKeyword(14 /* Is */) && tokenOrKeyword.parent.kind === 73 /* IsExpression */) {
|
5514
5534
|
return { allowsAnonymousTypes: true };
|
5515
5535
|
}
|
5516
|
-
if (tokenOrKeyword.isKeyword(
|
5536
|
+
if (tokenOrKeyword.isKeyword(42 /* As */) && tokenOrKeyword.parent.kind === 65 /* AsExpression */) {
|
5517
5537
|
return { allowsAnonymousTypes: true };
|
5518
5538
|
}
|
5519
5539
|
if (tokenOrKeyword.isToken(17 /* Bar */) && tokenOrKeyword.parent.kind === 12 /* UnionTypeSpecifierTypeList */) {
|
@@ -5533,32 +5553,32 @@ var SyntaxContextFactory = class {
|
|
5533
5553
|
}
|
5534
5554
|
const packageImport = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5535
5555
|
tokenOrKeyword,
|
5536
|
-
|
5556
|
+
134 /* PackageImportTranslation */
|
5537
5557
|
);
|
5538
5558
|
if (packageImport !== void 0) {
|
5539
5559
|
return { translationsDeclaration: packageImport.parent.parent };
|
5540
5560
|
}
|
5541
|
-
const type = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword,
|
5561
|
+
const type = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 139 /* TypeTranslation */);
|
5542
5562
|
if (type !== void 0) {
|
5543
5563
|
return { translationsDeclaration: type.parent.parent };
|
5544
5564
|
}
|
5545
5565
|
const methodType = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5546
5566
|
tokenOrKeyword,
|
5547
|
-
|
5567
|
+
133 /* MethodTypeTranslation */
|
5548
5568
|
);
|
5549
5569
|
if (methodType !== void 0) {
|
5550
5570
|
return { translationsDeclaration: methodType.parent.parent };
|
5551
5571
|
}
|
5552
5572
|
const variable = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5553
5573
|
tokenOrKeyword,
|
5554
|
-
|
5574
|
+
136 /* PackageVariableTranslation */
|
5555
5575
|
);
|
5556
5576
|
if (variable !== void 0) {
|
5557
5577
|
return { translationsDeclaration: variable.parent.parent };
|
5558
5578
|
}
|
5559
5579
|
const method = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5560
5580
|
tokenOrKeyword,
|
5561
|
-
|
5581
|
+
131 /* PackageMethodTranslation */
|
5562
5582
|
);
|
5563
5583
|
if (method !== void 0) {
|
5564
5584
|
return { translationsDeclaration: method.parent.parent };
|
@@ -5566,33 +5586,33 @@ var SyntaxContextFactory = class {
|
|
5566
5586
|
return void 0;
|
5567
5587
|
}
|
5568
5588
|
static isTypeMemberTranslationListContext(tokenOrKeyword) {
|
5569
|
-
if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind ===
|
5589
|
+
if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 138 /* TypeMemberTranslationList */) {
|
5570
5590
|
return { typeTranslation: tokenOrKeyword.parent.parent };
|
5571
5591
|
}
|
5572
|
-
if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind ===
|
5592
|
+
if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslation */) {
|
5573
5593
|
return { typeTranslation: tokenOrKeyword.parent };
|
5574
5594
|
}
|
5575
|
-
const indexer = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword,
|
5595
|
+
const indexer = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 128 /* IndexerTranslation */);
|
5576
5596
|
if (indexer !== void 0) {
|
5577
5597
|
return { typeTranslation: indexer.parent.parent };
|
5578
5598
|
}
|
5579
5599
|
const constructor = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5580
5600
|
tokenOrKeyword,
|
5581
|
-
|
5601
|
+
126 /* ConstructorTranslation */
|
5582
5602
|
);
|
5583
5603
|
if (constructor !== void 0) {
|
5584
5604
|
return { typeTranslation: constructor.parent.parent };
|
5585
5605
|
}
|
5586
5606
|
const variableOrVariant = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5587
5607
|
tokenOrKeyword,
|
5588
|
-
|
5608
|
+
137 /* TypeVariableOrVariantTranslation */
|
5589
5609
|
);
|
5590
5610
|
if (variableOrVariant !== void 0) {
|
5591
5611
|
return { typeTranslation: variableOrVariant.parent.parent };
|
5592
5612
|
}
|
5593
5613
|
const method = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
|
5594
5614
|
tokenOrKeyword,
|
5595
|
-
|
5615
|
+
132 /* TypeMethodTranslation */
|
5596
5616
|
);
|
5597
5617
|
if (method !== void 0) {
|
5598
5618
|
return { typeTranslation: method.parent.parent };
|
@@ -5717,13 +5737,13 @@ var NodeSemanticInfoService = class {
|
|
5717
5737
|
return this.ofDereferenceExpressionOperator(analyzer, tokenOrKeyword.parent, options6);
|
5718
5738
|
} else if (tokenOrKeyword.parent.kind === 91 /* AssignmentStatement */) {
|
5719
5739
|
return this.ofAssignmentStatementOperator(analyzer, tokenOrKeyword.parent, options6);
|
5720
|
-
} else if (tokenOrKeyword.isKeyword(
|
5740
|
+
} else if (tokenOrKeyword.isKeyword(30 /* Creation */) && tokenOrKeyword.parent.kind === 45 /* TypeConstructorDeclaration */) {
|
5721
5741
|
return this.ofTypeConstructorDeclaration(analyzer, tokenOrKeyword.parent);
|
5722
5742
|
} else if (tokenOrKeyword.isToken(13 /* Asterisk */) && tokenOrKeyword.parent.kind === 90 /* DefaultMatchExpression */) {
|
5723
5743
|
return this.ofDefaultMatchExpression(analyzer, tokenOrKeyword.parent);
|
5724
5744
|
} else if (tokenOrKeyword.isKeyword(4 /* Object */) && tokenOrKeyword.parent.kind === 86 /* ObjectExpression */) {
|
5725
5745
|
return this.ofObjectExpression(analyzer, tokenOrKeyword.parent, options6);
|
5726
|
-
} else if (tokenOrKeyword.isKeyword(
|
5746
|
+
} else if (tokenOrKeyword.isKeyword(56 /* Base */) && tokenOrKeyword.parent.kind === 87 /* BaseExpression */) {
|
5727
5747
|
return this.ofBaseExpression(analyzer, tokenOrKeyword.parent, options6);
|
5728
5748
|
} else if ((tokenOrKeyword.isToken(45 /* OpenSquareBracket */) || tokenOrKeyword.isToken(22 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 49 /* TypeIndexerParameterClause */) {
|
5729
5749
|
return this.ofTypeIndexerDeclaration(analyzer, tokenOrKeyword.parent.parent);
|
@@ -5740,11 +5760,11 @@ var NodeSemanticInfoService = class {
|
|
5740
5760
|
let result;
|
5741
5761
|
const parent = node.parent;
|
5742
5762
|
switch (parent.kind) {
|
5743
|
-
case
|
5763
|
+
case 129 /* TranslationTypeParameterList */:
|
5744
5764
|
break;
|
5745
|
-
case
|
5765
|
+
case 124 /* TranslationParameterList */:
|
5746
5766
|
break;
|
5747
|
-
case
|
5767
|
+
case 145 /* Argument */: {
|
5748
5768
|
const respectiveParameter = analyzer.getRespectiveParameter(parent);
|
5749
5769
|
if (respectiveParameter !== void 0) {
|
5750
5770
|
const target = new SimpleWithLocalization(
|
@@ -5761,7 +5781,7 @@ var NodeSemanticInfoService = class {
|
|
5761
5781
|
case 60 /* EnumerationVariableDeclaration */:
|
5762
5782
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofEnumerationVariableDeclaration(parent));
|
5763
5783
|
break;
|
5764
|
-
case
|
5784
|
+
case 101 /* ErrorVariableDeclaration */:
|
5765
5785
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofErrorVariableDeclaration(parent));
|
5766
5786
|
break;
|
5767
5787
|
case 22 /* PackageAliasTypeDeclaration */:
|
@@ -5791,10 +5811,10 @@ var NodeSemanticInfoService = class {
|
|
5791
5811
|
case 59 /* LocalVariableDeclaration */:
|
5792
5812
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofLocalVariableDeclaration(parent));
|
5793
5813
|
break;
|
5794
|
-
case
|
5814
|
+
case 135 /* QualifiedName */:
|
5795
5815
|
result = this.ofQualifiedNameQualifier(analyzer, parent, node, options6);
|
5796
5816
|
break;
|
5797
|
-
case
|
5817
|
+
case 136 /* PackageVariableTranslation */: {
|
5798
5818
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5799
5819
|
const getTargetResult = translationPackage?.getPackageVariableTranslationTarget(parent);
|
5800
5820
|
if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
|
@@ -5814,7 +5834,7 @@ var NodeSemanticInfoService = class {
|
|
5814
5834
|
}
|
5815
5835
|
break;
|
5816
5836
|
}
|
5817
|
-
case
|
5837
|
+
case 137 /* TypeVariableOrVariantTranslation */: {
|
5818
5838
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5819
5839
|
const getTargetsResult = translationPackage?.getTypeVariableOrVariantTranslationTargets(parent);
|
5820
5840
|
if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
|
@@ -5838,7 +5858,7 @@ var NodeSemanticInfoService = class {
|
|
5838
5858
|
}
|
5839
5859
|
break;
|
5840
5860
|
}
|
5841
|
-
case
|
5861
|
+
case 131 /* PackageMethodTranslation */: {
|
5842
5862
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5843
5863
|
const getTargetsResult = translationPackage?.getPackageMethodTranslationTargets(parent);
|
5844
5864
|
if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
|
@@ -5862,7 +5882,7 @@ var NodeSemanticInfoService = class {
|
|
5862
5882
|
}
|
5863
5883
|
break;
|
5864
5884
|
}
|
5865
|
-
case
|
5885
|
+
case 132 /* TypeMethodTranslation */: {
|
5866
5886
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5867
5887
|
const getTargetsResult = translationPackage?.getTypeMethodTranslationTargets(parent);
|
5868
5888
|
if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
|
@@ -5886,7 +5906,7 @@ var NodeSemanticInfoService = class {
|
|
5886
5906
|
}
|
5887
5907
|
break;
|
5888
5908
|
}
|
5889
|
-
case
|
5909
|
+
case 139 /* TypeTranslation */: {
|
5890
5910
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5891
5911
|
const getTargetResult = translationPackage?.getTypeTranslationTarget(parent);
|
5892
5912
|
if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
|
@@ -5906,7 +5926,7 @@ var NodeSemanticInfoService = class {
|
|
5906
5926
|
}
|
5907
5927
|
break;
|
5908
5928
|
}
|
5909
|
-
case
|
5929
|
+
case 133 /* MethodTypeTranslation */: {
|
5910
5930
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
5911
5931
|
const getTargetResult = translationPackage?.getMethodTypeTranslationTarget(parent);
|
5912
5932
|
if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
|
@@ -5926,7 +5946,7 @@ var NodeSemanticInfoService = class {
|
|
5926
5946
|
}
|
5927
5947
|
break;
|
5928
5948
|
}
|
5929
|
-
case
|
5949
|
+
case 144 /* ParameterDeclaration */:
|
5930
5950
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofParameterDeclaration(parent));
|
5931
5951
|
break;
|
5932
5952
|
case 8 /* PackageImport */:
|
@@ -5947,10 +5967,10 @@ var NodeSemanticInfoService = class {
|
|
5947
5967
|
case 54 /* TypeVariableDeclaration */:
|
5948
5968
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofTypeVariableDeclaration(parent));
|
5949
5969
|
break;
|
5950
|
-
case
|
5970
|
+
case 143 /* TypeParameterDeclaration */:
|
5951
5971
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofTypeParameterDeclaration(parent));
|
5952
5972
|
break;
|
5953
|
-
case
|
5973
|
+
case 142 /* VariantDeclaration */:
|
5954
5974
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofVariantDeclaration(parent));
|
5955
5975
|
break;
|
5956
5976
|
case 36 /* PackageVariableGetterDeclaration */:
|
@@ -6076,10 +6096,10 @@ var NodeSemanticInfoService = class {
|
|
6076
6096
|
switch (node.parent.kind) {
|
6077
6097
|
case 10 /* NamedTypeSpecifier */:
|
6078
6098
|
return this.ofNamedTypeSpecifierNameQualifier(analyzer, node.parent, qualifier, options6);
|
6079
|
-
case
|
6099
|
+
case 147 /* Tag */:
|
6080
6100
|
return this.ofTagNameQualifier(analyzer, node.parent, qualifier, options6);
|
6081
6101
|
case 42 /* ExtendedTypeClause */:
|
6082
|
-
case
|
6102
|
+
case 134 /* PackageImportTranslation */:
|
6083
6103
|
return void 0;
|
6084
6104
|
default:
|
6085
6105
|
Debug.never(node.parent);
|
@@ -6820,7 +6840,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
6820
6840
|
case 38 /* PackageVariantTypeDeclaration */:
|
6821
6841
|
case 58 /* NestedMethodDeclaration */:
|
6822
6842
|
case 52 /* TypeMethodDeclaration */:
|
6823
|
-
case
|
6843
|
+
case 143 /* TypeParameterDeclaration */:
|
6824
6844
|
case 53 /* OperatorDeclaration */:
|
6825
6845
|
range = node.name.rangeWithoutTrivia;
|
6826
6846
|
break;
|
@@ -7661,17 +7681,17 @@ var EvaluatableExpressionService = class {
|
|
7661
7681
|
return { nameIdentifier: node.name };
|
7662
7682
|
case 59 /* LocalVariableDeclaration */:
|
7663
7683
|
return { nameIdentifier: node.name };
|
7664
|
-
case
|
7684
|
+
case 144 /* ParameterDeclaration */:
|
7665
7685
|
return { nameIdentifier: node.name };
|
7666
7686
|
case 52 /* TypeMethodDeclaration */:
|
7667
7687
|
return { nameIdentifier: node.name };
|
7668
7688
|
case 54 /* TypeVariableDeclaration */:
|
7669
7689
|
return { nameIdentifier: node.name };
|
7670
|
-
case
|
7690
|
+
case 143 /* TypeParameterDeclaration */:
|
7671
7691
|
return { nameIdentifier: node.name };
|
7672
|
-
case
|
7692
|
+
case 142 /* VariantDeclaration */:
|
7673
7693
|
return { nameIdentifier: node.name };
|
7674
|
-
case
|
7694
|
+
case 101 /* ErrorVariableDeclaration */:
|
7675
7695
|
return { nameIdentifier: node.name };
|
7676
7696
|
default:
|
7677
7697
|
return void 0;
|
@@ -7849,7 +7869,7 @@ var HoverService = class {
|
|
7849
7869
|
const typeText = this._displayService.displayType(firstTarget.value.type);
|
7850
7870
|
return new Hover(`${keywordText}: ${typeText}`, range);
|
7851
7871
|
} else if (firstTarget.value.typeContextKind === "base") {
|
7852
|
-
const keywordText = this._displayService.displayKeyword(
|
7872
|
+
const keywordText = this._displayService.displayKeyword(56 /* Base */);
|
7853
7873
|
const typeText = this._displayService.displayType(firstTarget.value.type);
|
7854
7874
|
return new Hover(`${keywordText}: ${typeText}`, range);
|
7855
7875
|
} else {
|
@@ -8106,7 +8126,7 @@ var SourceFileItemsService = class {
|
|
8106
8126
|
);
|
8107
8127
|
break;
|
8108
8128
|
}
|
8109
|
-
case
|
8129
|
+
case 142 /* VariantDeclaration */: {
|
8110
8130
|
result.push(
|
8111
8131
|
this.createItem(
|
8112
8132
|
9 /* Variant */,
|
@@ -8118,7 +8138,7 @@ var SourceFileItemsService = class {
|
|
8118
8138
|
);
|
8119
8139
|
break;
|
8120
8140
|
}
|
8121
|
-
case
|
8141
|
+
case 143 /* TypeParameterDeclaration */: {
|
8122
8142
|
result.push(
|
8123
8143
|
this.createItem(
|
8124
8144
|
18 /* TypeParameter */,
|
@@ -8174,23 +8194,23 @@ var SourceFileItemsService = class {
|
|
8174
8194
|
case 8 /* InvalidType */:
|
8175
8195
|
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(16 /* Type */, this.locale, this.dialect)}>`;
|
8176
8196
|
case 10 /* TypeConstructor */:
|
8177
|
-
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(
|
8197
|
+
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(30 /* Creation */, this.locale, this.dialect);
|
8178
8198
|
case 11 /* TypeDestructor */:
|
8179
|
-
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(
|
8199
|
+
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(47 /* Destruction */, this.locale, this.dialect);
|
8180
8200
|
case 9 /* Variant */:
|
8181
8201
|
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(6 /* Variant */, this.locale, this.dialect)}>`;
|
8182
8202
|
case 18 /* TypeParameter */:
|
8183
8203
|
return name ?? `<${LocalizationHelper.localizeHelperPhrase(2 /* TypeParameter */, this.locale)}>`;
|
8184
8204
|
case 2 /* PackageVariableGetter */:
|
8185
8205
|
case 13 /* TypeVariableGetter */:
|
8186
|
-
return `${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8206
|
+
return `${LocalizationHelper.localizeKeywordAndTakeFirst(58 /* Get */, this.locale, this.dialect)} ${name ?? ""}`;
|
8187
8207
|
case 3 /* PackageVariableSetter */:
|
8188
8208
|
case 14 /* TypeVariableSetter */:
|
8189
|
-
return `${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8209
|
+
return `${LocalizationHelper.localizeKeywordAndTakeFirst(59 /* Set */, this.locale, this.dialect)} ${name ?? ""}`;
|
8190
8210
|
case 16 /* TypeIndexedGetter */:
|
8191
|
-
return `${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8211
|
+
return `${LocalizationHelper.localizeKeywordAndTakeFirst(58 /* Get */, this.locale, this.dialect)} []`;
|
8192
8212
|
case 17 /* TypeIndexedSetter */:
|
8193
|
-
return `${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8213
|
+
return `${LocalizationHelper.localizeKeywordAndTakeFirst(59 /* Set */, this.locale, this.dialect)} []`;
|
8194
8214
|
default:
|
8195
8215
|
Debug.never(kind);
|
8196
8216
|
}
|
@@ -8385,7 +8405,7 @@ var SelectionRangeService = class {
|
|
8385
8405
|
}
|
8386
8406
|
}
|
8387
8407
|
switch (node.kind) {
|
8388
|
-
case
|
8408
|
+
case 156 /* TypeAnnotation */:
|
8389
8409
|
case 34 /* StructuredTypeDeclarationBody */:
|
8390
8410
|
case 39 /* VariantTypeDeclarationBody */:
|
8391
8411
|
case 23 /* AliasTypeDeclarationBody */:
|
@@ -8529,7 +8549,7 @@ var SemanticTokensService = class {
|
|
8529
8549
|
));
|
8530
8550
|
}
|
8531
8551
|
}
|
8532
|
-
if (node.kind ===
|
8552
|
+
if (node.kind === 142 /* VariantDeclaration */) {
|
8533
8553
|
result.push(
|
8534
8554
|
new SemanticToken(
|
8535
8555
|
node.name.rangeWithoutTrivia,
|
@@ -8713,7 +8733,7 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8713
8733
|
}
|
8714
8734
|
let node = token.parent;
|
8715
8735
|
while (node !== void 0) {
|
8716
|
-
if (node.kind ===
|
8736
|
+
if (node.kind === 152 /* TypeArgumentClause */ && this._offset >= node.lessThanToken.rangeWithoutTrivia.end && (node.greaterThanToken.rangeWithoutTrivia.isEmpty || this._offset <= node.greaterThanToken.rangeWithoutTrivia.start)) {
|
8717
8737
|
const argumentIndex = this.getArgumentIndex(node.typeArgumentList, this._offset);
|
8718
8738
|
const argumentCount = this.countArguments(node.typeArgumentList);
|
8719
8739
|
return new NodeWithTypeArgumentsInfo(node.parent, argumentIndex, argumentCount);
|
@@ -8760,7 +8780,7 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8760
8780
|
return this.getSignaturesForNamedTypeSpecifier(node);
|
8761
8781
|
case 89 /* GenericSpecializationExpression */:
|
8762
8782
|
return this.getSignaturesForGenericSpecializationExpression(node);
|
8763
|
-
case
|
8783
|
+
case 147 /* Tag */:
|
8764
8784
|
return this.getSignaturesForTag(node);
|
8765
8785
|
default:
|
8766
8786
|
Debug.never(node);
|
@@ -9091,7 +9111,7 @@ var ValueParametersSignatureHelpProvider = class {
|
|
9091
9111
|
}
|
9092
9112
|
break;
|
9093
9113
|
}
|
9094
|
-
case
|
9114
|
+
case 147 /* Tag */: {
|
9095
9115
|
if (node.openParenthesisToken !== void 0 && this._offset >= node.openParenthesisToken.rangeWithoutTrivia.end && node.argumentList !== void 0 && (node.closeParenthesisToken === void 0 || node.closeParenthesisToken.rangeWithoutTrivia.isEmpty || this._offset <= node.closeParenthesisToken.rangeWithoutTrivia.start)) {
|
9096
9116
|
const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
|
9097
9117
|
const valueArguments = ValueArgumentFactory.createValueArgumentsOfTag(node);
|
@@ -11628,7 +11648,7 @@ var EntityToSyntax = class {
|
|
11628
11648
|
convertPackageVariable(entity) {
|
11629
11649
|
const commonModifiers = new Array();
|
11630
11650
|
if (entity.isConstant()) {
|
11631
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11651
|
+
commonModifiers.push(SyntaxFactory.modifier(35 /* Const */));
|
11632
11652
|
}
|
11633
11653
|
const name = this.getEntityName(entity);
|
11634
11654
|
const type = this.convertType(entity.getType());
|
@@ -11670,7 +11690,7 @@ var EntityToSyntax = class {
|
|
11670
11690
|
const tags = this.convertTags(entity.getTags());
|
11671
11691
|
const modifiers = new Array();
|
11672
11692
|
if (entity.isAsync()) {
|
11673
|
-
modifiers.push(SyntaxFactory.modifier(
|
11693
|
+
modifiers.push(SyntaxFactory.modifier(40 /* Async */));
|
11674
11694
|
}
|
11675
11695
|
const isHidden = entity.isHidden();
|
11676
11696
|
if (isHidden !== void 0) {
|
@@ -11752,19 +11772,19 @@ var EntityToSyntax = class {
|
|
11752
11772
|
}
|
11753
11773
|
const commonModifiers = new Array();
|
11754
11774
|
if (entity.isConstant()) {
|
11755
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11775
|
+
commonModifiers.push(SyntaxFactory.modifier(35 /* Const */));
|
11756
11776
|
}
|
11757
11777
|
if (entity.isStatic()) {
|
11758
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11778
|
+
commonModifiers.push(SyntaxFactory.modifier(41 /* Static */));
|
11759
11779
|
}
|
11760
11780
|
if (entity.isAbstract()) {
|
11761
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11781
|
+
commonModifiers.push(SyntaxFactory.modifier(37 /* Abstract */));
|
11762
11782
|
}
|
11763
11783
|
if (entity.isRedefinable()) {
|
11764
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11784
|
+
commonModifiers.push(SyntaxFactory.modifier(38 /* Redefinable */));
|
11765
11785
|
}
|
11766
11786
|
if (entity.isRedefined()) {
|
11767
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11787
|
+
commonModifiers.push(SyntaxFactory.modifier(39 /* Redefined */));
|
11768
11788
|
}
|
11769
11789
|
const name = this.getEntityName(entity);
|
11770
11790
|
const type = this.convertType(entity.getType());
|
@@ -11810,16 +11830,16 @@ var EntityToSyntax = class {
|
|
11810
11830
|
modifiers.push(this.createHidingModifier(isHidden));
|
11811
11831
|
}
|
11812
11832
|
if (entity.isStatic()) {
|
11813
|
-
modifiers.push(SyntaxFactory.modifier(
|
11833
|
+
modifiers.push(SyntaxFactory.modifier(41 /* Static */));
|
11814
11834
|
}
|
11815
11835
|
if (entity.isAbstract()) {
|
11816
|
-
modifiers.push(SyntaxFactory.modifier(
|
11836
|
+
modifiers.push(SyntaxFactory.modifier(37 /* Abstract */));
|
11817
11837
|
}
|
11818
11838
|
if (entity.isRedefinable()) {
|
11819
|
-
modifiers.push(SyntaxFactory.modifier(
|
11839
|
+
modifiers.push(SyntaxFactory.modifier(38 /* Redefinable */));
|
11820
11840
|
}
|
11821
11841
|
if (entity.isRedefined()) {
|
11822
|
-
modifiers.push(SyntaxFactory.modifier(
|
11842
|
+
modifiers.push(SyntaxFactory.modifier(39 /* Redefined */));
|
11823
11843
|
}
|
11824
11844
|
const name = this.getEntityName(entity);
|
11825
11845
|
const typeParameters = this.convertTypeParameters(entity.getTypeParameters());
|
@@ -11835,7 +11855,7 @@ var EntityToSyntax = class {
|
|
11835
11855
|
modifiers.push(this.createHidingModifier(isHidden));
|
11836
11856
|
}
|
11837
11857
|
if (entity.isAbstract()) {
|
11838
|
-
modifiers.push(SyntaxFactory.modifier(
|
11858
|
+
modifiers.push(SyntaxFactory.modifier(37 /* Abstract */));
|
11839
11859
|
}
|
11840
11860
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11841
11861
|
return SyntaxFactory.typeConstructorDeclaration(tags, modifiers, parameters, void 0);
|
@@ -11848,7 +11868,7 @@ var EntityToSyntax = class {
|
|
11848
11868
|
modifiers.push(this.createHidingModifier(isHidden));
|
11849
11869
|
}
|
11850
11870
|
if (entity.isAbstract()) {
|
11851
|
-
modifiers.push(SyntaxFactory.modifier(
|
11871
|
+
modifiers.push(SyntaxFactory.modifier(37 /* Abstract */));
|
11852
11872
|
}
|
11853
11873
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11854
11874
|
return SyntaxFactory.typeDestructorDeclaration(tags, modifiers, parameters, void 0);
|
@@ -11856,10 +11876,10 @@ var EntityToSyntax = class {
|
|
11856
11876
|
convertTypeIndexer(entity) {
|
11857
11877
|
const commonModifiers = new Array();
|
11858
11878
|
if (entity.isStatic()) {
|
11859
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11879
|
+
commonModifiers.push(SyntaxFactory.modifier(41 /* Static */));
|
11860
11880
|
}
|
11861
11881
|
if (entity.isAbstract()) {
|
11862
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11882
|
+
commonModifiers.push(SyntaxFactory.modifier(37 /* Abstract */));
|
11863
11883
|
}
|
11864
11884
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11865
11885
|
const result = new Array();
|
@@ -11973,21 +11993,21 @@ var EntityToSyntax = class {
|
|
11973
11993
|
let levelKeyword;
|
11974
11994
|
switch (hiding.kind) {
|
11975
11995
|
case "type":
|
11976
|
-
levelKeyword =
|
11996
|
+
levelKeyword = 51 /* InType */;
|
11977
11997
|
break;
|
11978
11998
|
case "type-hierarchy":
|
11979
|
-
levelKeyword =
|
11999
|
+
levelKeyword = 48 /* InHierarchy */;
|
11980
12000
|
break;
|
11981
12001
|
case "file":
|
11982
|
-
levelKeyword =
|
12002
|
+
levelKeyword = 49 /* InFile */;
|
11983
12003
|
break;
|
11984
12004
|
case "package":
|
11985
|
-
levelKeyword =
|
12005
|
+
levelKeyword = 50 /* InPackage */;
|
11986
12006
|
break;
|
11987
12007
|
default:
|
11988
12008
|
Debug.never(hiding);
|
11989
12009
|
}
|
11990
|
-
return SyntaxFactory.modifier(
|
12010
|
+
return SyntaxFactory.modifier(36 /* Hidden */, levelKeyword);
|
11991
12011
|
}
|
11992
12012
|
convertTags(_entityTags) {
|
11993
12013
|
return [];
|