@artel/artc 0.6.25244 → 0.6.25245

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 (111) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +30 -22
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +500 -916
  5. package/build/{chunk-C7RKXERX.js → chunk-FVBS6MPY.js} +1 -1
  6. package/build/{chunk-BAAUJYMH.js → chunk-T7WG4Z7I.js} +21018 -19022
  7. package/build/{chunk-V7EU2U6Y.js → chunk-TVZEHLXD.js} +2 -2
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +49 -80
  9. package/build/types/analysis/Analyzer.d.ts +59 -73
  10. package/build/types/analysis/ArgumentToParameterMatchResult.d.ts +8 -10
  11. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +3 -4
  12. package/build/types/analysis/BaseExpressionMeaning.d.ts +3 -4
  13. package/build/types/analysis/BaseMemberConflictsValidator.d.ts +6 -6
  14. package/build/types/analysis/CallExpressionMeaning.d.ts +7 -9
  15. package/build/types/analysis/ConstructorOverloadResolver.d.ts +4 -7
  16. package/build/types/analysis/DeclarationsUsageCounter.d.ts +1 -2
  17. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +2 -3
  18. package/build/types/analysis/DiagnosticCollector.d.ts +1 -0
  19. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +16 -17
  20. package/build/types/analysis/ImportedPackageNameTree.d.ts +1 -7
  21. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +4 -5
  22. package/build/types/analysis/Localization.d.ts +19 -25
  23. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +29 -31
  24. package/build/types/analysis/NamedTypeResolver.d.ts +6 -8
  25. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +3 -5
  26. package/build/types/analysis/ObjectExpressionMeaning.d.ts +3 -4
  27. package/build/types/analysis/PackageMemberLookup.d.ts +4 -9
  28. package/build/types/analysis/PackageMemberNameConflictsValidator.d.ts +2 -2
  29. package/build/types/analysis/SourceFileMembers.d.ts +3 -3
  30. package/build/types/analysis/TagMeaning.d.ts +18 -20
  31. package/build/types/analysis/Tags.d.ts +1 -1
  32. package/build/types/analysis/TypeMemberConflictsValidator.d.ts +2 -2
  33. package/build/types/analysis/TypeMemberLookup.d.ts +23 -31
  34. package/build/types/analysis/TypeNarrower.d.ts +1 -0
  35. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +1 -2
  36. package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +1 -2
  37. package/build/types/analysis/WellKnownDeclarations.d.ts +100 -31
  38. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +5 -6
  39. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +11 -14
  40. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +5 -6
  41. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +5 -8
  42. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +5 -6
  43. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +11 -12
  44. package/build/types/api/Api.d.ts +0 -3
  45. package/build/types/common/Name.d.ts +9 -14
  46. package/build/types/common/TreeQuery.d.ts +2 -0
  47. package/build/types/common/index.d.ts +0 -1
  48. package/build/types/diagnostic/DiagnosticCode.d.ts +1 -1
  49. package/build/types/emitter/EntityMap.d.ts +1 -0
  50. package/build/types/entities/AliasTypeEntity.d.ts +9 -41
  51. package/build/types/entities/AliasedType.d.ts +62 -0
  52. package/build/types/entities/ConstructorEntity.d.ts +10 -2
  53. package/build/types/entities/DereferenceOperatorEntity.d.ts +5 -0
  54. package/build/types/entities/DestructorEntity.d.ts +6 -2
  55. package/build/types/entities/EntityLocalizationContext.d.ts +53 -0
  56. package/build/types/entities/FunctionEntity.d.ts +20 -0
  57. package/build/types/entities/FunctionTypeEntity.d.ts +15 -4
  58. package/build/types/entities/GetterEntity.d.ts +15 -2
  59. package/build/types/entities/IndexerEntity.d.ts +5 -0
  60. package/build/types/entities/OperatorEntity.d.ts +9 -3
  61. package/build/types/entities/PackageAliasEntity.d.ts +5 -0
  62. package/build/types/entities/PackageEntity.d.ts +8 -3
  63. package/build/types/entities/PackageMembers.d.ts +3 -2
  64. package/build/types/entities/SetterEntity.d.ts +15 -2
  65. package/build/types/entities/StructuredTypeEntity.d.ts +64 -15
  66. package/build/types/entities/TypeEntityMembers.d.ts +2 -5
  67. package/build/types/entities/TypeExtensionEntity.d.ts +9 -5
  68. package/build/types/entities/TypeMemberContainer.d.ts +2 -2
  69. package/build/types/entities/TypeParameterEntity.d.ts +26 -8
  70. package/build/types/entities/VariableEntity.d.ts +41 -1
  71. package/build/types/entities/VariantTypeEntity.d.ts +13 -4
  72. package/build/types/entities/index.d.ts +5 -4
  73. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +54 -0
  74. package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +25 -0
  75. package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +34 -0
  76. package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +24 -0
  77. package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +75 -0
  78. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +83 -0
  79. package/build/types/entities/translated/TranslatedGetterEntity.d.ts +25 -0
  80. package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +37 -0
  81. package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +35 -0
  82. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +28 -0
  83. package/build/types/entities/translated/TranslatedSetterEntity.d.ts +22 -0
  84. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +107 -0
  85. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +28 -0
  86. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +46 -0
  87. package/build/types/entities/translated/TranslatedVariableEntity.d.ts +97 -0
  88. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +76 -0
  89. package/build/types/project/SourcePackage.d.ts +1 -0
  90. package/build/types/services/DefinitionService.d.ts +0 -1
  91. package/build/types/services/DisplayService.d.ts +39 -134
  92. package/build/types/services/NodeSemanticInfo.d.ts +7 -7
  93. package/build/types/services/ReferencesService.d.ts +5 -3
  94. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +7 -10
  95. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -3
  96. package/build/types/services/source-generation/SourceGenerationService.d.ts +1 -2
  97. package/build/types/tree/green/Token.d.ts +6 -7
  98. package/build/types/ts-interop/Entities.d.ts +64 -13
  99. package/build/types/ts-interop/TsInteropContext.d.ts +17 -5
  100. package/build/types/ts-interop/TsPackageContents.d.ts +2 -2
  101. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +3 -3
  102. package/build/types/ts-interop/TsTypeMembersCreator.d.ts +4 -4
  103. package/build/types/types/StandardTypes.d.ts +3 -2
  104. package/build/types/types/Substitutions.d.ts +3 -0
  105. package/build/types/types/Type.d.ts +3 -0
  106. package/package.json +1 -1
  107. package/build/types/analysis/EntityLocalizationHelper.d.ts +0 -17
  108. package/build/types/analysis/FoundDeclaration.d.ts +0 -19
  109. package/build/types/analysis/LocalizationContext.d.ts +0 -15
  110. package/build/types/common/SearchName.d.ts +0 -14
  111. package/build/types/types/Internal.d.ts +0 -1
@@ -27,7 +27,6 @@ import {
27
27
  DiagnosticCollector,
28
28
  DisplayService,
29
29
  Emitter,
30
- EntityLocalizationHelper,
31
30
  FieldDeclaration,
32
31
  FieldGetterDeclaration,
33
32
  FieldOrVariantTranslation,
@@ -57,8 +56,6 @@ import {
57
56
  KeywordExpression,
58
57
  LocaleByConfigurationDirectoryName,
59
58
  LocaleByJsonConfigurationFileName,
60
- Localization,
61
- LocalizationContext,
62
59
  LocalizationHelper,
63
60
  Logger,
64
61
  MethodDeclaration,
@@ -115,7 +112,6 @@ import {
115
112
  Token,
116
113
  TokenExpression,
117
114
  TopLevelTranslationList,
118
- Translation,
119
115
  TranslationParameterClause,
120
116
  TranslationParameterList,
121
117
  TranslationTypeParameterClause,
@@ -182,7 +178,7 @@ import {
182
178
  unwrapParenthesizedExpressions,
183
179
  visitChildren,
184
180
  yieldExecution
185
- } from "../chunk-BAAUJYMH.js";
181
+ } from "../chunk-T7WG4Z7I.js";
186
182
 
187
183
  // source/services/CustomCommand.ts
188
184
  import * as ls from "vscode-languageserver";
@@ -2405,7 +2401,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2405
2401
  if (memberEntities.length > 0) {
2406
2402
  const newLine = this.detectNewLine();
2407
2403
  const syntaxToCodeOptions = {
2408
- keywordsLocale: this._translationPackage.getTranslatedPackage().getLocale(),
2404
+ keywordsLocale: this._translationPackage.getTargetPackage().getLocale(),
2409
2405
  keywordsDialect: this._dialect,
2410
2406
  initialIndentation: this.detectIndentationForPackageMemberTranslations(translationsDeclaration),
2411
2407
  indentationStep: this.detectIndentationStepForTypeMemberTranslations(translationsDeclaration),
@@ -2465,7 +2461,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2465
2461
  }
2466
2462
  const newLine = this.detectNewLine();
2467
2463
  const syntaxToCodeOptions = {
2468
- keywordsLocale: this._translationPackage.getTranslatedPackage().getLocale(),
2464
+ keywordsLocale: this._translationPackage.getTargetPackage().getLocale(),
2469
2465
  keywordsDialect: this._dialect,
2470
2466
  initialIndentation: this.detectIndentationForTypeMemberTranslations(typeTranslation),
2471
2467
  indentationStep: this.detectIndentationStepForTypeMemberTranslations(typeTranslation),
@@ -2498,33 +2494,32 @@ var TranslationsGenerator = class _TranslationsGenerator {
2498
2494
  }
2499
2495
  collectNotTranslatedTypeMembers(entity) {
2500
2496
  const result = new Array();
2501
- const translatedTypeMembers = this._translationPackage.getTypeEntityMembers(entity);
2502
- const namedMembersOfTranslatedType = new Set(translatedTypeMembers?.getNamedMembers().map((m) => m.value));
2503
- const membersOfTargetType = entity.getMembers();
2504
- for (const member of membersOfTargetType.getNamedMembers()) {
2497
+ const translatedTypeEntity = this._translationPackage.entityLocalizationContext.getLocalizedPackageTypeEntity(entity);
2498
+ const members = translatedTypeEntity.getMembers();
2499
+ for (const member of members.getNamedMembers()) {
2505
2500
  if (member.isHidden() !== void 0) {
2506
2501
  continue;
2507
2502
  }
2508
- if (!namedMembersOfTranslatedType.has(member)) {
2503
+ if (this.isNotTranslatedEntity(member)) {
2509
2504
  result.push(member);
2510
2505
  }
2511
2506
  }
2512
- for (const constructor of membersOfTargetType.getConstructors()) {
2507
+ for (const constructor of members.getConstructors()) {
2513
2508
  if (constructor.isHidden() !== void 0) {
2514
2509
  continue;
2515
2510
  }
2516
2511
  if (constructor.isDefault() !== void 0) {
2517
2512
  continue;
2518
2513
  }
2519
- if (constructor.getValueParameters().length > 0 && this._translationPackage.getConstructorSignature(constructor) === void 0) {
2514
+ if (constructor.getValueParameters().length > 0 && this.isNotTranslatedEntity(constructor)) {
2520
2515
  result.push(constructor);
2521
2516
  }
2522
2517
  }
2523
- for (const indexer of membersOfTargetType.getIndexers()) {
2518
+ for (const indexer of members.getIndexers()) {
2524
2519
  if (indexer.isHidden() !== void 0) {
2525
2520
  continue;
2526
2521
  }
2527
- if (indexer.getValueParameters().length > 0 && this._translationPackage.getIndexerSignature(indexer) === void 0) {
2522
+ if (indexer.getValueParameters().length > 0 && this.isNotTranslatedEntity(indexer)) {
2528
2523
  result.push(indexer);
2529
2524
  }
2530
2525
  }
@@ -2582,18 +2577,11 @@ var TranslationsGenerator = class _TranslationsGenerator {
2582
2577
  return " ".repeat(indentationSize);
2583
2578
  }
2584
2579
  collectNotTranslatedPackageMembers() {
2585
- const result = new Array();
2586
- const translatedPackageMembers = new Set(this._translationPackage.getMembers().getNamedMembers().map((m) => m.value));
2587
- const membersOfTargetPackage = this._translationPackage.getTranslatedPackage().getMembers();
2588
- for (const member of membersOfTargetPackage.getNamedMembers()) {
2589
- if (member.isHidden() !== void 0) {
2590
- continue;
2591
- }
2592
- if (!translatedPackageMembers.has(member)) {
2593
- result.push(member);
2594
- }
2595
- }
2596
- return result;
2580
+ return this._translationPackage.getPackageInTranslatedLanguage().getMembers().getNamedMembers().filter((m) => m.isHidden() === void 0 && this.isNotTranslatedEntity(m));
2581
+ }
2582
+ isNotTranslatedEntity(entity) {
2583
+ const localization = entity.getLocalization();
2584
+ return localization.kind === "original" || localization.translation.definition.kind === "intrinsic" && localization.translation.definition.isMissingTranslationReplacement;
2597
2585
  }
2598
2586
  createPackageMemberTranslationNode(entity) {
2599
2587
  switch (entity.kind) {
@@ -2672,7 +2660,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
2672
2660
  return SyntaxFactory.indexerTranslation(parameters, parameters);
2673
2661
  }
2674
2662
  getNameText(name) {
2675
- const flags = name.flags & ~16 /* ConflictResolvingParameterName */;
2663
+ const flags = name.flags & ~8 /* ConflictResolvingParameterName */;
2676
2664
  return name.getPreferredUnescapedOriginal(flags);
2677
2665
  }
2678
2666
  // TODO: Работать с синтаксическим деревом и использовать Trivia для добавления перевода строки. Требуется доработка
@@ -3028,16 +3016,7 @@ var AccessedFunctionSignature = class {
3028
3016
  this.func = func;
3029
3017
  }
3030
3018
  getValueParameters() {
3031
- return this._valueParameters.getOrInsertWith(() => {
3032
- const localizedSignature = EntityLocalizationHelper.getLocalizedFunctionSignature(
3033
- this.func.value.getEntity(),
3034
- this.func.localization
3035
- );
3036
- return Query.from(this.func.value.getValueParameters()).zip(
3037
- localizedSignature.getValueParameterNames(),
3038
- (p, n) => new UniversalValueParameter(n.value, p.type, p.entity, n.localization)
3039
- ).toArray();
3040
- });
3019
+ return this._valueParameters.getOrInsertWith(() => this.func.getValueParameters().map((p) => new UniversalValueParameter(p.type, p.entity)));
3041
3020
  }
3042
3021
  };
3043
3022
  var FunctionTypeSignature = class {
@@ -3047,16 +3026,7 @@ var FunctionTypeSignature = class {
3047
3026
  this.functionType = functionType;
3048
3027
  }
3049
3028
  getValueParameters() {
3050
- return this._valueParameters.getOrInsertWith(
3051
- () => this.functionType.getValueParameters().map(
3052
- (p) => new UniversalValueParameter(
3053
- p.getName(),
3054
- p.getType(),
3055
- p.getEntity(),
3056
- Localization.Original.ofEntity(p.getEntity())
3057
- )
3058
- )
3059
- );
3029
+ return this._valueParameters.getOrInsertWith(() => this.functionType.getValueParameters().map((p) => new UniversalValueParameter(p.getType(), p.getEntity())));
3060
3030
  }
3061
3031
  };
3062
3032
  var ConstructorSignature = class {
@@ -3066,16 +3036,7 @@ var ConstructorSignature = class {
3066
3036
  this.constructor_ = constructor_;
3067
3037
  }
3068
3038
  getValueParameters() {
3069
- return this._valueParameters.getOrInsertWith(() => {
3070
- const localizedSignature = EntityLocalizationHelper.getLocalizedConstructorSignature(
3071
- this.constructor_.value.getEntity(),
3072
- this.constructor_.localization
3073
- );
3074
- return Query.from(this.constructor_.value.getValueParameters()).zip(
3075
- localizedSignature.getValueParameterNames(),
3076
- (p, n) => new UniversalValueParameter(n.value, p.getType(), p.getEntity(), n.localization)
3077
- ).toArray();
3078
- });
3039
+ return this._valueParameters.getOrInsertWith(() => this.constructor_.getValueParameters().map((p) => new UniversalValueParameter(p.getType(), p.getEntity())));
3079
3040
  }
3080
3041
  };
3081
3042
  var IndexerSignature = class {
@@ -3085,27 +3046,16 @@ var IndexerSignature = class {
3085
3046
  this.indexer = indexer;
3086
3047
  }
3087
3048
  getValueParameters() {
3088
- return this._valueParameters.getOrInsertWith(() => {
3089
- const localizedSignature = EntityLocalizationHelper.getLocalizedIndexerSignature(
3090
- this.indexer.value.getEntity(),
3091
- this.indexer.localization
3092
- );
3093
- return Query.from(this.indexer.value.getValueParameters()).zip(
3094
- localizedSignature.getValueParameterNames(),
3095
- (p, n) => new UniversalValueParameter(n.value, p.getType(), p.getEntity(), n.localization)
3096
- ).toArray();
3097
- });
3049
+ return this._valueParameters.getOrInsertWith(() => this.indexer.getValueParameters().map((p) => new UniversalValueParameter(p.getType(), p.getEntity())));
3098
3050
  }
3099
3051
  };
3100
3052
  var UniversalValueParameter = class {
3101
- constructor(name, type, entity, localization) {
3102
- this.name = name;
3053
+ constructor(type, entity) {
3103
3054
  this.type = type;
3104
3055
  this.entity = entity;
3105
- this.localization = localization;
3106
3056
  }
3107
3057
  getName() {
3108
- return this.name;
3058
+ return this.entity.getName();
3109
3059
  }
3110
3060
  getType() {
3111
3061
  return this.type;
@@ -3121,11 +3071,7 @@ var CompletionService = class {
3121
3071
  get completionItemInfoContext() {
3122
3072
  return this._completionItemInfoContext.getOrInsertWith(
3123
3073
  () => new CompletionItemInfoContext(
3124
- new DisplayService(
3125
- this._analyzer,
3126
- this._analyzer.createLocalizationContext(this._sourceFile),
3127
- this._dialect
3128
- ),
3074
+ new DisplayService(this._analyzer, this._locale, this._dialect),
3129
3075
  this._locale,
3130
3076
  Query.from(getOrCreateKeywordDictionary(this._locale, this._dialect).values()).mapAndFilter((k) => k.keywordKind !== 0 /* Unknown */ ? k.value : void 0).uniqueToSet()
3131
3077
  )
@@ -3236,10 +3182,7 @@ var CompletionService = class {
3236
3182
  if (info !== void 0) {
3237
3183
  let lookup;
3238
3184
  if (info.packageTreeNode.package !== void 0) {
3239
- lookup = new PackageMemberLookup(
3240
- info.packageTreeNode.package.value,
3241
- semanticContext.getLocalizationContext()
3242
- );
3185
+ lookup = new PackageMemberLookup(info.packageTreeNode.package);
3243
3186
  }
3244
3187
  const hidingMatcher2 = semanticContext.getHidingMatcher();
3245
3188
  return new PackageNameSegmentCompletionContext(info.packageTreeNode, lookup, hidingMatcher2);
@@ -3250,7 +3193,7 @@ var CompletionService = class {
3250
3193
  if (info !== void 0) {
3251
3194
  const package_ = info.packageAlias.getPackage();
3252
3195
  if (package_ !== void 0) {
3253
- const lookup = new PackageMemberLookup(package_, semanticContext.getLocalizationContext());
3196
+ const lookup = new PackageMemberLookup(package_);
3254
3197
  const hidingMatcher2 = semanticContext.getHidingMatcher();
3255
3198
  return new PackageAliasMemberCompletionContext(lookup, hidingMatcher2);
3256
3199
  }
@@ -3258,16 +3201,9 @@ var CompletionService = class {
3258
3201
  }
3259
3202
  }
3260
3203
  const type = this._analyzer.type.ofExpression(memberAccess.expression);
3261
- const localizationContext = semanticContext.getLocalizationContext();
3262
3204
  const isStaticAccess = this._analyzer.checkExpressionDenotesType(memberAccess.expression) !== void 0;
3263
3205
  const hidingMatcher = semanticContext.getHidingMatcher();
3264
- return new TypeMemberCompletionContext(
3265
- type,
3266
- localizationContext,
3267
- isStaticAccess,
3268
- hidingMatcher,
3269
- semanticContext
3270
- );
3206
+ return new TypeMemberCompletionContext(type, isStaticAccess, hidingMatcher, semanticContext);
3271
3207
  }
3272
3208
  if (tokenOrKeyword.isToken(27 /* Dot */) && tokenOrKeyword.parent.kind === 135 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 10 /* NamedTypeSpecifier */) {
3273
3209
  const namedTypeSpecifier = tokenOrKeyword.parent.parent;
@@ -3286,10 +3222,7 @@ var CompletionService = class {
3286
3222
  if (resolvedQualifier.kind === "package-name-segment") {
3287
3223
  let lookup;
3288
3224
  if (resolvedQualifier.packageTreeNode.package !== void 0) {
3289
- lookup = new PackageMemberLookup(
3290
- resolvedQualifier.packageTreeNode.package.value,
3291
- semanticContext.getLocalizationContext()
3292
- );
3225
+ lookup = new PackageMemberLookup(resolvedQualifier.packageTreeNode.package);
3293
3226
  }
3294
3227
  const hidingMatcher = semanticContext.getHidingMatcher();
3295
3228
  const typeSearchLocation = new PackageNameSegmentTypeSearchLocation(
@@ -3302,7 +3235,7 @@ var CompletionService = class {
3302
3235
  if (resolvedQualifier.kind === "package-alias") {
3303
3236
  const package_ = resolvedQualifier.packageAlias.getPackage();
3304
3237
  if (package_ !== void 0) {
3305
- const lookup = new PackageMemberLookup(package_, semanticContext.getLocalizationContext());
3238
+ const lookup = new PackageMemberLookup(package_);
3306
3239
  const hidingMatcher = semanticContext.getHidingMatcher();
3307
3240
  const typeSearchLocation = new PackageAliasTypeSearchLocation(lookup, hidingMatcher);
3308
3241
  return new TypeCompletionContext(typeSearchLocation, completionInIsOrAsExpressionInfo);
@@ -3322,10 +3255,7 @@ var CompletionService = class {
3322
3255
  if (resolvedQualifier.kind === "package-name-segment") {
3323
3256
  let lookup;
3324
3257
  if (resolvedQualifier.packageTreeNode.package !== void 0) {
3325
- lookup = new PackageMemberLookup(
3326
- resolvedQualifier.packageTreeNode.package.value,
3327
- semanticContext.getLocalizationContext()
3328
- );
3258
+ lookup = new PackageMemberLookup(resolvedQualifier.packageTreeNode.package);
3329
3259
  }
3330
3260
  const hidingMatcher = semanticContext.getHidingMatcher();
3331
3261
  const typeSearchLocation = new PackageNameSegmentTypeSearchLocation(
@@ -3338,7 +3268,7 @@ var CompletionService = class {
3338
3268
  if (resolvedQualifier.kind === "package-alias") {
3339
3269
  const package_ = resolvedQualifier.packageAlias.getPackage();
3340
3270
  if (package_ !== void 0) {
3341
- const lookup = new PackageMemberLookup(package_, semanticContext.getLocalizationContext());
3271
+ const lookup = new PackageMemberLookup(package_);
3342
3272
  const hidingMatcher = semanticContext.getHidingMatcher();
3343
3273
  const typeSearchLocation = new PackageAliasTypeSearchLocation(lookup, hidingMatcher);
3344
3274
  return new TagCompletionContext(typeSearchLocation);
@@ -3363,13 +3293,7 @@ var CompletionService = class {
3363
3293
  }
3364
3294
  if (syntaxContext.isExpressionContext !== void 0) {
3365
3295
  const { targetTypes, targetSignaturesParameters } = this.getTargetTypesAndTargetSignaturesParameters(syntaxContext.isExpressionContext.expressionRole, semanticContext);
3366
- const localizationContext = semanticContext.getLocalizationContext();
3367
- return new ExpressionCompletionContext(
3368
- semanticContext,
3369
- targetSignaturesParameters,
3370
- targetTypes,
3371
- localizationContext
3372
- );
3296
+ return new ExpressionCompletionContext(semanticContext, targetSignaturesParameters, targetTypes);
3373
3297
  }
3374
3298
  const topLevelTranslationCompletionContext = this.tryGetTopLevelTranslationCompletionContext(
3375
3299
  syntaxContext,
@@ -3422,11 +3346,8 @@ var CompletionService = class {
3422
3346
  hasPrecedingKeyword = true;
3423
3347
  }
3424
3348
  if (translationsDeclaration !== void 0) {
3425
- const sourceLocale = translationPackage.getTranslatedPackage().getLocale();
3426
- const translatedPackageMemberLookup = new PackageMemberLookup(
3427
- translationPackage.getTranslatedPackage(),
3428
- semanticContext.getLocalizationContext()
3429
- );
3349
+ const sourceLocale = translationPackage.getTargetPackage().getLocale();
3350
+ const translatedPackageMemberLookup = new PackageMemberLookup(translationPackage.getTargetPackage());
3430
3351
  const hidingMatcher = semanticContext.getHidingMatcher();
3431
3352
  return new TopLevelTranslationListCompletionContext(
3432
3353
  sourceLocale,
@@ -3440,7 +3361,7 @@ var CompletionService = class {
3440
3361
  const qualifiedName = tokenOrKeyword.parent;
3441
3362
  if (qualifiedName.parent.kind === 134 /* PackageImportTranslation */ && qualifiedName === qualifiedName.parent.sourceName) {
3442
3363
  const precedingSegmentNames = qualifiedName.qualifiers.takeWhile((s) => s.rangeStart < tokenOrKeyword.value.rangeStart).map((p) => this._analyzer.createNameFromIdentifier(p)).toArray();
3443
- const sourceLocale = translationPackage.getTranslatedPackage().getLocale();
3364
+ const sourceLocale = translationPackage.getTargetPackage().getLocale();
3444
3365
  return new PackageImportCompletionContext(precedingSegmentNames, { sourceLocale });
3445
3366
  }
3446
3367
  }
@@ -3474,7 +3395,7 @@ var CompletionService = class {
3474
3395
  hasPrecedingKeyword = true;
3475
3396
  }
3476
3397
  if (typeTranslation !== void 0) {
3477
- const sourceLocale = translationPackage.getTranslatedPackage().getLocale();
3398
+ const sourceLocale = translationPackage.getTargetPackage().getLocale();
3478
3399
  let type;
3479
3400
  if (this._sourceFile.package.kind === "translation") {
3480
3401
  const translationPackage2 = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(
@@ -3553,13 +3474,14 @@ var CompletionService = class {
3553
3474
  return { targetTypes: void 0, targetSignaturesParameters: void 0 };
3554
3475
  }
3555
3476
  if (role.kind === "error-value") {
3556
- const errorType = this._analyzer.standardTypes.error;
3557
- const textType = this._analyzer.standardTypes.text;
3558
- return { targetTypes: [errorType, textType], targetSignaturesParameters: void 0 };
3477
+ const standardTypes = this._analyzer.getLocalizedStandardTypes(
3478
+ TreeQuery.fromNode(role.errorStatement).locale(this._analyzer)
3479
+ );
3480
+ return { targetTypes: [standardTypes.error, standardTypes.text], targetSignaturesParameters: void 0 };
3559
3481
  }
3560
3482
  if (role.kind === "function-block-expression") {
3561
3483
  const targetType = semanticContext.getContainingSubprogram()?.getReturnType();
3562
- if (targetType !== void 0 && !targetType.equals(this._analyzer.standardTypes.none)) {
3484
+ if (targetType !== void 0 && !targetType.equals(this._analyzer.originalStandardTypes.none)) {
3563
3485
  return { targetTypes: [targetType], targetSignaturesParameters: void 0 };
3564
3486
  }
3565
3487
  return { targetTypes: void 0, targetSignaturesParameters: void 0 };
@@ -3789,9 +3711,9 @@ var CompletionService = class {
3789
3711
  return result;
3790
3712
  }
3791
3713
  prioritizeItemsFromUnionType(items, type) {
3792
- const constituentTypeEntities = Query.from(type.unaliasedFlattenedTypes).mapAndFilter((t) => t.getEntity()).uniqueToSet();
3714
+ const constituentTypeEntities = Query.from(type.unaliasedFlattenedTypes).mapAndFilter((t) => t.getEntity()?.getOriginalEntity()).uniqueToSet();
3793
3715
  for (const item of items) {
3794
- if (item.kind === "named-type" && constituentTypeEntities.has(item.entity)) {
3716
+ if (item.kind === "named-type" && constituentTypeEntities.has(item.entity.getOriginalEntity())) {
3795
3717
  item.prefix = "*";
3796
3718
  item.sortText = "10" /* Highest */;
3797
3719
  }
@@ -3802,53 +3724,33 @@ var CompletionService = class {
3802
3724
  }
3803
3725
  getScopeCompletionItemInfos(semanticContext) {
3804
3726
  return Query.from(semanticContext.getNamedDeclarations()).map((d) => {
3805
- switch (d.value.kind) {
3727
+ switch (d.kind) {
3806
3728
  case "variable": {
3807
- if (d.value.value.kind === "entity") {
3808
- return new VariableEntityCompletionItemInfo(
3809
- this.completionItemInfoContext,
3810
- d.value.value.value,
3811
- d.name,
3812
- d.requiresExplicitOriginalName
3813
- );
3729
+ if (d.value.kind === "entity") {
3730
+ return new VariableEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3814
3731
  } else {
3815
- return new FieldCompletionItemInfo(
3816
- this.completionItemInfoContext,
3817
- d.value.value.value,
3818
- d.name,
3819
- d.requiresExplicitOriginalName
3820
- );
3732
+ return new FieldCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3821
3733
  }
3822
3734
  }
3823
3735
  case "function": {
3824
- if (d.value.value.kind === "entity") {
3825
- return new FunctionEntityCompletionItemInfo(
3826
- this.completionItemInfoContext,
3827
- d.value.value.value,
3828
- d.name,
3829
- d.requiresExplicitOriginalName
3830
- );
3736
+ if (d.value.kind === "entity") {
3737
+ return new FunctionEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3831
3738
  } else {
3832
- return new MethodCompletionItemInfo(
3833
- this.completionItemInfoContext,
3834
- d.value.value.value,
3835
- d.name,
3836
- d.requiresExplicitOriginalName
3837
- );
3739
+ return new MethodCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3838
3740
  }
3839
3741
  }
3840
3742
  case "type": {
3841
- return this.createTypeEntityCompletionItemInfo(d.value.value, d.name, d.requiresExplicitOriginalName);
3743
+ return this.createTypeEntityCompletionItemInfo(d.value);
3842
3744
  }
3843
3745
  case "package-alias":
3844
- return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3746
+ return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value);
3845
3747
  case "package-name-segment":
3846
- return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.name.value);
3748
+ return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.value.name);
3847
3749
  default:
3848
- Debug.never(d.value);
3750
+ Debug.never(d);
3849
3751
  }
3850
3752
  }).chain(
3851
- Query.from(semanticContext.getOperators()).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o.value, o.localization))
3753
+ Query.from(semanticContext.getOperators()).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o))
3852
3754
  );
3853
3755
  }
3854
3756
  getTypeCompletionItemInfos(ctx) {
@@ -3874,13 +3776,8 @@ var CompletionService = class {
3874
3776
  }
3875
3777
  getTypeCompletionItemInfosFromPackage(searchLocation) {
3876
3778
  return searchLocation.packageMemberLookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
3877
- if (m.value.kind === 2 /* Type */) {
3878
- return new NamedTypeCompletionItemInfo(
3879
- this.completionItemInfoContext,
3880
- m.value,
3881
- m.name,
3882
- m.requiresExplicitOriginalName
3883
- );
3779
+ if (m.kind === 2 /* Type */) {
3780
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
3884
3781
  }
3885
3782
  return void 0;
3886
3783
  }).filter((i) => i !== void 0);
@@ -3891,13 +3788,8 @@ var CompletionService = class {
3891
3788
  const lookup = searchLocation.packageMemberLookup;
3892
3789
  query = query.chain(
3893
3790
  lookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
3894
- if (m.value.kind === 2 /* Type */) {
3895
- return new NamedTypeCompletionItemInfo(
3896
- this.completionItemInfoContext,
3897
- m.value,
3898
- m.name,
3899
- m.requiresExplicitOriginalName
3900
- );
3791
+ if (m.kind === 2 /* Type */) {
3792
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
3901
3793
  }
3902
3794
  return void 0;
3903
3795
  }).filter((i) => i !== void 0)
@@ -3907,21 +3799,16 @@ var CompletionService = class {
3907
3799
  }
3908
3800
  getTypeCompletionItemInfosFromScope(searchLocation) {
3909
3801
  return searchLocation.semanticContext.getTypesOrContainersWithTypes().map((d) => {
3910
- switch (d.value.kind) {
3802
+ switch (d.kind) {
3911
3803
  case "type": {
3912
- return new NamedTypeCompletionItemInfo(
3913
- this.completionItemInfoContext,
3914
- d.value.value,
3915
- d.name,
3916
- d.requiresExplicitOriginalName
3917
- );
3804
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, d.value);
3918
3805
  }
3919
3806
  case "package-name-segment":
3920
- return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.name.value);
3807
+ return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.value.name);
3921
3808
  case "package-alias":
3922
- return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3809
+ return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value);
3923
3810
  default:
3924
- Debug.never(d.value);
3811
+ Debug.never(d);
3925
3812
  }
3926
3813
  });
3927
3814
  }
@@ -3942,20 +3829,10 @@ var CompletionService = class {
3942
3829
  }
3943
3830
  getTagCompletionItemInfosFromPackage(searchLocation) {
3944
3831
  return searchLocation.packageMemberLookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
3945
- if (m.value.kind === 2 /* Type */) {
3946
- return new NamedTypeCompletionItemInfo(
3947
- this.completionItemInfoContext,
3948
- m.value,
3949
- m.name,
3950
- m.requiresExplicitOriginalName
3951
- );
3952
- } else if (m.value.kind === 1 /* Function */) {
3953
- return new FunctionEntityCompletionItemInfo(
3954
- this.completionItemInfoContext,
3955
- m.value,
3956
- m.name,
3957
- m.requiresExplicitOriginalName
3958
- );
3832
+ if (m.kind === 2 /* Type */) {
3833
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
3834
+ } else if (m.kind === 1 /* Function */) {
3835
+ return new FunctionEntityCompletionItemInfo(this.completionItemInfoContext, m);
3959
3836
  }
3960
3837
  return void 0;
3961
3838
  }).filter((i) => i !== void 0);
@@ -3966,20 +3843,10 @@ var CompletionService = class {
3966
3843
  const lookup = searchLocation.packageMemberLookup;
3967
3844
  query = query.chain(
3968
3845
  lookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
3969
- if (m.value.kind === 2 /* Type */) {
3970
- return new NamedTypeCompletionItemInfo(
3971
- this.completionItemInfoContext,
3972
- m.value,
3973
- m.name,
3974
- m.requiresExplicitOriginalName
3975
- );
3976
- } else if (m.value.kind === 1 /* Function */) {
3977
- return new FunctionEntityCompletionItemInfo(
3978
- this.completionItemInfoContext,
3979
- m.value,
3980
- m.name,
3981
- m.requiresExplicitOriginalName
3982
- );
3846
+ if (m.kind === 2 /* Type */) {
3847
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
3848
+ } else if (m.kind === 1 /* Function */) {
3849
+ return new FunctionEntityCompletionItemInfo(this.completionItemInfoContext, m);
3983
3850
  }
3984
3851
  return void 0;
3985
3852
  }).filter((i) => i !== void 0)
@@ -3989,104 +3856,67 @@ var CompletionService = class {
3989
3856
  }
3990
3857
  getTagCompletionItemInfosFromScope(searchLocation) {
3991
3858
  return searchLocation.semanticContext.getNamedDeclarations().map((d) => {
3992
- switch (d.value.kind) {
3859
+ switch (d.kind) {
3993
3860
  case "type":
3994
- return new NamedTypeCompletionItemInfo(
3995
- this.completionItemInfoContext,
3996
- d.value.value,
3997
- d.name,
3998
- d.requiresExplicitOriginalName
3999
- );
3861
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, d.value);
4000
3862
  case "function":
4001
- return new FunctionEntityCompletionItemInfo(
4002
- this.completionItemInfoContext,
4003
- d.value.value.getEntity(),
4004
- d.name,
4005
- d.requiresExplicitOriginalName
4006
- );
3863
+ return new FunctionEntityCompletionItemInfo(this.completionItemInfoContext, d.value.getEntity());
4007
3864
  case "package-name-segment":
4008
- return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.name.value);
3865
+ return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.value.name);
4009
3866
  case "package-alias":
4010
- return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
3867
+ return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value);
4011
3868
  case "variable":
4012
3869
  return void 0;
4013
3870
  default:
4014
- Debug.never(d.value);
3871
+ Debug.never(d);
4015
3872
  }
4016
3873
  }).filter((i) => i !== void 0);
4017
3874
  }
4018
3875
  getPackageAliasMemberCompletionItemInfos(ctx) {
4019
- return ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m.value, m.name, m.requiresExplicitOriginalName));
3876
+ return ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m));
4020
3877
  }
4021
3878
  getPackageNameSegmentCompletionItemInfos(ctx) {
4022
3879
  let query = Query.from(ctx.packageTreeNode.getChildren()).map((c) => new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, c.name));
4023
3880
  if (ctx.packageMemberLookup !== void 0) {
4024
3881
  const lookup = ctx.packageMemberLookup;
4025
3882
  query = query.chain(
4026
- lookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m.value, m.name, m.requiresExplicitOriginalName))
3883
+ lookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m))
4027
3884
  );
4028
3885
  }
4029
3886
  return query.toArray();
4030
3887
  }
4031
- packageMemberToCompletionItemInfo(member, name, isNameExplicitlyOriginal) {
3888
+ packageMemberToCompletionItemInfo(member) {
4032
3889
  switch (member.kind) {
4033
3890
  case 0 /* Variable */:
4034
- return new VariableEntityCompletionItemInfo(
4035
- this.completionItemInfoContext,
4036
- member,
4037
- name,
4038
- isNameExplicitlyOriginal
4039
- );
3891
+ return new VariableEntityCompletionItemInfo(this.completionItemInfoContext, member);
4040
3892
  case 1 /* Function */:
4041
- return new FunctionEntityCompletionItemInfo(
4042
- this.completionItemInfoContext,
4043
- member,
4044
- name,
4045
- isNameExplicitlyOriginal
4046
- );
3893
+ return new FunctionEntityCompletionItemInfo(this.completionItemInfoContext, member);
4047
3894
  case 2 /* Type */:
4048
- return this.createTypeEntityCompletionItemInfo(member, name, isNameExplicitlyOriginal);
3895
+ return this.createTypeEntityCompletionItemInfo(member);
4049
3896
  default:
4050
3897
  Debug.never(member);
4051
3898
  }
4052
3899
  }
4053
- createTypeEntityCompletionItemInfo(entity, name, isNameExplicitlyOriginal, prefix = "", sortText = "") {
4054
- return new NamedTypeCompletionItemInfo(
4055
- this.completionItemInfoContext,
4056
- entity,
4057
- name,
4058
- isNameExplicitlyOriginal,
4059
- prefix,
4060
- sortText
4061
- );
3900
+ createTypeEntityCompletionItemInfo(entity, prefix = "", sortText = "") {
3901
+ return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, entity, prefix, sortText);
4062
3902
  }
4063
3903
  getTypeMemberCompletionItemInfos(ctx) {
4064
3904
  const type = this._analyzer.excludeNoneFromType(ctx.type);
4065
- const memberLookup = TypeMemberLookup.ofType(this._analyzer, type, ctx.localizationContext);
3905
+ const memberLookup = TypeMemberLookup.ofType(this._analyzer, type, this._locale);
4066
3906
  const options6 = ctx.isStaticAccess ? 2 /* OnlyStaticMembers */ : 1 /* OnlyInstanceMembers */;
4067
3907
  return memberLookup.getNamedMembers(options6, ctx.hidingMatcher, ctx.typeExtensionLookup).map((m) => {
4068
- switch (m.value.kind) {
3908
+ switch (m.kind) {
4069
3909
  case "method":
4070
- return new MethodCompletionItemInfo(
4071
- this.completionItemInfoContext,
4072
- m.value,
4073
- m.name,
4074
- m.requiresExplicitOriginalName
4075
- );
3910
+ return new MethodCompletionItemInfo(this.completionItemInfoContext, m);
4076
3911
  case "field":
4077
- return new FieldCompletionItemInfo(
4078
- this.completionItemInfoContext,
4079
- m.value,
4080
- m.name,
4081
- m.requiresExplicitOriginalName
4082
- );
3912
+ return new FieldCompletionItemInfo(this.completionItemInfoContext, m);
4083
3913
  default:
4084
- Debug.never(m.value);
3914
+ Debug.never(m);
4085
3915
  }
4086
- }).concat(memberLookup.getOperators(options6, ctx.hidingMatcher, ctx.typeExtensionLookup).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o.value, o.localization)));
3916
+ }).concat(memberLookup.getOperators(options6, ctx.hidingMatcher, ctx.typeExtensionLookup).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o)));
4087
3917
  }
4088
3918
  getPackageImportCompletionItemInfos(ctx) {
4089
- const result = this._analyzer.packageImports.getPackagesAvailableForImport(this._sourceFile.package).map((p) => p.getImportName()).filter((n) => {
3919
+ const result = this._analyzer.packageImports.getPackagesAvailableForImport(this._sourceFile.package).map((p) => p.getName()).filter((n) => {
4090
3920
  if (ctx.precedingSegmentNames.length === 0) {
4091
3921
  return true;
4092
3922
  }
@@ -4108,7 +3938,7 @@ var CompletionService = class {
4108
3938
  if (this._sourceFile.package.kind === "translation") {
4109
3939
  const analyzedTranslationPackage = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(this._sourceFile.package);
4110
3940
  if (analyzedTranslationPackage !== void 0) {
4111
- const name = analyzedTranslationPackage.getTranslatedPackage().getName();
3941
+ const name = analyzedTranslationPackage.getTargetPackage().getName();
4112
3942
  items = Query.from([
4113
3943
  new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, name.segments[0])
4114
3944
  ]);
@@ -4117,10 +3947,10 @@ var CompletionService = class {
4117
3947
  result = items ?? Query.empty();
4118
3948
  } else if (ctx.translationKind === 2 /* Method */) {
4119
3949
  result = Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).mapAndFilter((d) => {
4120
- if (d.value.kind === 1 /* Function */) {
3950
+ if (d.kind === 1 /* Function */) {
4121
3951
  return new AliasesSourceFunctionCompletionItemInfo(
4122
3952
  this.completionItemInfoContext,
4123
- d.value,
3953
+ d,
4124
3954
  !ctx.hasPrecedingKeyword,
4125
3955
  displayService_
4126
3956
  );
@@ -4129,10 +3959,10 @@ var CompletionService = class {
4129
3959
  });
4130
3960
  } else if (ctx.translationKind === 3 /* Type */) {
4131
3961
  result = Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).mapAndFilter((d) => {
4132
- if (d.value.kind === 2 /* Type */) {
3962
+ if (d.kind === 2 /* Type */) {
4133
3963
  return new AliasesSourcePackageTypeCompletionItemInfo(
4134
3964
  this.completionItemInfoContext,
4135
- d.value,
3965
+ d,
4136
3966
  !ctx.hasPrecedingKeyword,
4137
3967
  displayService_
4138
3968
  );
@@ -4144,7 +3974,7 @@ var CompletionService = class {
4144
3974
  if (this._sourceFile.package.kind === "translation") {
4145
3975
  const analyzedTranslationPackage = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(this._sourceFile.package);
4146
3976
  if (analyzedTranslationPackage !== void 0) {
4147
- const name = analyzedTranslationPackage.getTranslatedPackage().getName();
3977
+ const name = analyzedTranslationPackage.getTargetPackage().getName();
4148
3978
  packageNameItems = Query.from([
4149
3979
  new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, name.segments[0])
4150
3980
  ]);
@@ -4152,29 +3982,25 @@ var CompletionService = class {
4152
3982
  }
4153
3983
  result = Query.from(packageNameItems ?? []).chain(
4154
3984
  Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).map((d) => {
4155
- switch (d.value.kind) {
3985
+ switch (d.kind) {
4156
3986
  case 0 /* Variable */:
4157
- return new AliasesSourceVariableCompletionItemInfo(
4158
- this.completionItemInfoContext,
4159
- d.value,
4160
- displayService_
4161
- );
3987
+ return new AliasesSourceVariableCompletionItemInfo(this.completionItemInfoContext, d, displayService_);
4162
3988
  case 1 /* Function */:
4163
3989
  return new AliasesSourceFunctionCompletionItemInfo(
4164
3990
  this.completionItemInfoContext,
4165
- d.value,
3991
+ d,
4166
3992
  !ctx.hasPrecedingKeyword,
4167
3993
  displayService_
4168
3994
  );
4169
3995
  case 2 /* Type */:
4170
3996
  return new AliasesSourcePackageTypeCompletionItemInfo(
4171
3997
  this.completionItemInfoContext,
4172
- d.value,
3998
+ d,
4173
3999
  !ctx.hasPrecedingKeyword,
4174
4000
  displayService_
4175
4001
  );
4176
4002
  default:
4177
- Debug.never(d.value);
4003
+ Debug.never(d);
4178
4004
  }
4179
4005
  })
4180
4006
  );
@@ -4439,9 +4265,8 @@ var PackageImportCompletionContext = class {
4439
4265
  }
4440
4266
  };
4441
4267
  var TypeMemberCompletionContext = class {
4442
- constructor(type, localizationContext, isStaticAccess, hidingMatcher, typeExtensionLookup) {
4268
+ constructor(type, isStaticAccess, hidingMatcher, typeExtensionLookup) {
4443
4269
  this.type = type;
4444
- this.localizationContext = localizationContext;
4445
4270
  this.isStaticAccess = isStaticAccess;
4446
4271
  this.hidingMatcher = hidingMatcher;
4447
4272
  this.typeExtensionLookup = typeExtensionLookup;
@@ -4504,11 +4329,10 @@ var PackageNameSegmentTypeSearchLocation = class {
4504
4329
  }
4505
4330
  };
4506
4331
  var ExpressionCompletionContext = class {
4507
- constructor(semanticContext, targetSignaturesValueParameters, targetTypes, localizationContext) {
4332
+ constructor(semanticContext, targetSignaturesValueParameters, targetTypes) {
4508
4333
  this.semanticContext = semanticContext;
4509
4334
  this.targetSignaturesValueParameters = targetSignaturesValueParameters;
4510
4335
  this.targetTypes = targetTypes;
4511
- this.localizationContext = localizationContext;
4512
4336
  this.kind = "expression";
4513
4337
  }
4514
4338
  };
@@ -4540,13 +4364,13 @@ var CompletionItemInfoContext = class {
4540
4364
  }
4541
4365
  getInsertTextForName(name, withoutBackQuotes = false) {
4542
4366
  let flags = name.flags;
4543
- const flagsForNameWithoutBackQuotes = name.flags & ~(32 /* BackingVariableName */ | 16 /* ConflictResolvingParameterName */);
4367
+ const flagsForNameWithoutBackQuotes = name.flags & ~(16 /* BackingVariableName */ | 8 /* ConflictResolvingParameterName */);
4544
4368
  const nameWithoutBackQuotes = name.getPreferredUnescapedOriginal(flagsForNameWithoutBackQuotes);
4545
- if ((flags & 8 /* RequiresQuotes */) === 0 && this._singleWordKeywordValues.has(nameWithoutBackQuotes)) {
4546
- flags |= 8 /* RequiresQuotes */;
4369
+ if ((flags & 4 /* RequiresQuotes */) === 0 && this._singleWordKeywordValues.has(nameWithoutBackQuotes)) {
4370
+ flags |= 4 /* RequiresQuotes */;
4547
4371
  }
4548
4372
  if (withoutBackQuotes) {
4549
- flags &= ~(32 /* BackingVariableName */ | 16 /* ConflictResolvingParameterName */);
4373
+ flags &= ~(16 /* BackingVariableName */ | 8 /* ConflictResolvingParameterName */);
4550
4374
  }
4551
4375
  let result;
4552
4376
  if (flags === flagsForNameWithoutBackQuotes) {
@@ -4608,23 +4432,19 @@ var PackageAliasEntityCompletionItemInfo = class {
4608
4432
  }
4609
4433
  };
4610
4434
  var FieldCompletionItemInfo = class {
4611
- constructor(ctx, field, name, isNameExplicitlyOriginal) {
4435
+ constructor(ctx, field) {
4612
4436
  this.ctx = ctx;
4613
4437
  this.field = field;
4614
- this.name = name;
4615
- this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
4616
4438
  this.kind = "field";
4617
4439
  }
4618
4440
  getLabel() {
4619
- return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4441
+ return this.ctx.getInsertTextForName(this.field.getName());
4620
4442
  }
4621
4443
  getCompletionItemKind() {
4622
4444
  return this.field.isVariant() ? 12 /* Variant */ : 2 /* Field */;
4623
4445
  }
4624
4446
  getDetails() {
4625
- return this.ctx.displayService.displayVariableDeclaration(
4626
- new VariableDeclaration_typeMember(this.field, this.name.localization)
4627
- );
4447
+ return this.ctx.displayService.displayTypeMember(this.field);
4628
4448
  }
4629
4449
  getInsertText() {
4630
4450
  return void 0;
@@ -4637,23 +4457,19 @@ var FieldCompletionItemInfo = class {
4637
4457
  }
4638
4458
  };
4639
4459
  var MethodCompletionItemInfo = class {
4640
- constructor(ctx, method, name, isNameExplicitlyOriginal) {
4460
+ constructor(ctx, method) {
4641
4461
  this.ctx = ctx;
4642
4462
  this.method = method;
4643
- this.name = name;
4644
- this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
4645
4463
  this.kind = "method";
4646
4464
  }
4647
4465
  getLabel() {
4648
- return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4466
+ return this.ctx.getInsertTextForName(this.method.getName());
4649
4467
  }
4650
4468
  getCompletionItemKind() {
4651
4469
  return 3 /* Method */;
4652
4470
  }
4653
4471
  getDetails() {
4654
- return this.ctx.displayService.displayFunctionDeclaration(
4655
- new FunctionDeclaration_typeMember(this.method, this.name.localization)
4656
- );
4472
+ return this.ctx.displayService.displayTypeMember(this.method);
4657
4473
  }
4658
4474
  getInsertText() {
4659
4475
  return void 0;
@@ -4666,22 +4482,19 @@ var MethodCompletionItemInfo = class {
4666
4482
  }
4667
4483
  };
4668
4484
  var OperatorCompletionItemInfo = class {
4669
- constructor(ctx, operator, localization) {
4485
+ constructor(ctx, operator) {
4670
4486
  this.ctx = ctx;
4671
4487
  this.operator = operator;
4672
- this.localization = localization;
4673
4488
  this.kind = "operator";
4674
4489
  }
4675
4490
  getLabel() {
4676
- return `'${this.ctx.displayService.displayOperatorKind(this.operator.getOperatorKind(), this.localization.locale)}'`;
4491
+ return `'${this.ctx.displayService.displayOperatorKind(this.operator.getOperatorKind())}'`;
4677
4492
  }
4678
4493
  getCompletionItemKind() {
4679
4494
  return 4 /* Operator */;
4680
4495
  }
4681
4496
  getDetails() {
4682
- return this.ctx.displayService.displayOperatorDeclaration(
4683
- new OperatorDeclaration_typeMember(this.operator, this.localization)
4684
- );
4497
+ return this.ctx.displayService.displayTypeMember(this.operator);
4685
4498
  }
4686
4499
  getInsertText() {
4687
4500
  return void 0;
@@ -4694,15 +4507,13 @@ var OperatorCompletionItemInfo = class {
4694
4507
  }
4695
4508
  };
4696
4509
  var VariableEntityCompletionItemInfo = class {
4697
- constructor(ctx, entity, name, isNameExplicitlyOriginal) {
4510
+ constructor(ctx, entity) {
4698
4511
  this.ctx = ctx;
4699
4512
  this.entity = entity;
4700
- this.name = name;
4701
- this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
4702
4513
  this.kind = "variable-entity";
4703
4514
  }
4704
4515
  getLabel() {
4705
- return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4516
+ return this.ctx.getInsertTextForName(this.entity.getName());
4706
4517
  }
4707
4518
  getCompletionItemKind() {
4708
4519
  switch (this.entity.subkind) {
@@ -4719,9 +4530,7 @@ var VariableEntityCompletionItemInfo = class {
4719
4530
  }
4720
4531
  }
4721
4532
  getDetails() {
4722
- return this.ctx.displayService.displayVariableDeclaration(
4723
- new VariableDeclaration_entity(this.entity, this.name.localization)
4724
- );
4533
+ return this.ctx.displayService.displayEntity(this.entity);
4725
4534
  }
4726
4535
  getInsertText() {
4727
4536
  return void 0;
@@ -4734,15 +4543,13 @@ var VariableEntityCompletionItemInfo = class {
4734
4543
  }
4735
4544
  };
4736
4545
  var FunctionEntityCompletionItemInfo = class {
4737
- constructor(ctx, entity, name, isNameExplicitlyOriginal) {
4546
+ constructor(ctx, entity) {
4738
4547
  this.ctx = ctx;
4739
4548
  this.entity = entity;
4740
- this.name = name;
4741
- this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
4742
4549
  this.kind = "function-entity";
4743
4550
  }
4744
4551
  getLabel() {
4745
- return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4552
+ return this.ctx.getInsertTextForName(this.entity.getName());
4746
4553
  }
4747
4554
  getCompletionItemKind() {
4748
4555
  switch (this.entity.subkind) {
@@ -4757,9 +4564,7 @@ var FunctionEntityCompletionItemInfo = class {
4757
4564
  }
4758
4565
  }
4759
4566
  getDetails() {
4760
- return this.ctx.displayService.displayFunctionDeclaration(
4761
- new FunctionDeclaration_entity(this.entity, this.name.localization)
4762
- );
4567
+ return this.ctx.displayService.displayEntity(this.entity);
4763
4568
  }
4764
4569
  getInsertText() {
4765
4570
  return void 0;
@@ -4772,17 +4577,15 @@ var FunctionEntityCompletionItemInfo = class {
4772
4577
  }
4773
4578
  };
4774
4579
  var NamedTypeCompletionItemInfo = class {
4775
- constructor(ctx, entity, name, isNameExplicitlyOriginal, prefix = "", sortText) {
4580
+ constructor(ctx, entity, prefix = "", sortText) {
4776
4581
  this.ctx = ctx;
4777
4582
  this.entity = entity;
4778
- this.name = name;
4779
- this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
4780
4583
  this.prefix = prefix;
4781
4584
  this.sortText = sortText;
4782
4585
  this.kind = "named-type";
4783
4586
  }
4784
4587
  getLabel() {
4785
- return `${this.prefix}${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4588
+ return `${this.prefix}${this.ctx.getInsertTextForName(this.entity.getName())}`;
4786
4589
  }
4787
4590
  getCompletionItemKind() {
4788
4591
  switch (this.entity.typeEntityKind) {
@@ -4809,10 +4612,10 @@ var NamedTypeCompletionItemInfo = class {
4809
4612
  }
4810
4613
  }
4811
4614
  getDetails() {
4812
- return this.ctx.displayService.displayTypeDeclarationEntity(this.entity, this.name.localization);
4615
+ return this.ctx.displayService.displayEntity(this.entity);
4813
4616
  }
4814
4617
  getInsertText() {
4815
- return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
4618
+ return this.ctx.getInsertTextForName(this.entity.getName());
4816
4619
  }
4817
4620
  getSortText() {
4818
4621
  return this.sortText;
@@ -4890,11 +4693,7 @@ var TargetSignatureValueParameterCompletionItemInfo = class {
4890
4693
  }
4891
4694
  getDetails() {
4892
4695
  return this.ctx.displayService.displayValueParameterDeclaration(
4893
- new ValueParameterDeclaration_universal(
4894
- this.parameter.entity,
4895
- this.parameter.type,
4896
- this.parameter.localization
4897
- )
4696
+ new ValueParameterDeclaration_universal(this.parameter.entity, this.parameter.type)
4898
4697
  );
4899
4698
  }
4900
4699
  getInsertText() {
@@ -4932,9 +4731,7 @@ var AliasesSourceVariableCompletionItemInfo = class {
4932
4731
  }
4933
4732
  }
4934
4733
  getDetails() {
4935
- return this.displayService.displayVariableDeclaration(
4936
- new VariableDeclaration_entity(this.variable, Localization.Original.ofEntity(this.variable))
4937
- );
4734
+ return this.displayService.displayEntity(this.variable);
4938
4735
  }
4939
4736
  getInsertText() {
4940
4737
  return void 0;
@@ -4970,13 +4767,11 @@ var AliasesSourceFunctionCompletionItemInfo = class {
4970
4767
  }
4971
4768
  }
4972
4769
  getDetails() {
4973
- return this.displayService.displayFunctionDeclaration(
4974
- new FunctionDeclaration_entity(this.func, Localization.Original.ofEntity(this.func))
4975
- );
4770
+ return this.displayService.displayFunctionDeclaration(new FunctionDeclaration_entity(this.func));
4976
4771
  }
4977
4772
  getInsertText() {
4978
4773
  const displayParts = this.displayService.getFunctionDeclarationDisplayParts(
4979
- new FunctionDeclaration_entity(this.func, Localization.Original.ofEntity(this.func))
4774
+ new FunctionDeclaration_entity(this.func)
4980
4775
  );
4981
4776
  const keywordWithWhitespace = this.includeFunctionKeyword ? displayParts.functionKeyword + displayParts.whitespaceAfterFunctionKeyword : "";
4982
4777
  const valueParameters = displayParts.valueParameters.map((p) => p.name).join(displayParts.typeParameterSeparator);
@@ -5034,23 +4829,22 @@ var AliasesSourcePackageTypeCompletionItemInfo = class {
5034
4829
  return void 0;
5035
4830
  }
5036
4831
  getDisplayServiceTypeDeclaration() {
5037
- const localization = Localization.Original.ofEntity(this.typeEntity);
5038
4832
  switch (this.typeEntity.typeEntityKind) {
5039
4833
  case 3 /* Variant */:
5040
4834
  return new TypeDeclaration_variant(
5041
- new TypeDeclarationVariant_entity(this.typeEntity, localization)
4835
+ new TypeDeclarationVariant_entity(this.typeEntity)
5042
4836
  );
5043
4837
  case 0 /* Function */:
5044
4838
  return new TypeDeclaration_function(
5045
- new TypeDeclarationFunction_entity(this.typeEntity, localization)
4839
+ new TypeDeclarationFunction_entity(this.typeEntity)
5046
4840
  );
5047
4841
  case 1 /* Structured */:
5048
4842
  return new TypeDeclaration_structured(
5049
- new TypeDeclarationStructured_entity(this.typeEntity, localization)
4843
+ new TypeDeclarationStructured_entity(this.typeEntity)
5050
4844
  );
5051
4845
  case 4 /* Alias */:
5052
4846
  return new TypeDeclaration_alias(
5053
- new TypeDeclarationAlias_entity(this.typeEntity, localization)
4847
+ new TypeDeclarationAlias_entity(this.typeEntity)
5054
4848
  );
5055
4849
  default:
5056
4850
  Debug.never(this.typeEntity);
@@ -5069,11 +4863,7 @@ var AliasesSourceIndexerCompletionItemInfo = class {
5069
4863
  this._label = new Cached();
5070
4864
  }
5071
4865
  get label() {
5072
- return this._label.getOrInsertWith(
5073
- () => this.displayService.displayIndexerDeclaration(
5074
- new IndexerDeclaration_entity(this.indexer, Localization.Original.ofEntity(this.indexer))
5075
- )
5076
- );
4866
+ return this._label.getOrInsertWith(() => this.displayService.displayIndexerDeclaration(new IndexerDeclaration_entity(this.indexer)));
5077
4867
  }
5078
4868
  getLabel() {
5079
4869
  return this.label;
@@ -5106,10 +4896,7 @@ var AliasesSourceConstructorCompletionItemInfo = class {
5106
4896
  }
5107
4897
  get label() {
5108
4898
  return this._label.getOrInsertWith(() => {
5109
- const constructorDeclaration = new ConstructorDeclaration_entity(
5110
- this.constructor_,
5111
- Localization.Original.ofEntity(this.constructor_)
5112
- );
4899
+ const constructorDeclaration = new ConstructorDeclaration_entity(this.constructor_);
5113
4900
  const displayParts = this.displayService.getConstructorDeclarationDisplayParts(constructorDeclaration);
5114
4901
  const creationKeyword = this.displayService.displayKeyword(31 /* Creation */);
5115
4902
  return creationKeyword + displayParts.valueParametersStart + displayParts.valueParameters.map((p) => p.toString()).join(displayParts.valueParameterSeparator) + displayParts.valueParametersEnd;
@@ -5849,10 +5636,7 @@ var NodeSemanticInfoService = class {
5849
5636
  case 149 /* Argument */: {
5850
5637
  const respectiveParameter = analyzer.getRespectiveParameter(parent);
5851
5638
  if (respectiveParameter !== void 0) {
5852
- const target = new SimpleWithLocalization(
5853
- new MatchResultValueParameterReferenceTarget(respectiveParameter, 0 /* Get */),
5854
- respectiveParameter.name.localization
5855
- );
5639
+ const target = new MatchResultValueParameterReferenceTarget(respectiveParameter, 0 /* Get */);
5856
5640
  result = new ReferenceNodeSemanticInfo([target], false);
5857
5641
  if (options6.includeBetterReferenceTargets) {
5858
5642
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -5901,17 +5685,17 @@ var NodeSemanticInfoService = class {
5901
5685
  const getTargetResult = translationPackage?.getPackageVariableTranslationTarget(parent);
5902
5686
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
5903
5687
  if (node === parent.sourceName) {
5904
- const target = new SimpleWithLocalization(
5905
- new EntityReferenceTarget(getTargetResult.target, 0 /* Get */),
5906
- Localization.Original.ofEntity(getTargetResult.target)
5907
- );
5688
+ const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
5908
5689
  result = new ReferenceNodeSemanticInfo([target], false);
5909
5690
  if (options6.includeBetterReferenceTargets) {
5910
5691
  result = this.getBetterReferenceTargetsOrPreserve(result);
5911
5692
  }
5912
5693
  } else if (node === parent.translatedName) {
5913
- const translation = new Translation(translationPackage);
5914
- result = new NameTranslationNodeSemanticInfo([getTargetResult.target], false, translation);
5694
+ const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedPackageVariableEntity(getTargetResult.target), 0 /* Get */);
5695
+ result = new ReferenceNodeSemanticInfo([target], false);
5696
+ if (options6.includeBetterReferenceTargets) {
5697
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5698
+ }
5915
5699
  }
5916
5700
  }
5917
5701
  break;
@@ -5921,21 +5705,20 @@ var NodeSemanticInfoService = class {
5921
5705
  const getTargetsResult = translationPackage?.getFieldOrVariantTranslationTargets(parent);
5922
5706
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
5923
5707
  if (node === parent.sourceName) {
5924
- const targets = getTargetsResult.targets.map((t) => new SimpleWithLocalization(
5925
- new EntityReferenceTarget(t, 0 /* Get */),
5926
- Localization.Original.ofEntity(t)
5927
- ));
5708
+ const targets = getTargetsResult.targets.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
5928
5709
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5929
5710
  if (options6.includeBetterReferenceTargets) {
5930
5711
  result = this.getBetterReferenceTargetsOrPreserve(result);
5931
5712
  }
5932
5713
  } else if (node === parent.translatedName) {
5933
- const translation = new Translation(translationPackage);
5934
- result = new NameTranslationNodeSemanticInfo(
5935
- getTargetsResult.targets,
5936
- getTargetsResult.isAmbiguous,
5937
- translation
5938
- );
5714
+ const targets = getTargetsResult.targets.map((f) => new EntityReferenceTarget(
5715
+ translationPackage.entityLocalizationContext.getLocalizedFieldEntity(f),
5716
+ 0 /* Get */
5717
+ ));
5718
+ result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5719
+ if (options6.includeBetterReferenceTargets) {
5720
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5721
+ }
5939
5722
  }
5940
5723
  }
5941
5724
  break;
@@ -5945,21 +5728,20 @@ var NodeSemanticInfoService = class {
5945
5728
  const getTargetsResult = translationPackage?.getPackageFunctionTranslationTargets(parent);
5946
5729
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
5947
5730
  if (node === parent.sourceName) {
5948
- const targets = getTargetsResult.targets.map((t) => new SimpleWithLocalization(
5949
- new EntityReferenceTarget(t, 0 /* Get */),
5950
- Localization.Original.ofEntity(t)
5951
- ));
5731
+ const targets = getTargetsResult.targets.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
5952
5732
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5953
5733
  if (options6.includeBetterReferenceTargets) {
5954
5734
  result = this.getBetterReferenceTargetsOrPreserve(result);
5955
5735
  }
5956
5736
  } else if (node === parent.translatedName) {
5957
- const translation = new Translation(translationPackage);
5958
- result = new NameTranslationNodeSemanticInfo(
5959
- getTargetsResult.targets,
5960
- getTargetsResult.isAmbiguous,
5961
- translation
5962
- );
5737
+ const targets = getTargetsResult.targets.map((f) => new EntityReferenceTarget(
5738
+ translationPackage.entityLocalizationContext.getLocalizedPackageFunctionEntity(f),
5739
+ 0 /* Get */
5740
+ ));
5741
+ result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5742
+ if (options6.includeBetterReferenceTargets) {
5743
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5744
+ }
5963
5745
  }
5964
5746
  }
5965
5747
  break;
@@ -5969,21 +5751,20 @@ var NodeSemanticInfoService = class {
5969
5751
  const getTargetsResult = translationPackage?.getMethodTranslationTargets(parent);
5970
5752
  if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
5971
5753
  if (node === parent.sourceName) {
5972
- const targets = getTargetsResult.targets.map((t) => new SimpleWithLocalization(
5973
- new EntityReferenceTarget(t, 0 /* Get */),
5974
- Localization.Original.ofEntity(t)
5975
- ));
5754
+ const targets = getTargetsResult.targets.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
5976
5755
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5977
5756
  if (options6.includeBetterReferenceTargets) {
5978
5757
  result = this.getBetterReferenceTargetsOrPreserve(result);
5979
5758
  }
5980
5759
  } else if (node === parent.translatedName) {
5981
- const translation = new Translation(translationPackage);
5982
- result = new NameTranslationNodeSemanticInfo(
5983
- getTargetsResult.targets,
5984
- getTargetsResult.isAmbiguous,
5985
- translation
5986
- );
5760
+ const targets = getTargetsResult.targets.map((f) => new EntityReferenceTarget(
5761
+ translationPackage.entityLocalizationContext.getLocalizedMethodEntity(f),
5762
+ 0 /* Get */
5763
+ ));
5764
+ result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
5765
+ if (options6.includeBetterReferenceTargets) {
5766
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5767
+ }
5987
5768
  }
5988
5769
  }
5989
5770
  break;
@@ -5993,17 +5774,17 @@ var NodeSemanticInfoService = class {
5993
5774
  const getTargetResult = translationPackage?.getTypeTranslationTarget(parent);
5994
5775
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
5995
5776
  if (node === parent.sourceName) {
5996
- const target = new SimpleWithLocalization(
5997
- new EntityReferenceTarget(getTargetResult.target, 0 /* Get */),
5998
- Localization.Original.ofEntity(getTargetResult.target)
5999
- );
5777
+ const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
6000
5778
  result = new ReferenceNodeSemanticInfo([target], false);
6001
5779
  if (options6.includeBetterReferenceTargets) {
6002
5780
  result = this.getBetterReferenceTargetsOrPreserve(result);
6003
5781
  }
6004
5782
  } else if (node === parent.translatedName) {
6005
- const translation = new Translation(translationPackage);
6006
- result = new NameTranslationNodeSemanticInfo([getTargetResult.target], false, translation);
5783
+ const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedTypeEntity(getTargetResult.target), 0 /* Get */);
5784
+ result = new ReferenceNodeSemanticInfo([target], false);
5785
+ if (options6.includeBetterReferenceTargets) {
5786
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5787
+ }
6007
5788
  }
6008
5789
  }
6009
5790
  break;
@@ -6013,17 +5794,17 @@ var NodeSemanticInfoService = class {
6013
5794
  const getTargetResult = translationPackage?.getFunctionTypeTranslationTarget(parent);
6014
5795
  if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
6015
5796
  if (node === parent.sourceName) {
6016
- const target = new SimpleWithLocalization(
6017
- new EntityReferenceTarget(getTargetResult.target, 0 /* Get */),
6018
- Localization.Original.ofEntity(getTargetResult.target)
6019
- );
5797
+ const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
6020
5798
  result = new ReferenceNodeSemanticInfo([target], false);
6021
5799
  if (options6.includeBetterReferenceTargets) {
6022
5800
  result = this.getBetterReferenceTargetsOrPreserve(result);
6023
5801
  }
6024
5802
  } else if (node === parent.translatedName) {
6025
- const translation = new Translation(translationPackage);
6026
- result = new NameTranslationNodeSemanticInfo([getTargetResult.target], false, translation);
5803
+ const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedPackageFunctionTypeEntity(getTargetResult.target), 0 /* Get */);
5804
+ result = new ReferenceNodeSemanticInfo([target], false);
5805
+ if (options6.includeBetterReferenceTargets) {
5806
+ result = this.getBetterReferenceTargetsOrPreserve(result);
5807
+ }
6027
5808
  }
6028
5809
  }
6029
5810
  break;
@@ -6080,11 +5861,7 @@ var NodeSemanticInfoService = class {
6080
5861
  if (isNarrowableReferenceExpression(node)) {
6081
5862
  narrowedType = analyzer.type.ofExpression(node);
6082
5863
  }
6083
- const target = new SimpleWithLocalization(new FieldReferenceTarget(
6084
- meaning.field.value,
6085
- meaning.accessKind,
6086
- narrowedType
6087
- ), meaning.field.localization);
5864
+ const target = new FieldReferenceTarget(meaning.field, meaning.accessKind, narrowedType);
6088
5865
  result = new ReferenceNodeSemanticInfo([target], false);
6089
5866
  break;
6090
5867
  }
@@ -6093,11 +5870,7 @@ var NodeSemanticInfoService = class {
6093
5870
  if (isNarrowableReferenceExpression(node)) {
6094
5871
  narrowedType = analyzer.type.ofExpression(node);
6095
5872
  }
6096
- const target = new SimpleWithLocalization(new FieldReferenceTarget(
6097
- meaning.field.value,
6098
- meaning.accessKind,
6099
- narrowedType
6100
- ), meaning.field.localization);
5873
+ const target = new FieldReferenceTarget(meaning.field, meaning.accessKind, narrowedType);
6101
5874
  result = new ReferenceNodeSemanticInfo([target], false);
6102
5875
  break;
6103
5876
  }
@@ -6106,11 +5879,7 @@ var NodeSemanticInfoService = class {
6106
5879
  if (isNarrowableReferenceExpression(node)) {
6107
5880
  narrowedType = analyzer.type.ofExpression(node);
6108
5881
  }
6109
- const target = new SimpleWithLocalization(new EntityReferenceTarget(
6110
- meaning.variable.value,
6111
- meaning.accessKind,
6112
- narrowedType
6113
- ), meaning.variable.localization);
5882
+ const target = new EntityReferenceTarget(meaning.variable, meaning.accessKind, narrowedType);
6114
5883
  result = new ReferenceNodeSemanticInfo([target], false);
6115
5884
  break;
6116
5885
  }
@@ -6145,9 +5914,7 @@ var NodeSemanticInfoService = class {
6145
5914
  break;
6146
5915
  case "package-type-access":
6147
5916
  if (meaning.suitableTypes.length === 0 && meaning.candidates.length > 0) {
6148
- const targets = meaning.candidates.map(
6149
- (c) => new SimpleWithLocalization(new EntityReferenceTarget(c.value, 0 /* Get */), c.localization)
6150
- );
5917
+ const targets = meaning.candidates.map((c) => new EntityReferenceTarget(c, 0 /* Get */));
6151
5918
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6152
5919
  } else {
6153
5920
  result = this.ofMaybeConstructorCallExpression(analyzer, meaning.suitableTypes, node, options6);
@@ -6157,10 +5924,7 @@ var NodeSemanticInfoService = class {
6157
5924
  result = this.ofPackageNameSegmentAccess(analyzer, meaning.packageTreeNode, node);
6158
5925
  break;
6159
5926
  case "mixed-ambiguous-access": {
6160
- const targets = Query.from(meaning.entities).mapAndFilter((d) => {
6161
- const target = new EntityReferenceTarget(d.value, 0 /* Get */);
6162
- return new SimpleWithLocalization(target, d.localization);
6163
- }).toArray();
5927
+ const targets = Query.from(meaning.entities).mapAndFilter((d) => new EntityReferenceTarget(d, 0 /* Get */)).toArray();
6164
5928
  if (isNonEmptyArray(targets)) {
6165
5929
  result = new ReferenceNodeSemanticInfo(targets, true);
6166
5930
  }
@@ -6176,11 +5940,11 @@ var NodeSemanticInfoService = class {
6176
5940
  }
6177
5941
  return result;
6178
5942
  function createAccessedFunctionsReference(functions, isAmbiguous) {
6179
- const targets = functions.map((o) => new SimpleWithLocalization(new AccessedFunctionReferenceTarget(o.value), o.localization));
5943
+ const targets = functions.map((o) => new AccessedFunctionReferenceTarget(o));
6180
5944
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
6181
5945
  }
6182
5946
  function createOperatorsReference(operators, isAmbiguous) {
6183
- const targets = operators.map((o) => new SimpleWithLocalization(new OperatorReferenceTarget(o.value), o.localization));
5947
+ const targets = operators.map((o) => new OperatorReferenceTarget(o));
6184
5948
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
6185
5949
  }
6186
5950
  }
@@ -6204,17 +5968,14 @@ var NodeSemanticInfoService = class {
6204
5968
  if (qualifierIndex >= 0 && qualifierIndex < resolutionResult.resolvedQualifiers.length) {
6205
5969
  const resolvedQualifier = resolutionResult.resolvedQualifiers[qualifierIndex];
6206
5970
  if (resolvedQualifier.kind === "package-alias") {
6207
- const target = new SimpleWithLocalization(
6208
- new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */),
6209
- new Localization.Original(resolvedQualifier.packageAlias.getContainingPackage().getLocale())
6210
- );
5971
+ const target = new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */);
6211
5972
  result = new ReferenceNodeSemanticInfo([target], false);
6212
5973
  } else if (resolvedQualifier.kind === "type") {
6213
5974
  if (resolvedQualifier.suitableTypes.length > 0) {
6214
- const targets = resolvedQualifier.suitableTypes.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
5975
+ const targets = resolvedQualifier.suitableTypes.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6215
5976
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6216
5977
  } else if (resolvedQualifier.candidates.length > 0) {
6217
- const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
5978
+ const targets = resolvedQualifier.candidates.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6218
5979
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6219
5980
  }
6220
5981
  } else if (resolvedQualifier.kind === "package-name-segment") {
@@ -6224,10 +5985,7 @@ var NodeSemanticInfoService = class {
6224
5985
  }
6225
5986
  const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
6226
5987
  if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
6227
- const target = new SimpleWithLocalization(
6228
- new PackageReferenceTarget(qualifier2.packageTreeNode.package.value),
6229
- new Localization.Original(qualifier2.packageTreeNode.package.value.getLocale())
6230
- );
5988
+ const target = new PackageReferenceTarget(qualifier2.packageTreeNode.package);
6231
5989
  result = new ReferenceNodeSemanticInfo([target], false);
6232
5990
  } else {
6233
5991
  result = void 0;
@@ -6237,13 +5995,13 @@ var NodeSemanticInfoService = class {
6237
5995
  }
6238
5996
  } else if (qualifierIndex === resolutionResult.resolvedQualifiers.length && resolutionResult.ambiguousDeclarations !== void 0) {
6239
5997
  const targets = resolutionResult.ambiguousDeclarations.map((d) => {
6240
- switch (d.value.kind) {
5998
+ switch (d.kind) {
6241
5999
  case "entity":
6242
- return new SimpleWithLocalization(new EntityReferenceTarget(d.value.entity, 0 /* Get */), d.localization);
6000
+ return new EntityReferenceTarget(d.entity, 0 /* Get */);
6243
6001
  case "node":
6244
- return new SimpleWithLocalization(new PackageNameTreeNodeReferenceTarget(d.value.node), d.localization);
6002
+ return new PackageNameTreeNodeReferenceTarget(d.node);
6245
6003
  default:
6246
- Debug.never(d.value);
6004
+ Debug.never(d);
6247
6005
  }
6248
6006
  });
6249
6007
  if (isNonEmptyArray(targets)) {
@@ -6265,18 +6023,18 @@ var NodeSemanticInfoService = class {
6265
6023
  case "type": {
6266
6024
  if (options6.preferredTargetOfExplicitConstructorCall === "type-declaration" || resolutionResult.meaning.kind !== "tag-type") {
6267
6025
  if (resolvedQualifier.suitableTypes.length > 0) {
6268
- const targets = resolvedQualifier.suitableTypes.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6026
+ const targets = resolvedQualifier.suitableTypes.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6269
6027
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6270
6028
  } else if (resolvedQualifier.candidates.length > 0) {
6271
- const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6029
+ const targets = resolvedQualifier.candidates.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6272
6030
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6273
6031
  }
6274
6032
  } else {
6275
6033
  if (resolutionResult.meaning.suitableConstructors.length > 0) {
6276
- const targets = resolutionResult.meaning.suitableConstructors.map((t) => new SimpleWithLocalization(new ConstructorReferenceTarget(t.value), t.localization));
6034
+ const targets = resolutionResult.meaning.suitableConstructors.map((t) => new ConstructorReferenceTarget(t));
6277
6035
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6278
6036
  } else if (resolutionResult.meaning.candidates.length > 0) {
6279
- const targets = resolutionResult.meaning.candidates.map((t) => new SimpleWithLocalization(new ConstructorReferenceTarget(t.value), t.localization));
6037
+ const targets = resolutionResult.meaning.candidates.map((t) => new ConstructorReferenceTarget(t));
6280
6038
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6281
6039
  }
6282
6040
  }
@@ -6284,10 +6042,10 @@ var NodeSemanticInfoService = class {
6284
6042
  }
6285
6043
  case "function":
6286
6044
  if (resolvedQualifier.suitableFunctions.length > 0) {
6287
- const targets = resolvedQualifier.suitableFunctions.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6045
+ const targets = resolvedQualifier.suitableFunctions.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6288
6046
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6289
6047
  } else if (resolvedQualifier.candidates.length > 0) {
6290
- const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6048
+ const targets = resolvedQualifier.candidates.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6291
6049
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6292
6050
  }
6293
6051
  break;
@@ -6298,10 +6056,7 @@ var NodeSemanticInfoService = class {
6298
6056
  }
6299
6057
  const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
6300
6058
  if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
6301
- const target = new SimpleWithLocalization(
6302
- new PackageReferenceTarget(qualifier2.packageTreeNode.package.value),
6303
- new Localization.Original(qualifier2.packageTreeNode.package.value.getLocale())
6304
- );
6059
+ const target = new PackageReferenceTarget(qualifier2.packageTreeNode.package);
6305
6060
  result = new ReferenceNodeSemanticInfo([target], false);
6306
6061
  } else {
6307
6062
  result = void 0;
@@ -6309,10 +6064,7 @@ var NodeSemanticInfoService = class {
6309
6064
  break;
6310
6065
  }
6311
6066
  case "package-alias": {
6312
- const target = new SimpleWithLocalization(
6313
- new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */),
6314
- new Localization.Original(resolvedQualifier.packageAlias.getContainingPackage().getLocale())
6315
- );
6067
+ const target = new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */);
6316
6068
  result = new ReferenceNodeSemanticInfo([target], false);
6317
6069
  break;
6318
6070
  }
@@ -6321,13 +6073,13 @@ var NodeSemanticInfoService = class {
6321
6073
  }
6322
6074
  } else if (qualifierIndex === resolutionResult.resolvedQualifiers.length && resolutionResult.ambiguousDeclarations !== void 0) {
6323
6075
  const targets = resolutionResult.ambiguousDeclarations.map((d) => {
6324
- switch (d.value.kind) {
6076
+ switch (d.kind) {
6325
6077
  case "entity":
6326
- return new SimpleWithLocalization(new EntityReferenceTarget(d.value.entity, 0 /* Get */), d.localization);
6078
+ return new EntityReferenceTarget(d.entity, 0 /* Get */);
6327
6079
  case "node":
6328
- return new SimpleWithLocalization(new PackageNameTreeNodeReferenceTarget(d.value.node), d.localization);
6080
+ return new PackageNameTreeNodeReferenceTarget(d.node);
6329
6081
  default:
6330
- Debug.never(d.value);
6082
+ Debug.never(d);
6331
6083
  }
6332
6084
  });
6333
6085
  if (isNonEmptyArray(targets)) {
@@ -6345,7 +6097,7 @@ var NodeSemanticInfoService = class {
6345
6097
  switch (meaning.kind) {
6346
6098
  case "type-access":
6347
6099
  if (meaning.suitableTypes.length === 0 && meaning.candidates.length > 0) {
6348
- const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new EntityReferenceTarget(c.value, 0 /* Get */), c.localization));
6100
+ const targets = meaning.candidates.map((c) => new EntityReferenceTarget(c, 0 /* Get */));
6349
6101
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6350
6102
  } else {
6351
6103
  result = this.ofMaybeConstructorCallExpression(analyzer, meaning.suitableTypes, node, options6);
@@ -6372,28 +6124,19 @@ var NodeSemanticInfoService = class {
6372
6124
  narrowedType = analyzer.type.ofExpression(node);
6373
6125
  }
6374
6126
  const variable = meaning.variable;
6375
- if (variable.value.kind === "entity") {
6376
- const target = new SimpleWithLocalization(
6377
- new EntityReferenceTarget(variable.value.value, meaning.accessKind, narrowedType),
6378
- variable.localization
6379
- );
6127
+ if (variable.kind === "entity") {
6128
+ const target = new EntityReferenceTarget(variable.value, meaning.accessKind, narrowedType);
6380
6129
  result = new ReferenceNodeSemanticInfo([target], false);
6381
- } else if (variable.value.kind === "type-member") {
6382
- const target = new SimpleWithLocalization(
6383
- new FieldReferenceTarget(variable.value.value, meaning.accessKind, narrowedType),
6384
- variable.localization
6385
- );
6130
+ } else if (variable.kind === "type-member") {
6131
+ const target = new FieldReferenceTarget(variable.value, meaning.accessKind, narrowedType);
6386
6132
  result = new ReferenceNodeSemanticInfo([target], false);
6387
6133
  } else {
6388
- Debug.never(variable.value);
6134
+ Debug.never(variable);
6389
6135
  }
6390
6136
  break;
6391
6137
  }
6392
6138
  case "package-alias-access": {
6393
- const target = new SimpleWithLocalization(
6394
- new EntityReferenceTarget(meaning.packageAlias, 0 /* Get */),
6395
- new Localization.Original(getPackageContainingEntity(meaning.packageAlias).getLocale())
6396
- );
6139
+ const target = new EntityReferenceTarget(meaning.packageAlias, 0 /* Get */);
6397
6140
  result = new ReferenceNodeSemanticInfo([target], false);
6398
6141
  break;
6399
6142
  }
@@ -6403,27 +6146,20 @@ var NodeSemanticInfoService = class {
6403
6146
  }
6404
6147
  case "mixed-ambiguous-access": {
6405
6148
  const targets = meaning.declarations.map((d) => {
6406
- let target;
6407
- switch (d.value.kind) {
6149
+ switch (d.kind) {
6408
6150
  case "function":
6409
- target = new EntityReferenceTarget(d.value.value.getEntity(), 0 /* Get */);
6410
- break;
6151
+ return new EntityReferenceTarget(d.value.getEntity(), 0 /* Get */);
6411
6152
  case "variable":
6412
- target = new EntityReferenceTarget(d.value.value.getEntity(), 0 /* Get */);
6413
- break;
6153
+ return new EntityReferenceTarget(d.value.getEntity(), 0 /* Get */);
6414
6154
  case "type":
6415
- target = new EntityReferenceTarget(d.value.value, 0 /* Get */);
6416
- break;
6155
+ return new EntityReferenceTarget(d.value, 0 /* Get */);
6417
6156
  case "package-alias":
6418
- target = new EntityReferenceTarget(d.value.value, 0 /* Get */);
6419
- break;
6157
+ return new EntityReferenceTarget(d.value, 0 /* Get */);
6420
6158
  case "package-name-segment":
6421
- target = new PackageNameTreeNodeReferenceTarget(d.value.value);
6422
- break;
6159
+ return new PackageNameTreeNodeReferenceTarget(d.value);
6423
6160
  default:
6424
- Debug.never(d.value);
6161
+ Debug.never(d);
6425
6162
  }
6426
- return new SimpleWithLocalization(target, d.localization);
6427
6163
  });
6428
6164
  if (isNonEmptyArray(targets)) {
6429
6165
  result = new ReferenceNodeSemanticInfo(targets, true);
@@ -6440,11 +6176,11 @@ var NodeSemanticInfoService = class {
6440
6176
  }
6441
6177
  return result;
6442
6178
  function createAccessedFunctionsReference(functions, isAmbiguous) {
6443
- const targets = functions.map((o) => new SimpleWithLocalization(new AccessedFunctionReferenceTarget(o.value), o.localization));
6179
+ const targets = functions.map((o) => new AccessedFunctionReferenceTarget(o));
6444
6180
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
6445
6181
  }
6446
6182
  function createOperatorsReference(operators, isAmbiguous) {
6447
- const targets = operators.map((o) => new SimpleWithLocalization(new OperatorReferenceTarget(o.value), o.localization));
6183
+ const targets = operators.map((o) => new OperatorReferenceTarget(o));
6448
6184
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
6449
6185
  }
6450
6186
  }
@@ -6476,7 +6212,7 @@ var NodeSemanticInfoService = class {
6476
6212
  }
6477
6213
  return void 0;
6478
6214
  function createIndexersReference(indexers, accessKind, isAmbiguous) {
6479
- const targets = indexers.map((i) => new SimpleWithLocalization(new IndexerReferenceTarget(i.value, accessKind), i.localization));
6215
+ const targets = indexers.map((i) => new IndexerReferenceTarget(i, accessKind));
6480
6216
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
6481
6217
  }
6482
6218
  }
@@ -6485,10 +6221,7 @@ var NodeSemanticInfoService = class {
6485
6221
  if (operatorKind !== void 0) {
6486
6222
  const operator = analyzer.resolveCompoundAssignmentStatementOperator(node, operatorKind);
6487
6223
  if (operator.kind === "ok") {
6488
- const target = new SimpleWithLocalization(
6489
- new OperatorReferenceTarget(operator.value.value),
6490
- operator.value.localization
6491
- );
6224
+ const target = new OperatorReferenceTarget(operator.value);
6492
6225
  let result = new ReferenceNodeSemanticInfo([target], false);
6493
6226
  if (options6.includeBetterReferenceTargets) {
6494
6227
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6503,10 +6236,7 @@ var NodeSemanticInfoService = class {
6503
6236
  if (classificationResult.kind === "user-definable") {
6504
6237
  const operator = analyzer.resolveBinaryExpressionUserDefinableOperator(node, classificationResult.operatorKind);
6505
6238
  if (operator.kind === "ok") {
6506
- const target = new SimpleWithLocalization(
6507
- new OperatorReferenceTarget(operator.value.value),
6508
- operator.value.localization
6509
- );
6239
+ const target = new OperatorReferenceTarget(operator.value);
6510
6240
  let result = new ReferenceNodeSemanticInfo([target], false);
6511
6241
  if (options6.includeBetterReferenceTargets) {
6512
6242
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6519,10 +6249,7 @@ var NodeSemanticInfoService = class {
6519
6249
  static ofPrefixUnaryExpressionOperator(analyzer, node, options6) {
6520
6250
  const operator = analyzer.resolvePrefixUnaryExpressionUserDefinableOperator(node);
6521
6251
  if (operator.kind === "ok") {
6522
- const target = new SimpleWithLocalization(
6523
- new OperatorReferenceTarget(operator.value.value),
6524
- operator.value.localization
6525
- );
6252
+ const target = new OperatorReferenceTarget(operator.value);
6526
6253
  let result = new ReferenceNodeSemanticInfo([target], false);
6527
6254
  if (options6.includeBetterReferenceTargets) {
6528
6255
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6538,10 +6265,7 @@ var NodeSemanticInfoService = class {
6538
6265
  static ofDereferenceExpressionOperator(analyzer, node, options6) {
6539
6266
  const meaning = analyzer.getDereferenceExpressionMeaning(node);
6540
6267
  if (meaning.kind === "resolved") {
6541
- const target = new SimpleWithLocalization(
6542
- new DereferenceOperatorReferenceTarget(meaning.operator.value, meaning.accessKind),
6543
- meaning.operator.localization
6544
- );
6268
+ const target = new DereferenceOperatorReferenceTarget(meaning.operator, meaning.accessKind);
6545
6269
  let result = new ReferenceNodeSemanticInfo([target], false);
6546
6270
  if (options6.includeBetterReferenceTargets) {
6547
6271
  result = this.getBetterReferenceTargetsOrPreserve(result);
@@ -6555,10 +6279,10 @@ var NodeSemanticInfoService = class {
6555
6279
  let result;
6556
6280
  if (meaning.kind === "constructor-call") {
6557
6281
  if (meaning.suitableConstructors.length > 0) {
6558
- const targets = meaning.suitableConstructors.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6282
+ const targets = meaning.suitableConstructors.map((c) => new ConstructorReferenceTarget(c));
6559
6283
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), meaning.suitableConstructors.length > 1);
6560
6284
  } else if (meaning.candidates.length > 0) {
6561
- const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6285
+ const targets = meaning.candidates.map((c) => new ConstructorReferenceTarget(c));
6562
6286
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6563
6287
  }
6564
6288
  }
@@ -6573,21 +6297,17 @@ var NodeSemanticInfoService = class {
6573
6297
  switch (meaning.kind) {
6574
6298
  case "own-constructor-access": {
6575
6299
  if (meaning.suitableConstructors.length > 0) {
6576
- const targets = meaning.suitableConstructors.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6300
+ const targets = meaning.suitableConstructors.map((c) => new ConstructorReferenceTarget(c));
6577
6301
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), meaning.suitableConstructors.length > 1);
6578
6302
  } else if (meaning.candidates.length > 0) {
6579
- const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6303
+ const targets = meaning.candidates.map((c) => new ConstructorReferenceTarget(c));
6580
6304
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6581
6305
  }
6582
6306
  break;
6583
6307
  }
6584
6308
  case "object-access": {
6585
- const locale = TreeQuery.fromNode(node).packageEntity(analyzer).getLocale();
6586
6309
  const type = analyzer.type.ofExpression(node);
6587
- const target = new SimpleWithLocalization(
6588
- new TypeContextReferenceTarget(type, "object"),
6589
- new Localization.Original(locale)
6590
- );
6310
+ const target = new TypeContextReferenceTarget(type, "object");
6591
6311
  result = new ReferenceNodeSemanticInfo([target], false);
6592
6312
  break;
6593
6313
  }
@@ -6607,38 +6327,26 @@ var NodeSemanticInfoService = class {
6607
6327
  switch (meaning.kind) {
6608
6328
  case "base-constructor-access": {
6609
6329
  if (meaning.suitableConstructors.length > 0) {
6610
- const targets = meaning.suitableConstructors.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6330
+ const targets = meaning.suitableConstructors.map((c) => new ConstructorReferenceTarget(c));
6611
6331
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), meaning.suitableConstructors.length > 1);
6612
6332
  } else if (meaning.candidates.length > 0) {
6613
- const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6333
+ const targets = meaning.candidates.map((c) => new ConstructorReferenceTarget(c));
6614
6334
  result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6615
6335
  }
6616
6336
  break;
6617
6337
  }
6618
6338
  case "base-object-access": {
6619
- const locale = TreeQuery.fromNode(node).packageEntity(analyzer).getLocale();
6620
- const target = new SimpleWithLocalization(
6621
- new TypeContextReferenceTarget(meaning.type, "base"),
6622
- new Localization.Original(locale)
6623
- );
6339
+ const target = new TypeContextReferenceTarget(meaning.type, "base");
6624
6340
  result = new ReferenceNodeSemanticInfo([target], false);
6625
6341
  break;
6626
6342
  }
6627
6343
  case "overridden-method-access": {
6628
- const locale = TreeQuery.fromNode(node).packageEntity(analyzer).getLocale();
6629
- const target = new SimpleWithLocalization(
6630
- new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(meaning.method)),
6631
- new Localization.Original(locale)
6632
- );
6344
+ const target = new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(meaning.method));
6633
6345
  result = new ReferenceNodeSemanticInfo([target], false);
6634
6346
  break;
6635
6347
  }
6636
6348
  case "overridden-operator-access": {
6637
- const locale = TreeQuery.fromNode(node).packageEntity(analyzer).getLocale();
6638
- const target = new SimpleWithLocalization(
6639
- new OperatorReferenceTarget(meaning.operator),
6640
- new Localization.Original(locale)
6641
- );
6349
+ const target = new OperatorReferenceTarget(meaning.operator);
6642
6350
  result = new ReferenceNodeSemanticInfo([target], false);
6643
6351
  break;
6644
6352
  }
@@ -6666,29 +6374,15 @@ var NodeSemanticInfoService = class {
6666
6374
  if (packageTreeNode.package === void 0) {
6667
6375
  return void 0;
6668
6376
  }
6669
- return new ReferenceNodeSemanticInfo(
6670
- [
6671
- new SimpleWithLocalization(
6672
- new PackageReferenceTarget(packageTreeNode.package.value),
6673
- new Localization.Original(packageTreeNode.package.value.getLocale())
6674
- )
6675
- ],
6676
- false
6677
- );
6377
+ return new ReferenceNodeSemanticInfo([new PackageReferenceTarget(packageTreeNode.package)], false);
6678
6378
  }
6679
6379
  static ofMaybeConstructorCallExpression(analyzer, types, typeAccessExpression, options6) {
6680
6380
  if (types.length === 0) {
6681
6381
  return void 0;
6682
6382
  }
6683
- const typeEntities = Query.from(types).mapAndFilter((t) => {
6684
- const entity = t.value.getEntity();
6685
- if (entity !== void 0) {
6686
- return new SimpleWithLocalization(entity, t.localization);
6687
- }
6688
- return void 0;
6689
- }).toArray();
6383
+ const typeEntities = Query.from(types).mapAndFilter((t) => t.getEntity()).toArray();
6690
6384
  if (options6.preferredTargetOfExplicitConstructorCall === "type-declaration" && typeEntities.length > 0) {
6691
- const targets = typeEntities.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6385
+ const targets = typeEntities.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6692
6386
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6693
6387
  }
6694
6388
  const parent = getParentSkippingParenthesizedExpressions(typeAccessExpression);
@@ -6705,16 +6399,16 @@ var NodeSemanticInfoService = class {
6705
6399
  const meaning = analyzer.getCallExpressionMeaning(parentCallExpression);
6706
6400
  if (meaning.kind === "constructor-call") {
6707
6401
  if (meaning.suitableConstructors.length > 0) {
6708
- const targets = meaning.suitableConstructors.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6402
+ const targets = meaning.suitableConstructors.map((c) => new ConstructorReferenceTarget(c));
6709
6403
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), meaning.suitableConstructors.length > 1);
6710
6404
  } else if (meaning.candidates.length > 0) {
6711
- const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new ConstructorReferenceTarget(c.value), c.localization));
6405
+ const targets = meaning.candidates.map((c) => new ConstructorReferenceTarget(c));
6712
6406
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
6713
6407
  }
6714
6408
  }
6715
6409
  }
6716
6410
  if (typeEntities.length > 0) {
6717
- const targets = typeEntities.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
6411
+ const targets = typeEntities.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
6718
6412
  return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
6719
6413
  }
6720
6414
  return void 0;
@@ -6733,33 +6427,27 @@ var NodeSemanticInfoService = class {
6733
6427
  let betterTarget;
6734
6428
  do {
6735
6429
  betterTarget = void 0;
6736
- if (currentTarget.value.kind === "entity" && currentTarget.value.entity.kind === 0 /* Variable */) {
6430
+ if (currentTarget.kind === "entity" && currentTarget.entity.kind === 0 /* Variable */) {
6737
6431
  {
6738
- if (currentTarget.value.entity.subkind === "parameter") {
6739
- const specialVariableInfo = currentTarget.value.entity.isSpecial();
6432
+ if (currentTarget.entity.subkind === "parameter") {
6433
+ const specialVariableInfo = currentTarget.entity.isSpecial();
6740
6434
  if (specialVariableInfo?.kind === "implicit-function-block-parameter") {
6741
- betterTarget = new SimpleWithLocalization(
6742
- new TypeValueParameterReferenceTarget(
6743
- specialVariableInfo.targetTypeParameter,
6744
- currentTarget.value.accessKind
6745
- ),
6746
- currentTarget.localization
6435
+ betterTarget = new TypeValueParameterReferenceTarget(
6436
+ specialVariableInfo.targetTypeParameter,
6437
+ currentTarget.accessKind
6747
6438
  );
6748
6439
  }
6749
6440
  }
6750
6441
  }
6751
- } else if (currentTarget.value.kind === "type-constructor") {
6752
- const entity = currentTarget.value.constructor_.getEntity();
6442
+ } else if (currentTarget.kind === "type-constructor") {
6443
+ const entity = currentTarget.constructor_.getEntity();
6753
6444
  if (entity.getDefinition().kind === 1 /* Intrinsic */) {
6754
6445
  const container = entity.getContainer();
6755
6446
  if (container.kind === "type" && container.typeEntity.getDefinition().kind === 0 /* Source */) {
6756
- betterTarget = new SimpleWithLocalization(
6757
- new EntityReferenceTarget(container.typeEntity, 0 /* Get */),
6758
- currentTarget.localization
6759
- );
6447
+ betterTarget = new EntityReferenceTarget(container.typeEntity, 0 /* Get */);
6760
6448
  }
6761
6449
  }
6762
- } else if (currentTarget.value.kind === "entity" && currentTarget.value.entity.kind === 1 /* Function */) {
6450
+ } else if (currentTarget.kind === "entity" && currentTarget.entity.kind === 1 /* Function */) {
6763
6451
  }
6764
6452
  if (betterTarget !== void 0) {
6765
6453
  result = betterTarget;
@@ -6877,29 +6565,12 @@ var IndexerReferenceTarget = class {
6877
6565
  this.kind = "type-indexer";
6878
6566
  }
6879
6567
  };
6880
- var NameTranslationNodeSemanticInfo = class {
6881
- constructor(targets, isAmbiguous, translation) {
6882
- this.targets = targets;
6883
- this.isAmbiguous = isAmbiguous;
6884
- this.translation = translation;
6885
- this.kind = "name-translation";
6886
- }
6887
- get firstTarget() {
6888
- return this.targets[0];
6889
- }
6890
- };
6891
6568
  var DefaultSwitchMatchNodeSemanticInfo = class {
6892
6569
  constructor(type) {
6893
6570
  this.type = type;
6894
6571
  this.kind = "default-switch-match";
6895
6572
  }
6896
6573
  };
6897
- var SimpleWithLocalization = class {
6898
- constructor(value, localization) {
6899
- this.value = value;
6900
- this.localization = localization;
6901
- }
6902
- };
6903
6574
 
6904
6575
  // source/services/Utils.ts
6905
6576
  function getEntitySourceLocations(analyzer, entity) {
@@ -7060,12 +6731,6 @@ var DefinitionService = class {
7060
6731
  result = this.getDefinitionOfReference(analyzer, semanticInfo, tokenOrKeyword, sourceFile);
7061
6732
  break;
7062
6733
  }
7063
- case "name-translation":
7064
- result = new DefinitionsAndReferenceInfo(
7065
- [new SourceLocation(sourceFile, tokenOrKeyword.value.rangeWithoutTrivia)],
7066
- tokenOrKeyword.value.rangeWithoutTrivia
7067
- );
7068
- break;
7069
6734
  case "default-switch-match":
7070
6735
  break;
7071
6736
  default:
@@ -7073,18 +6738,11 @@ var DefinitionService = class {
7073
6738
  }
7074
6739
  if ((result === void 0 || result.definitionLocations.length === 0) && this._sourceGenerationService !== void 0 && semanticInfo.kind === "reference") {
7075
6740
  const sourceLocations = (yield Promise.all(Query.from(semanticInfo.betterTargets ?? semanticInfo.targets).mapAndFilter((t) => {
7076
- const referencedEntity = this.getReferenceTargetEntity(t.value);
6741
+ const referencedEntity = this.getReferenceTargetEntity(t);
7077
6742
  if (referencedEntity !== void 0 && this._sourceGenerationService.entityDefinitionRequiresSourceGeneration(referencedEntity)) {
7078
- const localizationContext = this.createLocalizationContextForSourceGeneration(
7079
- analyzer,
7080
- tokenOrKeyword.value,
7081
- referencedEntity,
7082
- t.localization
7083
- );
7084
6743
  return this._sourceGenerationService.getDefinitionInGeneratedCode(
7085
6744
  analyzer,
7086
6745
  referencedEntity,
7087
- localizationContext,
7088
6746
  cancellationToken
7089
6747
  );
7090
6748
  }
@@ -7099,7 +6757,7 @@ var DefinitionService = class {
7099
6757
  }
7100
6758
  getDefinitionOfReference(analyzer, reference, tokenOrKeyword, sourceFile) {
7101
6759
  const targets = reference.betterTargets ?? reference.targets;
7102
- const sourceLocations = Query.from(targets).mapAndFilter((t) => this.getReferenceTargetSourceLocation(analyzer, t.value, tokenOrKeyword, sourceFile)).flatMap((l) => l).toArray();
6760
+ const sourceLocations = Query.from(targets).mapAndFilter((t) => this.getReferenceTargetSourceLocation(analyzer, t, tokenOrKeyword, sourceFile)).flatMap((l) => l).toArray();
7103
6761
  return new DefinitionsAndReferenceInfo(sourceLocations, tokenOrKeyword.value.rangeWithoutTrivia);
7104
6762
  }
7105
6763
  getReferenceTargetSourceLocation(analyzer, target, tokenOrKeyword, sourceFile) {
@@ -7164,7 +6822,7 @@ var DefinitionService = class {
7164
6822
  case "package":
7165
6823
  return target.package_;
7166
6824
  case "package-name-tree-node":
7167
- return target.node.package?.value;
6825
+ return target.node.package;
7168
6826
  case "type-context":
7169
6827
  return target.type.getEntity();
7170
6828
  case "type-indexer":
@@ -7173,15 +6831,6 @@ var DefinitionService = class {
7173
6831
  Debug.never(target);
7174
6832
  }
7175
6833
  }
7176
- createLocalizationContextForSourceGeneration(analyzer, referenceNode, referencedEntity, localization) {
7177
- const referenceContext = analyzer.semanticContext.containing(referenceNode).getLocalizationContext();
7178
- let translationPackages = Array.from(referenceContext.translationPackages);
7179
- if (localization.kind === "original") {
7180
- const containingPackage = getPackageContainingEntity(referencedEntity);
7181
- translationPackages = translationPackages.filter((p) => p.getTranslatedPackage() !== containingPackage);
7182
- }
7183
- return new LocalizationContext(translationPackages, referenceContext.originalLocale);
7184
- }
7185
6834
  getSourceLocationsOfVariableEntity(analyzer, entity) {
7186
6835
  let result = getEntitySourceLocations(analyzer, entity);
7187
6836
  if (result === void 0 && entity.kind === 0 /* Variable */) {
@@ -7280,17 +6929,17 @@ var ReferencesService = class {
7280
6929
  }
7281
6930
  getReferencesInFiles(analyzer, sourceFile, offset, sourceFiles, options6, cancellationToken) {
7282
6931
  return __async(this, null, function* () {
7283
- const definitionAndReferenceInfo = this.getDefinitionAndReferenceInfoAtOffset(analyzer, sourceFile, offset, options6);
7284
- if (definitionAndReferenceInfo === void 0) {
6932
+ const definitions = this.getReferencedDefinitionInfosAtOffset(analyzer, sourceFile, offset, options6);
6933
+ if (definitions.length === 0) {
7285
6934
  return [];
7286
6935
  }
7287
- const { definition, isAtNameTranslation } = definitionAndReferenceInfo;
7288
- const onlyWithSameTranslation = options6.onlyNamed || isAtNameTranslation;
7289
6936
  const allowAmbiguous = options6.allowAmbiguous;
6937
+ const isForRename = options6.isForRename ?? false;
7290
6938
  const result = [];
7291
- const restrictions = this.getReferenceRestrictions(definition, options6);
6939
+ const firstDefinition = definitions[0];
6940
+ const restrictions = this.getReferenceRestrictions(firstDefinition, options6);
7292
6941
  let semanticInfoOptions;
7293
- if (definition.value.kind === 7 /* Constructor */) {
6942
+ if (firstDefinition.value.kind === 7 /* Constructor */) {
7294
6943
  semanticInfoOptions = {
7295
6944
  preferredTargetOfExplicitConstructorCall: "constructor-declaration",
7296
6945
  includeBetterReferenceTargets: true
@@ -7309,11 +6958,11 @@ var ReferencesService = class {
7309
6958
  (node) => {
7310
6959
  if (isIdentifier(node) && restrictions.canBeIdentifier && node.parent.kind !== 3 /* Keyword */) {
7311
6960
  const semanticInfo = NodeSemanticInfoService.ofNonKeywordIdentifier(analyzer, node, semanticInfoOptions);
7312
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7313
- definition,
6961
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
6962
+ definitions,
7314
6963
  semanticInfo,
7315
- onlyWithSameTranslation,
7316
- allowAmbiguous
6964
+ allowAmbiguous,
6965
+ isForRename
7317
6966
  );
7318
6967
  if (referenceKind !== void 0) {
7319
6968
  result.push(new Reference(sourceFile2, node.rangeWithoutTrivia, referenceKind));
@@ -7322,11 +6971,11 @@ var ReferencesService = class {
7322
6971
  if (!options6.onlyNamed) {
7323
6972
  if (node.kind === 69 /* AutotypeCallExpression */ && restrictions.canBeAutotypeCall) {
7324
6973
  const semanticInfo = NodeSemanticInfoService.ofAutotypeCallExpression(analyzer, node, semanticInfoOptions);
7325
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7326
- definition,
6974
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
6975
+ definitions,
7327
6976
  semanticInfo,
7328
- onlyWithSameTranslation,
7329
- allowAmbiguous
6977
+ allowAmbiguous,
6978
+ isForRename
7330
6979
  );
7331
6980
  if (referenceKind !== void 0) {
7332
6981
  result.push(new Reference(sourceFile2, node.autotypeKeyword.rangeWithoutTrivia, referenceKind));
@@ -7338,11 +6987,11 @@ var ReferencesService = class {
7338
6987
  node,
7339
6988
  semanticInfoOptions
7340
6989
  );
7341
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7342
- definition,
6990
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
6991
+ definitions,
7343
6992
  semanticInfo,
7344
- onlyWithSameTranslation,
7345
- allowAmbiguous
6993
+ allowAmbiguous,
6994
+ isForRename
7346
6995
  );
7347
6996
  if (referenceKind !== void 0) {
7348
6997
  result.push(new Reference(sourceFile2, node.operator.rangeWithoutTrivia, referenceKind));
@@ -7354,11 +7003,11 @@ var ReferencesService = class {
7354
7003
  node,
7355
7004
  semanticInfoOptions
7356
7005
  );
7357
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7358
- definition,
7006
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7007
+ definitions,
7359
7008
  semanticInfo,
7360
- onlyWithSameTranslation,
7361
- allowAmbiguous
7009
+ allowAmbiguous,
7010
+ isForRename
7362
7011
  );
7363
7012
  if (referenceKind !== void 0) {
7364
7013
  result.push(new Reference(sourceFile2, node.operator.rangeWithoutTrivia, referenceKind));
@@ -7366,11 +7015,11 @@ var ReferencesService = class {
7366
7015
  }
7367
7016
  if ((node.kind === 48 /* DereferencedVariableGetterDeclaration */ || node.kind === 49 /* DereferencedVariableSetterDeclaration */) && restrictions.canBeDereferenceOperator) {
7368
7017
  const semanticInfo = NodeSemanticInfoService.ofDereferenceOperatorDeclaration(analyzer, node);
7369
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7370
- definition,
7018
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7019
+ definitions,
7371
7020
  semanticInfo,
7372
- onlyWithSameTranslation,
7373
- allowAmbiguous
7021
+ allowAmbiguous,
7022
+ isForRename
7374
7023
  );
7375
7024
  if (referenceKind !== void 0) {
7376
7025
  result.push(new Reference(sourceFile2, node.caretToken.rangeWithoutTrivia, referenceKind));
@@ -7382,11 +7031,11 @@ var ReferencesService = class {
7382
7031
  node,
7383
7032
  semanticInfoOptions
7384
7033
  );
7385
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7386
- definition,
7034
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7035
+ definitions,
7387
7036
  semanticInfo,
7388
- onlyWithSameTranslation,
7389
- allowAmbiguous
7037
+ allowAmbiguous,
7038
+ isForRename
7390
7039
  );
7391
7040
  if (referenceKind !== void 0) {
7392
7041
  result.push(new Reference(sourceFile2, node.caretToken.rangeWithoutTrivia, referenceKind));
@@ -7398,11 +7047,11 @@ var ReferencesService = class {
7398
7047
  node,
7399
7048
  semanticInfoOptions
7400
7049
  );
7401
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7402
- definition,
7050
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7051
+ definitions,
7403
7052
  semanticInfo,
7404
- onlyWithSameTranslation,
7405
- allowAmbiguous
7053
+ allowAmbiguous,
7054
+ isForRename
7406
7055
  );
7407
7056
  if (referenceKind !== void 0) {
7408
7057
  result.push(new Reference(sourceFile2, node.operator.rangeWithoutTrivia, referenceKind));
@@ -7410,11 +7059,11 @@ var ReferencesService = class {
7410
7059
  }
7411
7060
  if (node.kind === 43 /* ConstructorDeclaration */ && restrictions.canBeConstructorDeclaration) {
7412
7061
  const semanticInfo = NodeSemanticInfoService.ofConstructorDeclaration(analyzer, node);
7413
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7414
- definition,
7062
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7063
+ definitions,
7415
7064
  semanticInfo,
7416
- onlyWithSameTranslation,
7417
- allowAmbiguous
7065
+ allowAmbiguous,
7066
+ isForRename
7418
7067
  );
7419
7068
  if (referenceKind !== void 0) {
7420
7069
  result.push(new Reference(sourceFile2, node.creationKeyword.rangeWithoutTrivia, referenceKind));
@@ -7422,11 +7071,11 @@ var ReferencesService = class {
7422
7071
  }
7423
7072
  if (node.kind === 84 /* ObjectExpression */ && restrictions.canBeObjectExpression) {
7424
7073
  const semanticInfo = NodeSemanticInfoService.ofObjectExpression(analyzer, node, semanticInfoOptions);
7425
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7426
- definition,
7074
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7075
+ definitions,
7427
7076
  semanticInfo,
7428
- onlyWithSameTranslation,
7429
- allowAmbiguous
7077
+ allowAmbiguous,
7078
+ isForRename
7430
7079
  );
7431
7080
  if (referenceKind !== void 0) {
7432
7081
  result.push(new Reference(sourceFile2, node.keyword.rangeWithoutTrivia, referenceKind));
@@ -7434,11 +7083,11 @@ var ReferencesService = class {
7434
7083
  }
7435
7084
  if (node.kind === 85 /* BaseExpression */ && restrictions.canBeBaseExpression) {
7436
7085
  const semanticInfo = NodeSemanticInfoService.ofBaseExpression(analyzer, node, semanticInfoOptions);
7437
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7438
- definition,
7086
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7087
+ definitions,
7439
7088
  semanticInfo,
7440
- onlyWithSameTranslation,
7441
- allowAmbiguous
7089
+ allowAmbiguous,
7090
+ isForRename
7442
7091
  );
7443
7092
  if (referenceKind !== void 0) {
7444
7093
  result.push(new Reference(sourceFile2, node.keyword.rangeWithoutTrivia, referenceKind));
@@ -7446,11 +7095,11 @@ var ReferencesService = class {
7446
7095
  }
7447
7096
  if ((node.kind === 45 /* IndexedElementGetterDeclaration */ || node.kind === 46 /* IndexedElementSetterDeclaration */) && restrictions.canBeIndexer) {
7448
7097
  const semanticInfo = NodeSemanticInfoService.ofIndexedElementAccessorDeclaration(analyzer, node);
7449
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7450
- definition,
7098
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7099
+ definitions,
7451
7100
  semanticInfo,
7452
- onlyWithSameTranslation,
7453
- allowAmbiguous
7101
+ allowAmbiguous,
7102
+ isForRename
7454
7103
  );
7455
7104
  if (referenceKind !== void 0) {
7456
7105
  result.push(new Reference(sourceFile2, node.parameterClause.rangeWithoutTrivia, referenceKind));
@@ -7462,11 +7111,11 @@ var ReferencesService = class {
7462
7111
  node,
7463
7112
  semanticInfoOptions
7464
7113
  );
7465
- const referenceKind = this.ifReferenceToDefinitionThenKind(
7466
- definition,
7114
+ const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
7115
+ definitions,
7467
7116
  semanticInfo,
7468
- onlyWithSameTranslation,
7469
- allowAmbiguous
7117
+ allowAmbiguous,
7118
+ isForRename
7470
7119
  );
7471
7120
  if (referenceKind !== void 0) {
7472
7121
  const range = new Range(
@@ -7483,7 +7132,7 @@ var ReferencesService = class {
7483
7132
  return result;
7484
7133
  });
7485
7134
  }
7486
- getDefinitionAndReferenceInfoAtOffset(analyzer, sourceFile, offset, options6) {
7135
+ getReferencedDefinitionInfosAtOffset(analyzer, sourceFile, offset, options6) {
7487
7136
  const tokenOrKeyword = getTokenOrKeywordsTouchingOffset(sourceFile.getSyntaxNode(), offset).getSingleWithHighestPriority((t) => {
7488
7137
  if (t.isToken(10 /* Identifier */) || t.isKeyword()) {
7489
7138
  return 2;
@@ -7494,7 +7143,7 @@ var ReferencesService = class {
7494
7143
  }
7495
7144
  });
7496
7145
  if (tokenOrKeyword === void 0) {
7497
- return void 0;
7146
+ return [];
7498
7147
  }
7499
7148
  let semanticInfoOptions;
7500
7149
  if (options6.onlyNamed) {
@@ -7510,33 +7159,18 @@ var ReferencesService = class {
7510
7159
  }
7511
7160
  const semanticInfo = NodeSemanticInfoService.ofTokenOrKeyword(analyzer, tokenOrKeyword, semanticInfoOptions);
7512
7161
  if (semanticInfo === void 0) {
7513
- return void 0;
7514
- }
7515
- const definition = this.getDefinitionFromNodeSemanticInfo(semanticInfo);
7516
- if (definition !== void 0) {
7517
- const isAtNameTranslation = semanticInfo.kind === "name-translation";
7518
- return { definition, isAtNameTranslation };
7162
+ return [];
7519
7163
  }
7520
- return void 0;
7164
+ return this.getDefinitionsFromNodeSemanticInfo(semanticInfo);
7521
7165
  }
7522
- getDefinitionFromNodeSemanticInfo(info) {
7166
+ getDefinitionsFromNodeSemanticInfo(info) {
7523
7167
  switch (info.kind) {
7524
7168
  case "definition":
7525
- return new DefinitionInfo(
7526
- info.entity,
7527
- new Localization.Original(getPackageContainingEntity(info.entity).getLocale()),
7528
- 2 /* Declaration */
7529
- );
7169
+ return [new DefinitionInfo(info.entity, 2 /* Declaration */)];
7530
7170
  case "reference":
7531
7171
  return getDefinitionOfReference(info);
7532
- case "name-translation":
7533
- return new DefinitionInfo(
7534
- info.firstTarget,
7535
- new Localization.Translated(info.translation),
7536
- 0 /* Read */
7537
- );
7538
7172
  case "default-switch-match":
7539
- return void 0;
7173
+ return [];
7540
7174
  default:
7541
7175
  Debug.never(info);
7542
7176
  }
@@ -7553,63 +7187,45 @@ var ReferencesService = class {
7553
7187
  }
7554
7188
  }
7555
7189
  function getDefinitionOfReference(reference) {
7556
- const target = reference.firstBetterTargetWithFallback;
7557
- switch (target.value.kind) {
7558
- case "entity":
7559
- return new DefinitionInfo(
7560
- target.value.entity,
7561
- target.localization,
7562
- accessKindToReferenceKind(target.value.accessKind)
7563
- );
7564
- case "field":
7565
- return new DefinitionInfo(
7566
- target.value.field.getEntity(),
7567
- target.localization,
7568
- accessKindToReferenceKind(target.value.accessKind)
7569
- );
7570
- case "type-value-parameter":
7571
- return new DefinitionInfo(
7572
- target.value.parameter.getEntity(),
7573
- target.localization,
7574
- accessKindToReferenceKind(target.value.accessKind)
7575
- );
7576
- case "type-constructor":
7577
- return new DefinitionInfo(target.value.constructor_.getEntity(), target.localization, 0 /* Read */);
7578
- case "operator":
7579
- return new DefinitionInfo(target.value.operator.getEntity(), target.localization, 0 /* Read */);
7580
- case "type-dereference-operator":
7581
- return new DefinitionInfo(
7582
- target.value.operator.getEntity(),
7583
- target.localization,
7584
- accessKindToReferenceKind(target.value.accessKind)
7585
- );
7586
- case "accessed-function":
7587
- return new DefinitionInfo(target.value.func.getEntity(), target.localization, 0 /* Read */);
7588
- case "match-result-value-parameter":
7589
- return new DefinitionInfo(target.value.parameter.entity, target.localization, 0 /* Read */);
7590
- case "package":
7591
- return new DefinitionInfo(target.value.package_, target.localization, 0 /* Read */);
7592
- case "type-context": {
7593
- const entity = target.value.type.getEntity();
7594
- if (entity !== void 0) {
7595
- return new DefinitionInfo(entity, target.localization, 0 /* Read */);
7190
+ const targets = reference.betterTargets ?? reference.targets;
7191
+ return targets.map((t) => {
7192
+ switch (t.kind) {
7193
+ case "entity":
7194
+ return new DefinitionInfo(t.entity, accessKindToReferenceKind(t.accessKind));
7195
+ case "field":
7196
+ return new DefinitionInfo(t.field.getEntity(), accessKindToReferenceKind(t.accessKind));
7197
+ case "type-value-parameter":
7198
+ return new DefinitionInfo(t.parameter.getEntity(), accessKindToReferenceKind(t.accessKind));
7199
+ case "type-constructor":
7200
+ return new DefinitionInfo(t.constructor_.getEntity(), 0 /* Read */);
7201
+ case "operator":
7202
+ return new DefinitionInfo(t.operator.getEntity(), 0 /* Read */);
7203
+ case "type-dereference-operator":
7204
+ return new DefinitionInfo(t.operator.getEntity(), accessKindToReferenceKind(t.accessKind));
7205
+ case "accessed-function":
7206
+ return new DefinitionInfo(t.func.getEntity(), 0 /* Read */);
7207
+ case "match-result-value-parameter":
7208
+ return new DefinitionInfo(t.parameter.entity, 0 /* Read */);
7209
+ case "package":
7210
+ return new DefinitionInfo(t.package_, 0 /* Read */);
7211
+ case "type-context": {
7212
+ const entity = t.type.getEntity();
7213
+ if (entity !== void 0) {
7214
+ return new DefinitionInfo(entity, 0 /* Read */);
7215
+ }
7216
+ return void 0;
7596
7217
  }
7597
- return void 0;
7218
+ case "type-indexer":
7219
+ return new DefinitionInfo(t.indexer.getEntity(), accessKindToReferenceKind(t.accessKind));
7220
+ case "package-name-tree-node":
7221
+ if (t.node.package !== void 0) {
7222
+ return new DefinitionInfo(t.node.package, 0 /* Read */);
7223
+ }
7224
+ return void 0;
7225
+ default:
7226
+ Debug.never(t);
7598
7227
  }
7599
- case "type-indexer":
7600
- return new DefinitionInfo(
7601
- target.value.indexer.getEntity(),
7602
- target.localization,
7603
- accessKindToReferenceKind(target.value.accessKind)
7604
- );
7605
- case "package-name-tree-node":
7606
- if (target.value.node.package !== void 0) {
7607
- return new DefinitionInfo(target.value.node.package.value, target.localization, 0 /* Read */);
7608
- }
7609
- return void 0;
7610
- default:
7611
- Debug.never(target.value);
7612
- }
7228
+ }).filter((t) => t !== void 0);
7613
7229
  }
7614
7230
  }
7615
7231
  getReferenceRestrictions(definition, _options) {
@@ -7654,30 +7270,62 @@ var ReferencesService = class {
7654
7270
  }
7655
7271
  return result;
7656
7272
  }
7657
- ifReferenceToDefinitionThenKind(definition, potentialReferenceSemanticInfo, onlyReferencesWithSameAlias, allowAmbiguous) {
7273
+ ifReferenceToSomeOfDefinitionsThenKind(definitions, potentialReferenceSemanticInfo, allowAmbiguous, isForRename) {
7274
+ Debug.assert(definitions.length > 0);
7658
7275
  if (potentialReferenceSemanticInfo === void 0) {
7659
7276
  return void 0;
7660
7277
  }
7661
7278
  if (potentialReferenceSemanticInfo.kind === "reference" && potentialReferenceSemanticInfo.isAmbiguous && !allowAmbiguous) {
7662
7279
  return void 0;
7663
7280
  }
7664
- const potentialReferenceDefinition = this.getDefinitionFromNodeSemanticInfo(potentialReferenceSemanticInfo);
7665
- if (potentialReferenceDefinition === void 0) {
7666
- return void 0;
7667
- }
7668
- if (definition.value.kind !== potentialReferenceDefinition.value.kind) {
7281
+ const potentialReferenceDefinitions = this.getDefinitionsFromNodeSemanticInfo(potentialReferenceSemanticInfo);
7282
+ if (potentialReferenceDefinitions.length === 0) {
7669
7283
  return void 0;
7670
7284
  }
7671
- if (definition.value !== potentialReferenceDefinition.value) {
7285
+ if (definitions.length === 1 && potentialReferenceDefinitions.length === 1) {
7286
+ if (this.areEntitiesWithSameDefinition(
7287
+ definitions[0].value,
7288
+ potentialReferenceDefinitions[0].value,
7289
+ isForRename
7290
+ )) {
7291
+ return potentialReferenceDefinitions[0].referenceKind;
7292
+ } else {
7293
+ return void 0;
7294
+ }
7295
+ } else if (definitions.length > 1 && potentialReferenceDefinitions.length === 1) {
7296
+ if (definitions.some((d) => this.areEntitiesWithSameDefinition(d.value, potentialReferenceDefinitions[0].value, isForRename))) {
7297
+ return potentialReferenceDefinitions[0].referenceKind;
7298
+ } else {
7299
+ return void 0;
7300
+ }
7301
+ } else if (definitions.length === 1 && potentialReferenceDefinitions.length > 1) {
7302
+ if (potentialReferenceDefinitions.some((r) => this.areEntitiesWithSameDefinition(r.value, definitions[0].value, isForRename))) {
7303
+ return potentialReferenceDefinitions[0].referenceKind;
7304
+ } else {
7305
+ return void 0;
7306
+ }
7307
+ } else if (definitions.length > 1 && potentialReferenceDefinitions.length > 1) {
7308
+ if (definitions.length === potentialReferenceDefinitions.length && definitions.every((d) => potentialReferenceDefinitions.some((rd) => this.areEntitiesWithSameDefinition(rd.value, d.value, isForRename)))) {
7309
+ return potentialReferenceDefinitions[0].referenceKind;
7310
+ } else {
7311
+ return void 0;
7312
+ }
7313
+ } else {
7672
7314
  return void 0;
7673
7315
  }
7674
- if (!onlyReferencesWithSameAlias) {
7675
- return potentialReferenceDefinition.referenceKind;
7316
+ }
7317
+ areEntitiesWithSameDefinition(entity1, entity2, isForRename) {
7318
+ if (entity1 === entity2) {
7319
+ return true;
7676
7320
  }
7677
- if (definition.localization.equals(potentialReferenceDefinition.localization)) {
7678
- return potentialReferenceDefinition.referenceKind;
7321
+ if (isForRename) {
7322
+ const entity1Localization = entity1.getLocalization();
7323
+ const entity2Localization = entity2.getLocalization();
7324
+ if (entity1Localization.kind === "translated" && entity2Localization.kind === "translated" && entity1Localization.translation.equals(entity2Localization.translation)) {
7325
+ return true;
7326
+ }
7679
7327
  }
7680
- return void 0;
7328
+ return false;
7681
7329
  }
7682
7330
  isEntityWithRegularName(entity) {
7683
7331
  switch (entity.kind) {
@@ -7741,9 +7389,8 @@ var Reference = class {
7741
7389
  }
7742
7390
  };
7743
7391
  var DefinitionInfo = class {
7744
- constructor(value, localization, referenceKind) {
7392
+ constructor(value, referenceKind) {
7745
7393
  this.value = value;
7746
- this.localization = localization;
7747
7394
  this.referenceKind = referenceKind;
7748
7395
  }
7749
7396
  };
@@ -7975,26 +7622,14 @@ var HoverService = class {
7975
7622
  }
7976
7623
  this._displayService = new DisplayService(
7977
7624
  analyzer,
7978
- analyzer.createLocalizationContext(sourceFile),
7979
- sourceFile.package.dialect ?? 0 /* ArtelAM */
7625
+ sourceFile.package.locale,
7626
+ sourceFile.package.dialect
7980
7627
  );
7981
7628
  switch (semanticInfo.kind) {
7982
7629
  case "definition":
7983
- return this.createHoverForEntity(
7984
- semanticInfo.entity,
7985
- void 0,
7986
- void 0,
7987
- tokenOrKeyword.value.rangeWithoutTrivia
7988
- );
7630
+ return this.createHoverForEntity(semanticInfo.entity, void 0, tokenOrKeyword.value.rangeWithoutTrivia);
7989
7631
  case "reference":
7990
7632
  return this.createHoverAtReference(semanticInfo, tokenOrKeyword.value.rangeWithoutTrivia);
7991
- case "name-translation":
7992
- return this.createHoverForEntity(
7993
- semanticInfo.firstTarget,
7994
- new Localization.Translated(semanticInfo.translation),
7995
- void 0,
7996
- tokenOrKeyword.value.rangeWithoutTrivia
7997
- );
7998
7633
  case "default-switch-match":
7999
7634
  return new Hover(
8000
7635
  `*: ${this._displayService.displayType(semanticInfo.type)}`,
@@ -8004,111 +7639,87 @@ var HoverService = class {
8004
7639
  Debug.never(semanticInfo);
8005
7640
  }
8006
7641
  }
8007
- createHoverForEntity(entity, localization, narrowedType, range) {
7642
+ createHoverForEntity(entity, narrowedType, range) {
8008
7643
  if (entity.kind === 0 /* Variable */) {
8009
- localization ??= Localization.Original.ofEntity(entity);
8010
- const declaration = new VariableDeclaration_entity(
8011
- entity,
8012
- localization,
8013
- narrowedType
8014
- );
7644
+ const declaration = new VariableDeclaration_entity(entity, narrowedType);
8015
7645
  return new Hover(this._displayService.displayVariableDeclaration(declaration), range);
8016
7646
  } else {
8017
- return new Hover(this._displayService.displayEntity(entity, localization), range);
7647
+ return new Hover(this._displayService.displayEntity(entity), range);
8018
7648
  }
8019
7649
  }
8020
7650
  createHoverAtReference(reference, range) {
8021
7651
  const firstTarget = reference.firstTarget;
8022
- switch (firstTarget.value.kind) {
7652
+ switch (firstTarget.kind) {
8023
7653
  case "entity":
8024
- return this.createHoverForEntity(
8025
- firstTarget.value.entity,
8026
- firstTarget.localization,
8027
- firstTarget.value.narrowedType,
8028
- range
8029
- );
7654
+ return this.createHoverForEntity(firstTarget.entity, firstTarget.narrowedType, range);
8030
7655
  case "field": {
8031
7656
  const declaration = new VariableDeclaration_typeMember(
8032
- firstTarget.value.field,
8033
- firstTarget.localization,
8034
- firstTarget.value.narrowedType
7657
+ firstTarget.field,
7658
+ firstTarget.narrowedType
8035
7659
  );
8036
7660
  return new Hover(this._displayService.displayVariableDeclaration(declaration), range);
8037
7661
  }
8038
7662
  case "type-constructor": {
8039
- const declaration = new ConstructorDeclaration_typeMember(
8040
- firstTarget.value.constructor_,
8041
- firstTarget.localization
8042
- );
7663
+ const declaration = new ConstructorDeclaration_typeMember(firstTarget.constructor_);
8043
7664
  return new Hover(this._displayService.displayConstructorDeclaration(declaration), range);
8044
7665
  }
8045
7666
  case "operator": {
8046
- const operator = new OperatorDeclaration_typeMember(
8047
- firstTarget.value.operator,
8048
- firstTarget.localization
8049
- );
7667
+ const operator = new OperatorDeclaration_typeMember(firstTarget.operator);
8050
7668
  return new Hover(this._displayService.displayOperatorDeclaration(operator), range);
8051
7669
  }
8052
7670
  case "type-dereference-operator": {
8053
- const operator = new DereferenceOperatorDeclaration_typeMember(firstTarget.value.operator);
7671
+ const operator = new DereferenceOperatorDeclaration_typeMember(firstTarget.operator);
8054
7672
  return new Hover(this._displayService.displayDereferenceOperatorDeclaration(operator), range);
8055
7673
  }
8056
7674
  case "accessed-function":
8057
- return this.createHoverAtAccessedFunction(firstTarget.value.func, firstTarget.localization, range);
7675
+ return this.createHoverAtAccessedFunction(firstTarget.func, range);
8058
7676
  case "match-result-value-parameter": {
8059
7677
  const declaration = new ValueParameterDeclaration_matchResultValueParameter(
8060
- firstTarget.value.parameter,
8061
- firstTarget.localization
7678
+ firstTarget.parameter
8062
7679
  );
8063
7680
  return new Hover(this._displayService.displayValueParameterDeclaration(declaration), range);
8064
7681
  }
8065
7682
  case "type-value-parameter": {
8066
- const declaration = new ValueParameterDeclaration_typeMember(
8067
- firstTarget.value.parameter,
8068
- firstTarget.localization
8069
- );
7683
+ const declaration = new ValueParameterDeclaration_typeMember(firstTarget.parameter);
8070
7684
  return new Hover(this._displayService.displayValueParameterDeclaration(declaration), range);
8071
7685
  }
8072
7686
  case "package":
8073
- return new Hover(this._displayService.displayPackage(firstTarget.value.package_), range);
7687
+ return new Hover(this._displayService.displayPackage(firstTarget.package_), range);
8074
7688
  case "package-name-tree-node":
8075
- return new Hover(this._displayService.displayPackageNameTreeNode(firstTarget.value.node), range);
7689
+ return new Hover(this._displayService.displayPackageNameTreeNode(firstTarget.node), range);
8076
7690
  case "type-context": {
8077
- if (firstTarget.value.typeContextKind === "object") {
7691
+ if (firstTarget.typeContextKind === "object") {
8078
7692
  const keywordText = this._displayService.displayKeyword(4 /* Object */);
8079
- const typeText = this._displayService.displayType(firstTarget.value.type);
7693
+ const typeText = this._displayService.displayType(firstTarget.type);
8080
7694
  return new Hover(`${keywordText}: ${typeText}`, range);
8081
- } else if (firstTarget.value.typeContextKind === "base") {
7695
+ } else if (firstTarget.typeContextKind === "base") {
8082
7696
  const keywordText = this._displayService.displayKeyword(56 /* Base */);
8083
- const typeText = this._displayService.displayType(firstTarget.value.type);
7697
+ const typeText = this._displayService.displayType(firstTarget.type);
8084
7698
  return new Hover(`${keywordText}: ${typeText}`, range);
8085
7699
  } else {
8086
- Debug.never(firstTarget.value.typeContextKind);
7700
+ Debug.never(firstTarget.typeContextKind);
8087
7701
  }
8088
7702
  }
8089
7703
  case "type-indexer": {
8090
- const declaration = new IndexerDeclaration_typeMember(
8091
- firstTarget.value.indexer,
8092
- firstTarget.localization
8093
- );
7704
+ const declaration = new IndexerDeclaration_typeMember(firstTarget.indexer);
8094
7705
  return new Hover(this._displayService.displayIndexerDeclaration(declaration), range);
8095
7706
  }
8096
7707
  default:
8097
- Debug.never(firstTarget.value);
7708
+ Debug.never(firstTarget);
8098
7709
  }
8099
7710
  }
8100
- createHoverAtAccessedFunction(func, localization, range) {
7711
+ createHoverAtAccessedFunction(func, range) {
8101
7712
  switch (func.kind) {
8102
7713
  case "entity": {
8103
- const declaration = new FunctionDeclaration_entity(func.value, localization);
7714
+ const declaration = new FunctionDeclaration_entity(func.value);
8104
7715
  return new Hover(this._displayService.displayFunctionDeclaration(declaration), range);
8105
7716
  }
8106
7717
  case "type-member": {
8107
- const declaration = new FunctionDeclaration_typeMember(func.value, localization);
7718
+ const declaration = new FunctionDeclaration_typeMember(func.value);
8108
7719
  return new Hover(this._displayService.displayFunctionDeclaration(declaration), range);
8109
7720
  }
8110
7721
  case "substituted-function": {
8111
- const declaration = new FunctionDeclaration_substitutedFunction(func.value, localization);
7722
+ const declaration = new FunctionDeclaration_substitutedFunction(func.value);
8112
7723
  return new Hover(this._displayService.displayFunctionDeclaration(declaration), range);
8113
7724
  }
8114
7725
  default:
@@ -8476,7 +8087,8 @@ var RenameService = class {
8476
8087
  const options6 = {
8477
8088
  onlyWithSameAlias: true,
8478
8089
  onlyNamed: true,
8479
- allowAmbiguous: false
8090
+ allowAmbiguous: false,
8091
+ isForRename: true
8480
8092
  };
8481
8093
  const sourceFiles = Query.from(analyzer.compilation.enumerateSourceFiles()).filter((f) => f.uri.scheme !== InMemoryPackageScheme);
8482
8094
  const references = yield this._referencesService.getReferencesInFiles(
@@ -8511,24 +8123,24 @@ var RenameService = class {
8511
8123
  }
8512
8124
  const target = semanticInfo.firstBetterTargetWithFallback;
8513
8125
  let canBeRenamed;
8514
- switch (target.value.kind) {
8126
+ switch (target.kind) {
8515
8127
  case "entity":
8516
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.entity);
8128
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.entity);
8517
8129
  break;
8518
8130
  case "field":
8519
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.field.getEntity());
8131
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.field.getEntity());
8520
8132
  break;
8521
8133
  case "type-value-parameter":
8522
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.parameter.getEntity());
8134
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.parameter.getEntity());
8523
8135
  break;
8524
8136
  case "accessed-function":
8525
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.func.getEntity());
8137
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.func.getEntity());
8526
8138
  break;
8527
8139
  case "match-result-value-parameter":
8528
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.parameter.entity);
8140
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.parameter.entity);
8529
8141
  break;
8530
8142
  case "operator":
8531
- canBeRenamed = this.entityCanBeRenamed(analyzer, target.value.operator.getEntity());
8143
+ canBeRenamed = this.entityCanBeRenamed(analyzer, target.operator.getEntity());
8532
8144
  break;
8533
8145
  case "type-constructor":
8534
8146
  case "type-dereference-operator":
@@ -8539,7 +8151,7 @@ var RenameService = class {
8539
8151
  canBeRenamed = false;
8540
8152
  break;
8541
8153
  default:
8542
- Debug.never(target.value);
8154
+ Debug.never(target);
8543
8155
  }
8544
8156
  if (!canBeRenamed) {
8545
8157
  return void 0;
@@ -8663,7 +8275,7 @@ var SemanticTokensService = class {
8663
8275
  if (node.kind === 86 /* IdentifierExpression */) {
8664
8276
  const meaning = analyzer.resolveIdentifierExpression(node).meaning;
8665
8277
  if (meaning.kind === "variable-access") {
8666
- const variable = meaning.variable.value.getEntity();
8278
+ const variable = meaning.variable.getEntity();
8667
8279
  if (variable.subkind === "field" && variable.isVariant()) {
8668
8280
  result.push(
8669
8281
  new SemanticToken(
@@ -8703,7 +8315,7 @@ var SemanticTokensService = class {
8703
8315
  result.push(
8704
8316
  new SemanticToken(
8705
8317
  node.rangeWithoutTrivia,
8706
- this.getSemanticTokenKindForFunctionEntity(func.value.getEntity()),
8318
+ this.getSemanticTokenKindForFunctionEntity(func.getEntity()),
8707
8319
  new SemanticTokenModifiers().setCapitalized(this.isCapitalizedName(func.value.getName()))
8708
8320
  )
8709
8321
  );
@@ -8719,7 +8331,7 @@ var SemanticTokensService = class {
8719
8331
  if (node.kind === 76 /* MemberAccessExpression */) {
8720
8332
  const meaning = analyzer.resolveMemberAccessExpression(node).meaning;
8721
8333
  if (meaning.kind === "static-field-access") {
8722
- const entity = meaning.field.value.getEntity();
8334
+ const entity = meaning.field.getEntity();
8723
8335
  if (entity.subkind === "field" && entity.isVariant()) {
8724
8336
  result.push(
8725
8337
  new SemanticToken(
@@ -8733,13 +8345,13 @@ var SemanticTokensService = class {
8733
8345
  let suitableFunctions;
8734
8346
  switch (meaning.kind) {
8735
8347
  case "package-function-access":
8736
- suitableFunctions = meaning.suitableFunctions.map((m) => m.value);
8348
+ suitableFunctions = meaning.suitableFunctions;
8737
8349
  break;
8738
8350
  case "static-method-access":
8739
- suitableFunctions = meaning.suitableFunctions.map((m) => m.value);
8351
+ suitableFunctions = meaning.suitableFunctions;
8740
8352
  break;
8741
8353
  case "instance-method-access":
8742
- suitableFunctions = meaning.suitableFunctions.map((m) => m.value);
8354
+ suitableFunctions = meaning.suitableFunctions;
8743
8355
  break;
8744
8356
  }
8745
8357
  if (suitableFunctions !== void 0 && suitableFunctions.length > 0) {
@@ -8822,11 +8434,7 @@ var SemanticTokensService = class {
8822
8434
  if (typeof name === "string") {
8823
8435
  firstChar = name.charAt(0);
8824
8436
  } else {
8825
- let firstCharIndex = 0;
8826
- while (name.unescapedOriginal.charAt(firstCharIndex) === "~") {
8827
- firstCharIndex++;
8828
- }
8829
- firstChar = name.unescapedOriginal.charAt(firstCharIndex);
8437
+ firstChar = name.unescapedOriginal.charAt(0);
8830
8438
  }
8831
8439
  return firstChar.toLowerCase() !== firstChar;
8832
8440
  }
@@ -8912,15 +8520,11 @@ var TypeParameterSignatureHelpProvider = class {
8912
8520
  this._offset = offset;
8913
8521
  }
8914
8522
  get signatureContext() {
8915
- return this._signatureContext.getOrInsertWith(
8916
- () => new SignatureContext(
8917
- new DisplayService(
8918
- this._analyzer,
8919
- this._analyzer.createLocalizationContext(this._sourceFile),
8920
- this._sourceFile.package.dialect ?? 0 /* ArtelAM */
8921
- )
8922
- )
8923
- );
8523
+ return this._signatureContext.getOrInsertWith(() => new SignatureContext(new DisplayService(
8524
+ this._analyzer,
8525
+ this._sourceFile.package.locale,
8526
+ this._sourceFile.package.dialect
8527
+ )));
8924
8528
  }
8925
8529
  provideSignatureHelp() {
8926
8530
  let result = void 0;
@@ -9006,7 +8610,7 @@ var TypeParameterSignatureHelpProvider = class {
9006
8610
  if (resolutionResult.resolvedQualifiers.length > 0) {
9007
8611
  const lastQualifier = resolutionResult.resolvedQualifiers[resolutionResult.resolvedQualifiers.length - 1];
9008
8612
  if (lastQualifier.kind === "type") {
9009
- return Query.from(lastQualifier.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t.value)).toArray();
8613
+ return Query.from(lastQualifier.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t)).toArray();
9010
8614
  }
9011
8615
  }
9012
8616
  return void 0;
@@ -9016,12 +8620,12 @@ var TypeParameterSignatureHelpProvider = class {
9016
8620
  if (resolutionResult.resolvedQualifiers.length > 0) {
9017
8621
  const lastQualifier = resolutionResult.resolvedQualifiers[resolutionResult.resolvedQualifiers.length - 1];
9018
8622
  if (lastQualifier.kind === "type") {
9019
- return Query.from(lastQualifier.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t.value)).toArray();
8623
+ return Query.from(lastQualifier.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t)).toArray();
9020
8624
  } else if (lastQualifier.kind === "function") {
9021
8625
  if (resolutionResult.meaning.kind === "tag-function") {
9022
8626
  return Query.from(resolutionResult.meaning.candidates).mapAndFilter((d) => {
9023
- if (d.value.kind === "substituted-function") {
9024
- return this.getSignatureForSubstitutedFunction(d.value.value, d.localization);
8627
+ if (d.kind === "substituted-function") {
8628
+ return this.getSignatureForSubstitutedFunction(d.value);
9025
8629
  }
9026
8630
  return void 0;
9027
8631
  }).toArray();
@@ -9038,14 +8642,14 @@ var TypeParameterSignatureHelpProvider = class {
9038
8642
  const meaning = this._analyzer.resolveIdentifierExpression(expression).meaning;
9039
8643
  if (meaning.kind === "function-access") {
9040
8644
  return Query.from(meaning.candidates).mapAndFilter((o) => {
9041
- if (o.value.kind === "substituted-function") {
9042
- return this.getSignatureForSubstitutedFunction(o.value.value, o.localization);
8645
+ if (o.kind === "substituted-function") {
8646
+ return this.getSignatureForSubstitutedFunction(o.value);
9043
8647
  }
9044
8648
  return void 0;
9045
8649
  }).toArray();
9046
8650
  }
9047
8651
  if (meaning.kind === "type-access") {
9048
- return Query.from(meaning.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t.value)).toArray();
8652
+ return Query.from(meaning.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t)).toArray();
9049
8653
  }
9050
8654
  return void 0;
9051
8655
  }
@@ -9061,30 +8665,30 @@ var TypeParameterSignatureHelpProvider = class {
9061
8665
  }
9062
8666
  if (accessedFunctions !== void 0) {
9063
8667
  return Query.from(accessedFunctions).mapAndFilter((o) => {
9064
- if (o.value.kind === "substituted-function") {
9065
- return this.getSignatureForSubstitutedFunction(o.value.value, o.localization);
8668
+ if (o.kind === "substituted-function") {
8669
+ return this.getSignatureForSubstitutedFunction(o.value);
9066
8670
  }
9067
8671
  return void 0;
9068
8672
  }).toArray();
9069
8673
  }
9070
8674
  if (meaning.kind === "package-type-access") {
9071
- return Query.from(meaning.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t.value)).toArray();
8675
+ return Query.from(meaning.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t)).toArray();
9072
8676
  }
9073
8677
  return void 0;
9074
8678
  }
9075
8679
  return void 0;
9076
8680
  }
9077
- getSignatureForSubstitutedFunction(func, localization) {
8681
+ getSignatureForSubstitutedFunction(func) {
9078
8682
  let result = void 0;
9079
8683
  switch (func.kind) {
9080
8684
  case "entity":
9081
8685
  if (func.entity.getTypeParametersArity() > 0) {
9082
- result = new FunctionEntitySignature(this.signatureContext, func.entity, localization);
8686
+ result = new FunctionEntitySignature(this.signatureContext, func.entity);
9083
8687
  }
9084
8688
  break;
9085
8689
  case "type-member":
9086
8690
  if (func.method.getTypeParametersArity() > 0) {
9087
- result = new MethodSignature(this.signatureContext, func.method, localization);
8691
+ result = new MethodSignature(this.signatureContext, func.method);
9088
8692
  }
9089
8693
  break;
9090
8694
  default:
@@ -9131,33 +8735,31 @@ var NodeWithTypeArgumentsInfo = class {
9131
8735
  }
9132
8736
  };
9133
8737
  var FunctionEntitySignature = class {
9134
- constructor(ctx, func, localization) {
8738
+ constructor(ctx, func) {
9135
8739
  this.ctx = ctx;
9136
8740
  this.func = func;
9137
- this.localization = localization;
9138
8741
  this.kind = "function-entity";
9139
8742
  }
9140
8743
  getArity() {
9141
8744
  return this.func.getTypeParametersArity();
9142
8745
  }
9143
8746
  getDisplayParts() {
9144
- const func = new FunctionDeclaration_entity(this.func, this.localization);
8747
+ const func = new FunctionDeclaration_entity(this.func);
9145
8748
  const displayParts = this.ctx.displayService.getFunctionDeclarationDisplayParts(func);
9146
8749
  return this.ctx.convertFunctionDisplayParts(displayParts);
9147
8750
  }
9148
8751
  };
9149
8752
  var MethodSignature = class {
9150
- constructor(ctx, method, localization) {
8753
+ constructor(ctx, method) {
9151
8754
  this.ctx = ctx;
9152
8755
  this.method = method;
9153
- this.localization = localization;
9154
8756
  this.kind = "method";
9155
8757
  }
9156
8758
  getArity() {
9157
8759
  return this.method.getTypeParametersArity();
9158
8760
  }
9159
8761
  getDisplayParts() {
9160
- const func = new FunctionDeclaration_typeMember(this.method, this.localization);
8762
+ const func = new FunctionDeclaration_typeMember(this.method);
9161
8763
  const displayParts = this.ctx.displayService.getFunctionDeclarationDisplayParts(func);
9162
8764
  return this.ctx.convertFunctionDisplayParts(displayParts);
9163
8765
  }
@@ -9245,15 +8847,11 @@ var ValueParametersSignatureHelpProvider = class {
9245
8847
  this._offset = offset;
9246
8848
  }
9247
8849
  get signatureContext() {
9248
- return this._signatureContext.getOrInsertWith(
9249
- () => new SignatureContext2(
9250
- new DisplayService(
9251
- this._analyzer,
9252
- this._analyzer.createLocalizationContext(this._sourceFile),
9253
- this._sourceFile.package.dialect ?? 0 /* ArtelAM */
9254
- )
9255
- )
9256
- );
8850
+ return this._signatureContext.getOrInsertWith(() => new SignatureContext2(new DisplayService(
8851
+ this._analyzer,
8852
+ this._sourceFile.package.locale,
8853
+ this._sourceFile.package.dialect
8854
+ )));
9257
8855
  }
9258
8856
  provideSignatureHelp() {
9259
8857
  let result = void 0;
@@ -9355,10 +8953,7 @@ var ValueParametersSignatureHelpProvider = class {
9355
8953
  getSignatureDisplayParts(signature) {
9356
8954
  switch (signature.kind) {
9357
8955
  case "accessed-function": {
9358
- const func = new FunctionDeclaration_accessedFunction(
9359
- signature.func.value,
9360
- signature.func.localization
9361
- );
8956
+ const func = new FunctionDeclaration_accessedFunction(signature.func);
9362
8957
  const displayParts = this.signatureContext.displayService.getFunctionDeclarationDisplayParts(func);
9363
8958
  return this.signatureContext.convertFunctionDisplayParts(displayParts);
9364
8959
  }
@@ -9367,18 +8962,12 @@ var ValueParametersSignatureHelpProvider = class {
9367
8962
  return this.signatureContext.convertFunctionTypeBodyDisplayParts(displayParts);
9368
8963
  }
9369
8964
  case "constructor": {
9370
- const constructor = new ConstructorDeclaration_typeMember(
9371
- signature.constructor_.value,
9372
- signature.constructor_.localization
9373
- );
8965
+ const constructor = new ConstructorDeclaration_typeMember(signature.constructor_);
9374
8966
  const displayParts = this.signatureContext.displayService.getConstructorDeclarationDisplayParts(constructor);
9375
8967
  return this.signatureContext.convertConstructorDisplayParts(displayParts);
9376
8968
  }
9377
8969
  case "indexer": {
9378
- const indexer = new IndexerDeclaration_typeMember(
9379
- signature.indexer.value,
9380
- signature.indexer.localization
9381
- );
8970
+ const indexer = new IndexerDeclaration_typeMember(signature.indexer);
9382
8971
  const displayParts = this.signatureContext.displayService.getIndexerDeclarationDisplayParts(indexer);
9383
8972
  return this.signatureContext.convertIndexerDisplayParts(displayParts);
9384
8973
  }
@@ -9452,7 +9041,7 @@ var SignatureInfo = class {
9452
9041
  };
9453
9042
 
9454
9043
  // source/services/source-generation/SourceGenerationService.ts
9455
- import { runAtomically as runAtomically2, TriggeringMap as TriggeringMap6, TriggeringObject as TriggeringObject7, reaction as reaction6, Transaction as Transaction4 } from "reactronic";
9044
+ import { reaction as reaction6, runAtomically as runAtomically2, Transaction as Transaction4, TriggeringMap as TriggeringMap6, TriggeringObject as TriggeringObject7 } from "reactronic";
9456
9045
 
9457
9046
  // source/services/workspace/ClientTrackedSourceFiles.ts
9458
9047
  import { TriggeringMap, TriggeringObject, trigger, ReactiveSystem, atomic } from "reactronic";
@@ -11822,10 +11411,9 @@ var Workspace = _Workspace;
11822
11411
 
11823
11412
  // source/services/source-generation/EntityToSyntax.ts
11824
11413
  var EntityToSyntax = class {
11825
- constructor(analyzer, entity, localizationContext) {
11414
+ constructor(analyzer, entity) {
11826
11415
  this._analyzer = analyzer;
11827
11416
  this._entity = entity;
11828
- this._localizationContext = localizationContext;
11829
11417
  }
11830
11418
  convert() {
11831
11419
  return this.convertPackage(this._entity);
@@ -12181,7 +11769,10 @@ var EntityToSyntax = class {
12181
11769
  const name = this.getEntityName(entity);
12182
11770
  let constraint;
12183
11771
  const entityConstraint = entity.getConstraint().declared;
12184
- if (entityConstraint !== void 0 && !entityConstraint.equals(this._analyzer.getDefaultTypeParameterConstraint())) {
11772
+ if (entityConstraint !== void 0 && !entityConstraint.equals(this._analyzer.getDefaultTypeParameterConstraint(
11773
+ /* При сравнении типов язык не имеет значения. */
11774
+ DefaultLocale
11775
+ ))) {
12185
11776
  constraint = this.convertType(entityConstraint);
12186
11777
  }
12187
11778
  let defaultType;
@@ -12228,7 +11819,7 @@ var EntityToSyntax = class {
12228
11819
  return [];
12229
11820
  }
12230
11821
  getEntityName(entity) {
12231
- return this._localizationContext?.getEntityName(entity).value.unescapedOriginal ?? entity.getName().unescapedOriginal;
11822
+ return entity.getName().unescapedOriginal;
12232
11823
  }
12233
11824
  convertType(type) {
12234
11825
  switch (type.kind) {
@@ -12292,7 +11883,7 @@ var EntityToSyntax = class {
12292
11883
  }
12293
11884
  convertUnionType(type) {
12294
11885
  if (type.originalTypes.length === 2) {
12295
- const noneTypeIndex = type.originalTypes.findIndex((t) => t.equals(this._analyzer.standardTypes.none));
11886
+ const noneTypeIndex = type.originalTypes.findIndex((t) => t.equals(this._analyzer.originalStandardTypes.none));
12296
11887
  if (noneTypeIndex >= 0) {
12297
11888
  const nonNoneType = noneTypeIndex === 0 ? type.originalTypes[1] : type.originalTypes[0];
12298
11889
  const result = SyntaxFactory.nullableTypeSpecifier(this.convertType(nonNoneType));
@@ -12307,7 +11898,7 @@ var EntityToSyntax = class {
12307
11898
  return SyntaxFactory.intersectionTypeSpecifier(constituentTypes);
12308
11899
  }
12309
11900
  convertUnresolvedType(_type) {
12310
- return SyntaxFactory.namedTypeSpecifier("~\u041E\u0431\u044A\u0435\u043A\u0442");
11901
+ return SyntaxFactory.namedTypeSpecifier("\u041E\u0431\u044A\u0435\u043A\u0442");
12311
11902
  }
12312
11903
  createNamedTypeSpecifier(name, substitutions) {
12313
11904
  const typeArguments = Query.from(substitutions.getTypes()).map((t) => this.convertType(t)).toArray();
@@ -12327,18 +11918,13 @@ var SourceGenerationService = class extends TriggeringObject7 {
12327
11918
  get compilationControllers() {
12328
11919
  return Array.from(this._generatedPackageStates.values()).map((s) => s.compilationController);
12329
11920
  }
12330
- getDefinitionInGeneratedCode(analyzer, entity, localizationContext, cancellationToken) {
11921
+ getDefinitionInGeneratedCode(analyzer, entity, cancellationToken) {
12331
11922
  return __async(this, null, function* () {
12332
11923
  if (!this.entityDefinitionRequiresSourceGeneration(entity)) {
12333
11924
  return void 0;
12334
11925
  }
12335
11926
  const containingPackage = getPackageContainingEntity(entity);
12336
- const generatedPackageState = yield this.getOrGeneratePackageSource(
12337
- analyzer,
12338
- containingPackage,
12339
- localizationContext,
12340
- cancellationToken
12341
- );
11927
+ const generatedPackageState = yield this.getOrGeneratePackageSource(analyzer, containingPackage, cancellationToken);
12342
11928
  if (generatedPackageState === void 0) {
12343
11929
  return void 0;
12344
11930
  }
@@ -12357,7 +11943,7 @@ var SourceGenerationService = class extends TriggeringObject7 {
12357
11943
  compilationState.analyzer.compilation.mainPackage
12358
11944
  );
12359
11945
  let result;
12360
- const sourceEntity = new EntityFinder(entity, generatedPackageEntity, localizationContext).find();
11946
+ const sourceEntity = new EntityFinder(entity, generatedPackageEntity).find();
12361
11947
  if (sourceEntity !== void 0) {
12362
11948
  result = getEntitySourceLocations(compilationState.analyzer, sourceEntity);
12363
11949
  }
@@ -12401,23 +11987,22 @@ var SourceGenerationService = class extends TriggeringObject7 {
12401
11987
  }
12402
11988
  }
12403
11989
  }
12404
- getOrGeneratePackageSource(analyzer, packageEntity, localizationContext, cancellationToken) {
11990
+ getOrGeneratePackageSource(analyzer, packageEntity, cancellationToken) {
12405
11991
  return __async(this, null, function* () {
12406
- const packageLocale = localizationContext?.getTranslationLocale(packageEntity) ?? packageEntity.getLocale();
11992
+ const packageLocale = packageEntity.getLocale();
12407
11993
  const key = `${packageEntity.getName().toString()}-${localeToString(packageLocale)}`;
12408
11994
  let result = this._generatedPackageStates.get(key);
12409
11995
  if (result === void 0) {
12410
- const node = new EntityToSyntax(analyzer, packageEntity, localizationContext).convert();
11996
+ const node = new EntityToSyntax(analyzer, packageEntity).convert();
12411
11997
  const code = new SyntaxToCode(node, { keywordsLocale: packageLocale }).convert();
12412
11998
  const generatedPackageUri = new Uri(GeneratedSourceFileScheme, "", [key]);
12413
11999
  const generatedFileUri = generatedPackageUri.append(`${packageEntity.getName().toString()}.art`);
12414
12000
  const fileSystemTree = runAtomically2(() => new FileSystemTree());
12415
12001
  const packageDirectory = fileSystemTree.addDirectory(generatedPackageUri);
12416
12002
  fileSystemTree.addFile(generatedFileUri, code);
12417
- const systemPackageLocale = localizationContext?.getTranslationLocale(analyzer.systemPackage) ?? analyzer.systemPackage.getLocale();
12418
12003
  const packageConfiguration = this.createGeneratedPackageConfiguration(
12419
12004
  packageEntity,
12420
- systemPackageLocale,
12005
+ packageLocale,
12421
12006
  DefaultDialect
12422
12007
  );
12423
12008
  const standardPackageContents = yield this._standardPackageContentsProviders(cancellationToken);
@@ -12547,10 +12132,9 @@ var GeneratedPackageState = class {
12547
12132
  }
12548
12133
  };
12549
12134
  var EntityFinder = class {
12550
- constructor(_entity, _packageEntity, _localizationContext) {
12135
+ constructor(_entity, _packageEntity) {
12551
12136
  this._entity = _entity;
12552
12137
  this._packageEntity = _packageEntity;
12553
- this._localizationContext = _localizationContext;
12554
12138
  }
12555
12139
  find() {
12556
12140
  return this.findEntity(this._entity);
@@ -12608,7 +12192,7 @@ var EntityFinder = class {
12608
12192
  }
12609
12193
  } else if (entity.subkind === "parameter") {
12610
12194
  const container = entity.getContainer();
12611
- if (container.kind === "entity" && container.entity.kind !== 4 /* Setter */) {
12195
+ if (container.kind === "entity") {
12612
12196
  const index = container.entity.getValueParameters().indexOf(entity);
12613
12197
  const containingEntity = this.findEntity(container.entity);
12614
12198
  if (containingEntity !== void 0 && index >= 0) {
@@ -12826,7 +12410,7 @@ var EntityFinder = class {
12826
12410
  return -1;
12827
12411
  }
12828
12412
  getEntityName(entity) {
12829
- return this._localizationContext?.getEntityName(entity).value ?? entity.getName();
12413
+ return entity.getName();
12830
12414
  }
12831
12415
  };
12832
12416
  var DataForFindingOverloadedMember = class {