@artel/artc 0.6.25250 → 0.6.25252

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.
Files changed (32) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +10 -4
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +261 -236
  5. package/build/{chunk-VYUD26HA.js → chunk-5HDVI2S5.js} +2 -2
  6. package/build/{chunk-ZZKHAAAX.js → chunk-5VCM4RHV.js} +8 -6
  7. package/build/{chunk-DJEEXP7U.js → chunk-CQLARM2U.js} +1861 -1454
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +4 -4
  9. package/build/types/analysis/Analyzer.d.ts +13 -5
  10. package/build/types/analysis/DeclarationsUsageCounter.d.ts +3 -4
  11. package/build/types/analysis/DiagnosticCollector.d.ts +3 -5
  12. package/build/types/analysis/InstanceFieldsInitializationValidator.d.ts +2 -2
  13. package/build/types/analysis/Localization.d.ts +1 -1
  14. package/build/types/analysis/PackageAndStaticVariablesInitializationValidator.d.ts +3 -3
  15. package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +1 -1
  16. package/build/types/analysis/semantic-context/TranslationTextTemplateSemanticContext.d.ts +2 -2
  17. package/build/types/diagnostic/DiagnosticCode.d.ts +10 -12
  18. package/build/types/emitter/Emitter.d.ts +4 -8
  19. package/build/types/emitter/IrBuilder.d.ts +15 -10
  20. package/build/types/emitter/Transformer.d.ts +4 -1
  21. package/build/types/emitter/ir/EmitOptions.d.ts +5 -5
  22. package/build/types/emitter/ir/Nodes.d.ts +170 -153
  23. package/build/types/emitter/ir/types.d.ts +4 -4
  24. package/build/types/entities/LocalizableTextEntity.d.ts +75 -0
  25. package/build/types/entities/VariableEntity.d.ts +3 -3
  26. package/build/types/entities/index.d.ts +5 -2
  27. package/build/types/services/DisplayService.d.ts +1 -0
  28. package/build/types/tree/NodeKind.d.ts +88 -84
  29. package/build/types/tree/green/Nodes.d.ts +107 -66
  30. package/build/types/tree/green/SyntaxFactory.d.ts +5 -5
  31. package/build/types/tree/red/Nodes.d.ts +149 -104
  32. package/package.json +2 -2
@@ -38,7 +38,7 @@ import {
38
38
  FunctionDeclaration_substitutedFunction,
39
39
  FunctionDeclaration_typeMember,
40
40
  FunctionTypeDeclarationBody,
41
- FunctionTypeTranslation,
41
+ FunctionTypeTranslationDeclaration,
42
42
  GeneratedSourceFileScheme,
43
43
  GenericCancellationToken,
44
44
  InMemoryPackageScheme,
@@ -75,7 +75,7 @@ import {
75
75
  OperatorDeclaration_typeMember,
76
76
  PackageAliasTypeDeclaration,
77
77
  PackageFunctionDeclaration,
78
- PackageFunctionTranslation,
78
+ PackageFunctionTranslationDeclaration,
79
79
  PackageFunctionTypeDeclaration,
80
80
  PackageImport,
81
81
  PackageImportDirectiveList,
@@ -87,7 +87,7 @@ import {
87
87
  PackageVariableDeclaration,
88
88
  PackageVariableGetterDeclaration,
89
89
  PackageVariableSetterDeclaration,
90
- PackageVariableTranslation,
90
+ PackageVariableTranslationDeclaration,
91
91
  PackageVariantTypeDeclaration,
92
92
  ParameterClause,
93
93
  ParameterDeclaration,
@@ -140,7 +140,7 @@ import {
140
140
  TypeParameterClause,
141
141
  TypeParameterDeclaration,
142
142
  TypeParameterList,
143
- TypeTranslation,
143
+ TypeTranslationDeclaration,
144
144
  UnionTypeSpecifier,
145
145
  Uri,
146
146
  ValueParameterDeclaration_matchResultValueParameter,
@@ -178,7 +178,7 @@ import {
178
178
  unwrapParenthesizedExpressions,
179
179
  visitChildren,
180
180
  yieldExecution
181
- } from "../chunk-DJEEXP7U.js";
181
+ } from "../chunk-CQLARM2U.js";
182
182
 
183
183
  // source/services/CustomCommand.ts
184
184
  import * as ls from "vscode-languageserver";
@@ -315,7 +315,7 @@ var AddPropertyAssignmentService = class {
315
315
  const reassignmentText = `${leftValueText} = ${value}`;
316
316
  const subprogramBody = this.ifShouldBeAssignedAtTheEndOfSubprogramThenBody(assignmentNode);
317
317
  if (subprogramBody !== void 0) {
318
- const lastStatement = subprogramBody.expressionOrStatementList.kind === 90 /* StatementList */ ? subprogramBody.expressionOrStatementList?.statements.last() : subprogramBody.expressionOrStatementList;
318
+ const lastStatement = subprogramBody.expressionOrStatementList.kind === 93 /* StatementList */ ? subprogramBody.expressionOrStatementList?.statements.last() : subprogramBody.expressionOrStatementList;
319
319
  let editRangeStart;
320
320
  let indentationText;
321
321
  if (lastStatement !== void 0) {
@@ -347,9 +347,9 @@ var AddPropertyAssignmentService = class {
347
347
  ifShouldBeAssignedAtTheEndOfSubprogramThenBody(node) {
348
348
  const parent = node.parent.parent;
349
349
  switch (parent.kind) {
350
- case 91 /* StatementBlock */:
350
+ case 94 /* StatementBlock */:
351
351
  return this.getContainingSubprogram(parent)?.block;
352
- case 92 /* FunctionBlock */:
352
+ case 95 /* FunctionBlock */:
353
353
  return void 0;
354
354
  default:
355
355
  Debug.never(parent);
@@ -866,7 +866,7 @@ var SyntaxFactory = class {
866
866
  const sourceNameIdentifier = this.createIdentifier(sourceName);
867
867
  const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
868
868
  const translatedNameIdentifier = this.createIdentifier(translatedName);
869
- return new PackageVariableTranslation(sourceNameIdentifier, minusGreaterThanToken, translatedNameIdentifier);
869
+ return new PackageVariableTranslationDeclaration(sourceNameIdentifier, minusGreaterThanToken, translatedNameIdentifier);
870
870
  }
871
871
  static packageFunctionTranslation(sourceName, sourceTypeParameters, sourceParameters, translatedName, translatedTypeParameters, translatedParameters) {
872
872
  const functionKeyword = this.keyword(12 /* Function */);
@@ -877,7 +877,7 @@ var SyntaxFactory = class {
877
877
  const translatedNameIdentifier = this.createIdentifier(translatedName);
878
878
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
879
879
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
880
- return new PackageFunctionTranslation(
880
+ return new PackageFunctionTranslationDeclaration(
881
881
  functionKeyword,
882
882
  sourceNameIdentifier,
883
883
  sourceTypeParameterClause,
@@ -903,7 +903,7 @@ var SyntaxFactory = class {
903
903
  memberList = new TypeMemberTranslationList(members);
904
904
  closeBraceToken = this.token(21 /* CloseBrace */);
905
905
  }
906
- return new TypeTranslation(
906
+ return new TypeTranslationDeclaration(
907
907
  typeKeyword,
908
908
  sourceNameIdentifier,
909
909
  sourceTypeParameterClause,
@@ -924,7 +924,7 @@ var SyntaxFactory = class {
924
924
  const translatedNameIdentifier = this.createIdentifier(translatedName);
925
925
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
926
926
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
927
- return new FunctionTypeTranslation(
927
+ return new FunctionTypeTranslationDeclaration(
928
928
  typeKeyword,
929
929
  sourceNameIdentifier,
930
930
  sourceTypeParameterClause,
@@ -1627,7 +1627,7 @@ var SyntaxToCode = class _SyntaxToCode {
1627
1627
  case 10 /* NamedTypeSpecifier */:
1628
1628
  case 13 /* ParenthesizedTypeSpecifier */:
1629
1629
  case 14 /* NullableTypeSpecifier */:
1630
- case 16 /* InvalidTypeSpecifier */:
1630
+ case 16 /* MissingTypeSpecifier */:
1631
1631
  case 12 /* IntersectionTypeSpecifier */:
1632
1632
  return false;
1633
1633
  default:
@@ -1653,7 +1653,7 @@ var SyntaxToCode = class _SyntaxToCode {
1653
1653
  case 10 /* NamedTypeSpecifier */:
1654
1654
  case 13 /* ParenthesizedTypeSpecifier */:
1655
1655
  case 14 /* NullableTypeSpecifier */:
1656
- case 16 /* InvalidTypeSpecifier */:
1656
+ case 16 /* MissingTypeSpecifier */:
1657
1657
  return false;
1658
1658
  default:
1659
1659
  Debug.never(node);
@@ -1668,7 +1668,7 @@ var SyntaxToCode = class _SyntaxToCode {
1668
1668
  case 10 /* NamedTypeSpecifier */:
1669
1669
  case 13 /* ParenthesizedTypeSpecifier */:
1670
1670
  case 14 /* NullableTypeSpecifier */:
1671
- case 16 /* InvalidTypeSpecifier */:
1671
+ case 16 /* MissingTypeSpecifier */:
1672
1672
  return false;
1673
1673
  default:
1674
1674
  Debug.never(node);
@@ -1693,7 +1693,7 @@ var SyntaxToCode = class _SyntaxToCode {
1693
1693
  this.writeNodeDefault(node);
1694
1694
  }
1695
1695
  writeDeclarationBody(node, addLeadingNewLineOrWhitespace = true) {
1696
- if (node.expressionOrStatementList.kind !== 90 /* StatementList */ || node.expressionOrStatementList.elements.length === 0) {
1696
+ if (node.expressionOrStatementList.kind !== 93 /* StatementList */ || node.expressionOrStatementList.elements.length === 0) {
1697
1697
  this.writeWhitespace();
1698
1698
  this.writeFunctionBlock(node, false);
1699
1699
  } else {
@@ -2034,35 +2034,35 @@ var SyntaxToCode = class _SyntaxToCode {
2034
2034
  [52 /* FieldDeclaration */]: this.prototype.writeFieldDeclaration,
2035
2035
  [53 /* FieldGetterDeclaration */]: this.prototype.writeFieldGetterDeclaration,
2036
2036
  [54 /* FieldSetterDeclaration */]: this.prototype.writeFieldSetterDeclaration,
2037
- [91 /* StatementBlock */]: this.prototype.writeStatementBlock,
2038
- [92 /* FunctionBlock */]: this.prototype.writeFunctionBlock,
2039
- [135 /* QualifiedName */]: this.prototype.writeQualifiedName,
2040
- [145 /* VariantDeclaration */]: this.prototype.writeVariantDeclaration,
2041
- [146 /* TypeParameterDeclaration */]: this.prototype.writeTypeParameterDeclaration,
2042
- [147 /* ParameterDeclaration */]: this.prototype.writeParameterDeclaration,
2043
- [148 /* Argument */]: this.prototype.writeArgument,
2044
- [150 /* Tag */]: this.prototype.writeTag,
2045
- [152 /* Modifier */]: this.prototype.writeModifier,
2046
- [153 /* ParameterClause */]: this.prototype.writeParameterClause,
2047
- [154 /* ParameterList */]: this.prototype.writeParameterList,
2048
- [155 /* TypeArgumentClause */]: this.prototype.writeTypeArgumentClause,
2049
- [157 /* TypeParameterClause */]: this.prototype.writeTypeParameterClause,
2037
+ [94 /* StatementBlock */]: this.prototype.writeStatementBlock,
2038
+ [95 /* FunctionBlock */]: this.prototype.writeFunctionBlock,
2039
+ [138 /* QualifiedName */]: this.prototype.writeQualifiedName,
2040
+ [149 /* VariantDeclaration */]: this.prototype.writeVariantDeclaration,
2041
+ [150 /* TypeParameterDeclaration */]: this.prototype.writeTypeParameterDeclaration,
2042
+ [151 /* ParameterDeclaration */]: this.prototype.writeParameterDeclaration,
2043
+ [152 /* Argument */]: this.prototype.writeArgument,
2044
+ [154 /* Tag */]: this.prototype.writeTag,
2045
+ [156 /* Modifier */]: this.prototype.writeModifier,
2046
+ [157 /* ParameterClause */]: this.prototype.writeParameterClause,
2047
+ [158 /* ParameterList */]: this.prototype.writeParameterList,
2048
+ [159 /* TypeArgumentClause */]: this.prototype.writeTypeArgumentClause,
2049
+ [161 /* TypeParameterClause */]: this.prototype.writeTypeParameterClause,
2050
2050
  [17 /* AnonymousFunctionTypeDeclaration */]: this.prototype.writeAnonymousFunctionTypeDeclaration,
2051
2051
  [18 /* AnonymousStructuredTypeDeclaration */]: this.prototype.writeAnonymousStructuredTypeDeclaration,
2052
2052
  [19 /* AnonymousVariantTypeDeclaration */]: this.prototype.writeAnonymousVariantTypeDeclaration,
2053
2053
  [6 /* PackageGroupImportDirective */]: this.prototype.writeNodeDefault,
2054
2054
  [7 /* PackageImportList */]: this.prototype.writeNodeDefault,
2055
- [16 /* InvalidTypeSpecifier */]: this.prototype.writeNodeDefault,
2056
- [123 /* TopLevelTranslationList */]: this.prototype.writeNodeDefault,
2057
- [122 /* TranslationsDeclaration */]: this.prototype.writeTranslationsDeclaration,
2055
+ [16 /* MissingTypeSpecifier */]: this.prototype.writeNodeDefault,
2056
+ [126 /* TopLevelTranslationList */]: this.prototype.writeNodeDefault,
2057
+ [125 /* TranslationsDeclaration */]: this.prototype.writeTranslationsDeclaration,
2058
2058
  [21 /* AliasTypeDeclarationBody */]: this.prototype.writeNodeDefault,
2059
2059
  [29 /* TypeMemberDeclarationList */]: this.prototype.writeNodeDefault,
2060
2060
  [38 /* TypeExtensionDeclaration */]: this.prototype.writeNodeDefault,
2061
2061
  [39 /* ExtendedTypeClauseCommaList */]: this.prototype.writeNodeDefault,
2062
2062
  [40 /* ExtendedTypeClause */]: this.prototype.writeNodeDefault,
2063
- [41 /* InvalidPackageMemberDeclaration */]: this.prototype.writeNodeDefault,
2063
+ [41 /* MissingPackageMemberDeclaration */]: this.prototype.writeNodeDefault,
2064
2064
  [47 /* IndexParameterClause */]: this.prototype.writeNodeDefault,
2065
- [55 /* InvalidTypeMemberDeclaration */]: this.prototype.writeNodeDefault,
2065
+ [55 /* MissingTypeMemberDeclaration */]: this.prototype.writeNodeDefault,
2066
2066
  [56 /* NestedFunctionDeclaration */]: this.prototype.writeNodeDefault,
2067
2067
  [57 /* LocalVariableDeclaration */]: this.prototype.writeNodeDefault,
2068
2068
  [58 /* EnumerationVariableDeclaration */]: this.prototype.writeNodeDefault,
@@ -2077,7 +2077,7 @@ var SyntaxToCode = class _SyntaxToCode {
2077
2077
  [68 /* CallExpression */]: this.prototype.writeNodeDefault,
2078
2078
  [69 /* AutotypeCallExpression */]: this.prototype.writeNodeDefault,
2079
2079
  [70 /* IndexedAccessExpression */]: this.prototype.writeNodeDefault,
2080
- [71 /* InvalidExpression */]: this.prototype.writeNodeDefault,
2080
+ [71 /* MissingExpression */]: this.prototype.writeNodeDefault,
2081
2081
  [72 /* IsExpression */]: this.prototype.writeNodeDefault,
2082
2082
  [65 /* FunctionLiteral */]: this.prototype.writeNodeDefault,
2083
2083
  [73 /* ParenthesizedExpression */]: this.prototype.writeNodeDefault,
@@ -2086,72 +2086,76 @@ var SyntaxToCode = class _SyntaxToCode {
2086
2086
  [76 /* MemberAccessExpression */]: this.prototype.writeNodeDefault,
2087
2087
  [77 /* ReferenceExpression */]: this.prototype.writeNodeDefault,
2088
2088
  [78 /* DereferenceExpression */]: this.prototype.writeNodeDefault,
2089
+ [84 /* TextLiteral */]: this.prototype.writeNodeDefault,
2090
+ [85 /* LocalizableTextLiteral */]: this.prototype.writeNodeDefault,
2089
2091
  [79 /* TextTemplateLiteral */]: this.prototype.writeNodeDefault,
2090
- [80 /* TextTemplateSpanList */]: this.prototype.writeNodeDefault,
2091
- [81 /* TextTemplateSpan */]: this.prototype.writeNodeDefault,
2092
- [82 /* TokenExpression */]: this.prototype.writeNodeDefault,
2093
- [83 /* KeywordExpression */]: this.prototype.writeNodeDefault,
2094
- [84 /* ObjectExpression */]: this.prototype.writeNodeDefault,
2095
- [85 /* BaseExpression */]: this.prototype.writeNodeDefault,
2096
- [86 /* IdentifierExpression */]: this.prototype.writeNodeDefault,
2097
- [87 /* GenericSpecializationExpression */]: this.prototype.writeNodeDefault,
2098
- [88 /* DefaultMatchExpression */]: this.prototype.writeNodeDefault,
2099
- [89 /* AssignmentStatement */]: this.prototype.writeNodeDefault,
2100
- [90 /* StatementList */]: this.prototype.writeNodeDefault,
2101
- [93 /* BreakLoopStatement */]: this.prototype.writeNodeDefault,
2102
- [94 /* ContinueLoopStatement */]: this.prototype.writeNodeDefault,
2103
- [95 /* DisposeStatement */]: this.prototype.writeNodeDefault,
2104
- [96 /* RunStatement */]: this.prototype.writeNodeDefault,
2105
- [97 /* TryStatement */]: this.prototype.writeNodeDefault,
2106
- [98 /* CatchClause */]: this.prototype.writeNodeDefault,
2107
- [99 /* ErrorVariableDeclaration */]: this.prototype.writeNodeDefault,
2108
- [100 /* FinallyClause */]: this.prototype.writeNodeDefault,
2109
- [101 /* EmptyStatement */]: this.prototype.writeNodeDefault,
2110
- [102 /* ErrorStatement */]: this.prototype.writeNodeDefault,
2111
- [103 /* ImportantStatement */]: this.prototype.writeNodeDefault,
2112
- [104 /* ExpressionStatement */]: this.prototype.writeNodeDefault,
2113
- [105 /* EnumerationVariableList */]: this.prototype.writeNodeDefault,
2114
- [106 /* ForStatement */]: this.prototype.writeNodeDefault,
2115
- [107 /* IfStatement */]: this.prototype.writeNodeDefault,
2116
- [108 /* ElseIfClauseList */]: this.prototype.writeNodeDefault,
2117
- [109 /* ElseIfClause */]: this.prototype.writeNodeDefault,
2118
- [110 /* ElseClause */]: this.prototype.writeNodeDefault,
2119
- [111 /* InvalidStatement */]: this.prototype.writeNodeDefault,
2120
- [112 /* NestedFunctionDeclarationStatement */]: this.prototype.writeNodeDefault,
2121
- [113 /* LocalVariableDeclarationStatement */]: this.prototype.writeNodeDefault,
2122
- [114 /* LoopStatement */]: this.prototype.writeNodeDefault,
2123
- [115 /* ReturnStatement */]: this.prototype.writeNodeDefault,
2124
- [116 /* CaseClauseList */]: this.prototype.writeNodeDefault,
2125
- [117 /* SwitchStatement */]: this.prototype.writeNodeDefault,
2126
- [118 /* MatchExpressionList */]: this.prototype.writeNodeDefault,
2127
- [119 /* CaseClause */]: this.prototype.writeNodeDefault,
2128
- [120 /* WhileStatement */]: this.prototype.writeNodeDefault,
2129
- [121 /* YieldStatement */]: this.prototype.writeNodeDefault,
2130
- [124 /* TranslationParameterList */]: this.prototype.writeNodeDefault,
2131
- [125 /* TranslationParameterClause */]: this.prototype.writeTranslationParameterClause,
2132
- [126 /* ConstructorTranslation */]: this.prototype.writeConstructorTranslation,
2133
- [127 /* IndexParameterTranslationClause */]: this.prototype.writeIndexParameterTranslationClause,
2134
- [128 /* IndexerTranslation */]: this.prototype.writeIndexerTranslation,
2135
- [129 /* TranslationTypeParameterList */]: this.prototype.writeNodeDefault,
2136
- [130 /* TranslationTypeParameterClause */]: this.prototype.writeTranslationTypeParameterClause,
2137
- [131 /* PackageFunctionTranslation */]: this.prototype.writePackageFunctionTranslation,
2138
- [132 /* MethodTranslation */]: this.prototype.writeMethodTranslation,
2139
- [133 /* FunctionTypeTranslation */]: this.prototype.writeFunctionTypeTranslation,
2140
- [134 /* PackageImportTranslation */]: this.prototype.writePackageImportTranslation,
2141
- [136 /* PackageVariableTranslation */]: this.prototype.writePackageVariableTranslation,
2142
- [137 /* FieldOrVariantTranslation */]: this.prototype.writeFieldOrVariantTranslation,
2143
- [138 /* TypeMemberTranslationList */]: this.prototype.writeNodeDefault,
2144
- [139 /* TypeTranslation */]: this.prototype.writeTypeTranslation,
2145
- [140 /* TextTranslationDeclaration */]: this.prototype.writeNodeDefault,
2146
- [149 /* TagList */]: this.prototype.writeNodeDefault,
2147
- [151 /* ModifierList */]: this.prototype.writeNodeDefault,
2148
- [156 /* TypeArgumentList */]: this.prototype.writeNodeDefault,
2149
- [158 /* TypeParameterList */]: this.prototype.writeNodeDefault,
2150
- [159 /* TypeAnnotation */]: this.prototype.writeNodeDefault,
2151
- [141 /* TextTemplateDeclaration */]: this.prototype.writeNodeDefault,
2152
- [142 /* TextTemplateDeclarationSpanList */]: this.prototype.writeNodeDefault,
2153
- [143 /* TextTemplateDeclarationSpan */]: this.prototype.writeNodeDefault,
2154
- [144 /* TextTemplateParameterDeclaration */]: this.prototype.writeNodeDefault
2092
+ [80 /* LocalizableTextTemplateLiteral */]: this.prototype.writeNodeDefault,
2093
+ [81 /* TextTemplateSpanList */]: this.prototype.writeNodeDefault,
2094
+ [82 /* TextTemplateSpan */]: this.prototype.writeNodeDefault,
2095
+ [83 /* TokenExpression */]: this.prototype.writeNodeDefault,
2096
+ [86 /* KeywordExpression */]: this.prototype.writeNodeDefault,
2097
+ [87 /* ObjectExpression */]: this.prototype.writeNodeDefault,
2098
+ [88 /* BaseExpression */]: this.prototype.writeNodeDefault,
2099
+ [89 /* IdentifierExpression */]: this.prototype.writeNodeDefault,
2100
+ [90 /* GenericSpecializationExpression */]: this.prototype.writeNodeDefault,
2101
+ [91 /* DefaultMatchExpression */]: this.prototype.writeNodeDefault,
2102
+ [92 /* AssignmentStatement */]: this.prototype.writeNodeDefault,
2103
+ [93 /* StatementList */]: this.prototype.writeNodeDefault,
2104
+ [96 /* BreakLoopStatement */]: this.prototype.writeNodeDefault,
2105
+ [97 /* ContinueLoopStatement */]: this.prototype.writeNodeDefault,
2106
+ [98 /* DisposeStatement */]: this.prototype.writeNodeDefault,
2107
+ [99 /* RunStatement */]: this.prototype.writeNodeDefault,
2108
+ [100 /* TryStatement */]: this.prototype.writeNodeDefault,
2109
+ [101 /* CatchClause */]: this.prototype.writeNodeDefault,
2110
+ [102 /* ErrorVariableDeclaration */]: this.prototype.writeNodeDefault,
2111
+ [103 /* FinallyClause */]: this.prototype.writeNodeDefault,
2112
+ [104 /* EmptyStatement */]: this.prototype.writeNodeDefault,
2113
+ [105 /* ErrorStatement */]: this.prototype.writeNodeDefault,
2114
+ [106 /* ImportantStatement */]: this.prototype.writeNodeDefault,
2115
+ [107 /* ExpressionStatement */]: this.prototype.writeNodeDefault,
2116
+ [108 /* EnumerationVariableList */]: this.prototype.writeNodeDefault,
2117
+ [109 /* ForStatement */]: this.prototype.writeNodeDefault,
2118
+ [110 /* IfStatement */]: this.prototype.writeNodeDefault,
2119
+ [111 /* ElseIfClauseList */]: this.prototype.writeNodeDefault,
2120
+ [112 /* ElseIfClause */]: this.prototype.writeNodeDefault,
2121
+ [113 /* ElseClause */]: this.prototype.writeNodeDefault,
2122
+ [114 /* MissingStatement */]: this.prototype.writeNodeDefault,
2123
+ [115 /* NestedFunctionDeclarationStatement */]: this.prototype.writeNodeDefault,
2124
+ [116 /* LocalVariableDeclarationStatement */]: this.prototype.writeNodeDefault,
2125
+ [117 /* LoopStatement */]: this.prototype.writeNodeDefault,
2126
+ [118 /* ReturnStatement */]: this.prototype.writeNodeDefault,
2127
+ [119 /* CaseClauseList */]: this.prototype.writeNodeDefault,
2128
+ [120 /* SwitchStatement */]: this.prototype.writeNodeDefault,
2129
+ [121 /* MatchExpressionList */]: this.prototype.writeNodeDefault,
2130
+ [122 /* CaseClause */]: this.prototype.writeNodeDefault,
2131
+ [123 /* WhileStatement */]: this.prototype.writeNodeDefault,
2132
+ [124 /* YieldStatement */]: this.prototype.writeNodeDefault,
2133
+ [127 /* TranslationParameterList */]: this.prototype.writeNodeDefault,
2134
+ [128 /* TranslationParameterClause */]: this.prototype.writeTranslationParameterClause,
2135
+ [129 /* ConstructorTranslation */]: this.prototype.writeConstructorTranslation,
2136
+ [130 /* IndexParameterTranslationClause */]: this.prototype.writeIndexParameterTranslationClause,
2137
+ [131 /* IndexerTranslation */]: this.prototype.writeIndexerTranslation,
2138
+ [132 /* TranslationTypeParameterList */]: this.prototype.writeNodeDefault,
2139
+ [133 /* TranslationTypeParameterClause */]: this.prototype.writeTranslationTypeParameterClause,
2140
+ [134 /* PackageFunctionTranslationDeclaration */]: this.prototype.writePackageFunctionTranslation,
2141
+ [135 /* MethodTranslation */]: this.prototype.writeMethodTranslation,
2142
+ [136 /* FunctionTypeTranslationDeclaration */]: this.prototype.writeFunctionTypeTranslation,
2143
+ [137 /* PackageImportTranslationDeclaration */]: this.prototype.writePackageImportTranslation,
2144
+ [139 /* PackageVariableTranslationDeclaration */]: this.prototype.writePackageVariableTranslation,
2145
+ [140 /* FieldOrVariantTranslation */]: this.prototype.writeFieldOrVariantTranslation,
2146
+ [141 /* TypeMemberTranslationList */]: this.prototype.writeNodeDefault,
2147
+ [142 /* TypeTranslationDeclaration */]: this.prototype.writeTypeTranslation,
2148
+ [143 /* TextTranslationDeclaration */]: this.prototype.writeNodeDefault,
2149
+ [153 /* TagList */]: this.prototype.writeNodeDefault,
2150
+ [155 /* ModifierList */]: this.prototype.writeNodeDefault,
2151
+ [160 /* TypeArgumentList */]: this.prototype.writeNodeDefault,
2152
+ [162 /* TypeParameterList */]: this.prototype.writeNodeDefault,
2153
+ [163 /* TypeAnnotation */]: this.prototype.writeNodeDefault,
2154
+ [144 /* TranslationTextLiteral */]: this.prototype.writeNodeDefault,
2155
+ [145 /* TranslationTextTemplate */]: this.prototype.writeNodeDefault,
2156
+ [146 /* TranslationTextTemplateSpanList */]: this.prototype.writeNodeDefault,
2157
+ [147 /* TranslationTextTemplateSpan */]: this.prototype.writeNodeDefault,
2158
+ [148 /* TranslationTextTemplateParameter */]: this.prototype.writeNodeDefault
2155
2159
  };
2156
2160
  return writeFunctions;
2157
2161
  }
@@ -2335,7 +2339,7 @@ var TranslationsGenerationService = class {
2335
2339
  return void 0;
2336
2340
  }
2337
2341
  let result;
2338
- if (tokenOrKeyword.isToken(10 /* Identifier */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslation */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
2342
+ if (tokenOrKeyword.isToken(10 /* Identifier */) && tokenOrKeyword.parent.kind === 142 /* TypeTranslationDeclaration */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
2339
2343
  const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
2340
2344
  if (translationPackage !== void 0) {
2341
2345
  const generator = new TranslationsGenerator(
@@ -2347,7 +2351,7 @@ var TranslationsGenerationService = class {
2347
2351
  result = generator.generateMissingTypeMemberTranslations(tokenOrKeyword.parent);
2348
2352
  }
2349
2353
  }
2350
- if (result === void 0 && tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 122 /* TranslationsDeclaration */) {
2354
+ if (result === void 0 && tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 125 /* TranslationsDeclaration */) {
2351
2355
  const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
2352
2356
  if (translationPackage !== void 0) {
2353
2357
  const generator = new TranslationsGenerator(
@@ -2373,7 +2377,7 @@ var TranslationsGenerationService = class {
2373
2377
  if (tokenOrKeyword === void 0) {
2374
2378
  return false;
2375
2379
  }
2376
- if (!(tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 122 /* TranslationsDeclaration */)) {
2380
+ if (!(tokenOrKeyword.isKeyword(55 /* Translations */) && tokenOrKeyword.parent.kind === 125 /* TranslationsDeclaration */)) {
2377
2381
  return false;
2378
2382
  }
2379
2383
  const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
@@ -2381,7 +2385,7 @@ var TranslationsGenerationService = class {
2381
2385
  return false;
2382
2386
  }
2383
2387
  const generator = new TranslationsGenerator(analyzer, sourceFile, translationPackage, sourceFile.package.dialect);
2384
- 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);
2388
+ return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind === 142 /* TypeTranslationDeclaration */).mapAndFilter((t) => translationPackage.getTypeTranslationTarget(t).target).any((t) => generator.collectNotTranslatedTypeMembers(t).length > 0);
2385
2389
  }
2386
2390
  };
2387
2391
  var TranslationsGenerator = class _TranslationsGenerator {
@@ -2408,7 +2412,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2408
2412
  };
2409
2413
  const memberTranslationsCode = Query.from(memberEntities).mapAndFilter((m) => this.createPackageMemberTranslationNode(m)).uniqueWithComparator(compareNodes).map((n) => {
2410
2414
  const code = new SyntaxToCode(n, syntaxToCodeOptions).convert();
2411
- if (n.kind === 139 /* TypeTranslation */) {
2415
+ if (n.kind === 142 /* TypeTranslationDeclaration */) {
2412
2416
  const startOffset = Math.max(code.indexOf(newLine), 0);
2413
2417
  return this.addNewLineBeforeArrowsInTranslation(
2414
2418
  code,
@@ -2440,7 +2444,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2440
2444
  generateMissingTranslationsForPartiallyTranslatedTypes(translationsDeclaration) {
2441
2445
  const result = new Array();
2442
2446
  for (const translation of translationsDeclaration.translationList.translationDeclarations) {
2443
- if (translation.kind === 139 /* TypeTranslation */) {
2447
+ if (translation.kind === 142 /* TypeTranslationDeclaration */) {
2444
2448
  const edits = this.generateMissingTypeMemberTranslations(translation);
2445
2449
  if (edits !== void 0) {
2446
2450
  result.push(...edits);
@@ -2536,13 +2540,13 @@ var TranslationsGenerator = class _TranslationsGenerator {
2536
2540
  }
2537
2541
  detectIndentationStepForTypeMemberTranslations(node) {
2538
2542
  let indentationStepSize;
2539
- if (node.kind === 139 /* TypeTranslation */) {
2543
+ if (node.kind === 142 /* TypeTranslationDeclaration */) {
2540
2544
  indentationStepSize = tryDetectIndentationStepSizeUsingTypeTranslation(node, this._sourceFile);
2541
2545
  }
2542
2546
  if (indentationStepSize === void 0) {
2543
- const translationsDeclarations = node.kind === 122 /* TranslationsDeclaration */ ? node : node.parent.parent;
2547
+ const translationsDeclarations = node.kind === 125 /* TranslationsDeclaration */ ? node : node.parent.parent;
2544
2548
  for (const member of translationsDeclarations.translationList.translationDeclarations) {
2545
- if (member.kind === 139 /* TypeTranslation */) {
2549
+ if (member.kind === 142 /* TypeTranslationDeclaration */) {
2546
2550
  indentationStepSize = tryDetectIndentationStepSizeUsingTypeTranslation(member, this._sourceFile);
2547
2551
  if (indentationStepSize !== void 0) {
2548
2552
  break;
@@ -2822,7 +2826,7 @@ var SignatureForNode = class _SignatureForNode {
2822
2826
  return _SignatureForNode.getSignaturesForAutotypeCallExpression(analyzer, node);
2823
2827
  case 70 /* IndexedAccessExpression */:
2824
2828
  return _SignatureForNode.getSignaturesForIndexedAccessExpression(analyzer, node);
2825
- case 150 /* Tag */:
2829
+ case 154 /* Tag */:
2826
2830
  return _SignatureForNode.getSignaturesForTag(analyzer, node);
2827
2831
  default:
2828
2832
  Debug.never(node);
@@ -2960,7 +2964,7 @@ var SimplifiedOverloadResolver = class _SimplifiedOverloadResolver {
2960
2964
  result = false;
2961
2965
  break;
2962
2966
  }
2963
- if (argument.expression === void 0 || argument.expression.kind === 71 /* InvalidExpression */) {
2967
+ if (argument.expression === void 0 || argument.expression.kind === 71 /* MissingExpression */) {
2964
2968
  continue;
2965
2969
  }
2966
2970
  const targetParameterType = targetParameter.getType();
@@ -3204,7 +3208,7 @@ var CompletionService = class {
3204
3208
  const hidingMatcher = semanticContext.getHidingMatcher();
3205
3209
  return new TypeMemberCompletionContext(type, isStaticAccess, hidingMatcher, semanticContext);
3206
3210
  }
3207
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
3211
+ if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 138 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
3208
3212
  const namedTypeSpecifier = tokenOrKeyword.parent.parent;
3209
3213
  const resolutionResult = this._analyzer.resolveNamedTypeSpecifier(namedTypeSpecifier);
3210
3214
  const segmentIndex = Math.floor(
@@ -3243,7 +3247,7 @@ var CompletionService = class {
3243
3247
  }
3244
3248
  return { kind: "none" };
3245
3249
  }
3246
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 150 /* Tag */) {
3250
+ if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 138 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 154 /* Tag */) {
3247
3251
  const tag = tokenOrKeyword.parent.parent;
3248
3252
  const resolutionResult = this._analyzer.resolveTag(tag);
3249
3253
  const segmentIndex = Math.floor(
@@ -3329,17 +3333,17 @@ var CompletionService = class {
3329
3333
  translationKind = 0 /* Any */;
3330
3334
  hasPrecedingKeyword = false;
3331
3335
  }
3332
- if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 134 /* PackageImportTranslation */) {
3336
+ if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 137 /* PackageImportTranslationDeclaration */) {
3333
3337
  translationsDeclaration = tokenOrKeyword.parent.parent.parent;
3334
3338
  translationKind = 1 /* PackageImport */;
3335
3339
  hasPrecedingKeyword = true;
3336
3340
  }
3337
- if (tokenOrKeyword.isKeyword(16 /* Type */) && (tokenOrKeyword.parent.kind === 139 /* TypeTranslation */ || tokenOrKeyword.parent.kind === 133 /* FunctionTypeTranslation */)) {
3341
+ if (tokenOrKeyword.isKeyword(16 /* Type */) && (tokenOrKeyword.parent.kind === 142 /* TypeTranslationDeclaration */ || tokenOrKeyword.parent.kind === 136 /* FunctionTypeTranslationDeclaration */)) {
3338
3342
  translationsDeclaration = tokenOrKeyword.parent.parent.parent;
3339
3343
  translationKind = 3 /* Type */;
3340
3344
  hasPrecedingKeyword = true;
3341
3345
  }
3342
- if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 131 /* PackageFunctionTranslation */) {
3346
+ if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 134 /* PackageFunctionTranslationDeclaration */) {
3343
3347
  translationsDeclaration = tokenOrKeyword.parent.parent.parent;
3344
3348
  translationKind = 2 /* Method */;
3345
3349
  hasPrecedingKeyword = true;
@@ -3356,9 +3360,9 @@ var CompletionService = class {
3356
3360
  hasPrecedingKeyword
3357
3361
  );
3358
3362
  }
3359
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */) {
3363
+ if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 138 /* QualifiedName */) {
3360
3364
  const qualifiedName = tokenOrKeyword.parent;
3361
- if (qualifiedName.parent.kind === 134 /* PackageImportTranslation */ && qualifiedName === qualifiedName.parent.sourceName) {
3365
+ if (qualifiedName.parent.kind === 137 /* PackageImportTranslationDeclaration */ && qualifiedName === qualifiedName.parent.sourceName) {
3362
3366
  const precedingSegmentNames = qualifiedName.qualifiers.takeWhile((s) => s.rangeStart < tokenOrKeyword.value.rangeStart).map((p) => this._analyzer.createNameFromIdentifier(p)).toArray();
3363
3367
  const sourceLocale = translationPackage.getTargetPackage().getLocale();
3364
3368
  return new PackageImportCompletionContext(precedingSegmentNames, { sourceLocale });
@@ -3383,12 +3387,12 @@ var CompletionService = class {
3383
3387
  translationKind = 0 /* Any */;
3384
3388
  hasPrecedingKeyword = false;
3385
3389
  }
3386
- if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 132 /* MethodTranslation */) {
3390
+ if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 135 /* MethodTranslation */) {
3387
3391
  typeTranslation = tokenOrKeyword.parent.parent.parent;
3388
3392
  translationKind = 1 /* Method */;
3389
3393
  hasPrecedingKeyword = true;
3390
3394
  }
3391
- if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 126 /* ConstructorTranslation */) {
3395
+ if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 129 /* ConstructorTranslation */) {
3392
3396
  typeTranslation = tokenOrKeyword.parent.parent.parent;
3393
3397
  translationKind = 3 /* Constructor */;
3394
3398
  hasPrecedingKeyword = true;
@@ -3428,7 +3432,7 @@ var CompletionService = class {
3428
3432
  role.argumentList.parent
3429
3433
  );
3430
3434
  break;
3431
- case 150 /* Tag */:
3435
+ case 154 /* Tag */:
3432
3436
  signatures = SignatureForNode.getSignaturesForTag(this._analyzer, role.argumentList.parent);
3433
3437
  valueArguments = ValueArgumentFactory.createValueArgumentsOfTag(role.argumentList.parent);
3434
3438
  break;
@@ -3642,35 +3646,35 @@ var CompletionService = class {
3642
3646
  return false;
3643
3647
  }
3644
3648
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3645
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 114 /* LoopStatement */;
3649
+ return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 117 /* LoopStatement */;
3646
3650
  }
3647
3651
  isModifierLevelContext(positionDescription) {
3648
3652
  if (positionDescription.kind !== "after-token-or-keyword") {
3649
3653
  return false;
3650
3654
  }
3651
3655
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3652
- return tokenOrKeyword.isToken(45 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 152 /* Modifier */;
3656
+ return tokenOrKeyword.isToken(45 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 156 /* Modifier */;
3653
3657
  }
3654
3658
  isElseOrElseIfKeywordContext(positionDescription) {
3655
3659
  if (positionDescription.kind !== "after-token-or-keyword") {
3656
3660
  return false;
3657
3661
  }
3658
3662
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3659
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 107 /* IfStatement */ && tokenOrKeyword.parent === tokenOrKeyword.parent.parent.block || tokenOrKeyword.parent.parent.kind === 109 /* ElseIfClause */);
3663
+ return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 110 /* IfStatement */ && tokenOrKeyword.parent === tokenOrKeyword.parent.parent.block || tokenOrKeyword.parent.parent.kind === 112 /* ElseIfClause */);
3660
3664
  }
3661
3665
  isCatchKeywordContext(positionDescription) {
3662
3666
  if (positionDescription.kind !== "after-token-or-keyword") {
3663
3667
  return false;
3664
3668
  }
3665
3669
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3666
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 97 /* TryStatement */;
3670
+ return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */;
3667
3671
  }
3668
3672
  isFinallyKeywordContext(positionDescription) {
3669
3673
  if (positionDescription.kind !== "after-token-or-keyword") {
3670
3674
  return false;
3671
3675
  }
3672
3676
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3673
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 97 /* TryStatement */ || tokenOrKeyword.parent.parent.kind === 98 /* CatchClause */);
3677
+ return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */ || tokenOrKeyword.parent.parent.kind === 101 /* CatchClause */);
3674
3678
  }
3675
3679
  isTypeKindCompletionContext(positionDescription) {
3676
3680
  return positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(58 /* Equals */) && NodeTypeUtils.isPackageTypeDeclaration(positionDescription.tokenOrKeyword.parent);
@@ -3687,10 +3691,10 @@ var CompletionService = class {
3687
3691
  return false;
3688
3692
  }
3689
3693
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3690
- if (tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 119 /* CaseClause */) {
3694
+ if (tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 122 /* CaseClause */) {
3691
3695
  return true;
3692
3696
  }
3693
- if (syntaxContext.precedingExpression !== void 0 && syntaxContext.precedingExpression.parent.kind === 117 /* SwitchStatement */) {
3697
+ if (syntaxContext.precedingExpression !== void 0 && syntaxContext.precedingExpression.parent.kind === 120 /* SwitchStatement */) {
3694
3698
  return true;
3695
3699
  }
3696
3700
  return false;
@@ -4242,11 +4246,11 @@ function getRightmostChildExcludingValidEmptyNodes(node) {
4242
4246
  }
4243
4247
  function isInvalidNode(node) {
4244
4248
  switch (node.kind) {
4245
- case 71 /* InvalidExpression */:
4246
- case 41 /* InvalidPackageMemberDeclaration */:
4247
- case 111 /* InvalidStatement */:
4248
- case 55 /* InvalidTypeMemberDeclaration */:
4249
- case 16 /* InvalidTypeSpecifier */:
4249
+ case 71 /* MissingExpression */:
4250
+ case 41 /* MissingPackageMemberDeclaration */:
4251
+ case 114 /* MissingStatement */:
4252
+ case 55 /* MissingTypeMemberDeclaration */:
4253
+ case 16 /* MissingTypeSpecifier */:
4250
4254
  return true;
4251
4255
  case 0 /* Token */:
4252
4256
  return node.isMissing;
@@ -5039,7 +5043,7 @@ var SyntaxContextFactory = class {
5039
5043
  if (positionDescription.kind === "after-token-or-keyword") {
5040
5044
  isUnqualifiedTypeContext = this.isUnqualifiedTypeContext(positionDescription.tokenOrKeyword);
5041
5045
  }
5042
- const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(36 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 150 /* Tag */;
5046
+ const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(36 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 154 /* Tag */;
5043
5047
  let isTopLevelTranslationListContext;
5044
5048
  if (positionDescription.kind === "after-token-or-keyword") {
5045
5049
  isTopLevelTranslationListContext = this.isTopLevelTranslationListContext(positionDescription.tokenOrKeyword);
@@ -5065,7 +5069,7 @@ var SyntaxContextFactory = class {
5065
5069
  }
5066
5070
  static isExpressionOrStatementContext(tokenOrKeyword) {
5067
5071
  if (tokenOrKeyword.isToken(58 /* Equals */)) {
5068
- if (tokenOrKeyword.parent.kind === 89 /* AssignmentStatement */) {
5072
+ if (tokenOrKeyword.parent.kind === 92 /* AssignmentStatement */) {
5069
5073
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.right);
5070
5074
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5071
5075
  }
@@ -5081,20 +5085,20 @@ var SyntaxContextFactory = class {
5081
5085
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.initializer);
5082
5086
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5083
5087
  }
5084
- if (tokenOrKeyword.parent.kind === 147 /* ParameterDeclaration */) {
5088
+ if (tokenOrKeyword.parent.kind === 151 /* ParameterDeclaration */) {
5085
5089
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.defaultValue);
5086
5090
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5087
5091
  }
5088
- if (tokenOrKeyword.parent.kind === 148 /* Argument */) {
5092
+ if (tokenOrKeyword.parent.kind === 152 /* Argument */) {
5089
5093
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
5090
5094
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5091
5095
  }
5092
- if (tokenOrKeyword.parent.kind === 145 /* VariantDeclaration */) {
5096
+ if (tokenOrKeyword.parent.kind === 149 /* VariantDeclaration */) {
5093
5097
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
5094
5098
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5095
5099
  }
5096
5100
  }
5097
- if (tokenOrKeyword.parent.kind === 89 /* AssignmentStatement */) {
5101
+ if (tokenOrKeyword.parent.kind === 92 /* AssignmentStatement */) {
5098
5102
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.right);
5099
5103
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5100
5104
  }
@@ -5110,7 +5114,7 @@ var SyntaxContextFactory = class {
5110
5114
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.spanList.spans.at(0)?.expression);
5111
5115
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5112
5116
  }
5113
- if (tokenOrKeyword.isToken(8 /* TextTemplatePart */) && tokenOrKeyword.parent.kind === 81 /* TextTemplateSpan */) {
5117
+ if (tokenOrKeyword.isToken(8 /* TextTemplatePart */) && tokenOrKeyword.parent.kind === 82 /* TextTemplateSpan */) {
5114
5118
  let expressionForTargetType;
5115
5119
  const spanList = tokenOrKeyword.parent.parent;
5116
5120
  const spanIndex = spanList.spans.indexOf(tokenOrKeyword.parent);
@@ -5122,12 +5126,12 @@ var SyntaxContextFactory = class {
5122
5126
  isStatementContext: false
5123
5127
  };
5124
5128
  }
5125
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 91 /* StatementBlock */) {
5129
+ if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */) {
5126
5130
  return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
5127
5131
  }
5128
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 92 /* FunctionBlock */) {
5132
+ if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 95 /* FunctionBlock */) {
5129
5133
  const block = tokenOrKeyword.parent;
5130
- if (block.expressionOrStatementList.kind !== 90 /* StatementList */ || block.expressionOrStatementList.statements.count() === 0) {
5134
+ if (block.expressionOrStatementList.kind !== 93 /* StatementList */ || block.expressionOrStatementList.statements.count() === 0) {
5131
5135
  return {
5132
5136
  isExpressionContext: { expressionRole: new ExpressionRole_functionBlockExpression(block) },
5133
5137
  isStatementContext: true
@@ -5139,7 +5143,7 @@ var SyntaxContextFactory = class {
5139
5143
  };
5140
5144
  }
5141
5145
  }
5142
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 90 /* StatementList */) {
5146
+ if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 93 /* StatementList */) {
5143
5147
  return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
5144
5148
  }
5145
5149
  if (tokenOrKeyword.isToken(45 /* OpenParenthesis */)) {
@@ -5159,7 +5163,7 @@ var SyntaxContextFactory = class {
5159
5163
  const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
5160
5164
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5161
5165
  }
5162
- if (tokenOrKeyword.parent.kind === 150 /* Tag */) {
5166
+ if (tokenOrKeyword.parent.kind === 154 /* Tag */) {
5163
5167
  const argumentList = tokenOrKeyword.parent.argumentList;
5164
5168
  if (argumentList !== void 0) {
5165
5169
  const expressionRole = new ExpressionRole_argument(argumentList, 0);
@@ -5194,7 +5198,7 @@ var SyntaxContextFactory = class {
5194
5198
  const expressionRole = new ExpressionRole_argument(argumentList, index);
5195
5199
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5196
5200
  }
5197
- if (tokenOrKeyword.parent.kind === 118 /* MatchExpressionList */) {
5201
+ if (tokenOrKeyword.parent.kind === 121 /* MatchExpressionList */) {
5198
5202
  const expressionRole = new ExpressionRole_matchListElement(tokenOrKeyword.parent.parent.parent.parent);
5199
5203
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5200
5204
  }
@@ -5214,47 +5218,47 @@ var SyntaxContextFactory = class {
5214
5218
  return { isExpressionContext: void 0, isStatementContext: false };
5215
5219
  }
5216
5220
  }
5217
- if (tokenOrKeyword.isKeyword(45 /* Case */) && tokenOrKeyword.parent.kind === 119 /* CaseClause */) {
5221
+ if (tokenOrKeyword.isKeyword(45 /* Case */) && tokenOrKeyword.parent.kind === 122 /* CaseClause */) {
5218
5222
  const expressionRole = new ExpressionRole_matchListElement(tokenOrKeyword.parent.parent.parent);
5219
5223
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5220
5224
  }
5221
- if (tokenOrKeyword.isKeyword(15 /* Return */) && tokenOrKeyword.parent.kind === 115 /* ReturnStatement */) {
5225
+ if (tokenOrKeyword.isKeyword(15 /* Return */) && tokenOrKeyword.parent.kind === 118 /* ReturnStatement */) {
5222
5226
  const expressionRole = new ExpressionRole_returnedValue(tokenOrKeyword.parent);
5223
5227
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5224
5228
  }
5225
- if (tokenOrKeyword.isKeyword(20 /* Error */) && tokenOrKeyword.parent.kind === 102 /* ErrorStatement */) {
5229
+ if (tokenOrKeyword.isKeyword(20 /* Error */) && tokenOrKeyword.parent.kind === 105 /* ErrorStatement */) {
5226
5230
  const expressionRole = new ExpressionRole_errorValue(tokenOrKeyword.parent);
5227
5231
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5228
5232
  }
5229
- if (tokenOrKeyword.isKeyword(19 /* Important */) && tokenOrKeyword.parent.kind === 103 /* ImportantStatement */) {
5233
+ if (tokenOrKeyword.isKeyword(19 /* Important */) && tokenOrKeyword.parent.kind === 106 /* ImportantStatement */) {
5230
5234
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
5231
5235
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5232
5236
  }
5233
- if (tokenOrKeyword.isKeyword(44 /* Switch */) && tokenOrKeyword.parent.kind === 117 /* SwitchStatement */) {
5237
+ if (tokenOrKeyword.isKeyword(44 /* Switch */) && tokenOrKeyword.parent.kind === 120 /* SwitchStatement */) {
5234
5238
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
5235
5239
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5236
5240
  }
5237
- if (tokenOrKeyword.isKeyword(13 /* If */) && tokenOrKeyword.parent.kind === 107 /* IfStatement */) {
5241
+ if (tokenOrKeyword.isKeyword(13 /* If */) && tokenOrKeyword.parent.kind === 110 /* IfStatement */) {
5238
5242
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
5239
5243
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5240
5244
  }
5241
- if (tokenOrKeyword.isKeyword(11 /* ElseIf */) && tokenOrKeyword.parent.kind === 109 /* ElseIfClause */) {
5245
+ if (tokenOrKeyword.isKeyword(11 /* ElseIf */) && tokenOrKeyword.parent.kind === 112 /* ElseIfClause */) {
5242
5246
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
5243
5247
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5244
5248
  }
5245
- if (tokenOrKeyword.isKeyword(9 /* From */) && tokenOrKeyword.parent.kind === 106 /* ForStatement */) {
5249
+ if (tokenOrKeyword.isKeyword(9 /* From */) && tokenOrKeyword.parent.kind === 109 /* ForStatement */) {
5246
5250
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.enumeratedExpression);
5247
5251
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5248
5252
  }
5249
- if (tokenOrKeyword.isKeyword(25 /* While */) && tokenOrKeyword.parent.kind === 120 /* WhileStatement */) {
5253
+ if (tokenOrKeyword.isKeyword(25 /* While */) && tokenOrKeyword.parent.kind === 123 /* WhileStatement */) {
5250
5254
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
5251
5255
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5252
5256
  }
5253
- if (tokenOrKeyword.isKeyword(27 /* RepeatWhile */) && tokenOrKeyword.parent.kind === 114 /* LoopStatement */) {
5257
+ if (tokenOrKeyword.isKeyword(27 /* RepeatWhile */) && tokenOrKeyword.parent.kind === 117 /* LoopStatement */) {
5254
5258
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
5255
5259
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5256
5260
  }
5257
- if (tokenOrKeyword.isKeyword(28 /* Yield */) && tokenOrKeyword.parent.kind === 121 /* YieldStatement */) {
5261
+ if (tokenOrKeyword.isKeyword(28 /* Yield */) && tokenOrKeyword.parent.kind === 124 /* YieldStatement */) {
5258
5262
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
5259
5263
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5260
5264
  }
@@ -5280,7 +5284,7 @@ var SyntaxContextFactory = class {
5280
5284
  if (tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 30 /* TypeMemberDeclarationBlock */ && (tokenOrKeyword.parent.parent.kind === 38 /* TypeExtensionDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 31 /* PackageStructuredTypeDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 36 /* PackageVariantTypeDeclaration */ || tokenOrKeyword.parent.parent.parent.kind === 20 /* PackageAliasTypeDeclaration */)) {
5281
5285
  return true;
5282
5286
  }
5283
- if (tokenOrKeyword.isToken(21 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 122 /* TranslationsDeclaration */ || tokenOrKeyword.parent.kind === 22 /* PackageMemberGroupDeclaration */ || tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || tokenOrKeyword.parent.kind === 92 /* FunctionBlock */ && (tokenOrKeyword.parent.parent.kind === 23 /* PackageConstructorDeclaration */ || tokenOrKeyword.parent.parent.kind === 24 /* PackageEntryPointDeclaration */ || tokenOrKeyword.parent.parent.kind === 25 /* PackageFunctionDeclaration */))) {
5287
+ if (tokenOrKeyword.isToken(21 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 125 /* TranslationsDeclaration */ || tokenOrKeyword.parent.kind === 22 /* PackageMemberGroupDeclaration */ || tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || tokenOrKeyword.parent.kind === 95 /* FunctionBlock */ && (tokenOrKeyword.parent.parent.kind === 23 /* PackageConstructorDeclaration */ || tokenOrKeyword.parent.parent.kind === 24 /* PackageEntryPointDeclaration */ || tokenOrKeyword.parent.parent.kind === 25 /* PackageFunctionDeclaration */))) {
5284
5288
  return true;
5285
5289
  }
5286
5290
  if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 22 /* PackageMemberGroupDeclaration */) {
@@ -5292,13 +5296,13 @@ var SyntaxContextFactory = class {
5292
5296
  ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 35 /* PackageVariableSetterDeclaration */)) {
5293
5297
  return true;
5294
5298
  }
5295
- if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 152 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5299
+ if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 156 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5296
5300
  return true;
5297
5301
  }
5298
- if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 152 /* Modifier */ && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5302
+ if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 156 /* Modifier */ && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5299
5303
  return true;
5300
5304
  }
5301
- const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 150 /* Tag */);
5305
+ const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 154 /* Tag */);
5302
5306
  if (tag !== void 0 && NodeTypeUtils.isPackageMemberDeclaration(tag.parent.parent)) {
5303
5307
  return true;
5304
5308
  }
@@ -5326,16 +5330,16 @@ var SyntaxContextFactory = class {
5326
5330
  ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
5327
5331
  tokenOrKeyword,
5328
5332
  49 /* DereferencedVariableSetterDeclaration */
5329
- ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 50 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 51 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 43 /* ConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 44 /* DestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 145 /* VariantDeclaration */)) {
5333
+ ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 50 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 51 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 43 /* ConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 44 /* DestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 149 /* VariantDeclaration */)) {
5330
5334
  return true;
5331
5335
  }
5332
- if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 152 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5336
+ if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 156 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5333
5337
  return true;
5334
5338
  }
5335
- if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 152 /* Modifier */ && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5339
+ if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 156 /* Modifier */ && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5336
5340
  return true;
5337
5341
  }
5338
- const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 150 /* Tag */);
5342
+ const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 154 /* Tag */);
5339
5343
  if (tag !== void 0 && NodeTypeUtils.isTypeMemberDeclaration(tag.parent.parent)) {
5340
5344
  return true;
5341
5345
  }
@@ -5373,7 +5377,7 @@ var SyntaxContextFactory = class {
5373
5377
  return result;
5374
5378
  }
5375
5379
  static isUnqualifiedTypeContext(tokenOrKeyword) {
5376
- if (tokenOrKeyword.isToken(24 /* Colon */) && tokenOrKeyword.parent.kind === 159 /* TypeAnnotation */) {
5380
+ if (tokenOrKeyword.isToken(24 /* Colon */) && tokenOrKeyword.parent.kind === 163 /* TypeAnnotation */) {
5377
5381
  return { allowsAnonymousTypes: true };
5378
5382
  }
5379
5383
  if ((tokenOrKeyword.isKeyword(4 /* Object */) || tokenOrKeyword.isKeyword(5 /* PlainObject */) || tokenOrKeyword.isKeyword(3 /* Aspect */)) && tokenOrKeyword.parent.kind === 32 /* StructuredTypeDeclarationBody */) {
@@ -5382,16 +5386,16 @@ var SyntaxContextFactory = class {
5382
5386
  if (tokenOrKeyword.isKeyword(16 /* Type */) && (NodeTypeUtils.isPackageTypeDeclaration(tokenOrKeyword.parent) || tokenOrKeyword.parent.kind === 38 /* TypeExtensionDeclaration */)) {
5383
5387
  return { allowsAnonymousTypes: false };
5384
5388
  }
5385
- if (tokenOrKeyword.isToken(37 /* LessThan */) && tokenOrKeyword.parent.kind === 155 /* TypeArgumentClause */) {
5389
+ if (tokenOrKeyword.isToken(37 /* LessThan */) && tokenOrKeyword.parent.kind === 159 /* TypeArgumentClause */) {
5386
5390
  return { allowsAnonymousTypes: true };
5387
5391
  }
5388
- if (tokenOrKeyword.isToken(25 /* Comma */) && (tokenOrKeyword.parent.kind === 28 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 156 /* TypeArgumentList */)) {
5389
- return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 156 /* TypeArgumentList */ };
5392
+ if (tokenOrKeyword.isToken(25 /* Comma */) && (tokenOrKeyword.parent.kind === 28 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 160 /* TypeArgumentList */)) {
5393
+ return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 160 /* TypeArgumentList */ };
5390
5394
  }
5391
- if (tokenOrKeyword.isToken(36 /* HashSign */) && tokenOrKeyword.parent.kind === 150 /* Tag */) {
5395
+ if (tokenOrKeyword.isToken(36 /* HashSign */) && tokenOrKeyword.parent.kind === 154 /* Tag */) {
5392
5396
  return { allowsAnonymousTypes: false };
5393
5397
  }
5394
- if ((tokenOrKeyword.isToken(24 /* Colon */) || tokenOrKeyword.isToken(58 /* Equals */)) && tokenOrKeyword.parent.kind === 146 /* TypeParameterDeclaration */) {
5398
+ if ((tokenOrKeyword.isToken(24 /* Colon */) || tokenOrKeyword.isToken(58 /* Equals */)) && tokenOrKeyword.parent.kind === 150 /* TypeParameterDeclaration */) {
5395
5399
  return { allowsAnonymousTypes: false };
5396
5400
  }
5397
5401
  if (tokenOrKeyword.isToken(58 /* Equals */) && tokenOrKeyword.parent.kind === 20 /* PackageAliasTypeDeclaration */) {
@@ -5415,40 +5419,43 @@ var SyntaxContextFactory = class {
5415
5419
  return void 0;
5416
5420
  }
5417
5421
  static isTopLevelTranslationListContext(tokenOrKeyword) {
5418
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 123 /* TopLevelTranslationList */) {
5422
+ if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 126 /* TopLevelTranslationList */) {
5419
5423
  return { translationsDeclaration: tokenOrKeyword.parent.parent };
5420
5424
  }
5421
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 122 /* TranslationsDeclaration */) {
5425
+ if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 125 /* TranslationsDeclaration */) {
5422
5426
  return { translationsDeclaration: tokenOrKeyword.parent };
5423
5427
  }
5424
5428
  const packageImport = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5425
5429
  tokenOrKeyword,
5426
- 134 /* PackageImportTranslation */
5430
+ 137 /* PackageImportTranslationDeclaration */
5427
5431
  );
5428
5432
  if (packageImport !== void 0) {
5429
5433
  return { translationsDeclaration: packageImport.parent.parent };
5430
5434
  }
5431
- const type = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 139 /* TypeTranslation */);
5435
+ const type = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5436
+ tokenOrKeyword,
5437
+ 142 /* TypeTranslationDeclaration */
5438
+ );
5432
5439
  if (type !== void 0) {
5433
5440
  return { translationsDeclaration: type.parent.parent };
5434
5441
  }
5435
5442
  const functionType = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5436
5443
  tokenOrKeyword,
5437
- 133 /* FunctionTypeTranslation */
5444
+ 136 /* FunctionTypeTranslationDeclaration */
5438
5445
  );
5439
5446
  if (functionType !== void 0) {
5440
5447
  return { translationsDeclaration: functionType.parent.parent };
5441
5448
  }
5442
5449
  const variable = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5443
5450
  tokenOrKeyword,
5444
- 136 /* PackageVariableTranslation */
5451
+ 139 /* PackageVariableTranslationDeclaration */
5445
5452
  );
5446
5453
  if (variable !== void 0) {
5447
5454
  return { translationsDeclaration: variable.parent.parent };
5448
5455
  }
5449
5456
  const func = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5450
5457
  tokenOrKeyword,
5451
- 131 /* PackageFunctionTranslation */
5458
+ 134 /* PackageFunctionTranslationDeclaration */
5452
5459
  );
5453
5460
  if (func !== void 0) {
5454
5461
  return { translationsDeclaration: func.parent.parent };
@@ -5456,33 +5463,33 @@ var SyntaxContextFactory = class {
5456
5463
  return void 0;
5457
5464
  }
5458
5465
  static isTypeMemberTranslationListContext(tokenOrKeyword) {
5459
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 138 /* TypeMemberTranslationList */) {
5466
+ if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 141 /* TypeMemberTranslationList */) {
5460
5467
  return { typeTranslation: tokenOrKeyword.parent.parent };
5461
5468
  }
5462
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslation */) {
5469
+ if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 142 /* TypeTranslationDeclaration */) {
5463
5470
  return { typeTranslation: tokenOrKeyword.parent };
5464
5471
  }
5465
- const indexer = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 128 /* IndexerTranslation */);
5472
+ const indexer = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 131 /* IndexerTranslation */);
5466
5473
  if (indexer !== void 0) {
5467
5474
  return { typeTranslation: indexer.parent.parent };
5468
5475
  }
5469
5476
  const constructor = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5470
5477
  tokenOrKeyword,
5471
- 126 /* ConstructorTranslation */
5478
+ 129 /* ConstructorTranslation */
5472
5479
  );
5473
5480
  if (constructor !== void 0) {
5474
5481
  return { typeTranslation: constructor.parent.parent };
5475
5482
  }
5476
5483
  const variableOrVariant = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5477
5484
  tokenOrKeyword,
5478
- 137 /* FieldOrVariantTranslation */
5485
+ 140 /* FieldOrVariantTranslation */
5479
5486
  );
5480
5487
  if (variableOrVariant !== void 0) {
5481
5488
  return { typeTranslation: variableOrVariant.parent.parent };
5482
5489
  }
5483
5490
  const method = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
5484
5491
  tokenOrKeyword,
5485
- 132 /* MethodTranslation */
5492
+ 135 /* MethodTranslation */
5486
5493
  );
5487
5494
  if (method !== void 0) {
5488
5495
  return { typeTranslation: method.parent.parent };
@@ -5605,15 +5612,15 @@ var NodeSemanticInfoService = class {
5605
5612
  return this.ofDereferenceOperatorDeclaration(analyzer, tokenOrKeyword.parent);
5606
5613
  } else if (tokenOrKeyword.isToken(20 /* Caret */) && tokenOrKeyword.parent.kind === 78 /* DereferenceExpression */) {
5607
5614
  return this.ofDereferenceExpressionOperator(analyzer, tokenOrKeyword.parent, options6);
5608
- } else if (tokenOrKeyword.parent.kind === 89 /* AssignmentStatement */) {
5615
+ } else if (tokenOrKeyword.parent.kind === 92 /* AssignmentStatement */) {
5609
5616
  return this.ofAssignmentStatementOperator(analyzer, tokenOrKeyword.parent, options6);
5610
5617
  } else if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 43 /* ConstructorDeclaration */) {
5611
5618
  return this.ofConstructorDeclaration(analyzer, tokenOrKeyword.parent);
5612
- } else if (tokenOrKeyword.isToken(14 /* Asterisk */) && tokenOrKeyword.parent.kind === 88 /* DefaultMatchExpression */) {
5619
+ } else if (tokenOrKeyword.isToken(14 /* Asterisk */) && tokenOrKeyword.parent.kind === 91 /* DefaultMatchExpression */) {
5613
5620
  return this.ofDefaultMatchExpression(analyzer, tokenOrKeyword.parent);
5614
- } else if (tokenOrKeyword.isKeyword(4 /* Object */) && tokenOrKeyword.parent.kind === 84 /* ObjectExpression */) {
5621
+ } else if (tokenOrKeyword.isKeyword(4 /* Object */) && tokenOrKeyword.parent.kind === 87 /* ObjectExpression */) {
5615
5622
  return this.ofObjectExpression(analyzer, tokenOrKeyword.parent, options6);
5616
- } else if (tokenOrKeyword.isKeyword(56 /* Base */) && tokenOrKeyword.parent.kind === 85 /* BaseExpression */) {
5623
+ } else if (tokenOrKeyword.isKeyword(56 /* Base */) && tokenOrKeyword.parent.kind === 88 /* BaseExpression */) {
5617
5624
  return this.ofBaseExpression(analyzer, tokenOrKeyword.parent, options6);
5618
5625
  } else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 47 /* IndexParameterClause */) {
5619
5626
  return this.ofIndexedElementAccessorDeclaration(analyzer, tokenOrKeyword.parent.parent);
@@ -5630,11 +5637,11 @@ var NodeSemanticInfoService = class {
5630
5637
  let result;
5631
5638
  const parent = node.parent;
5632
5639
  switch (parent.kind) {
5633
- case 129 /* TranslationTypeParameterList */:
5640
+ case 132 /* TranslationTypeParameterList */:
5634
5641
  break;
5635
- case 124 /* TranslationParameterList */:
5642
+ case 127 /* TranslationParameterList */:
5636
5643
  break;
5637
- case 148 /* Argument */: {
5644
+ case 152 /* Argument */: {
5638
5645
  const respectiveParameter = analyzer.getRespectiveParameter(parent);
5639
5646
  if (respectiveParameter !== void 0) {
5640
5647
  const target = new MatchResultValueParameterReferenceTarget(respectiveParameter, 0 /* Get */);
@@ -5648,7 +5655,7 @@ var NodeSemanticInfoService = class {
5648
5655
  case 58 /* EnumerationVariableDeclaration */:
5649
5656
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofEnumerationVariableDeclaration(parent));
5650
5657
  break;
5651
- case 99 /* ErrorVariableDeclaration */:
5658
+ case 102 /* ErrorVariableDeclaration */:
5652
5659
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofErrorVariableDeclaration(parent));
5653
5660
  break;
5654
5661
  case 20 /* PackageAliasTypeDeclaration */:
@@ -5669,7 +5676,7 @@ var NodeSemanticInfoService = class {
5669
5676
  case 36 /* PackageVariantTypeDeclaration */:
5670
5677
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofPackageVariantTypeDeclaration(parent));
5671
5678
  break;
5672
- case 86 /* IdentifierExpression */:
5679
+ case 89 /* IdentifierExpression */:
5673
5680
  result = this.ofIdentifierExpression(analyzer, parent, options6);
5674
5681
  break;
5675
5682
  case 56 /* NestedFunctionDeclaration */:
@@ -5678,10 +5685,10 @@ var NodeSemanticInfoService = class {
5678
5685
  case 57 /* LocalVariableDeclaration */:
5679
5686
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofLocalVariableDeclaration(parent));
5680
5687
  break;
5681
- case 135 /* QualifiedName */:
5688
+ case 138 /* QualifiedName */:
5682
5689
  result = this.ofQualifiedNameQualifier(analyzer, parent, node, options6);
5683
5690
  break;
5684
- case 136 /* PackageVariableTranslation */: {
5691
+ case 139 /* PackageVariableTranslationDeclaration */: {
5685
5692
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5686
5693
  const getTargetResult = translationPackage?.getPackageVariableTranslationTarget(parent);
5687
5694
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
@@ -5701,7 +5708,7 @@ var NodeSemanticInfoService = class {
5701
5708
  }
5702
5709
  break;
5703
5710
  }
5704
- case 137 /* FieldOrVariantTranslation */: {
5711
+ case 140 /* FieldOrVariantTranslation */: {
5705
5712
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5706
5713
  const getTargetsResult = translationPackage?.getFieldOrVariantTranslationTargets(parent);
5707
5714
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
@@ -5724,7 +5731,7 @@ var NodeSemanticInfoService = class {
5724
5731
  }
5725
5732
  break;
5726
5733
  }
5727
- case 131 /* PackageFunctionTranslation */: {
5734
+ case 134 /* PackageFunctionTranslationDeclaration */: {
5728
5735
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5729
5736
  const getTargetsResult = translationPackage?.getPackageFunctionTranslationTargets(parent);
5730
5737
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
@@ -5747,7 +5754,7 @@ var NodeSemanticInfoService = class {
5747
5754
  }
5748
5755
  break;
5749
5756
  }
5750
- case 132 /* MethodTranslation */: {
5757
+ case 135 /* MethodTranslation */: {
5751
5758
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5752
5759
  const getTargetsResult = translationPackage?.getMethodTranslationTargets(parent);
5753
5760
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
@@ -5770,7 +5777,7 @@ var NodeSemanticInfoService = class {
5770
5777
  }
5771
5778
  break;
5772
5779
  }
5773
- case 139 /* TypeTranslation */: {
5780
+ case 142 /* TypeTranslationDeclaration */: {
5774
5781
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5775
5782
  const getTargetResult = translationPackage?.getTypeTranslationTarget(parent);
5776
5783
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
@@ -5790,7 +5797,7 @@ var NodeSemanticInfoService = class {
5790
5797
  }
5791
5798
  break;
5792
5799
  }
5793
- case 133 /* FunctionTypeTranslation */: {
5800
+ case 136 /* FunctionTypeTranslationDeclaration */: {
5794
5801
  const translationPackage = this.getContainingTranslationPackage(analyzer, node);
5795
5802
  const getTargetResult = translationPackage?.getFunctionTypeTranslationTarget(parent);
5796
5803
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
@@ -5810,7 +5817,7 @@ var NodeSemanticInfoService = class {
5810
5817
  }
5811
5818
  break;
5812
5819
  }
5813
- case 147 /* ParameterDeclaration */:
5820
+ case 151 /* ParameterDeclaration */:
5814
5821
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofParameterDeclaration(parent));
5815
5822
  break;
5816
5823
  case 8 /* PackageImport */:
@@ -5831,10 +5838,10 @@ var NodeSemanticInfoService = class {
5831
5838
  case 52 /* FieldDeclaration */:
5832
5839
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofFieldDeclaration(parent));
5833
5840
  break;
5834
- case 146 /* TypeParameterDeclaration */:
5841
+ case 150 /* TypeParameterDeclaration */:
5835
5842
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofTypeParameterDeclaration(parent));
5836
5843
  break;
5837
- case 145 /* VariantDeclaration */:
5844
+ case 149 /* VariantDeclaration */:
5838
5845
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofVariantDeclaration(parent));
5839
5846
  break;
5840
5847
  case 34 /* PackageVariableGetterDeclaration */:
@@ -5953,10 +5960,10 @@ var NodeSemanticInfoService = class {
5953
5960
  switch (node.parent.kind) {
5954
5961
  case 10 /* NamedTypeSpecifier */:
5955
5962
  return this.ofNamedTypeSpecifierNameQualifier(analyzer, node.parent, qualifier, options6);
5956
- case 150 /* Tag */:
5963
+ case 154 /* Tag */:
5957
5964
  return this.ofTagNameQualifier(analyzer, node.parent, qualifier, options6);
5958
5965
  case 40 /* ExtendedTypeClause */:
5959
- case 134 /* PackageImportTranslation */:
5966
+ case 137 /* PackageImportTranslationDeclaration */:
5960
5967
  return void 0;
5961
5968
  default:
5962
5969
  Debug.never(node.parent);
@@ -6390,7 +6397,7 @@ var NodeSemanticInfoService = class {
6390
6397
  let parentCallExpression;
6391
6398
  if (parent.kind === 68 /* CallExpression */) {
6392
6399
  parentCallExpression = parent;
6393
- } else if (parent.kind === 87 /* GenericSpecializationExpression */) {
6400
+ } else if (parent.kind === 90 /* GenericSpecializationExpression */) {
6394
6401
  const grandParent = getParentSkippingParenthesizedExpressions(parent);
6395
6402
  if (grandParent.kind === 68 /* CallExpression */) {
6396
6403
  parentCallExpression = grandParent;
@@ -6619,6 +6626,15 @@ function getEntitySourceLocations(analyzer, entity) {
6619
6626
  return new SourceLocation(sourceFile, range);
6620
6627
  });
6621
6628
  }
6629
+ } else if (entity.kind === 13 /* LocalizableText */) {
6630
+ const definition = entity.getDefinition();
6631
+ if (definition.kind === 0 /* Source */) {
6632
+ result = definition.nodes.map((d) => {
6633
+ const range = d.rangeWithoutTrivia;
6634
+ const sourceFile = TreeQuery.fromNode(d).projectSourceFile(analyzer);
6635
+ return new SourceLocation(sourceFile, range);
6636
+ });
6637
+ }
6622
6638
  } else {
6623
6639
  const definition = entity.getDefinition();
6624
6640
  if (definition.kind === 0 /* Source */) {
@@ -6637,7 +6653,7 @@ function getEntitySourceLocations(analyzer, entity) {
6637
6653
  case 36 /* PackageVariantTypeDeclaration */:
6638
6654
  case 56 /* NestedFunctionDeclaration */:
6639
6655
  case 50 /* MethodDeclaration */:
6640
- case 146 /* TypeParameterDeclaration */:
6656
+ case 150 /* TypeParameterDeclaration */:
6641
6657
  case 51 /* OperatorDeclaration */:
6642
6658
  range = node.name.rangeWithoutTrivia;
6643
6659
  break;
@@ -7059,7 +7075,7 @@ var ReferencesService = class {
7059
7075
  result.push(new Reference(sourceFile2, node.caretToken.rangeWithoutTrivia, referenceKind));
7060
7076
  }
7061
7077
  }
7062
- if (node.kind === 89 /* AssignmentStatement */ && restrictions.canBeAssignmentStatementOperator) {
7078
+ if (node.kind === 92 /* AssignmentStatement */ && restrictions.canBeAssignmentStatementOperator) {
7063
7079
  const semanticInfo = NodeSemanticInfoService.ofAssignmentStatementOperator(
7064
7080
  analyzer,
7065
7081
  node,
@@ -7087,7 +7103,7 @@ var ReferencesService = class {
7087
7103
  result.push(new Reference(sourceFile2, node.creationKeyword.rangeWithoutTrivia, referenceKind));
7088
7104
  }
7089
7105
  }
7090
- if (node.kind === 84 /* ObjectExpression */ && restrictions.canBeObjectExpression) {
7106
+ if (node.kind === 87 /* ObjectExpression */ && restrictions.canBeObjectExpression) {
7091
7107
  const semanticInfo = NodeSemanticInfoService.ofObjectExpression(analyzer, node, semanticInfoOptions);
7092
7108
  const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7093
7109
  definitions,
@@ -7099,7 +7115,7 @@ var ReferencesService = class {
7099
7115
  result.push(new Reference(sourceFile2, node.keyword.rangeWithoutTrivia, referenceKind));
7100
7116
  }
7101
7117
  }
7102
- if (node.kind === 85 /* BaseExpression */ && restrictions.canBeBaseExpression) {
7118
+ if (node.kind === 88 /* BaseExpression */ && restrictions.canBeBaseExpression) {
7103
7119
  const semanticInfo = NodeSemanticInfoService.ofBaseExpression(analyzer, node, semanticInfoOptions);
7104
7120
  const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7105
7121
  definitions,
@@ -7393,6 +7409,7 @@ var ReferencesService = class {
7393
7409
  case 12 /* Package */:
7394
7410
  case 11 /* TypeExtension */:
7395
7411
  case 9 /* Operator */:
7412
+ case 13 /* LocalizableText */:
7396
7413
  return void 0;
7397
7414
  default:
7398
7415
  Debug.never(entity);
@@ -7503,7 +7520,7 @@ var EvaluatableExpressionService = class {
7503
7520
  getEvaluatableExpressionForIdentifier(node) {
7504
7521
  const parent = node.parent;
7505
7522
  switch (parent.kind) {
7506
- case 86 /* IdentifierExpression */:
7523
+ case 89 /* IdentifierExpression */:
7507
7524
  return parent;
7508
7525
  case 76 /* MemberAccessExpression */:
7509
7526
  if (this.isEvaluatableReceiver(parent.expression)) {
@@ -7526,7 +7543,7 @@ var EvaluatableExpressionService = class {
7526
7543
  }
7527
7544
  isEvaluatableReceiver(expression) {
7528
7545
  switch (expression.kind) {
7529
- case 86 /* IdentifierExpression */:
7546
+ case 89 /* IdentifierExpression */:
7530
7547
  return true;
7531
7548
  case 76 /* MemberAccessExpression */:
7532
7549
  return this.isEvaluatableReceiver(expression.expression);
@@ -7554,17 +7571,17 @@ var EvaluatableExpressionService = class {
7554
7571
  return { nameIdentifier: node.name };
7555
7572
  case 57 /* LocalVariableDeclaration */:
7556
7573
  return { nameIdentifier: node.name };
7557
- case 147 /* ParameterDeclaration */:
7574
+ case 151 /* ParameterDeclaration */:
7558
7575
  return { nameIdentifier: node.name };
7559
7576
  case 50 /* MethodDeclaration */:
7560
7577
  return { nameIdentifier: node.name };
7561
7578
  case 52 /* FieldDeclaration */:
7562
7579
  return { nameIdentifier: node.name };
7563
- case 146 /* TypeParameterDeclaration */:
7580
+ case 150 /* TypeParameterDeclaration */:
7564
7581
  return { nameIdentifier: node.name };
7565
- case 145 /* VariantDeclaration */:
7582
+ case 149 /* VariantDeclaration */:
7566
7583
  return { nameIdentifier: node.name };
7567
- case 99 /* ErrorVariableDeclaration */:
7584
+ case 102 /* ErrorVariableDeclaration */:
7568
7585
  return { nameIdentifier: node.name };
7569
7586
  default:
7570
7587
  return void 0;
@@ -7965,7 +7982,7 @@ var SourceFileItemsService = class {
7965
7982
  );
7966
7983
  break;
7967
7984
  }
7968
- case 145 /* VariantDeclaration */: {
7985
+ case 149 /* VariantDeclaration */: {
7969
7986
  result.push(
7970
7987
  this.createItem(
7971
7988
  9 /* Variant */,
@@ -7977,7 +7994,7 @@ var SourceFileItemsService = class {
7977
7994
  );
7978
7995
  break;
7979
7996
  }
7980
- case 146 /* TypeParameterDeclaration */: {
7997
+ case 150 /* TypeParameterDeclaration */: {
7981
7998
  result.push(
7982
7999
  this.createItem(
7983
8000
  18 /* TypeParameter */,
@@ -8246,13 +8263,13 @@ var SelectionRangeService = class {
8246
8263
  }
8247
8264
  }
8248
8265
  switch (node.kind) {
8249
- case 159 /* TypeAnnotation */:
8266
+ case 163 /* TypeAnnotation */:
8250
8267
  case 32 /* StructuredTypeDeclarationBody */:
8251
8268
  case 37 /* VariantTypeDeclarationBody */:
8252
8269
  case 21 /* AliasTypeDeclarationBody */:
8253
8270
  case 27 /* FunctionTypeDeclarationBody */:
8254
- case 81 /* TextTemplateSpan */:
8255
- case 80 /* TextTemplateSpanList */:
8271
+ case 82 /* TextTemplateSpan */:
8272
+ case 81 /* TextTemplateSpanList */:
8256
8273
  return true;
8257
8274
  default:
8258
8275
  return false;
@@ -8290,7 +8307,7 @@ var SemanticTokensService = class {
8290
8307
  controller.stopChildrenTraverse();
8291
8308
  return;
8292
8309
  }
8293
- if (node.kind === 86 /* IdentifierExpression */) {
8310
+ if (node.kind === 89 /* IdentifierExpression */) {
8294
8311
  const meaning = analyzer.resolveIdentifierExpression(node).meaning;
8295
8312
  if (meaning.kind === "variable-access") {
8296
8313
  const variable = meaning.variable.getEntity();
@@ -8391,7 +8408,7 @@ var SemanticTokensService = class {
8391
8408
  ));
8392
8409
  }
8393
8410
  }
8394
- if (node.kind === 145 /* VariantDeclaration */) {
8411
+ if (node.kind === 149 /* VariantDeclaration */) {
8395
8412
  result.push(
8396
8413
  new SemanticToken(
8397
8414
  node.name.rangeWithoutTrivia,
@@ -8571,7 +8588,7 @@ var TypeParameterSignatureHelpProvider = class {
8571
8588
  }
8572
8589
  let node = token.parent;
8573
8590
  while (node !== void 0) {
8574
- if (node.kind === 155 /* TypeArgumentClause */ && this._offset >= node.lessThanToken.rangeWithoutTrivia.end && (node.greaterThanToken.rangeWithoutTrivia.isEmpty || this._offset <= node.greaterThanToken.rangeWithoutTrivia.start)) {
8591
+ if (node.kind === 159 /* TypeArgumentClause */ && this._offset >= node.lessThanToken.rangeWithoutTrivia.end && (node.greaterThanToken.rangeWithoutTrivia.isEmpty || this._offset <= node.greaterThanToken.rangeWithoutTrivia.start)) {
8575
8592
  const argumentIndex = this.getArgumentIndex(node.typeArgumentList, this._offset);
8576
8593
  const argumentCount = this.countArguments(node.typeArgumentList);
8577
8594
  return new NodeWithTypeArgumentsInfo(node.parent, argumentIndex, argumentCount);
@@ -8616,9 +8633,9 @@ var TypeParameterSignatureHelpProvider = class {
8616
8633
  switch (node.kind) {
8617
8634
  case 10 /* NamedTypeSpecifier */:
8618
8635
  return this.getSignaturesForNamedTypeSpecifier(node);
8619
- case 87 /* GenericSpecializationExpression */:
8636
+ case 90 /* GenericSpecializationExpression */:
8620
8637
  return this.getSignaturesForGenericSpecializationExpression(node);
8621
- case 150 /* Tag */:
8638
+ case 154 /* Tag */:
8622
8639
  return this.getSignaturesForTag(node);
8623
8640
  default:
8624
8641
  Debug.never(node);
@@ -8657,7 +8674,7 @@ var TypeParameterSignatureHelpProvider = class {
8657
8674
  }
8658
8675
  getSignaturesForGenericSpecializationExpression(node) {
8659
8676
  const expression = unwrapParenthesizedExpressions(node.expression);
8660
- if (expression.kind === 86 /* IdentifierExpression */) {
8677
+ if (expression.kind === 89 /* IdentifierExpression */) {
8661
8678
  const meaning = this._analyzer.resolveIdentifierExpression(expression).meaning;
8662
8679
  if (meaning.kind === "function-access") {
8663
8680
  return Query.from(meaning.candidates).mapAndFilter((o) => {
@@ -8943,7 +8960,7 @@ var ValueParametersSignatureHelpProvider = class {
8943
8960
  }
8944
8961
  break;
8945
8962
  }
8946
- case 150 /* Tag */: {
8963
+ case 154 /* Tag */: {
8947
8964
  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)) {
8948
8965
  const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
8949
8966
  const valueArguments = ValueArgumentFactory.createValueArgumentsOfTag(node);
@@ -9777,7 +9794,8 @@ var ReadonlyCompilationState = class {
9777
9794
  }
9778
9795
  collectSourceFileDiagnostics(sourceFile, cancellationToken) {
9779
9796
  return __async(this, null, function* () {
9780
- const diagnostics = yield new DiagnosticCollector(this.analyzer, sourceFile, cancellationToken).collect();
9797
+ const diagnosticCollector = new DiagnosticCollector(this.analyzer, sourceFile);
9798
+ const diagnostics = yield diagnosticCollector.collect(cancellationToken);
9781
9799
  const summary = this.createDiagnosticsCollectionSummary(diagnostics);
9782
9800
  return { diagnostics, summary };
9783
9801
  });
@@ -12130,6 +12148,8 @@ var SourceGenerationService = class extends ObservableObject7 {
12130
12148
  return false;
12131
12149
  case 11 /* TypeExtension */:
12132
12150
  return true;
12151
+ case 13 /* LocalizableText */:
12152
+ return true;
12133
12153
  default:
12134
12154
  Debug.never(entity);
12135
12155
  }
@@ -12205,6 +12225,8 @@ var EntityFinder = class {
12205
12225
  case 12 /* Package */:
12206
12226
  case 11 /* TypeExtension */:
12207
12227
  return void 0;
12228
+ case 13 /* LocalizableText */:
12229
+ return void 0;
12208
12230
  default:
12209
12231
  Debug.never(entity);
12210
12232
  }
@@ -12393,6 +12415,8 @@ var EntityFinder = class {
12393
12415
  case 11 /* TypeExtension */:
12394
12416
  case 6 /* DereferenceOperator */:
12395
12417
  return void 0;
12418
+ case 13 /* LocalizableText */:
12419
+ return void 0;
12396
12420
  default:
12397
12421
  Debug.never(entity);
12398
12422
  }
@@ -12418,6 +12442,7 @@ var EntityFinder = class {
12418
12442
  case 12 /* Package */:
12419
12443
  case 11 /* TypeExtension */:
12420
12444
  case 9 /* Operator */:
12445
+ case 13 /* LocalizableText */:
12421
12446
  return void 0;
12422
12447
  default:
12423
12448
  Debug.never(entity);
@@ -13101,7 +13126,7 @@ var LanguageServer = class {
13101
13126
  const sourceFileContext = yield this.getSourceFileContext(uri, token);
13102
13127
  if (sourceFileContext !== void 0) {
13103
13128
  const node = NodePath.parse(uri.fragment).getNode(sourceFileContext.sourceFile.getSyntaxNode());
13104
- if (node?.kind === 89 /* AssignmentStatement */) {
13129
+ if (node?.kind === 92 /* AssignmentStatement */) {
13105
13130
  const sourceFileEdit = this._addPropertyAssignmentService.createEditWithAssignment(
13106
13131
  sourceFileContext.sourceFile,
13107
13132
  node,
@@ -13138,7 +13163,7 @@ var LanguageServer = class {
13138
13163
  const node = NodePath.parse(uri.fragment).getNode(sourceFileContext.sourceFile.getSyntaxNode());
13139
13164
  if (node !== void 0) {
13140
13165
  let nodeForRange = node;
13141
- if (node.kind === 89 /* AssignmentStatement */) {
13166
+ if (node.kind === 92 /* AssignmentStatement */) {
13142
13167
  nodeForRange = node.right;
13143
13168
  }
13144
13169
  result = this.convertSourceFileRange(sourceFileContext.sourceFile, nodeForRange.rangeWithoutTrivia);
@@ -13172,7 +13197,7 @@ var LanguageServer = class {
13172
13197
  return result;
13173
13198
  });
13174
13199
  }
13175
- onEmitCodeToString(params, token) {
13200
+ onEmitCodeToString(params, cancellationToken) {
13176
13201
  return __async(this, null, function* () {
13177
13202
  let compilationControllerUri;
13178
13203
  if (params.workspaceFolderUri !== void 0) {
@@ -13186,7 +13211,7 @@ var LanguageServer = class {
13186
13211
  }
13187
13212
  compilationControllerUri = this._workspace.workspaceFolderUris[0];
13188
13213
  }
13189
- const workspaceElementInfo = yield this._workspace.waitLoadedAndGetWorkspaceElementInfo(compilationControllerUri, token);
13214
+ const workspaceElementInfo = yield this._workspace.waitLoadedAndGetWorkspaceElementInfo(compilationControllerUri, cancellationToken);
13190
13215
  const compilationController = workspaceElementInfo?.compilationController;
13191
13216
  if (compilationController === void 0) {
13192
13217
  throw new ls3.ResponseError(
@@ -13207,7 +13232,7 @@ var LanguageServer = class {
13207
13232
  continue;
13208
13233
  }
13209
13234
  for (const sourceFile of pkg.sourceFiles) {
13210
- const summary = yield compilationState.getDiagnosticsCollectionSummary(sourceFile, token);
13235
+ const summary = yield compilationState.getDiagnosticsCollectionSummary(sourceFile, cancellationToken);
13211
13236
  hasErrors ||= summary.hasErrors;
13212
13237
  if (summary.hasErrors) {
13213
13238
  const uri = this.convertUriToVscodeUri(sourceFile.uri).toString();
@@ -13225,8 +13250,8 @@ var LanguageServer = class {
13225
13250
  };
13226
13251
  let result;
13227
13252
  try {
13228
- const emitter = yield Emitter.create(compilationController.mainCompilationState.analyzer, options6, token);
13229
- const code = emitter.emitToString();
13253
+ const emitter = new Emitter(compilationController.mainCompilationState.analyzer, options6);
13254
+ const code = yield emitter.emitToString(cancellationToken);
13230
13255
  result = { hasErrors: false, code };
13231
13256
  } catch (e) {
13232
13257
  Logger.error(`\u0412\u043E \u0432\u0440\u0435\u043C\u044F \u0433\u0435\u043D\u0435\u0440\u0430\u0446\u0438\u0438 \u043A\u043E\u0434\u0430 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 ${compilationController.uri} \u0432\u043E\u0437\u043D\u0438\u043A\u043B\u0430 \u043E\u0448\u0438\u0431\u043A\u0430