@artel/artc 0.6.25280 → 0.6.25282

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 (86) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +16 -10
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +315 -219
  5. package/build/{chunk-YIFO3FBO.js → chunk-3DN3M64Y.js} +3 -3
  6. package/build/{chunk-W3UL6UED.js → chunk-DURHSZYF.js} +5 -4
  7. package/build/{chunk-LLI2DYRX.js → chunk-VVFLEWSA.js} +3236 -3331
  8. package/build/types/analysis/AccessedFunction.d.ts +4 -0
  9. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +3 -3
  10. package/build/types/analysis/Analyzer.d.ts +35 -48
  11. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +5 -5
  12. package/build/types/analysis/BaseExpressionMeaning.d.ts +8 -18
  13. package/build/types/analysis/CallExpressionMeaning.d.ts +4 -9
  14. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +3 -4
  15. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +8 -16
  16. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +4 -8
  17. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +8 -16
  18. package/build/types/analysis/NamedTypeResolver.d.ts +4 -4
  19. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +4 -4
  20. package/build/types/analysis/NodeTypeUtils.d.ts +1 -1
  21. package/build/types/analysis/ObjectExpressionMeaning.d.ts +4 -9
  22. package/build/types/analysis/{PackageMemberNameConflictsValidator.d.ts → PackageMemberConflictsValidator.d.ts} +8 -4
  23. package/build/types/analysis/ResolvedTextTranslationPackage.d.ts +9 -0
  24. package/build/types/analysis/SourceFileAnalyzer.d.ts +1 -0
  25. package/build/types/analysis/SourcePackageDependencyGraph.d.ts +4 -0
  26. package/build/types/analysis/SubstitutedFunction.d.ts +3 -0
  27. package/build/types/analysis/TagMeaning.d.ts +4 -4
  28. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +4 -3
  29. package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +4 -3
  30. package/build/types/analysis/Utils.d.ts +1 -0
  31. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +1 -1
  32. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +8 -4
  33. package/build/types/api/Api.d.ts +4 -5
  34. package/build/types/common/ArrayUtils.d.ts +3 -1
  35. package/build/types/common/Displayable.d.ts +4 -4
  36. package/build/types/common/FormatString.d.ts +1 -1
  37. package/build/types/common/index.d.ts +3 -0
  38. package/build/types/diagnostic/DiagnosticCode.d.ts +238 -238
  39. package/build/types/diagnostic/DiagnosticData.d.ts +2 -2
  40. package/build/types/emitter/IrBuilder.d.ts +3 -1
  41. package/build/types/emitter/IrFactory.d.ts +2 -2
  42. package/build/types/emitter/Transformer.d.ts +3 -3
  43. package/build/types/emitter/ir/Nodes.d.ts +6 -6
  44. package/build/types/emitter/ir/types.d.ts +2 -2
  45. package/build/types/entities/Entity.d.ts +1 -1
  46. package/build/types/entities/EntityLocalizationContext.d.ts +2 -1
  47. package/build/types/entities/PackageEntityMembers.d.ts +22 -0
  48. package/build/types/entities/index.d.ts +1 -1
  49. package/build/types/entities/interfaces/PackageEntity.d.ts +1 -2
  50. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +2 -1
  51. package/build/types/entities/interfaces/VariableEntity.d.ts +1 -1
  52. package/build/types/entities/source/SourcePackageEntity.d.ts +1 -2
  53. package/build/types/entities/source/SourceTextTranslationEntity.d.ts +2 -1
  54. package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +4 -0
  55. package/build/types/entities/source/SourceVariableEntity.d.ts +2 -2
  56. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +2 -3
  57. package/build/types/project/PackageContent.d.ts +1 -1
  58. package/build/types/project/SourcePackage.d.ts +3 -1
  59. package/build/types/project/configuration/ConfigurationConverter.d.ts +1 -1
  60. package/build/types/project/configuration/types/PackageConfigurationEn.d.ts +4 -4
  61. package/build/types/project/configuration/types/PackageConfigurationRu.d.ts +4 -4
  62. package/build/types/services/AddBlockToScriptService.d.ts +17 -0
  63. package/build/types/services/CustomRequests.d.ts +11 -2
  64. package/build/types/services/DisplayService.d.ts +1 -2
  65. package/build/types/services/EvaluatableExpressionService.d.ts +1 -1
  66. package/build/types/services/LanguageServer.d.ts +3 -1
  67. package/build/types/services/SourceFileItemsService.d.ts +1 -1
  68. package/build/types/tree/NodeKind.d.ts +1 -1
  69. package/build/types/tree/Nodes.d.ts +6 -6
  70. package/build/types/tree/SyntaxFactory.d.ts +1 -1
  71. package/build/types/tree/SyntaxToCode.d.ts +1 -1
  72. package/build/types/tree/Token.d.ts +4 -3
  73. package/build/types/tree/TokenKind.d.ts +58 -60
  74. package/build/types/types/AliasType.d.ts +1 -1
  75. package/build/types/types/FunctionType.d.ts +2 -2
  76. package/build/types/types/IntersectionType.d.ts +1 -1
  77. package/build/types/types/ParameterType.d.ts +1 -1
  78. package/build/types/types/Substitutions.d.ts +1 -1
  79. package/build/types/types/Type.d.ts +1 -4
  80. package/build/types/types/TypeMembers.d.ts +8 -8
  81. package/build/types/types/UnionType.d.ts +1 -1
  82. package/build/types/types/VariantType.d.ts +1 -1
  83. package/package.json +1 -1
  84. package/build/types/analysis/AnalyzedTextTranslationPackage.d.ts +0 -20
  85. package/build/types/analysis/SourceFileMembers.d.ts +0 -22
  86. package/build/types/entities/PackageMembers.d.ts +0 -15
@@ -155,8 +155,8 @@ import {
155
155
  Uri,
156
156
  VariableDeclaration_entity,
157
157
  VariableDeclaration_typeMember,
158
- VariantDeclaration,
159
158
  VariantTypeDeclarationBody,
159
+ VariantValueDeclaration,
160
160
  WellKnownDeclarationsLoadError,
161
161
  __async,
162
162
  __decorateClass,
@@ -188,7 +188,7 @@ import {
188
188
  unwrapParenthesizedExpressions,
189
189
  visitChildren,
190
190
  yieldTask
191
- } from "../chunk-LLI2DYRX.js";
191
+ } from "../chunk-VVFLEWSA.js";
192
192
 
193
193
  // source/services/CustomRequests.ts
194
194
  import * as ls from "vscode-languageserver";
@@ -205,7 +205,8 @@ var customRequests = {
205
205
  deleteSourceFile: new CustomRequestType("artel/fs.deleteSourceFile"),
206
206
  getNodeRange: new CustomRequestType("artel/getNodeRange"),
207
207
  assignField: new CustomRequestType("artel/assignField"),
208
- deleteBlockFromScript: new CustomRequestType("artel/deleteBlockFromScript")
208
+ addBlockToScript: new CustomRequestType("artel/addBlockToScript"),
209
+ deleteBlocksFromScript: new CustomRequestType("artel/deleteBlocksFromScript")
209
210
  };
210
211
 
211
212
  // source/services/LanguageServer.ts
@@ -238,6 +239,55 @@ var SourceFileEdit = class {
238
239
  }
239
240
  };
240
241
 
242
+ // source/services/AddBlockToScriptService.ts
243
+ var AddBlockToScriptService = class _AddBlockToScriptService {
244
+ static {
245
+ this.indentationStep = " ";
246
+ }
247
+ static {
248
+ this.elementParameterName = "el";
249
+ }
250
+ createEditAddingBlock(sourceFile, subprogramDeclaration, addedBlockInfo) {
251
+ const subprogramBlock = subprogramDeclaration.block;
252
+ if (subprogramBlock === void 0) {
253
+ return void 0;
254
+ }
255
+ let scriptBlockIndentation;
256
+ let editStart;
257
+ if (subprogramBlock.expressionOrStatementList.kind === 93 /* StatementList */) {
258
+ const lastStatement = subprogramBlock.expressionOrStatementList.statements.last();
259
+ if (lastStatement !== void 0) {
260
+ const lastStatementStartCharacter = sourceFile.getPositionAt(lastStatement.rangeWithoutTrivia.start).character;
261
+ scriptBlockIndentation = " ".repeat(lastStatementStartCharacter);
262
+ editStart = lastStatement.rangeWithoutTrivia.end;
263
+ } else {
264
+ const openBraceStartCharacter = sourceFile.getPositionAt(subprogramBlock.openBraceToken.rangeWithoutTrivia.start).character;
265
+ scriptBlockIndentation = " ".repeat(openBraceStartCharacter) + _AddBlockToScriptService.indentationStep;
266
+ editStart = subprogramBlock.openBraceToken.rangeWithoutTrivia.end;
267
+ }
268
+ } else {
269
+ const expressionStartCharacter = sourceFile.getPositionAt(subprogramBlock.expressionOrStatementList.rangeWithoutTrivia.start).character;
270
+ scriptBlockIndentation = " ".repeat(expressionStartCharacter);
271
+ editStart = subprogramBlock.expressionOrStatementList.rangeWithoutTrivia.end;
272
+ }
273
+ const newLine = this.detectNewLine(sourceFile.getSourceText());
274
+ const scriptBlockText = this.createScriptBlockText(addedBlockInfo, scriptBlockIndentation, newLine);
275
+ const editText = `${newLine}${scriptBlockText}`;
276
+ const result = new SourceFileEdit(sourceFile, Range.empty(editStart), editText);
277
+ return result;
278
+ }
279
+ createScriptBlockText(blockInfo, indentation, newLine) {
280
+ const i = indentation;
281
+ const s = _AddBlockToScriptService.indentationStep;
282
+ const nl = newLine;
283
+ const el = _AddBlockToScriptService.elementParameterName;
284
+ return `${i}${blockInfo.name}(${nl}${i}${s}key = ${blockInfo.key},${nl}${i}${s}script =${nl}${i}${s}{${nl}` + Object.entries(blockInfo.elementProperties).map(([p, v]) => `${i}${s}${s}${el}.${p} = ${v}${nl}`).join("") + `${i}${s}})`;
285
+ }
286
+ detectNewLine(text) {
287
+ return text.includes("\r\n") ? "\r\n" : "\n";
288
+ }
289
+ };
290
+
241
291
  // source/services/AssignFieldService.ts
242
292
  var AssignFieldService = class _AssignFieldService {
243
293
  static {
@@ -296,11 +346,11 @@ var AssignFieldService = class _AssignFieldService {
296
346
  if (statement.kind === 92 /* AssignmentStatement */) {
297
347
  const left = unwrapParenthesizedExpressions(statement.left);
298
348
  if (left.kind === 76 /* MemberAccessExpression */) {
299
- const memberAccessMeaning = analyzer.resolveMemberAccessExpression(left).meaning;
349
+ const memberAccessMeaning = analyzer.resolveMemberAccessExpression(left);
300
350
  if (memberAccessMeaning.kind === "instance-field-access" && memberAccessMeaning.field.getName().considerEqual(fieldName)) {
301
351
  const receiver = unwrapParenthesizedExpressions(left.expression);
302
352
  if (receiver.kind === 89 /* IdentifierExpression */) {
303
- const receiverMeaning = analyzer.resolveIdentifierExpression(receiver).meaning;
353
+ const receiverMeaning = analyzer.resolveIdentifierExpression(receiver);
304
354
  if (receiverMeaning.kind === "variable-access" && receiverMeaning.variable.getName().considerEqual(_AssignFieldService.receiverVariableName)) {
305
355
  return statement;
306
356
  }
@@ -337,7 +387,7 @@ var SyntaxFactory = class {
337
387
  let equalsToken;
338
388
  if (alias !== void 0) {
339
389
  aliasIdentifier = this.createIdentifier(alias);
340
- equalsToken = this.token(58 /* Equals */);
390
+ equalsToken = this.token(57 /* Equals */);
341
391
  }
342
392
  const packageName = this.packageName(pathSegments);
343
393
  const packageImport = new PackageImport(aliasIdentifier, equalsToken, packageName, void 0);
@@ -346,7 +396,7 @@ var SyntaxFactory = class {
346
396
  }
347
397
  static packageName(segments) {
348
398
  const segmentIdentifiers = segments.map((s) => this.createIdentifier(s));
349
- const packageNameParts = this.createTokenSeparatedElements(segmentIdentifiers, 27 /* Dot */);
399
+ const packageNameParts = this.createTokenSeparatedElements(segmentIdentifiers, 26 /* Dot */);
350
400
  return new PackageName(packageNameParts, void 0);
351
401
  }
352
402
  static packageAliasTypeDeclaration(tags, modifiers, name, typeParameters, body) {
@@ -355,7 +405,7 @@ var SyntaxFactory = class {
355
405
  const typeKeyword = this.keyword(16 /* Type */);
356
406
  const nameIdentifier = this.createIdentifier(name);
357
407
  const typeParameterClause = this.createTypeParameterClause(typeParameters);
358
- const equalsToken = this.token(58 /* Equals */);
408
+ const equalsToken = this.token(57 /* Equals */);
359
409
  return new PackageAliasTypeDeclaration(
360
410
  tagList,
361
411
  modifierList,
@@ -378,9 +428,9 @@ var SyntaxFactory = class {
378
428
  return new PackageMemberGroupDeclaration(
379
429
  tagList,
380
430
  modifierList,
381
- this.token(44 /* OpenBrace */),
431
+ this.token(43 /* OpenBrace */),
382
432
  declarationList,
383
- this.token(21 /* CloseBrace */),
433
+ this.token(20 /* CloseBrace */),
384
434
  void 0
385
435
  );
386
436
  }
@@ -410,7 +460,7 @@ var SyntaxFactory = class {
410
460
  const typeKeyword = this.keyword(16 /* Type */);
411
461
  const nameIdentifier = this.createIdentifier(name);
412
462
  const typeParameterClause = this.createTypeParameterClause(typeParameters);
413
- const equalsToken = this.token(58 /* Equals */);
463
+ const equalsToken = this.token(57 /* Equals */);
414
464
  return new PackageFunctionTypeDeclaration(
415
465
  tagList,
416
466
  modifierList,
@@ -440,7 +490,7 @@ var SyntaxFactory = class {
440
490
  const typeKeyword = this.keyword(16 /* Type */);
441
491
  const nameIdentifier = this.createIdentifier(name);
442
492
  const typeParameterClause = this.createTypeParameterClause(typeParameters);
443
- const equalsToken = this.token(58 /* Equals */);
493
+ const equalsToken = this.token(57 /* Equals */);
444
494
  return new PackageStructuredTypeDeclaration(
445
495
  tagList,
446
496
  modifierList,
@@ -454,7 +504,7 @@ var SyntaxFactory = class {
454
504
  }
455
505
  static structuredTypeDeclarationBody(structuredTypeKind, baseTypes, members) {
456
506
  const structuredTypeKindKeyword = this.keyword(structuredTypeKind);
457
- const baseTypeList = baseTypes !== void 0 && baseTypes.length > 0 ? new BaseTypeList(this.createTokenSeparatedElements(baseTypes, 25 /* Comma */), void 0) : void 0;
507
+ const baseTypeList = baseTypes !== void 0 && baseTypes.length > 0 ? new BaseTypeList(this.createTokenSeparatedElements(baseTypes, 24 /* Comma */), void 0) : void 0;
458
508
  const memberBlock = this.typeMemberDeclarationBlock(members);
459
509
  return new StructuredTypeDeclarationBody(
460
510
  structuredTypeKindKeyword,
@@ -470,7 +520,7 @@ var SyntaxFactory = class {
470
520
  const typeAnnotation = this.createTypeAnnotation(typeSpecifier);
471
521
  let equalsToken;
472
522
  if (initializer !== void 0) {
473
- equalsToken = this.token(58 /* Equals */);
523
+ equalsToken = this.token(57 /* Equals */);
474
524
  }
475
525
  return new PackageVariableDeclaration(
476
526
  tagList,
@@ -511,7 +561,7 @@ var SyntaxFactory = class {
511
561
  const typeKeyword = this.keyword(16 /* Type */);
512
562
  const nameIdentifier = this.createIdentifier(name);
513
563
  const typeParameterClause = this.createTypeParameterClause(typeParameters);
514
- const equalsToken = this.token(58 /* Equals */);
564
+ const equalsToken = this.token(57 /* Equals */);
515
565
  return new PackageVariantTypeDeclaration(
516
566
  tagList,
517
567
  modifierList,
@@ -535,7 +585,7 @@ var SyntaxFactory = class {
535
585
  const typeAnnotation = this.createTypeAnnotation(typeSpecifier);
536
586
  let equalsToken;
537
587
  if (initializer !== void 0) {
538
- equalsToken = this.token(58 /* Equals */);
588
+ equalsToken = this.token(57 /* Equals */);
539
589
  }
540
590
  return new FieldDeclaration(
541
591
  tagList,
@@ -635,42 +685,42 @@ var SyntaxFactory = class {
635
685
  }
636
686
  static typeMemberDeclarationBlock(members) {
637
687
  return new TypeMemberDeclarationBlock(
638
- this.token(44 /* OpenBrace */),
688
+ this.token(43 /* OpenBrace */),
639
689
  new TypeMemberDeclarationList(members, void 0),
640
- this.token(21 /* CloseBrace */),
690
+ this.token(20 /* CloseBrace */),
641
691
  void 0
642
692
  );
643
693
  }
644
- static variantDeclaration(tags, modifiers, name, value) {
694
+ static variantValueDeclaration(tags, modifiers, name, value) {
645
695
  const tagList = new TagList(tags, void 0);
646
696
  const modifierList = new ModifierList(modifiers, void 0);
647
697
  const nameIdentifier = this.createIdentifier(name);
648
698
  let equalsToken;
649
699
  if (value !== void 0) {
650
- equalsToken = this.token(58 /* Equals */);
700
+ equalsToken = this.token(57 /* Equals */);
651
701
  }
652
- return new VariantDeclaration(tagList, modifierList, nameIdentifier, equalsToken, value, void 0);
702
+ return new VariantValueDeclaration(tagList, modifierList, nameIdentifier, equalsToken, value, void 0);
653
703
  }
654
704
  static parameterClause(parameters) {
655
705
  return new ParameterClause(
656
- this.token(45 /* OpenParenthesis */),
657
- new ParameterList(this.createTokenSeparatedElements(parameters, 25 /* Comma */), void 0),
658
- this.token(22 /* CloseParenthesis */),
706
+ this.token(44 /* OpenParenthesis */),
707
+ new ParameterList(this.createTokenSeparatedElements(parameters, 24 /* Comma */), void 0),
708
+ this.token(21 /* CloseParenthesis */),
659
709
  void 0
660
710
  );
661
711
  }
662
712
  static indexParameterClause(indexParameters) {
663
713
  return new IndexParameterClause(
664
- this.token(46 /* OpenSquareBracket */),
665
- new ParameterList(this.createTokenSeparatedElements(indexParameters, 25 /* Comma */), void 0),
666
- this.token(23 /* CloseSquareBracket */),
714
+ this.token(45 /* OpenSquareBracket */),
715
+ new ParameterList(this.createTokenSeparatedElements(indexParameters, 24 /* Comma */), void 0),
716
+ this.token(22 /* CloseSquareBracket */),
667
717
  void 0
668
718
  );
669
719
  }
670
720
  static namedTypeSpecifier(name, typeArguments) {
671
721
  const qualifiedNameIdentifiers = typeof name === "string" ? [this.createIdentifier(name)] : name.map((s) => this.createIdentifier(s));
672
722
  const qualifiedName = new QualifiedName(
673
- this.createTokenSeparatedElements(qualifiedNameIdentifiers, 27 /* Dot */),
723
+ this.createTokenSeparatedElements(qualifiedNameIdentifiers, 26 /* Dot */),
674
724
  void 0
675
725
  );
676
726
  let typeArgumentClause;
@@ -680,21 +730,21 @@ var SyntaxFactory = class {
680
730
  return new NamedTypeSpecifier(qualifiedName, typeArgumentClause, void 0);
681
731
  }
682
732
  static unionTypeSpecifier(typeSpecifiers) {
683
- return new UnionTypeSpecifier(this.createTokenSeparatedElements(typeSpecifiers, 18 /* Bar */), void 0);
733
+ return new UnionTypeSpecifier(this.createTokenSeparatedElements(typeSpecifiers, 17 /* Bar */), void 0);
684
734
  }
685
735
  static intersectionTypeSpecifier(typeSpecifiers) {
686
736
  return new IntersectionTypeSpecifier(this.createTokenSeparatedElements(
687
737
  typeSpecifiers,
688
- 11 /* Ampersand */
738
+ 10 /* Ampersand */
689
739
  ), void 0);
690
740
  }
691
741
  static nullableTypeSpecifier(typeSpecifier) {
692
- const questionToken = this.token(50 /* Question */);
742
+ const questionToken = this.token(49 /* Question */);
693
743
  return new NullableTypeSpecifier(typeSpecifier, questionToken, void 0);
694
744
  }
695
745
  static parenthesizedTypeSpecifier(typeSpecifier) {
696
- const openParenthesisToken = this.token(45 /* OpenParenthesis */);
697
- const closeParenthesisToken = this.token(22 /* CloseParenthesis */);
746
+ const openParenthesisToken = this.token(44 /* OpenParenthesis */);
747
+ const closeParenthesisToken = this.token(21 /* CloseParenthesis */);
698
748
  return new ParenthesizedTypeSpecifier(openParenthesisToken, typeSpecifier, closeParenthesisToken, void 0);
699
749
  }
700
750
  static anonymousStructuredTypeSpecifier(body) {
@@ -710,11 +760,11 @@ var SyntaxFactory = class {
710
760
  const nameIdentifier = this.createIdentifier(name);
711
761
  let colonToken;
712
762
  if (constraint !== void 0) {
713
- colonToken = this.token(24 /* Colon */);
763
+ colonToken = this.token(23 /* Colon */);
714
764
  }
715
765
  let equalsToken;
716
766
  if (defaultType !== void 0) {
717
- equalsToken = this.token(58 /* Equals */);
767
+ equalsToken = this.token(57 /* Equals */);
718
768
  }
719
769
  return new TypeParameterDeclaration(
720
770
  nameIdentifier,
@@ -731,15 +781,15 @@ var SyntaxFactory = class {
731
781
  const typeAnnotation = this.createTypeAnnotation(typeSpecifier);
732
782
  let equalsToken;
733
783
  if (defaultValue !== void 0) {
734
- equalsToken = this.token(58 /* Equals */);
784
+ equalsToken = this.token(57 /* Equals */);
735
785
  }
736
786
  return new ParameterDeclaration(tagList, nameIdentifier, typeAnnotation, equalsToken, defaultValue, void 0);
737
787
  }
738
788
  static tag(name, typeArguments, args) {
739
- const hashSignToken = this.token(36 /* HashSign */);
789
+ const hashSignToken = this.token(35 /* HashSign */);
740
790
  const qualifiedNameIdentifiers = typeof name === "string" ? [this.createIdentifier(name)] : name.map((s) => this.createIdentifier(s));
741
791
  const qualifiedName = new QualifiedName(
742
- this.createTokenSeparatedElements(qualifiedNameIdentifiers, 27 /* Dot */),
792
+ this.createTokenSeparatedElements(qualifiedNameIdentifiers, 26 /* Dot */),
743
793
  void 0
744
794
  );
745
795
  const typeArgumentClause = typeArguments !== void 0 ? this.typeArgumentClause(typeArguments) : void 0;
@@ -747,12 +797,12 @@ var SyntaxFactory = class {
747
797
  let argumentList;
748
798
  let closeParenthesisToken;
749
799
  if (args !== void 0) {
750
- openParenthesisToken = this.token(45 /* OpenParenthesis */);
800
+ openParenthesisToken = this.token(44 /* OpenParenthesis */);
751
801
  argumentList = new ArgumentList(
752
- this.createTokenSeparatedElements(args, 25 /* Comma */),
802
+ this.createTokenSeparatedElements(args, 24 /* Comma */),
753
803
  void 0
754
804
  );
755
- closeParenthesisToken = this.token(22 /* CloseParenthesis */);
805
+ closeParenthesisToken = this.token(21 /* CloseParenthesis */);
756
806
  }
757
807
  return new Tag(
758
808
  hashSignToken,
@@ -770,39 +820,39 @@ var SyntaxFactory = class {
770
820
  let levelKeyword;
771
821
  let closeParenthesisToken;
772
822
  if (level !== void 0) {
773
- openParenthesisToken = this.token(45 /* OpenParenthesis */);
823
+ openParenthesisToken = this.token(44 /* OpenParenthesis */);
774
824
  levelKeyword = this.keyword(level);
775
- closeParenthesisToken = this.token(22 /* CloseParenthesis */);
825
+ closeParenthesisToken = this.token(21 /* CloseParenthesis */);
776
826
  }
777
827
  return new Modifier(valueKeyword, openParenthesisToken, levelKeyword, closeParenthesisToken, void 0);
778
828
  }
779
829
  static typeArgumentClause(typeArguments) {
780
- const lessThanToken = this.token(37 /* LessThan */);
830
+ const lessThanToken = this.token(36 /* LessThan */);
781
831
  const typeArgumentList = new TypeArgumentList(
782
- this.createTokenSeparatedElements(typeArguments, 25 /* Comma */),
832
+ this.createTokenSeparatedElements(typeArguments, 24 /* Comma */),
783
833
  void 0
784
834
  );
785
- const greaterThanToken = this.token(34 /* GreaterThan */);
835
+ const greaterThanToken = this.token(33 /* GreaterThan */);
786
836
  return new TypeArgumentClause(lessThanToken, typeArgumentList, greaterThanToken, void 0);
787
837
  }
788
838
  static typeAnnotation(typeSpecifier) {
789
- return new TypeAnnotation(this.token(24 /* Colon */), typeSpecifier, void 0);
839
+ return new TypeAnnotation(this.token(23 /* Colon */), typeSpecifier, void 0);
790
840
  }
791
841
  static statementBlock(statements) {
792
- const openBraceToken = this.token(44 /* OpenBrace */);
842
+ const openBraceToken = this.token(43 /* OpenBrace */);
793
843
  const statementList = new StatementList(statements, void 0);
794
- const closeBraceToken = this.token(21 /* CloseBrace */);
844
+ const closeBraceToken = this.token(20 /* CloseBrace */);
795
845
  return new StatementBlock(openBraceToken, statementList, closeBraceToken, void 0);
796
846
  }
797
847
  static functionExpressionBlock(expression) {
798
- const openBraceToken = this.token(44 /* OpenBrace */);
799
- const closeBraceToken = this.token(21 /* CloseBrace */);
848
+ const openBraceToken = this.token(43 /* OpenBrace */);
849
+ const closeBraceToken = this.token(20 /* CloseBrace */);
800
850
  return new FunctionBlock(openBraceToken, expression, closeBraceToken, void 0);
801
851
  }
802
852
  static functionStatementBlock(statements) {
803
- const openBraceToken = this.token(44 /* OpenBrace */);
853
+ const openBraceToken = this.token(43 /* OpenBrace */);
804
854
  const statementList = new StatementList(statements, void 0);
805
- const closeBraceToken = this.token(21 /* CloseBrace */);
855
+ const closeBraceToken = this.token(20 /* CloseBrace */);
806
856
  return new FunctionBlock(openBraceToken, statementList, closeBraceToken, void 0);
807
857
  }
808
858
  static nullLiteral() {
@@ -815,9 +865,9 @@ var SyntaxFactory = class {
815
865
  const tagList = new TagList([], void 0);
816
866
  const modifierList = new ModifierList([], void 0);
817
867
  const translationsKeyword = this.keyword(55 /* Translations */);
818
- const openBraceToken = this.token(44 /* OpenBrace */);
868
+ const openBraceToken = this.token(43 /* OpenBrace */);
819
869
  const translationList = new TopLevelTranslationList(translations, void 0);
820
- const closeBraceToken = this.token(21 /* CloseBrace */);
870
+ const closeBraceToken = this.token(20 /* CloseBrace */);
821
871
  return new TranslationsDeclaration(
822
872
  tagList,
823
873
  modifierList,
@@ -830,7 +880,7 @@ var SyntaxFactory = class {
830
880
  }
831
881
  static packageVariableTranslation(sourceName, translatedName) {
832
882
  const sourceNameIdentifier = this.createIdentifier(sourceName);
833
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
883
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
834
884
  const translatedNameIdentifier = this.createIdentifier(translatedName);
835
885
  return new PackageVariableTranslationDeclaration(
836
886
  sourceNameIdentifier,
@@ -844,7 +894,7 @@ var SyntaxFactory = class {
844
894
  const sourceNameIdentifier = this.createIdentifier(sourceName);
845
895
  const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
846
896
  const sourceParameterClause = this.translationParameterClause(sourceParameters);
847
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
897
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
848
898
  const translatedNameIdentifier = this.createIdentifier(translatedName);
849
899
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
850
900
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
@@ -864,16 +914,16 @@ var SyntaxFactory = class {
864
914
  const typeKeyword = this.keyword(16 /* Type */);
865
915
  const sourceNameIdentifier = this.createIdentifier(sourceName);
866
916
  const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
867
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
917
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
868
918
  const translatedNameIdentifier = this.createIdentifier(translatedName);
869
919
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
870
920
  let openBraceToken;
871
921
  let memberList;
872
922
  let closeBraceToken;
873
923
  if (members !== void 0) {
874
- openBraceToken = this.token(44 /* OpenBrace */);
924
+ openBraceToken = this.token(43 /* OpenBrace */);
875
925
  memberList = new TypeMemberTranslationList(members, void 0);
876
- closeBraceToken = this.token(21 /* CloseBrace */);
926
+ closeBraceToken = this.token(20 /* CloseBrace */);
877
927
  }
878
928
  return new TypeTranslationDeclaration(
879
929
  typeKeyword,
@@ -893,7 +943,7 @@ var SyntaxFactory = class {
893
943
  const sourceNameIdentifier = this.createIdentifier(sourceName);
894
944
  const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
895
945
  const sourceParameterClause = this.translationParameterClause(sourceParameters);
896
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
946
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
897
947
  const translatedNameIdentifier = this.createIdentifier(translatedName);
898
948
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
899
949
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
@@ -911,7 +961,7 @@ var SyntaxFactory = class {
911
961
  }
912
962
  static fieldOrVariantTranslation(sourceName, translatedName) {
913
963
  const sourceNameIdentifier = this.createIdentifier(sourceName);
914
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
964
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
915
965
  const translatedNameIdentifier = this.createIdentifier(translatedName);
916
966
  return new FieldOrVariantTranslation(
917
967
  sourceNameIdentifier,
@@ -925,7 +975,7 @@ var SyntaxFactory = class {
925
975
  const sourceNameIdentifier = this.createIdentifier(sourceName);
926
976
  const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
927
977
  const sourceParameterClause = this.translationParameterClause(sourceParameters);
928
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
978
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
929
979
  const translatedNameIdentifier = this.createIdentifier(translatedName);
930
980
  const translatedTypeParameterClause = this.createTranslationTypeParameterClause(translatedTypeParameters);
931
981
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
@@ -944,7 +994,7 @@ var SyntaxFactory = class {
944
994
  static constructorTranslation(sourceParameters, translatedParameters) {
945
995
  const creationKeyword = this.keyword(31 /* Creation */);
946
996
  const sourceParameterClause = this.translationParameterClause(sourceParameters);
947
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
997
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
948
998
  const translatedParameterClause = this.translationParameterClause(translatedParameters);
949
999
  return new ConstructorTranslation(
950
1000
  creationKeyword,
@@ -956,7 +1006,7 @@ var SyntaxFactory = class {
956
1006
  }
957
1007
  static indexerTranslation(sourceParameters, translatedParameters) {
958
1008
  const sourceParameterClause = this.indexParameterTranslationClause(sourceParameters);
959
- const minusGreaterThanToken = this.token(43 /* MinusGreaterThan */);
1009
+ const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
960
1010
  const translatedParameterClause = this.indexParameterTranslationClause(translatedParameters);
961
1011
  return new IndexerTranslation(
962
1012
  sourceParameterClause,
@@ -966,21 +1016,21 @@ var SyntaxFactory = class {
966
1016
  );
967
1017
  }
968
1018
  static translationParameterClause(parameters) {
969
- const openParenthesisToken = this.token(45 /* OpenParenthesis */);
1019
+ const openParenthesisToken = this.token(44 /* OpenParenthesis */);
970
1020
  const parameterList = new TranslationParameterList(
971
- this.createTokenSeparatedElements(parameters.map((p) => this.createIdentifier(p)), 25 /* Comma */),
1021
+ this.createTokenSeparatedElements(parameters.map((p) => this.createIdentifier(p)), 24 /* Comma */),
972
1022
  void 0
973
1023
  );
974
- const closeParenthesisToken = this.token(22 /* CloseParenthesis */);
1024
+ const closeParenthesisToken = this.token(21 /* CloseParenthesis */);
975
1025
  return new TranslationParameterClause(openParenthesisToken, parameterList, closeParenthesisToken, void 0);
976
1026
  }
977
1027
  static indexParameterTranslationClause(parameters) {
978
- const openSquareBracketToken = this.token(46 /* OpenSquareBracket */);
1028
+ const openSquareBracketToken = this.token(45 /* OpenSquareBracket */);
979
1029
  const parameterList = new TranslationParameterList(
980
- this.createTokenSeparatedElements(parameters.map((p) => this.createIdentifier(p)), 25 /* Comma */),
1030
+ this.createTokenSeparatedElements(parameters.map((p) => this.createIdentifier(p)), 24 /* Comma */),
981
1031
  void 0
982
1032
  );
983
- const closeSquareBracketToken = this.token(23 /* CloseSquareBracket */);
1033
+ const closeSquareBracketToken = this.token(22 /* CloseSquareBracket */);
984
1034
  return new IndexParameterTranslationClause(
985
1035
  openSquareBracketToken,
986
1036
  parameterList,
@@ -1000,9 +1050,9 @@ var SyntaxFactory = class {
1000
1050
  return void 0;
1001
1051
  }
1002
1052
  return new TypeParameterClause(
1003
- this.token(37 /* LessThan */),
1004
- new TypeParameterList(this.createTokenSeparatedElements(typeParameters, 25 /* Comma */), void 0),
1005
- this.token(34 /* GreaterThan */),
1053
+ this.token(36 /* LessThan */),
1054
+ new TypeParameterList(this.createTokenSeparatedElements(typeParameters, 24 /* Comma */), void 0),
1055
+ this.token(33 /* GreaterThan */),
1006
1056
  void 0
1007
1057
  );
1008
1058
  }
@@ -1011,12 +1061,12 @@ var SyntaxFactory = class {
1011
1061
  return void 0;
1012
1062
  }
1013
1063
  return new TranslationTypeParameterClause(
1014
- this.token(37 /* LessThan */),
1064
+ this.token(36 /* LessThan */),
1015
1065
  new TranslationTypeParameterList(
1016
- this.createTokenSeparatedElements(typeParameters.map((p) => this.createIdentifier(p)), 25 /* Comma */),
1066
+ this.createTokenSeparatedElements(typeParameters.map((p) => this.createIdentifier(p)), 24 /* Comma */),
1017
1067
  void 0
1018
1068
  ),
1019
- this.token(34 /* GreaterThan */),
1069
+ this.token(33 /* GreaterThan */),
1020
1070
  void 0
1021
1071
  );
1022
1072
  }
@@ -1024,11 +1074,11 @@ var SyntaxFactory = class {
1024
1074
  if (typeSpecifier === void 0) {
1025
1075
  return void 0;
1026
1076
  }
1027
- return new TypeAnnotation(this.token(24 /* Colon */), typeSpecifier, void 0);
1077
+ return new TypeAnnotation(this.token(23 /* Colon */), typeSpecifier, void 0);
1028
1078
  }
1029
1079
  static createIdentifier(value) {
1030
1080
  if (typeof value === "string") {
1031
- return new Token(10 /* Identifier */, value, [], [], 0 /* None */, void 0, void 0);
1081
+ return new Token(9 /* Identifier */, value, [], [], 0 /* None */, void 0, void 0);
1032
1082
  }
1033
1083
  return value;
1034
1084
  }
@@ -1414,7 +1464,7 @@ var SyntaxToCode = class _SyntaxToCode {
1414
1464
  this.writeDeclarationBody(node.block);
1415
1465
  }
1416
1466
  }
1417
- writeVariantDeclaration(node) {
1467
+ writeVariantValueDeclaration(node) {
1418
1468
  this.writeDeclarationTags(node.tagList);
1419
1469
  this.writeDeclarationModifiers(node.modifierList);
1420
1470
  this.writeToken(node.name);
@@ -1875,7 +1925,7 @@ var SyntaxToCode = class _SyntaxToCode {
1875
1925
  let isPreviousElementSemicolon = false;
1876
1926
  for (let i = 0; i < elements.length; i++) {
1877
1927
  const element = elements[i];
1878
- if (element.kind === 0 /* Token */ && element.tokenKind === 52 /* Semicolon */) {
1928
+ if (element.kind === 0 /* Token */ && element.tokenKind === 51 /* Semicolon */) {
1879
1929
  this.writeToken(element);
1880
1930
  isPreviousElementSemicolon = true;
1881
1931
  } else {
@@ -1893,7 +1943,7 @@ var SyntaxToCode = class _SyntaxToCode {
1893
1943
  writeCommaSeparatedList(elements, writeNonCommaElement) {
1894
1944
  for (let i = 0; i < elements.length; i++) {
1895
1945
  const element = elements[i];
1896
- if (element.kind === 0 /* Token */ && element.tokenKind === 25 /* Comma */) {
1946
+ if (element.kind === 0 /* Token */ && element.tokenKind === 24 /* Comma */) {
1897
1947
  this.writeToken(element);
1898
1948
  } else {
1899
1949
  if (i > 0) {
@@ -1924,7 +1974,7 @@ var SyntaxToCode = class _SyntaxToCode {
1924
1974
  this.writeCode(tokenKindValues[token.tokenKind]);
1925
1975
  } else {
1926
1976
  let value = token.value;
1927
- if (token.tokenKind === 10 /* Identifier */) {
1977
+ if (token.tokenKind === 9 /* Identifier */) {
1928
1978
  if (value.startsWith("'") && value.endsWith("'")) {
1929
1979
  value = `'${this.escapeLiteralIdentifier(value.substring(1, value.length - 1))}'`;
1930
1980
  } else if (this.singleWordKeywordValues.has(value)) {
@@ -2022,7 +2072,7 @@ var SyntaxToCode = class _SyntaxToCode {
2022
2072
  [94 /* StatementBlock */]: this.prototype.writeStatementBlock,
2023
2073
  [95 /* FunctionBlock */]: this.prototype.writeFunctionBlock,
2024
2074
  [135 /* QualifiedName */]: this.prototype.writeQualifiedName,
2025
- [147 /* VariantDeclaration */]: this.prototype.writeVariantDeclaration,
2075
+ [147 /* VariantValueDeclaration */]: this.prototype.writeVariantValueDeclaration,
2026
2076
  [148 /* TypeParameterDeclaration */]: this.prototype.writeTypeParameterDeclaration,
2027
2077
  [149 /* ParameterDeclaration */]: this.prototype.writeParameterDeclaration,
2028
2078
  [150 /* Argument */]: this.prototype.writeArgument,
@@ -2287,7 +2337,7 @@ var TokenOrKeywordsTouchingOffset_two = class {
2287
2337
  this.kind = "two";
2288
2338
  }
2289
2339
  getSinglePrioritizingNamed() {
2290
- if (this.left.isToken(10 /* Identifier */) || this.left.isKeyword()) {
2340
+ if (this.left.isToken(9 /* Identifier */) || this.left.isKeyword()) {
2291
2341
  return this.left;
2292
2342
  }
2293
2343
  return this.right;
@@ -2317,7 +2367,7 @@ var TranslationsGenerationService = class {
2317
2367
  return void 0;
2318
2368
  }
2319
2369
  let result;
2320
- if (tokenOrKeyword.isToken(10 /* Identifier */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslationDeclaration */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
2370
+ if (tokenOrKeyword.isToken(9 /* Identifier */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslationDeclaration */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
2321
2371
  const translationPackage = analyzer.getAnalyzedTranslationPackageIfTargetResolved(sourceFile.package);
2322
2372
  if (translationPackage !== void 0) {
2323
2373
  const generator = new TranslationsGenerator(
@@ -2558,6 +2608,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2558
2608
  return this.createPackageTypeWithMembersTranslation(entity);
2559
2609
  }
2560
2610
  case 11 /* TypeExtension */:
2611
+ case 13 /* TextTranslation */:
2561
2612
  return void 0;
2562
2613
  default:
2563
2614
  Debug.never(entity);
@@ -2686,7 +2737,7 @@ var CodeActionsService = class {
2686
2737
  }
2687
2738
  const result = new Array();
2688
2739
  const diagnosticCodeSet = new Set(diagnosticCodes);
2689
- if (diagnosticCodeSet.has(288 /* TheFollowingDeclarationsAreNotTranslated0 */) || diagnosticCodeSet.has(289 /* TheFollowingDeclarationsAreNotTranslated0And1More */)) {
2740
+ if (diagnosticCodeSet.has(2087 /* TheFollowingDeclarationsAreNotTranslated0 */) || diagnosticCodeSet.has(2088 /* TheFollowingDeclarationsAreNotTranslated0And1More */)) {
2690
2741
  const data = { onlyTypeMembers: false };
2691
2742
  result.push(CodeAction.unresolved(
2692
2743
  "\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u044B.",
@@ -2798,7 +2849,7 @@ var SignatureForNode = class _SignatureForNode {
2798
2849
  }
2799
2850
  }
2800
2851
  static getSignaturesForCallExpression(analyzer, node) {
2801
- const meaning = analyzer.resolveCallExpression(node).meaning;
2852
+ const meaning = analyzer.resolveCallExpression(node);
2802
2853
  switch (meaning.kind) {
2803
2854
  case "function-call": {
2804
2855
  let suitableSignatureIndex;
@@ -2889,7 +2940,7 @@ var SignatureForNode = class _SignatureForNode {
2889
2940
  return void 0;
2890
2941
  }
2891
2942
  static getSignaturesForIndexedAccessExpression(analyzer, node) {
2892
- const meaning = analyzer.resolveIndexedAccessExpression(node).meaning;
2943
+ const meaning = analyzer.resolveIndexedAccessExpression(node);
2893
2944
  switch (meaning.kind) {
2894
2945
  case "resolved": {
2895
2946
  let suitableSignatureIndex;
@@ -3178,7 +3229,7 @@ var CompletionService = class {
3178
3229
  }
3179
3230
  createPositionDescription(sourceFile, offset) {
3180
3231
  let token = getPrecedingToken(sourceFile, offset);
3181
- if (token?.tokenKind === 10 /* Identifier */ && offset === token.rangeWithoutTrivia.end) {
3232
+ if (token?.tokenKind === 9 /* Identifier */ && offset === token.rangeWithoutTrivia.end) {
3182
3233
  token = getPrecedingToken(sourceFile, offset - 1);
3183
3234
  }
3184
3235
  let result;
@@ -3202,7 +3253,7 @@ var CompletionService = class {
3202
3253
  if (positionDescription.kind !== "after-token-or-keyword") {
3203
3254
  return { kind: "none" };
3204
3255
  }
3205
- if (syntaxContext.isInComment || syntaxContext.isInStringOrChar) {
3256
+ if (syntaxContext.isInComment || syntaxContext.isInText) {
3206
3257
  return { kind: "none" };
3207
3258
  }
3208
3259
  if (syntaxContext.isInQuotedIdentifier !== void 0 && (syntaxContext.isInQuotedIdentifier.parent.kind === 51 /* OperatorDeclaration */ || syntaxContext.isInQuotedIdentifier.parent.kind === 50 /* MethodDeclaration */)) {
@@ -3212,18 +3263,18 @@ var CompletionService = class {
3212
3263
  if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 5 /* SinglePackageImportDirective */) {
3213
3264
  return new PackageImportCompletionContext([], void 0);
3214
3265
  }
3215
- if (tokenOrKeyword.isToken(58 /* Equals */) && tokenOrKeyword.parent.kind === 8 /* PackageImport */) {
3266
+ if (tokenOrKeyword.isToken(57 /* Equals */) && tokenOrKeyword.parent.kind === 8 /* PackageImport */) {
3216
3267
  return new PackageImportCompletionContext([], void 0);
3217
3268
  }
3218
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 9 /* PackageName */) {
3269
+ if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 9 /* PackageName */) {
3219
3270
  const packageImport = tokenOrKeyword.parent.parent;
3220
3271
  const precedingSegmentNames = packageImport.packageName.segments.takeWhile((s) => s.rangeWithTrivia.start < tokenOrKeyword.value.rangeWithTrivia.start).map((p) => this.analyzer.createNameFromIdentifier(p)).toArray();
3221
3272
  return new PackageImportCompletionContext(precedingSegmentNames, void 0);
3222
3273
  }
3223
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || this.tokenOrKeywordIsPackageImportListChild(tokenOrKeyword)) {
3274
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 6 /* PackageGroupImportDirective */ || this.tokenOrKeywordIsPackageImportListChild(tokenOrKeyword)) {
3224
3275
  return new PackageImportCompletionContext([], void 0);
3225
3276
  }
3226
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 76 /* MemberAccessExpression */) {
3277
+ if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 76 /* MemberAccessExpression */) {
3227
3278
  const memberAccess = tokenOrKeyword.parent;
3228
3279
  {
3229
3280
  const packageTreeNode = this.analyzer.getDenotedPackageNameTreeNode(memberAccess.expression);
@@ -3253,7 +3304,7 @@ var CompletionService = class {
3253
3304
  const hidingMatcher = semanticContext.getHidingMatcher();
3254
3305
  return new TypeMemberCompletionContext(type, isStaticAccess, hidingMatcher, semanticContext);
3255
3306
  }
3256
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
3307
+ if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
3257
3308
  const namedTypeSpecifier = tokenOrKeyword.parent.parent;
3258
3309
  const resolutionResult = this.analyzer.resolveNamedTypeSpecifier(namedTypeSpecifier);
3259
3310
  const segmentIndex = Math.floor(
@@ -3292,7 +3343,7 @@ var CompletionService = class {
3292
3343
  }
3293
3344
  return { kind: "none" };
3294
3345
  }
3295
- if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 152 /* Tag */) {
3346
+ if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 152 /* Tag */) {
3296
3347
  const tag = tokenOrKeyword.parent.parent;
3297
3348
  const resolutionResult = this.analyzer.resolveTag(tag);
3298
3349
  const segmentIndex = Math.floor(
@@ -3589,7 +3640,7 @@ var CompletionService = class {
3589
3640
  return result;
3590
3641
  }
3591
3642
  getKeywordCompletionItemInfos(syntaxContext, semanticContext, positionDescription) {
3592
- if (syntaxContext.isInComment || syntaxContext.isInStringOrChar) {
3643
+ if (syntaxContext.isInComment || syntaxContext.isInText) {
3593
3644
  return [];
3594
3645
  }
3595
3646
  const kinds = /* @__PURE__ */ new Set();
@@ -3660,41 +3711,41 @@ var CompletionService = class {
3660
3711
  return false;
3661
3712
  }
3662
3713
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3663
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 115 /* LoopStatement */;
3714
+ return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 115 /* LoopStatement */;
3664
3715
  }
3665
3716
  isModifierLevelContext(positionDescription) {
3666
3717
  if (positionDescription.kind !== "after-token-or-keyword") {
3667
3718
  return false;
3668
3719
  }
3669
3720
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3670
- return tokenOrKeyword.isToken(45 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */;
3721
+ return tokenOrKeyword.isToken(44 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */;
3671
3722
  }
3672
3723
  isElseOrElseIfKeywordContext(positionDescription) {
3673
3724
  if (positionDescription.kind !== "after-token-or-keyword") {
3674
3725
  return false;
3675
3726
  }
3676
3727
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3677
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 108 /* IfStatement */ && tokenOrKeyword.parent === tokenOrKeyword.parent.parent.block || tokenOrKeyword.parent.parent.kind === 110 /* ElseIfClause */);
3728
+ return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 108 /* IfStatement */ && tokenOrKeyword.parent === tokenOrKeyword.parent.parent.block || tokenOrKeyword.parent.parent.kind === 110 /* ElseIfClause */);
3678
3729
  }
3679
3730
  isCatchKeywordContext(positionDescription) {
3680
3731
  if (positionDescription.kind !== "after-token-or-keyword") {
3681
3732
  return false;
3682
3733
  }
3683
3734
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3684
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */;
3735
+ return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */;
3685
3736
  }
3686
3737
  isFinallyKeywordContext(positionDescription) {
3687
3738
  if (positionDescription.kind !== "after-token-or-keyword") {
3688
3739
  return false;
3689
3740
  }
3690
3741
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3691
- return tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */ || tokenOrKeyword.parent.parent.kind === 101 /* CatchClause */);
3742
+ return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 100 /* TryStatement */ || tokenOrKeyword.parent.parent.kind === 101 /* CatchClause */);
3692
3743
  }
3693
3744
  isTypeKindCompletionContext(positionDescription) {
3694
- return positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(58 /* Equals */) && NodeTypeUtils.isPackageTypeDeclaration(positionDescription.tokenOrKeyword.parent);
3745
+ return positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(57 /* Equals */) && NodeTypeUtils.isPackageTypeDeclaration(positionDescription.tokenOrKeyword.parent);
3695
3746
  }
3696
3747
  isFromKeywordContext(positionDescription) {
3697
- if (!(positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(10 /* Identifier */))) {
3748
+ if (!(positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(9 /* Identifier */))) {
3698
3749
  return false;
3699
3750
  }
3700
3751
  const token = positionDescription.tokenOrKeyword.value;
@@ -3705,7 +3756,7 @@ var CompletionService = class {
3705
3756
  return false;
3706
3757
  }
3707
3758
  const tokenOrKeyword = positionDescription.tokenOrKeyword;
3708
- if (tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 120 /* CaseClause */) {
3759
+ if (tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */ && tokenOrKeyword.parent.parent.kind === 120 /* CaseClause */) {
3709
3760
  return true;
3710
3761
  }
3711
3762
  if (syntaxContext.precedingExpression !== void 0 && syntaxContext.precedingExpression.parent.kind === 118 /* SwitchStatement */) {
@@ -4921,9 +4972,9 @@ var OperatorNameCompletionItemInfo = class {
4921
4972
  }
4922
4973
  };
4923
4974
  var SyntaxContext = class {
4924
- constructor(isInComment, isInStringOrChar, isInQuotedIdentifier, isPackageMemberDeclarationListContext, isTypeMemberDeclarationListContext, isStatementContext, isExpressionContext, precedingExpression, isUnqualifiedTypeContext, isUnqualifiedTagNameCompletionContext, isTopLevelTranslationListContext, isTypeMemberTranslationListContext) {
4975
+ constructor(isInComment, isInText, isInQuotedIdentifier, isPackageMemberDeclarationListContext, isTypeMemberDeclarationListContext, isStatementContext, isExpressionContext, precedingExpression, isUnqualifiedTypeContext, isUnqualifiedTagNameCompletionContext, isTopLevelTranslationListContext, isTypeMemberTranslationListContext) {
4925
4976
  this.isInComment = isInComment;
4926
- this.isInStringOrChar = isInStringOrChar;
4977
+ this.isInText = isInText;
4927
4978
  this.isInQuotedIdentifier = isInQuotedIdentifier;
4928
4979
  this.isPackageMemberDeclarationListContext = isPackageMemberDeclarationListContext;
4929
4980
  this.isTypeMemberDeclarationListContext = isTypeMemberDeclarationListContext;
@@ -4982,7 +5033,7 @@ var ExpressionRole_other = class {
4982
5033
  var SyntaxContextFactory = class {
4983
5034
  static fromPositionDescription(sourceFile, positionDescription) {
4984
5035
  const isInComment = this.isInComment(sourceFile, positionDescription.getOffset());
4985
- const isInStringOrChar = this.isInStringOrChar(sourceFile, positionDescription.getOffset());
5036
+ const isInText = this.isInText(sourceFile, positionDescription.getOffset());
4986
5037
  const isInQuotedIdentifier = this.isInQuotedIdentifier(sourceFile, positionDescription.getOffset());
4987
5038
  let isPackageMemberDeclarationListContext = false;
4988
5039
  if (positionDescription.kind === "at-file-start") {
@@ -5009,7 +5060,7 @@ var SyntaxContextFactory = class {
5009
5060
  if (positionDescription.kind === "after-token-or-keyword") {
5010
5061
  isUnqualifiedTypeContext = this.isUnqualifiedTypeContext(positionDescription.tokenOrKeyword);
5011
5062
  }
5012
- const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(36 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 152 /* Tag */;
5063
+ const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(35 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 152 /* Tag */;
5013
5064
  let isTopLevelTranslationListContext;
5014
5065
  if (positionDescription.kind === "after-token-or-keyword") {
5015
5066
  isTopLevelTranslationListContext = this.isTopLevelTranslationListContext(positionDescription.tokenOrKeyword);
@@ -5020,7 +5071,7 @@ var SyntaxContextFactory = class {
5020
5071
  }
5021
5072
  return new SyntaxContext(
5022
5073
  isInComment,
5023
- isInStringOrChar,
5074
+ isInText,
5024
5075
  isInQuotedIdentifier,
5025
5076
  isPackageMemberDeclarationListContext,
5026
5077
  isTypeMemberDeclarationListContext,
@@ -5034,7 +5085,7 @@ var SyntaxContextFactory = class {
5034
5085
  );
5035
5086
  }
5036
5087
  static isExpressionOrStatementContext(tokenOrKeyword) {
5037
- if (tokenOrKeyword.isToken(58 /* Equals */)) {
5088
+ if (tokenOrKeyword.isToken(57 /* Equals */)) {
5038
5089
  if (tokenOrKeyword.parent.kind === 92 /* AssignmentStatement */) {
5039
5090
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.right);
5040
5091
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
@@ -5059,7 +5110,7 @@ var SyntaxContextFactory = class {
5059
5110
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
5060
5111
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5061
5112
  }
5062
- if (tokenOrKeyword.parent.kind === 147 /* VariantDeclaration */) {
5113
+ if (tokenOrKeyword.parent.kind === 147 /* VariantValueDeclaration */) {
5063
5114
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
5064
5115
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5065
5116
  }
@@ -5076,11 +5127,11 @@ var SyntaxContextFactory = class {
5076
5127
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.right);
5077
5128
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5078
5129
  }
5079
- if (tokenOrKeyword.isToken(7 /* TextTemplateHead */) && (tokenOrKeyword.parent.kind === 79 /* TextTemplateLiteral */ || tokenOrKeyword.parent.kind === 80 /* LocalizableTextTemplateLiteral */)) {
5130
+ if (tokenOrKeyword.isToken(6 /* TextTemplateHead */) && (tokenOrKeyword.parent.kind === 79 /* TextTemplateLiteral */ || tokenOrKeyword.parent.kind === 80 /* LocalizableTextTemplateLiteral */)) {
5080
5131
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.spanList.spans.at(0)?.expression);
5081
5132
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5082
5133
  }
5083
- if (tokenOrKeyword.isToken(8 /* TextTemplatePart */) && tokenOrKeyword.parent.kind === 82 /* TextTemplateSpan */) {
5134
+ if (tokenOrKeyword.isToken(7 /* TextTemplatePart */) && tokenOrKeyword.parent.kind === 82 /* TextTemplateSpan */) {
5084
5135
  let expressionForTargetType;
5085
5136
  const spanList = tokenOrKeyword.parent.parent;
5086
5137
  const spanIndex = spanList.spans.indexOf(tokenOrKeyword.parent);
@@ -5092,10 +5143,10 @@ var SyntaxContextFactory = class {
5092
5143
  isStatementContext: false
5093
5144
  };
5094
5145
  }
5095
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */) {
5146
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 94 /* StatementBlock */) {
5096
5147
  return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
5097
5148
  }
5098
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 95 /* FunctionBlock */) {
5149
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 95 /* FunctionBlock */) {
5099
5150
  const block = tokenOrKeyword.parent;
5100
5151
  if (block.expressionOrStatementList.kind !== 93 /* StatementList */ || block.expressionOrStatementList.statements.count() === 0) {
5101
5152
  return {
@@ -5109,10 +5160,10 @@ var SyntaxContextFactory = class {
5109
5160
  };
5110
5161
  }
5111
5162
  }
5112
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 93 /* StatementList */) {
5163
+ if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 93 /* StatementList */) {
5113
5164
  return { isExpressionContext: { expressionRole: new ExpressionRole_other(void 0) }, isStatementContext: true };
5114
5165
  }
5115
- if (tokenOrKeyword.isToken(45 /* OpenParenthesis */)) {
5166
+ if (tokenOrKeyword.isToken(44 /* OpenParenthesis */)) {
5116
5167
  if (tokenOrKeyword.parent.kind === 73 /* ParenthesizedExpression */) {
5117
5168
  const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
5118
5169
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
@@ -5141,15 +5192,15 @@ var SyntaxContextFactory = class {
5141
5192
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5142
5193
  }
5143
5194
  }
5144
- if (tokenOrKeyword.isToken(46 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 70 /* IndexedAccessExpression */) {
5195
+ if (tokenOrKeyword.isToken(45 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 70 /* IndexedAccessExpression */) {
5145
5196
  const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
5146
5197
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5147
5198
  }
5148
- if (tokenOrKeyword.isToken(46 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 59 /* ArrayLiteral */) {
5199
+ if (tokenOrKeyword.isToken(45 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 59 /* ArrayLiteral */) {
5149
5200
  const expressionRole = new ExpressionRole_arrayElement(tokenOrKeyword.parent);
5150
5201
  return { isExpressionContext: { expressionRole }, isStatementContext: false };
5151
5202
  }
5152
- if (tokenOrKeyword.isToken(25 /* Comma */)) {
5203
+ if (tokenOrKeyword.isToken(24 /* Comma */)) {
5153
5204
  if (tokenOrKeyword.parent.kind === 67 /* ArgumentList */) {
5154
5205
  const argumentList = tokenOrKeyword.parent;
5155
5206
  let index = 0;
@@ -5244,16 +5295,16 @@ var SyntaxContextFactory = class {
5244
5295
  return { isExpressionContext: void 0, isStatementContext: false };
5245
5296
  }
5246
5297
  static isPackageMemberDeclarationListContext(tokenOrKeyword) {
5247
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && (tokenOrKeyword.parent.kind === 2 /* PackageMemberDeclarationList */ || tokenOrKeyword.parent.kind === 4 /* PackageImportDirectiveList */)) {
5298
+ if (tokenOrKeyword.isToken(51 /* Semicolon */) && (tokenOrKeyword.parent.kind === 2 /* PackageMemberDeclarationList */ || tokenOrKeyword.parent.kind === 4 /* PackageImportDirectiveList */)) {
5248
5299
  return true;
5249
5300
  }
5250
- 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 */)) {
5301
+ if (tokenOrKeyword.isToken(20 /* 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 */)) {
5251
5302
  return true;
5252
5303
  }
5253
- if (tokenOrKeyword.isToken(21 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 123 /* 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 */))) {
5304
+ if (tokenOrKeyword.isToken(20 /* CloseBrace */) && (tokenOrKeyword.parent.kind === 123 /* 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 */))) {
5254
5305
  return true;
5255
5306
  }
5256
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 22 /* PackageMemberGroupDeclaration */) {
5307
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 22 /* PackageMemberGroupDeclaration */) {
5257
5308
  return true;
5258
5309
  }
5259
5310
  if (SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 5 /* SinglePackageImportDirective */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 25 /* PackageFunctionDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 26 /* PackageFunctionTypeDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 20 /* PackageAliasTypeDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 33 /* PackageVariableDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
@@ -5265,7 +5316,7 @@ var SyntaxContextFactory = class {
5265
5316
  if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 154 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5266
5317
  return true;
5267
5318
  }
5268
- if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */ && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5319
+ if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */ && NodeTypeUtils.isPackageMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5269
5320
  return true;
5270
5321
  }
5271
5322
  const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 152 /* Tag */);
@@ -5275,13 +5326,13 @@ var SyntaxContextFactory = class {
5275
5326
  return false;
5276
5327
  }
5277
5328
  static isTypeMemberDeclarationListContext(tokenOrKeyword) {
5278
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 29 /* TypeMemberDeclarationList */) {
5329
+ if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 29 /* TypeMemberDeclarationList */) {
5279
5330
  return true;
5280
5331
  }
5281
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 30 /* TypeMemberDeclarationBlock */) {
5332
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 30 /* TypeMemberDeclarationBlock */) {
5282
5333
  return true;
5283
5334
  }
5284
- if (tokenOrKeyword.isToken(21 /* CloseBrace */) && tokenOrKeyword.parent.kind === 30 /* TypeMemberDeclarationBlock */ && tokenOrKeyword.parent.parent.kind === 42 /* TypeMemberGroupDeclaration */) {
5335
+ if (tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 30 /* TypeMemberDeclarationBlock */ && tokenOrKeyword.parent.parent.kind === 42 /* TypeMemberGroupDeclaration */) {
5285
5336
  return true;
5286
5337
  }
5287
5338
  if (SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 52 /* FieldDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 53 /* FieldGetterDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 54 /* FieldSetterDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
@@ -5296,13 +5347,13 @@ var SyntaxContextFactory = class {
5296
5347
  ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
5297
5348
  tokenOrKeyword,
5298
5349
  49 /* DereferencedVariableSetterDeclaration */
5299
- ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 50 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 51 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 43 /* ConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 44 /* DestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 147 /* VariantDeclaration */)) {
5350
+ ) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 50 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 51 /* OperatorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 43 /* ConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 44 /* DestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 147 /* VariantValueDeclaration */)) {
5300
5351
  return true;
5301
5352
  }
5302
5353
  if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 154 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5303
5354
  return true;
5304
5355
  }
5305
- if (tokenOrKeyword.isToken(22 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */ && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5356
+ if (tokenOrKeyword.isToken(21 /* CloseParenthesis */) && tokenOrKeyword.parent.kind === 154 /* Modifier */ && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
5306
5357
  return true;
5307
5358
  }
5308
5359
  const tag = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 152 /* Tag */);
@@ -5324,12 +5375,12 @@ var SyntaxContextFactory = class {
5324
5375
  }
5325
5376
  return trivia !== void 0 && offset > trivia.range.start && (trivia.kind === 2 /* SingleLineComment */ || trivia.kind === 3 /* MultiLineComment */);
5326
5377
  }
5327
- static isInStringOrChar(sourceFile, offset) {
5378
+ static isInText(sourceFile, offset) {
5328
5379
  let token = getTokenAtOffset(sourceFile.getSyntaxNode(), offset, false);
5329
5380
  if (token?.tokenKind === 1 /* EndOfFile */ && token.rangeWithTrivia.isEmpty) {
5330
5381
  token = getTokenAtOffset(sourceFile.getSyntaxNode(), offset - 1, false);
5331
5382
  }
5332
- return token !== void 0 && offset > token.rangeWithoutTrivia.start && (token.tokenKind === 6 /* TextLiteral */ || token.tokenKind === 5 /* CharLiteral */ || token.tokenKind === 7 /* TextTemplateHead */ || token.tokenKind === 8 /* TextTemplatePart */ || token.tokenKind === 9 /* TextTemplateTail */);
5383
+ return token !== void 0 && offset > token.rangeWithoutTrivia.start && (token.tokenKind === 5 /* TextLiteral */ || token.tokenKind === 6 /* TextTemplateHead */ || token.tokenKind === 7 /* TextTemplatePart */ || token.tokenKind === 8 /* TextTemplateTail */);
5333
5384
  }
5334
5385
  static isInQuotedIdentifier(sourceFile, offset) {
5335
5386
  let result;
@@ -5343,7 +5394,7 @@ var SyntaxContextFactory = class {
5343
5394
  return result;
5344
5395
  }
5345
5396
  static isUnqualifiedTypeContext(tokenOrKeyword) {
5346
- if (tokenOrKeyword.isToken(24 /* Colon */) && tokenOrKeyword.parent.kind === 161 /* TypeAnnotation */) {
5397
+ if (tokenOrKeyword.isToken(23 /* Colon */) && tokenOrKeyword.parent.kind === 161 /* TypeAnnotation */) {
5347
5398
  return { allowsAnonymousTypes: true };
5348
5399
  }
5349
5400
  if ((tokenOrKeyword.isKeyword(4 /* Object */) || tokenOrKeyword.isKeyword(5 /* PlainObject */) || tokenOrKeyword.isKeyword(3 /* Aspect */)) && tokenOrKeyword.parent.kind === 32 /* StructuredTypeDeclarationBody */) {
@@ -5352,19 +5403,19 @@ var SyntaxContextFactory = class {
5352
5403
  if (tokenOrKeyword.isKeyword(16 /* Type */) && (NodeTypeUtils.isPackageTypeDeclaration(tokenOrKeyword.parent) || tokenOrKeyword.parent.kind === 38 /* TypeExtensionDeclaration */)) {
5353
5404
  return { allowsAnonymousTypes: false };
5354
5405
  }
5355
- if (tokenOrKeyword.isToken(37 /* LessThan */) && tokenOrKeyword.parent.kind === 157 /* TypeArgumentClause */) {
5406
+ if (tokenOrKeyword.isToken(36 /* LessThan */) && tokenOrKeyword.parent.kind === 157 /* TypeArgumentClause */) {
5356
5407
  return { allowsAnonymousTypes: true };
5357
5408
  }
5358
- if (tokenOrKeyword.isToken(25 /* Comma */) && (tokenOrKeyword.parent.kind === 28 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 158 /* TypeArgumentList */)) {
5409
+ if (tokenOrKeyword.isToken(24 /* Comma */) && (tokenOrKeyword.parent.kind === 28 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 158 /* TypeArgumentList */)) {
5359
5410
  return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 158 /* TypeArgumentList */ };
5360
5411
  }
5361
- if (tokenOrKeyword.isToken(36 /* HashSign */) && tokenOrKeyword.parent.kind === 152 /* Tag */) {
5412
+ if (tokenOrKeyword.isToken(35 /* HashSign */) && tokenOrKeyword.parent.kind === 152 /* Tag */) {
5362
5413
  return { allowsAnonymousTypes: false };
5363
5414
  }
5364
- if ((tokenOrKeyword.isToken(24 /* Colon */) || tokenOrKeyword.isToken(58 /* Equals */)) && tokenOrKeyword.parent.kind === 148 /* TypeParameterDeclaration */) {
5415
+ if ((tokenOrKeyword.isToken(23 /* Colon */) || tokenOrKeyword.isToken(57 /* Equals */)) && tokenOrKeyword.parent.kind === 148 /* TypeParameterDeclaration */) {
5365
5416
  return { allowsAnonymousTypes: false };
5366
5417
  }
5367
- if (tokenOrKeyword.isToken(58 /* Equals */) && tokenOrKeyword.parent.kind === 20 /* PackageAliasTypeDeclaration */) {
5418
+ if (tokenOrKeyword.isToken(57 /* Equals */) && tokenOrKeyword.parent.kind === 20 /* PackageAliasTypeDeclaration */) {
5368
5419
  return { allowsAnonymousTypes: false };
5369
5420
  }
5370
5421
  if (tokenOrKeyword.isKeyword(14 /* Is */) && tokenOrKeyword.parent.kind === 72 /* IsExpression */) {
@@ -5373,22 +5424,22 @@ var SyntaxContextFactory = class {
5373
5424
  if (tokenOrKeyword.isKeyword(42 /* As */) && tokenOrKeyword.parent.kind === 63 /* AsExpression */) {
5374
5425
  return { allowsAnonymousTypes: true };
5375
5426
  }
5376
- if (tokenOrKeyword.isToken(18 /* Bar */) && tokenOrKeyword.parent.kind === 11 /* UnionTypeSpecifier */) {
5427
+ if (tokenOrKeyword.isToken(17 /* Bar */) && tokenOrKeyword.parent.kind === 11 /* UnionTypeSpecifier */) {
5377
5428
  return { allowsAnonymousTypes: false };
5378
5429
  }
5379
- if (tokenOrKeyword.isToken(11 /* Ampersand */) && tokenOrKeyword.parent.kind === 12 /* IntersectionTypeSpecifier */) {
5430
+ if (tokenOrKeyword.isToken(10 /* Ampersand */) && tokenOrKeyword.parent.kind === 12 /* IntersectionTypeSpecifier */) {
5380
5431
  return { allowsAnonymousTypes: false };
5381
5432
  }
5382
- if (tokenOrKeyword.isToken(45 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 13 /* ParenthesizedTypeSpecifier */) {
5433
+ if (tokenOrKeyword.isToken(44 /* OpenParenthesis */) && tokenOrKeyword.parent.kind === 13 /* ParenthesizedTypeSpecifier */) {
5383
5434
  return { allowsAnonymousTypes: true };
5384
5435
  }
5385
5436
  return void 0;
5386
5437
  }
5387
5438
  static isTopLevelTranslationListContext(tokenOrKeyword) {
5388
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 124 /* TopLevelTranslationList */) {
5439
+ if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 124 /* TopLevelTranslationList */) {
5389
5440
  return { translationsDeclaration: tokenOrKeyword.parent.parent };
5390
5441
  }
5391
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 123 /* TranslationsDeclaration */) {
5442
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 123 /* TranslationsDeclaration */) {
5392
5443
  return { translationsDeclaration: tokenOrKeyword.parent };
5393
5444
  }
5394
5445
  const type = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(
@@ -5422,10 +5473,10 @@ var SyntaxContextFactory = class {
5422
5473
  return void 0;
5423
5474
  }
5424
5475
  static isTypeMemberTranslationListContext(tokenOrKeyword) {
5425
- if (tokenOrKeyword.isToken(52 /* Semicolon */) && tokenOrKeyword.parent.kind === 138 /* TypeMemberTranslationList */) {
5476
+ if (tokenOrKeyword.isToken(51 /* Semicolon */) && tokenOrKeyword.parent.kind === 138 /* TypeMemberTranslationList */) {
5426
5477
  return { typeTranslation: tokenOrKeyword.parent.parent };
5427
5478
  }
5428
- if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslationDeclaration */) {
5479
+ if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 139 /* TypeTranslationDeclaration */) {
5429
5480
  return { typeTranslation: tokenOrKeyword.parent };
5430
5481
  }
5431
5482
  const indexer = SyntaxContextUtils.ifTokenIsValidEndOfNodeThenNode(tokenOrKeyword, 129 /* IndexerTranslation */);
@@ -5567,35 +5618,35 @@ var NodeSemanticInfoService = class {
5567
5618
  return this.ofPrefixUnaryExpressionOperator(analyzer, tokenOrKeyword.parent, options7);
5568
5619
  } else if (tokenOrKeyword.parent.kind === 64 /* BinaryExpression */) {
5569
5620
  return this.ofBinaryExpressionOperator(analyzer, tokenOrKeyword.parent, options7);
5570
- } else if (tokenOrKeyword.isToken(20 /* Caret */) && (tokenOrKeyword.parent.kind === 48 /* DereferencedVariableGetterDeclaration */ || tokenOrKeyword.parent.kind === 49 /* DereferencedVariableSetterDeclaration */)) {
5621
+ } else if (tokenOrKeyword.isToken(19 /* Caret */) && (tokenOrKeyword.parent.kind === 48 /* DereferencedVariableGetterDeclaration */ || tokenOrKeyword.parent.kind === 49 /* DereferencedVariableSetterDeclaration */)) {
5571
5622
  return this.ofDereferenceOperatorDeclaration(analyzer, tokenOrKeyword.parent);
5572
- } else if (tokenOrKeyword.isToken(20 /* Caret */) && tokenOrKeyword.parent.kind === 78 /* DereferenceExpression */) {
5623
+ } else if (tokenOrKeyword.isToken(19 /* Caret */) && tokenOrKeyword.parent.kind === 78 /* DereferenceExpression */) {
5573
5624
  return this.ofDereferenceExpressionOperator(analyzer, tokenOrKeyword.parent, options7);
5574
5625
  } else if (tokenOrKeyword.parent.kind === 92 /* AssignmentStatement */) {
5575
5626
  return this.ofAssignmentStatementOperator(analyzer, tokenOrKeyword.parent, options7);
5576
5627
  } else if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 43 /* ConstructorDeclaration */) {
5577
5628
  return this.ofConstructorDeclaration(analyzer, tokenOrKeyword.parent);
5578
- } else if (tokenOrKeyword.isToken(14 /* Asterisk */) && tokenOrKeyword.parent.kind === 91 /* DefaultMatchExpression */) {
5629
+ } else if (tokenOrKeyword.isToken(13 /* Asterisk */) && tokenOrKeyword.parent.kind === 91 /* DefaultMatchExpression */) {
5579
5630
  return this.ofDefaultMatchExpression(analyzer, tokenOrKeyword.parent);
5580
5631
  } else if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 65 /* FunctionLiteral */) {
5581
5632
  return this.ofRegularOrBlockFunctionLiteral(analyzer, tokenOrKeyword.parent);
5582
- } else if (tokenOrKeyword.isToken(44 /* OpenBrace */) && tokenOrKeyword.parent.kind === 95 /* FunctionBlock */ && tokenOrKeyword.parent.parent.kind === 66 /* FunctionBlockLiteral */) {
5633
+ } else if (tokenOrKeyword.isToken(43 /* OpenBrace */) && tokenOrKeyword.parent.kind === 95 /* FunctionBlock */ && tokenOrKeyword.parent.parent.kind === 66 /* FunctionBlockLiteral */) {
5583
5634
  return this.ofRegularOrBlockFunctionLiteral(analyzer, tokenOrKeyword.parent.parent);
5584
5635
  } else if (tokenOrKeyword.isKeyword(4 /* Object */) && tokenOrKeyword.parent.kind === 87 /* ObjectExpression */) {
5585
5636
  return this.ofObjectExpression(analyzer, tokenOrKeyword.parent, options7);
5586
5637
  } else if (tokenOrKeyword.isKeyword(56 /* Base */) && tokenOrKeyword.parent.kind === 88 /* BaseExpression */) {
5587
5638
  return this.ofBaseExpression(analyzer, tokenOrKeyword.parent, options7);
5588
- } else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 47 /* IndexParameterClause */) {
5639
+ } else if ((tokenOrKeyword.isToken(45 /* OpenSquareBracket */) || tokenOrKeyword.isToken(22 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 47 /* IndexParameterClause */) {
5589
5640
  return this.ofIndexedElementAccessorDeclaration(analyzer, tokenOrKeyword.parent.parent);
5590
- } else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 70 /* IndexedAccessExpression */) {
5641
+ } else if ((tokenOrKeyword.isToken(45 /* OpenSquareBracket */) || tokenOrKeyword.isToken(22 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 70 /* IndexedAccessExpression */) {
5591
5642
  return this.ofIndexedAccessExpressionOperator(analyzer, tokenOrKeyword.parent, options7);
5592
5643
  } else if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 127 /* ConstructorTranslation */) {
5593
5644
  return this.ofConstructorTranslationSourceConstructor(analyzer, tokenOrKeyword.parent, options7);
5594
- } else if ((tokenOrKeyword.isToken(45 /* OpenParenthesis */) || tokenOrKeyword.isToken(22 /* CloseParenthesis */)) && tokenOrKeyword.parent.kind === 126 /* TranslationParameterClause */ && tokenOrKeyword.parent.parent.kind === 127 /* ConstructorTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
5645
+ } else if ((tokenOrKeyword.isToken(44 /* OpenParenthesis */) || tokenOrKeyword.isToken(21 /* CloseParenthesis */)) && tokenOrKeyword.parent.kind === 126 /* TranslationParameterClause */ && tokenOrKeyword.parent.parent.kind === 127 /* ConstructorTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
5595
5646
  return this.ofConstructorTranslationTranslatedConstructor(analyzer, tokenOrKeyword.parent.parent, options7);
5596
- } else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.sourceParameterClause === tokenOrKeyword.parent) {
5647
+ } else if ((tokenOrKeyword.isToken(45 /* OpenSquareBracket */) || tokenOrKeyword.isToken(22 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.sourceParameterClause === tokenOrKeyword.parent) {
5597
5648
  return this.ofIndexerTranslationSourceIndexer(analyzer, tokenOrKeyword.parent.parent, options7);
5598
- } else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
5649
+ } else if ((tokenOrKeyword.isToken(45 /* OpenSquareBracket */) || tokenOrKeyword.isToken(22 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
5599
5650
  return this.ofIndexerTranslationTranslatedIndexer(analyzer, tokenOrKeyword.parent.parent, options7);
5600
5651
  }
5601
5652
  return void 0;
@@ -5737,8 +5788,8 @@ var NodeSemanticInfoService = class {
5737
5788
  case 148 /* TypeParameterDeclaration */:
5738
5789
  result = new DefinitionNodeSemanticInfo(analyzer.entity.ofTypeParameterDeclaration(parent));
5739
5790
  break;
5740
- case 147 /* VariantDeclaration */:
5741
- result = new DefinitionNodeSemanticInfo(analyzer.entity.ofVariantDeclaration(parent));
5791
+ case 147 /* VariantValueDeclaration */:
5792
+ result = new DefinitionNodeSemanticInfo(analyzer.entity.ofVariantValueDeclaration(parent));
5742
5793
  break;
5743
5794
  case 34 /* PackageVariableGetterDeclaration */:
5744
5795
  case 35 /* PackageVariableSetterDeclaration */:
@@ -5761,7 +5812,7 @@ var NodeSemanticInfoService = class {
5761
5812
  }
5762
5813
  static ofMember(analyzer, node, options7) {
5763
5814
  let result;
5764
- const meaning = analyzer.resolveMemberAccessExpression(node).meaning;
5815
+ const meaning = analyzer.resolveMemberAccessExpression(node);
5765
5816
  switch (meaning.kind) {
5766
5817
  case "instance-field-access": {
5767
5818
  let narrowedType;
@@ -6043,7 +6094,7 @@ var NodeSemanticInfoService = class {
6043
6094
  }
6044
6095
  static ofIdentifierExpression(analyzer, node, options7) {
6045
6096
  let result;
6046
- const meaning = analyzer.resolveIdentifierExpression(node).meaning;
6097
+ const meaning = analyzer.resolveIdentifierExpression(node);
6047
6098
  switch (meaning.kind) {
6048
6099
  case "type-access":
6049
6100
  if (meaning.suitableTypes.length > 0) {
@@ -6167,7 +6218,7 @@ var NodeSemanticInfoService = class {
6167
6218
  return new DefinitionNodeSemanticInfo(entity);
6168
6219
  }
6169
6220
  static ofIndexedAccessExpressionOperator(analyzer, node, options7) {
6170
- const meaning = analyzer.resolveIndexedAccessExpression(node).meaning;
6221
+ const meaning = analyzer.resolveIndexedAccessExpression(node);
6171
6222
  if (meaning.kind === "resolved") {
6172
6223
  let result;
6173
6224
  if (isNonEmptyArray(meaning.suitableIndexers)) {
@@ -6194,8 +6245,8 @@ var NodeSemanticInfoService = class {
6194
6245
  const operatorKind = analyzer.getBinaryOperatorKindIfCompoundAssignmentOperator(node.operator);
6195
6246
  if (operatorKind !== void 0) {
6196
6247
  const operator = analyzer.resolveCompoundAssignmentStatementOperator(node, operatorKind);
6197
- if (operator.kind === "ok") {
6198
- const target = new OperatorReferenceTarget(operator.value);
6248
+ if (operator !== void 0) {
6249
+ const target = new OperatorReferenceTarget(operator);
6199
6250
  let result = new ReferenceNodeSemanticInfo([target], false);
6200
6251
  if (options7.includeBetterReferenceTargets) {
6201
6252
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6209,8 +6260,8 @@ var NodeSemanticInfoService = class {
6209
6260
  const classificationResult = analyzer.classifyBinaryExpressionOperator(node.operator);
6210
6261
  if (classificationResult.kind === "user-definable") {
6211
6262
  const operator = analyzer.resolveBinaryExpressionUserDefinableOperator(node, classificationResult.operatorKind);
6212
- if (operator.kind === "ok") {
6213
- const target = new OperatorReferenceTarget(operator.value);
6263
+ if (operator !== void 0) {
6264
+ const target = new OperatorReferenceTarget(operator);
6214
6265
  let result = new ReferenceNodeSemanticInfo([target], false);
6215
6266
  if (options7.includeBetterReferenceTargets) {
6216
6267
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6222,8 +6273,8 @@ var NodeSemanticInfoService = class {
6222
6273
  }
6223
6274
  static ofPrefixUnaryExpressionOperator(analyzer, node, options7) {
6224
6275
  const operator = analyzer.resolvePrefixUnaryExpressionUserDefinableOperator(node);
6225
- if (operator.kind === "ok") {
6226
- const target = new OperatorReferenceTarget(operator.value);
6276
+ if (operator !== void 0) {
6277
+ const target = new OperatorReferenceTarget(operator);
6227
6278
  let result = new ReferenceNodeSemanticInfo([target], false);
6228
6279
  if (options7.includeBetterReferenceTargets) {
6229
6280
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6268,7 +6319,7 @@ var NodeSemanticInfoService = class {
6268
6319
  return result;
6269
6320
  }
6270
6321
  static ofObjectExpression(analyzer, node, options7) {
6271
- const meaning = analyzer.resolveObjectExpression(node).meaning;
6322
+ const meaning = analyzer.resolveObjectExpression(node);
6272
6323
  let result;
6273
6324
  switch (meaning.kind) {
6274
6325
  case "own-constructor-access": {
@@ -6300,7 +6351,7 @@ var NodeSemanticInfoService = class {
6300
6351
  return result;
6301
6352
  }
6302
6353
  static ofBaseExpression(analyzer, node, options7) {
6303
- const meaning = analyzer.resolveBaseExpression(node).meaning;
6354
+ const meaning = analyzer.resolveBaseExpression(node);
6304
6355
  let result;
6305
6356
  switch (meaning.kind) {
6306
6357
  case "base-constructor-access": {
@@ -6399,7 +6450,7 @@ var NodeSemanticInfoService = class {
6399
6450
  static ofPackageNameSegmentAccess(analyzer, packageTreeNode, node) {
6400
6451
  let parent = getParentSkippingParenthesizedExpressions(node);
6401
6452
  while (parent.kind === 76 /* MemberAccessExpression */) {
6402
- const meaning = analyzer.resolveMemberAccessExpression(parent).meaning;
6453
+ const meaning = analyzer.resolveMemberAccessExpression(parent);
6403
6454
  if (meaning.kind === "package-name-segment-access") {
6404
6455
  packageTreeNode = meaning.packageTreeNode;
6405
6456
  parent = getParentSkippingParenthesizedExpressions(parent);
@@ -6853,9 +6904,9 @@ var DefinitionService = class {
6853
6904
  getDefinition(analyzer, sourceFile, offset, taskController) {
6854
6905
  return __async(this, null, function* () {
6855
6906
  const tokenOrKeyword = getTokenOrKeywordsTouchingOffset(sourceFile.getSyntaxNode(), offset).getSingleWithHighestPriority((t) => {
6856
- if (t.isToken(10 /* Identifier */) || t.isKeyword()) {
6907
+ if (t.isToken(9 /* Identifier */) || t.isKeyword()) {
6857
6908
  return 2;
6858
- } else if (t.isToken(20 /* Caret */) || t.isToken(46 /* OpenSquareBracket */) || t.isToken(23 /* CloseSquareBracket */)) {
6909
+ } else if (t.isToken(19 /* Caret */) || t.isToken(45 /* OpenSquareBracket */) || t.isToken(22 /* CloseSquareBracket */)) {
6859
6910
  return 1;
6860
6911
  } else {
6861
6912
  return 0;
@@ -7410,9 +7461,9 @@ var ReferencesService = class {
7410
7461
  }
7411
7462
  getReferencedDefinitionInfosAtOffset(analyzer, sourceFile, offset, options7) {
7412
7463
  const tokenOrKeyword = getTokenOrKeywordsTouchingOffset(sourceFile.getSyntaxNode(), offset).getSingleWithHighestPriority((t) => {
7413
- if (t.isToken(10 /* Identifier */) || t.isKeyword()) {
7464
+ if (t.isToken(9 /* Identifier */) || t.isKeyword()) {
7414
7465
  return 2;
7415
- } else if (t.isToken(20 /* Caret */) || t.isToken(46 /* OpenSquareBracket */) || t.isToken(23 /* CloseSquareBracket */)) {
7466
+ } else if (t.isToken(19 /* Caret */) || t.isToken(45 /* OpenSquareBracket */) || t.isToken(22 /* CloseSquareBracket */)) {
7416
7467
  return 1;
7417
7468
  } else {
7418
7469
  return 0;
@@ -7754,7 +7805,7 @@ var EvaluatableExpressionService = class {
7754
7805
  if (isIdentifier(node)) {
7755
7806
  let originalName;
7756
7807
  if (node.parent.kind === 76 /* MemberAccessExpression */) {
7757
- const meaning = analyzer.resolveMemberAccessExpression(node.parent).meaning;
7808
+ const meaning = analyzer.resolveMemberAccessExpression(node.parent);
7758
7809
  let entity;
7759
7810
  switch (meaning.kind) {
7760
7811
  case "static-field-access":
@@ -7772,7 +7823,7 @@ var EvaluatableExpressionService = class {
7772
7823
  }
7773
7824
  originalName = entity?.getOriginalEntity().getName().keyWithoutBackQuotes;
7774
7825
  } else if (node.parent.kind === 89 /* IdentifierExpression */) {
7775
- const meaning = analyzer.resolveIdentifierExpression(node.parent).meaning;
7826
+ const meaning = analyzer.resolveIdentifierExpression(node.parent);
7776
7827
  let entity;
7777
7828
  switch (meaning.kind) {
7778
7829
  case "variable-access":
@@ -7812,8 +7863,8 @@ var EvaluatableExpressionService = class {
7812
7863
  }
7813
7864
  break;
7814
7865
  default: {
7815
- const checkResult = this.isNamedDeclaration(parent);
7816
- if (checkResult !== void 0 && checkResult.nameIdentifier === node) {
7866
+ const namedDeclarationName = this.ifNamedDeclarationThenName(parent);
7867
+ if (namedDeclarationName === node) {
7817
7868
  return node;
7818
7869
  }
7819
7870
  }
@@ -7830,39 +7881,49 @@ var EvaluatableExpressionService = class {
7830
7881
  return false;
7831
7882
  }
7832
7883
  }
7833
- isNamedDeclaration(node) {
7884
+ ifNamedDeclarationThenName(node) {
7834
7885
  switch (node.kind) {
7835
7886
  case 58 /* ForStatementVariableDeclaration */:
7836
- return { nameIdentifier: node.name };
7837
7887
  case 20 /* PackageAliasTypeDeclaration */:
7838
- return { nameIdentifier: node.name };
7839
7888
  case 25 /* PackageFunctionDeclaration */:
7840
- return { nameIdentifier: node.name };
7841
7889
  case 26 /* PackageFunctionTypeDeclaration */:
7842
- return { nameIdentifier: node.name };
7843
7890
  case 31 /* PackageStructuredTypeDeclaration */:
7844
- return { nameIdentifier: node.name };
7845
7891
  case 33 /* PackageVariableDeclaration */:
7846
- return { nameIdentifier: node.name };
7847
7892
  case 36 /* PackageVariantTypeDeclaration */:
7848
- return { nameIdentifier: node.name };
7849
7893
  case 56 /* NestedFunctionDeclaration */:
7850
- return { nameIdentifier: node.name };
7851
7894
  case 57 /* LocalVariableDeclaration */:
7852
- return { nameIdentifier: node.name };
7853
7895
  case 149 /* ParameterDeclaration */:
7854
- return { nameIdentifier: node.name };
7855
7896
  case 50 /* MethodDeclaration */:
7856
- return { nameIdentifier: node.name };
7857
7897
  case 52 /* FieldDeclaration */:
7858
- return { nameIdentifier: node.name };
7859
7898
  case 148 /* TypeParameterDeclaration */:
7860
- return { nameIdentifier: node.name };
7861
- case 147 /* VariantDeclaration */:
7862
- return { nameIdentifier: node.name };
7899
+ case 147 /* VariantValueDeclaration */:
7863
7900
  case 102 /* ErrorVariableDeclaration */:
7864
- return { nameIdentifier: node.name };
7901
+ case 34 /* PackageVariableGetterDeclaration */:
7902
+ case 35 /* PackageVariableSetterDeclaration */:
7903
+ case 53 /* FieldGetterDeclaration */:
7904
+ case 54 /* FieldSetterDeclaration */:
7905
+ case 51 /* OperatorDeclaration */:
7906
+ case 146 /* TranslationTextTemplateParameter */:
7907
+ return node.name;
7908
+ case 89 /* IdentifierExpression */:
7909
+ case 76 /* MemberAccessExpression */:
7910
+ case 150 /* Argument */:
7911
+ case 125 /* TranslationParameterList */:
7912
+ case 130 /* TranslationTypeParameterList */:
7913
+ case 132 /* PackageFunctionTranslationDeclaration */:
7914
+ case 134 /* FunctionTypeTranslationDeclaration */:
7915
+ case 136 /* PackageVariableTranslationDeclaration */:
7916
+ case 137 /* FieldOrVariantTranslation */:
7917
+ case 139 /* TypeTranslationDeclaration */:
7918
+ case 135 /* QualifiedName */:
7919
+ case 133 /* MethodTranslation */:
7920
+ case 8 /* PackageImport */:
7921
+ case 9 /* PackageName */:
7922
+ case 3 /* Keyword */:
7923
+ return void 0;
7865
7924
  default:
7925
+ Debug.typeIsAssignableTo();
7926
+ Debug.typeIsAssignableTo();
7866
7927
  return void 0;
7867
7928
  }
7868
7929
  }
@@ -7913,11 +7974,11 @@ var FileSystemTreeDisplayService = class _FileSystemTreeDisplayService {
7913
7974
  var HoverService = class {
7914
7975
  getHover(analyzer, sourceFile, offset) {
7915
7976
  const tokenOrKeyword = getTokenOrKeywordsTouchingOffset(sourceFile.getSyntaxNode(), offset).getSingleWithHighestPriority((t) => {
7916
- if (t.isToken(10 /* Identifier */) || t.isKeyword()) {
7977
+ if (t.isToken(9 /* Identifier */) || t.isKeyword()) {
7917
7978
  return 2;
7918
- } else if (t.isToken(14 /* Asterisk */)) {
7979
+ } else if (t.isToken(13 /* Asterisk */)) {
7919
7980
  return 1;
7920
- } else if (t.isToken(20 /* Caret */) || t.isToken(46 /* OpenSquareBracket */) || t.isToken(23 /* CloseSquareBracket */) || t.isToken(44 /* OpenBrace */)) {
7981
+ } else if (t.isToken(19 /* Caret */) || t.isToken(45 /* OpenSquareBracket */) || t.isToken(22 /* CloseSquareBracket */) || t.isToken(43 /* OpenBrace */)) {
7921
7982
  return 1;
7922
7983
  } else {
7923
7984
  return 0;
@@ -8232,9 +8293,9 @@ var SourceFileItemsService = class {
8232
8293
  ));
8233
8294
  break;
8234
8295
  }
8235
- case 147 /* VariantDeclaration */: {
8296
+ case 147 /* VariantValueDeclaration */: {
8236
8297
  result.push(this.createItem(
8237
- 9 /* Variant */,
8298
+ 9 /* VariantValue */,
8238
8299
  node2.name.value,
8239
8300
  node2.rangeWithoutTrivia,
8240
8301
  node2.name.rangeWithoutTrivia,
@@ -8297,7 +8358,7 @@ var SourceFileItemsService = class {
8297
8358
  return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(31 /* Creation */, this.locale, this.dialect);
8298
8359
  case 11 /* Destructor */:
8299
8360
  return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(47 /* Destruction */, this.locale, this.dialect);
8300
- case 9 /* Variant */:
8361
+ case 9 /* VariantValue */:
8301
8362
  return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(6 /* Variant */, this.locale, this.dialect)}>`;
8302
8363
  case 18 /* TypeParameter */:
8303
8364
  return name ?? `<${LocalizationHelper.localizeHelperPhrase(2 /* TypeParameter */, this.locale)}>`;
@@ -8478,13 +8539,13 @@ var SelectionRangeService = class {
8478
8539
  if (!this.nodeShouldBeSkipped(child) && !child.rangeWithoutTrivia.equals(result.range)) {
8479
8540
  result = new SelectionRange(child.rangeWithoutTrivia, result);
8480
8541
  }
8481
- if (child.kind === 0 /* Token */ && (child.tokenKind === 6 /* TextLiteral */ || child.tokenKind === 7 /* TextTemplateHead */ || child.tokenKind === 8 /* TextTemplatePart */ || child.tokenKind === 9 /* TextTemplateTail */ || child.tokenKind === 5 /* CharLiteral */)) {
8542
+ if (child.kind === 0 /* Token */ && (child.tokenKind === 5 /* TextLiteral */ || child.tokenKind === 6 /* TextTemplateHead */ || child.tokenKind === 7 /* TextTemplatePart */ || child.tokenKind === 8 /* TextTemplateTail */)) {
8482
8543
  let textContentStart = child.rangeWithoutTrivia.start + 1;
8483
8544
  let textContentEnd = child.rangeWithoutTrivia.end - 1;
8484
- if ((child.flags & 128 /* StartsWithTilde */) !== 0) {
8545
+ if ((child.flags & 256 /* StartsWithTilde */) !== 0) {
8485
8546
  textContentStart += 1;
8486
8547
  }
8487
- if ((child.flags & 256 /* EndsWithTilde */) !== 0) {
8548
+ if ((child.flags & 512 /* EndsWithTilde */) !== 0) {
8488
8549
  textContentEnd -= 1;
8489
8550
  }
8490
8551
  if (offset >= textContentStart && offset < textContentEnd) {
@@ -8497,7 +8558,7 @@ var SelectionRangeService = class {
8497
8558
  }
8498
8559
  nodeContainsOffset(node, offset, searchInTrivia) {
8499
8560
  const range = searchInTrivia ? node.rangeWithTrivia : node.rangeWithoutTrivia;
8500
- if (node.kind === 0 /* Token */ && node.tokenKind === 10 /* Identifier */ || node.kind === 3 /* Keyword */) {
8561
+ if (node.kind === 0 /* Token */ && node.tokenKind === 9 /* Identifier */ || node.kind === 3 /* Keyword */) {
8501
8562
  return offset >= range.start && offset <= range.end;
8502
8563
  } else {
8503
8564
  return offset >= range.start && offset < range.end;
@@ -8506,9 +8567,9 @@ var SelectionRangeService = class {
8506
8567
  nodeShouldBeSkipped(node) {
8507
8568
  if (node.kind === 0 /* Token */) {
8508
8569
  switch (node.tokenKind) {
8509
- case 7 /* TextTemplateHead */:
8510
- case 8 /* TextTemplatePart */:
8511
- case 9 /* TextTemplateTail */:
8570
+ case 6 /* TextTemplateHead */:
8571
+ case 7 /* TextTemplatePart */:
8572
+ case 8 /* TextTemplateTail */:
8512
8573
  return true;
8513
8574
  default:
8514
8575
  return false;
@@ -8560,7 +8621,7 @@ var SemanticTokensService = class {
8560
8621
  return;
8561
8622
  }
8562
8623
  if (node.kind === 89 /* IdentifierExpression */) {
8563
- const meaning = analyzer.resolveIdentifierExpression(node).meaning;
8624
+ const meaning = analyzer.resolveIdentifierExpression(node);
8564
8625
  if (meaning.kind === "variable-access") {
8565
8626
  const variable = meaning.variable.getEntity();
8566
8627
  if (variable.subkind === "field" && variable.isVariant()) {
@@ -8614,7 +8675,7 @@ var SemanticTokensService = class {
8614
8675
  }
8615
8676
  }
8616
8677
  if (node.kind === 76 /* MemberAccessExpression */) {
8617
- const meaning = analyzer.resolveMemberAccessExpression(node).meaning;
8678
+ const meaning = analyzer.resolveMemberAccessExpression(node);
8618
8679
  if (meaning.kind === "static-field-access") {
8619
8680
  const entity = meaning.field.getEntity();
8620
8681
  if (entity.subkind === "field" && entity.isVariant()) {
@@ -8657,7 +8718,7 @@ var SemanticTokensService = class {
8657
8718
  ));
8658
8719
  }
8659
8720
  }
8660
- if (node.kind === 147 /* VariantDeclaration */) {
8721
+ if (node.kind === 147 /* VariantValueDeclaration */) {
8661
8722
  result.push(
8662
8723
  new SemanticToken(
8663
8724
  node.name.rangeWithoutTrivia,
@@ -8921,7 +8982,7 @@ var TypeParameterSignatureHelpProvider = class {
8921
8982
  getSignaturesForGenericSpecializationExpression(node) {
8922
8983
  const expression = unwrapParenthesizedExpressions(node.expression);
8923
8984
  if (expression.kind === 89 /* IdentifierExpression */) {
8924
- const meaning = this.analyzer.resolveIdentifierExpression(expression).meaning;
8985
+ const meaning = this.analyzer.resolveIdentifierExpression(expression);
8925
8986
  if (meaning.kind === "function-access") {
8926
8987
  return Query.from(meaning.candidates).mapAndFilter((f) => this.getSignatureForAccessedFunction(f)).toArray();
8927
8988
  }
@@ -8934,7 +8995,7 @@ var TypeParameterSignatureHelpProvider = class {
8934
8995
  return void 0;
8935
8996
  }
8936
8997
  if (expression.kind === 76 /* MemberAccessExpression */) {
8937
- const meaning = this.analyzer.resolveMemberAccessExpression(expression).meaning;
8998
+ const meaning = this.analyzer.resolveMemberAccessExpression(expression);
8938
8999
  let accessedFunctions;
8939
9000
  if (meaning.kind === "instance-method-access") {
8940
9001
  accessedFunctions = meaning.candidates;
@@ -12042,7 +12103,7 @@ var EntityToSyntax = class {
12042
12103
  convertVariant(entity) {
12043
12104
  const tags = this.convertTags(entity.getTags());
12044
12105
  const name = this.getEntityName(entity);
12045
- return SyntaxFactory.variantDeclaration(tags, [], name);
12106
+ return SyntaxFactory.variantValueDeclaration(tags, [], name);
12046
12107
  }
12047
12108
  createStructuredTypeDeclarationBody(entity) {
12048
12109
  let structuredTypeKindKeyword;
@@ -12845,6 +12906,7 @@ var _LanguageServer = class _LanguageServer {
12845
12906
  this.fileSystemTreeDisplayService = new FileSystemTreeDisplayService();
12846
12907
  this.selectionRangeService = new SelectionRangeService();
12847
12908
  this.assignFieldService = new AssignFieldService();
12909
+ this.addBlockToScriptService = new AddBlockToScriptService();
12848
12910
  this.deleteBlockFromScriptService = new DeleteBlockFromScriptService();
12849
12911
  this.codeActionsService = new CodeActionsService();
12850
12912
  this.connection = config.connection;
@@ -12942,7 +13004,9 @@ var _LanguageServer = class _LanguageServer {
12942
13004
  this.disposables.push(disposable);
12943
13005
  disposable = this.connection.onRequest(customRequests.assignField, (params, token) => this.withTaskController(token, (taskController) => this.onAssignField(params, taskController)));
12944
13006
  this.disposables.push(disposable);
12945
- disposable = this.connection.onRequest(customRequests.deleteBlockFromScript, (params, token) => this.withTaskController(token, (taskController) => this.onDeleteBlockFromScript(params, taskController)));
13007
+ disposable = this.connection.onRequest(customRequests.addBlockToScript, (params, token) => this.withTaskController(token, (taskController) => this.onAddBlockToScript(params, taskController)));
13008
+ this.disposables.push(disposable);
13009
+ disposable = this.connection.onRequest(customRequests.deleteBlocksFromScript, (params, token) => this.withTaskController(token, (taskController) => this.onDeleteBlocksFromScript(params, taskController)));
12946
13010
  this.disposables.push(disposable);
12947
13011
  this.connection.listen();
12948
13012
  }
@@ -13447,7 +13511,7 @@ var _LanguageServer = class _LanguageServer {
13447
13511
  return ls3.SymbolKind.Function;
13448
13512
  case 7 /* VariantType */:
13449
13513
  return ls3.SymbolKind.Enum;
13450
- case 9 /* Variant */:
13514
+ case 9 /* VariantValue */:
13451
13515
  return ls3.SymbolKind.EnumMember;
13452
13516
  case 8 /* InvalidType */:
13453
13517
  return ls3.SymbolKind.Class;
@@ -13514,16 +13578,22 @@ var _LanguageServer = class _LanguageServer {
13514
13578
  }
13515
13579
  });
13516
13580
  }
13517
- onDeleteBlockFromScript(params, taskController) {
13581
+ onAddBlockToScript(params, taskController) {
13518
13582
  return __async(this, null, function* () {
13519
13583
  const functionNodeUri = URI.parse(params.functionNodeUri);
13520
13584
  const sourceFileContext = yield this.getSourceFileContext(functionNodeUri, taskController);
13521
13585
  if (sourceFileContext !== void 0) {
13522
13586
  const functionDeclaration = NodePath.parse(functionNodeUri.fragment).getNode(sourceFileContext.sourceFile.getSyntaxNode());
13523
13587
  if (functionDeclaration !== void 0 && NodeTypeUtils.isSubprogramDeclarationOrLiteral(functionDeclaration)) {
13524
- const sourceFileEdit = this.deleteBlockFromScriptService.createEditDeletingBlock(
13588
+ const addedBlockInfo = {
13589
+ name: params.name,
13590
+ key: params.key,
13591
+ elementProperties: params.elementProperties
13592
+ };
13593
+ const sourceFileEdit = this.addBlockToScriptService.createEditAddingBlock(
13525
13594
  sourceFileContext.sourceFile,
13526
- functionDeclaration
13595
+ functionDeclaration,
13596
+ addedBlockInfo
13527
13597
  );
13528
13598
  if (sourceFileEdit !== void 0) {
13529
13599
  const textDocumentEdit = this.convertSourceFileEdit(sourceFileEdit);
@@ -13534,6 +13604,32 @@ var _LanguageServer = class _LanguageServer {
13534
13604
  }
13535
13605
  });
13536
13606
  }
13607
+ onDeleteBlocksFromScript(params, taskController) {
13608
+ return __async(this, null, function* () {
13609
+ const documentEdits = new Array();
13610
+ for (const functionNodeUri of params.functionNodeUris) {
13611
+ const parsedFunctionNodeUri = URI.parse(functionNodeUri);
13612
+ const sourceFileContext = yield this.getSourceFileContext(parsedFunctionNodeUri, taskController);
13613
+ if (sourceFileContext !== void 0) {
13614
+ const functionDeclaration = NodePath.parse(parsedFunctionNodeUri.fragment).getNode(sourceFileContext.sourceFile.getSyntaxNode());
13615
+ if (functionDeclaration !== void 0 && NodeTypeUtils.isSubprogramDeclarationOrLiteral(functionDeclaration)) {
13616
+ const sourceFileEdit = this.deleteBlockFromScriptService.createEditDeletingBlock(
13617
+ sourceFileContext.sourceFile,
13618
+ functionDeclaration
13619
+ );
13620
+ if (sourceFileEdit !== void 0) {
13621
+ const textDocumentEdit = this.convertSourceFileEdit(sourceFileEdit);
13622
+ documentEdits.push(textDocumentEdit);
13623
+ }
13624
+ }
13625
+ }
13626
+ }
13627
+ if (documentEdits.length > 0) {
13628
+ const workspaceEdit = { documentChanges: documentEdits };
13629
+ yield this.connection.workspace.applyEdit(workspaceEdit);
13630
+ }
13631
+ });
13632
+ }
13537
13633
  convertSourceFileEdit(edit) {
13538
13634
  const range = this.convertSourceFileRange(edit.sourceFile, edit.range);
13539
13635
  const textDocument = ls3.OptionalVersionedTextDocumentIdentifier.create(