@artel/artc 0.6.25274 → 0.6.25276
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/Cli.js +3 -3
- package/build/api/Api.js +22 -26
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +282 -143
- package/build/{chunk-6JA436J2.js → chunk-LX6LUKPR.js} +22342 -22105
- package/build/{chunk-GDE2NNW7.js → chunk-MT6TPXET.js} +1 -1
- package/build/{chunk-DXF6BY5D.js → chunk-OS2SFHBZ.js} +2 -2
- package/build/types/analysis/AnalyzedTextTranslationPackage.d.ts +1 -2
- package/build/types/analysis/AnalyzedTranslationPackage.d.ts +49 -125
- package/build/types/analysis/Analyzer.d.ts +9 -2
- package/build/types/analysis/DiagnosticCollector.d.ts +0 -8
- package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +3 -1
- package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +1 -2
- package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +5 -1
- package/build/types/common/Name.d.ts +3 -1
- package/build/types/common/Query.d.ts +3 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +184 -173
- package/build/types/emitter/Emitter.d.ts +0 -1
- package/build/types/emitter/EmitterContext.d.ts +1 -0
- package/build/types/emitter/Entities.d.ts +3 -1
- package/build/types/emitter/IrFactory.d.ts +1 -1
- package/build/types/entities/Entity.d.ts +16 -9
- package/build/types/entities/EntityLocalizationContext.d.ts +11 -10
- package/build/types/entities/PackageMembers.d.ts +2 -1
- package/build/types/entities/index.d.ts +4 -0
- package/build/types/entities/interfaces/AliasTypeEntity.d.ts +1 -0
- package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +1 -0
- package/build/types/entities/interfaces/PackageEntity.d.ts +4 -2
- package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +1 -0
- package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +1 -0
- package/build/types/entities/interfaces/VariantTypeEntity.d.ts +1 -0
- package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +9 -6
- package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +21 -9
- package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +4 -4
- package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +4 -4
- package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +10 -8
- package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +11 -11
- package/build/types/entities/translated/TranslatedGetterEntity.d.ts +5 -5
- package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +5 -3
- package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +5 -3
- package/build/types/entities/translated/TranslatedPackageEntity.d.ts +4 -3
- package/build/types/entities/translated/TranslatedSetterEntity.d.ts +5 -5
- package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +9 -8
- package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +4 -5
- package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +6 -5
- package/build/types/entities/translated/TranslatedVariableEntity.d.ts +10 -11
- package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +11 -11
- package/build/types/project/SourcePackage.d.ts +6 -3
- package/build/types/project/configuration/types/PackageConfigurationEn.d.ts +2 -1
- package/build/types/project/configuration/types/PackageConfigurationRu.d.ts +2 -1
- package/build/types/services/NodeSemanticInfo.d.ts +6 -0
- package/build/types/tree/Nodes.d.ts +3 -3
- package/build/types/ts-interop/Entities.d.ts +1 -2
- package/build/types/ts-interop/TsInteropContext.d.ts +1 -2
- package/build/types/ts-interop/TsPackageContents.d.ts +1 -2
- package/build/types/ts-interop/TsPackageMembersCreator.d.ts +1 -2
- package/package.json +1 -1
package/build/api/ApiServices.js
CHANGED
|
@@ -2,6 +2,7 @@ import {
|
|
|
2
2
|
AccessedFunction_entity,
|
|
3
3
|
AccessedFunction_typeMember,
|
|
4
4
|
AliasTypeDeclarationBody,
|
|
5
|
+
AnalyzedTranslationPackage,
|
|
5
6
|
Analyzer,
|
|
6
7
|
AnonymousFunctionTypeDeclaration,
|
|
7
8
|
AnonymousStructuredTypeDeclaration,
|
|
@@ -165,9 +166,13 @@ import {
|
|
|
165
166
|
getOrCreateKeywordDictionary,
|
|
166
167
|
getParentSkippingParenthesizedExpressions,
|
|
167
168
|
isComputedVariableEntity,
|
|
169
|
+
isEntityWithParameters,
|
|
170
|
+
isEntityWithTypeParameters,
|
|
168
171
|
isIdentifier,
|
|
169
172
|
isNarrowableReferenceExpression,
|
|
170
173
|
isNonEmptyArray,
|
|
174
|
+
isPackageMemberEntity,
|
|
175
|
+
isPackageTypeEntity,
|
|
171
176
|
isSourceOrConfigurationFileName,
|
|
172
177
|
isTypeEntity,
|
|
173
178
|
isTypeEntityWithMembers,
|
|
@@ -182,7 +187,7 @@ import {
|
|
|
182
187
|
unwrapParenthesizedExpressions,
|
|
183
188
|
visitChildren,
|
|
184
189
|
yieldExecution
|
|
185
|
-
} from "../chunk-
|
|
190
|
+
} from "../chunk-LX6LUKPR.js";
|
|
186
191
|
|
|
187
192
|
// source/services/CustomCommand.ts
|
|
188
193
|
import * as ls from "vscode-languageserver";
|
|
@@ -1092,10 +1097,9 @@ var SyntaxFactory = class {
|
|
|
1092
1097
|
}
|
|
1093
1098
|
static createTokenSeparatedElements(elements, tokenKind) {
|
|
1094
1099
|
const result = new Array();
|
|
1095
|
-
let token;
|
|
1096
1100
|
for (let i = 0; i < elements.length; i++) {
|
|
1097
1101
|
if (i > 0) {
|
|
1098
|
-
token
|
|
1102
|
+
const token = this.token(tokenKind);
|
|
1099
1103
|
result.push(token);
|
|
1100
1104
|
}
|
|
1101
1105
|
result.push(elements[i]);
|
|
@@ -1885,9 +1889,9 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
|
1885
1889
|
this.writeTranslationParameterClause(node.translatedParameterClause);
|
|
1886
1890
|
}
|
|
1887
1891
|
writeTranslationTypeParameterClause(node) {
|
|
1888
|
-
if (node.
|
|
1892
|
+
if (node.typeParameterList.elements.length > 0) {
|
|
1889
1893
|
this.writeToken(node.lessThanToken);
|
|
1890
|
-
this.writeCommaSeparatedList(node.
|
|
1894
|
+
this.writeCommaSeparatedList(node.typeParameterList.elements, (p) => this.writeToken(p));
|
|
1891
1895
|
this.writeToken(node.greaterThanToken);
|
|
1892
1896
|
}
|
|
1893
1897
|
}
|
|
@@ -2430,7 +2434,7 @@ var TranslationsGenerationService = class {
|
|
|
2430
2434
|
sourceFile.package.locale,
|
|
2431
2435
|
sourceFile.package.dialect
|
|
2432
2436
|
);
|
|
2433
|
-
return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind === 139 /* TypeTranslationDeclaration */).mapAndFilter((t) => translationPackage.
|
|
2437
|
+
return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind === 139 /* TypeTranslationDeclaration */).mapAndFilter((t) => translationPackage.getPackageMemberTranslationTargets(t)?.values).flatMap((t) => t).any((t) => isPackageTypeEntity(t) && generator.collectNotTranslatedTypeMembers(t).length > 0);
|
|
2434
2438
|
}
|
|
2435
2439
|
};
|
|
2436
2440
|
var TranslationsGenerator = class _TranslationsGenerator {
|
|
@@ -2500,10 +2504,11 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2500
2504
|
return result.length > 0 ? result : void 0;
|
|
2501
2505
|
}
|
|
2502
2506
|
generateMissingTypeMemberTranslations(typeTranslation) {
|
|
2503
|
-
const
|
|
2504
|
-
if (
|
|
2507
|
+
const translationTargets = this.translationPackage.getPackageMemberTranslationTargets(typeTranslation)?.values;
|
|
2508
|
+
if (translationTargets === void 0 || translationTargets.length !== 1 || !isPackageTypeEntity(translationTargets[0])) {
|
|
2505
2509
|
return void 0;
|
|
2506
2510
|
}
|
|
2511
|
+
const entity = translationTargets[0];
|
|
2507
2512
|
const memberEntities = this.collectNotTranslatedTypeMembers(entity);
|
|
2508
2513
|
if (memberEntities.length === 0) {
|
|
2509
2514
|
return void 0;
|
|
@@ -2542,37 +2547,8 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2542
2547
|
return [new SourceFileEdit(this.sourceFile, editRange, editText)];
|
|
2543
2548
|
}
|
|
2544
2549
|
collectNotTranslatedTypeMembers(entity) {
|
|
2545
|
-
const
|
|
2546
|
-
|
|
2547
|
-
const members = translatedTypeEntity.getMembers();
|
|
2548
|
-
for (const member of members.getNamedMembers()) {
|
|
2549
|
-
if (member.isHidden() !== void 0) {
|
|
2550
|
-
continue;
|
|
2551
|
-
}
|
|
2552
|
-
if (this.isNotTranslatedEntity(member)) {
|
|
2553
|
-
result.push(member);
|
|
2554
|
-
}
|
|
2555
|
-
}
|
|
2556
|
-
for (const constructor of members.getConstructors()) {
|
|
2557
|
-
if (constructor.isHidden() !== void 0) {
|
|
2558
|
-
continue;
|
|
2559
|
-
}
|
|
2560
|
-
if (constructor.isDefault() !== void 0) {
|
|
2561
|
-
continue;
|
|
2562
|
-
}
|
|
2563
|
-
if (constructor.getParameters().length > 0 && this.isNotTranslatedEntity(constructor)) {
|
|
2564
|
-
result.push(constructor);
|
|
2565
|
-
}
|
|
2566
|
-
}
|
|
2567
|
-
for (const indexer of members.getIndexers()) {
|
|
2568
|
-
if (indexer.isHidden() !== void 0) {
|
|
2569
|
-
continue;
|
|
2570
|
-
}
|
|
2571
|
-
if (indexer.getParameters().length > 0 && this.isNotTranslatedEntity(indexer)) {
|
|
2572
|
-
result.push(indexer);
|
|
2573
|
-
}
|
|
2574
|
-
}
|
|
2575
|
-
return result;
|
|
2550
|
+
const translatedTypeEntity = this.translationPackage.localizationContext.getLocalizedPackageTypeEntity(entity);
|
|
2551
|
+
return translatedTypeEntity.getMembers().getAll().filter((m) => this.isNotTranslatedEntity(m) && AnalyzedTranslationPackage.isTypeMemberEntityThatShouldBeTranslatedByUser(m));
|
|
2576
2552
|
}
|
|
2577
2553
|
detectIndentationForPackageMemberTranslations(translationsDeclaration) {
|
|
2578
2554
|
let indentationSize;
|
|
@@ -2626,7 +2602,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2626
2602
|
return " ".repeat(indentationSize);
|
|
2627
2603
|
}
|
|
2628
2604
|
collectNotTranslatedPackageMembers() {
|
|
2629
|
-
return this.translationPackage.
|
|
2605
|
+
return this.translationPackage.translatedTargetPackage.getMembers().getNamedMembers().filter((m) => this.isNotTranslatedEntity(m) && AnalyzedTranslationPackage.isPackageMemberEntityThatShouldBeTranslatedByUser(m));
|
|
2630
2606
|
}
|
|
2631
2607
|
isNotTranslatedEntity(entity) {
|
|
2632
2608
|
const translation = entity.getTranslation();
|
|
@@ -2682,9 +2658,10 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2682
2658
|
return this.createConstructorTranslation(entity);
|
|
2683
2659
|
case 5 /* Indexer */:
|
|
2684
2660
|
return this.createIndexerTranslation(entity);
|
|
2661
|
+
case 9 /* Operator */:
|
|
2662
|
+
return this.createOperatorTranslation(entity);
|
|
2685
2663
|
case 6 /* DereferenceOperator */:
|
|
2686
2664
|
case 8 /* Destructor */:
|
|
2687
|
-
case 9 /* Operator */:
|
|
2688
2665
|
return void 0;
|
|
2689
2666
|
default:
|
|
2690
2667
|
Debug.never(entity);
|
|
@@ -2708,6 +2685,11 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2708
2685
|
const parameters = entity.getParameters().map((p) => this.getNameText(p.getName()));
|
|
2709
2686
|
return SyntaxFactory.indexerTranslation(parameters, parameters);
|
|
2710
2687
|
}
|
|
2688
|
+
createOperatorTranslation(entity) {
|
|
2689
|
+
const name = `'${LocalizationHelper.localizeOperatorKind(entity.getOperatorKind(), this.locale, this.dialect)}'`;
|
|
2690
|
+
const parameters = entity.getParameters().map((p) => this.getNameText(p.getName()));
|
|
2691
|
+
return SyntaxFactory.methodTranslation(name, [], parameters, name, [], parameters);
|
|
2692
|
+
}
|
|
2711
2693
|
getNameText(name) {
|
|
2712
2694
|
const flags = name.flags & ~8 /* ConflictResolvingParameterName */;
|
|
2713
2695
|
return name.getPreferredUnescapedOriginal(flags);
|
|
@@ -2767,7 +2749,7 @@ var CodeActionsService = class {
|
|
|
2767
2749
|
}
|
|
2768
2750
|
const result = new Array();
|
|
2769
2751
|
const diagnosticCodeSet = new Set(diagnosticCodes);
|
|
2770
|
-
if (diagnosticCodeSet.has(
|
|
2752
|
+
if (diagnosticCodeSet.has(288 /* TheFollowingDeclarationsAreNotTranslated0 */) || diagnosticCodeSet.has(289 /* TheFollowingDeclarationsAreNotTranslated0And1More */)) {
|
|
2771
2753
|
const data = { onlyTypeMembers: false };
|
|
2772
2754
|
result.push(CodeAction.unresolved(
|
|
2773
2755
|
"\u0421\u0433\u0435\u043D\u0435\u0440\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043D\u0435\u0434\u043E\u0441\u0442\u0430\u044E\u0449\u0438\u0435 \u043F\u0435\u0440\u0435\u0432\u043E\u0434\u044B.",
|
|
@@ -3515,7 +3497,10 @@ var CompletionService = class {
|
|
|
3515
3497
|
let type;
|
|
3516
3498
|
if (this.sourceFile.package.kind === "translation") {
|
|
3517
3499
|
const translationPackage2 = this.analyzer.getAnalyzedTranslationPackageIfTargetResolved(this.sourceFile.package);
|
|
3518
|
-
|
|
3500
|
+
const translationTargets = translationPackage2?.getPackageMemberTranslationTargets(typeTranslation)?.values;
|
|
3501
|
+
if (translationTargets !== void 0 && translationTargets.length === 1 && isPackageTypeEntity(translationTargets[0])) {
|
|
3502
|
+
type = translationTargets[0];
|
|
3503
|
+
}
|
|
3519
3504
|
}
|
|
3520
3505
|
const hidingMatcher = semanticContext.getHidingMatcher();
|
|
3521
3506
|
return new TypeMemberTranslationListCompletionContext(
|
|
@@ -5699,6 +5684,14 @@ var NodeSemanticInfoService = class {
|
|
|
5699
5684
|
return this.ofIndexedElementAccessorDeclaration(analyzer, tokenOrKeyword.parent.parent);
|
|
5700
5685
|
} else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 70 /* IndexedAccessExpression */) {
|
|
5701
5686
|
return this.ofIndexedAccessExpressionOperator(analyzer, tokenOrKeyword.parent, options6);
|
|
5687
|
+
} else if (tokenOrKeyword.isKeyword(31 /* Creation */) && tokenOrKeyword.parent.kind === 127 /* ConstructorTranslation */) {
|
|
5688
|
+
return this.ofConstructorTranslationSourceConstructor(analyzer, tokenOrKeyword.parent, options6);
|
|
5689
|
+
} else if ((tokenOrKeyword.isToken(45 /* OpenParenthesis */) || tokenOrKeyword.isToken(22 /* CloseParenthesis */)) && tokenOrKeyword.parent.kind === 126 /* TranslationParameterClause */ && tokenOrKeyword.parent.parent.kind === 127 /* ConstructorTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
|
|
5690
|
+
return this.ofConstructorTranslationTranslatedConstructor(analyzer, tokenOrKeyword.parent.parent, options6);
|
|
5691
|
+
} else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.sourceParameterClause === tokenOrKeyword.parent) {
|
|
5692
|
+
return this.ofIndexerTranslationSourceIndexer(analyzer, tokenOrKeyword.parent.parent, options6);
|
|
5693
|
+
} else if ((tokenOrKeyword.isToken(46 /* OpenSquareBracket */) || tokenOrKeyword.isToken(23 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 128 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 129 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
|
|
5694
|
+
return this.ofIndexerTranslationTranslatedIndexer(analyzer, tokenOrKeyword.parent.parent, options6);
|
|
5702
5695
|
}
|
|
5703
5696
|
return void 0;
|
|
5704
5697
|
}
|
|
@@ -5715,9 +5708,9 @@ var NodeSemanticInfoService = class {
|
|
|
5715
5708
|
const parent = node.parent;
|
|
5716
5709
|
switch (parent.kind) {
|
|
5717
5710
|
case 130 /* TranslationTypeParameterList */:
|
|
5718
|
-
|
|
5711
|
+
return this.ofTranslationTypeParameterListParameter(analyzer, node, parent, options6);
|
|
5719
5712
|
case 125 /* TranslationParameterList */:
|
|
5720
|
-
|
|
5713
|
+
return this.ofTranslationParameterListParameter(analyzer, node, parent, options6);
|
|
5721
5714
|
case 150 /* Argument */: {
|
|
5722
5715
|
const respectiveParameter = analyzer.getRespectiveParameter(parent);
|
|
5723
5716
|
if (respectiveParameter !== void 0) {
|
|
@@ -5765,65 +5758,25 @@ var NodeSemanticInfoService = class {
|
|
|
5765
5758
|
case 135 /* QualifiedName */:
|
|
5766
5759
|
result = this.ofQualifiedNameQualifier(analyzer, parent, node, options6);
|
|
5767
5760
|
break;
|
|
5768
|
-
case 136 /* PackageVariableTranslationDeclaration */:
|
|
5769
|
-
|
|
5770
|
-
|
|
5771
|
-
|
|
5772
|
-
if (node === parent.sourceName) {
|
|
5773
|
-
const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
|
|
5774
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5775
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5776
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5777
|
-
}
|
|
5778
|
-
} else if (node === parent.translatedName) {
|
|
5779
|
-
const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedPackageVariableEntity(getTargetResult.target), 0 /* Get */);
|
|
5780
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5781
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5782
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5783
|
-
}
|
|
5784
|
-
}
|
|
5785
|
-
}
|
|
5786
|
-
break;
|
|
5787
|
-
}
|
|
5788
|
-
case 137 /* FieldOrVariantTranslation */: {
|
|
5789
|
-
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
5790
|
-
const getTargetsResult = translationPackage?.getFieldOrVariantTranslationTargets(parent);
|
|
5791
|
-
if (translationPackage !== void 0 && isNonEmptyArray(getTargetsResult?.targets)) {
|
|
5792
|
-
if (node === parent.sourceName) {
|
|
5793
|
-
const targets = getTargetsResult.targets.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
5794
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
|
|
5795
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5796
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5797
|
-
}
|
|
5798
|
-
} else if (node === parent.translatedName) {
|
|
5799
|
-
const targets = getTargetsResult.targets.map((f) => new EntityReferenceTarget(
|
|
5800
|
-
translationPackage.entityLocalizationContext.getLocalizedFieldEntity(f),
|
|
5801
|
-
0 /* Get */
|
|
5802
|
-
));
|
|
5803
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), getTargetsResult.isAmbiguous);
|
|
5804
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5805
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5806
|
-
}
|
|
5807
|
-
}
|
|
5808
|
-
}
|
|
5809
|
-
break;
|
|
5810
|
-
}
|
|
5811
|
-
case 132 /* PackageFunctionTranslationDeclaration */: {
|
|
5761
|
+
case 136 /* PackageVariableTranslationDeclaration */:
|
|
5762
|
+
case 132 /* PackageFunctionTranslationDeclaration */:
|
|
5763
|
+
case 139 /* TypeTranslationDeclaration */:
|
|
5764
|
+
case 134 /* FunctionTypeTranslationDeclaration */: {
|
|
5812
5765
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
5813
|
-
const
|
|
5814
|
-
if (translationPackage !== void 0 &&
|
|
5766
|
+
const translationTargets = translationPackage?.getPackageMemberTranslationTargets(parent);
|
|
5767
|
+
if (translationPackage !== void 0 && translationTargets !== void 0 && translationTargets.values.length > 0) {
|
|
5815
5768
|
if (node === parent.sourceName) {
|
|
5816
|
-
const targets =
|
|
5817
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets),
|
|
5769
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
5770
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
5818
5771
|
if (options6.includeBetterReferenceTargets) {
|
|
5819
5772
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5820
5773
|
}
|
|
5821
5774
|
} else if (node === parent.translatedName) {
|
|
5822
|
-
const targets =
|
|
5823
|
-
translationPackage.
|
|
5775
|
+
const targets = translationTargets.values.map((f) => new EntityReferenceTarget(
|
|
5776
|
+
translationPackage.localizationContext.getLocalizedPackageMemberEntity(f),
|
|
5824
5777
|
0 /* Get */
|
|
5825
5778
|
));
|
|
5826
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets),
|
|
5779
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
5827
5780
|
if (options6.includeBetterReferenceTargets) {
|
|
5828
5781
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5829
5782
|
}
|
|
@@ -5831,62 +5784,23 @@ var NodeSemanticInfoService = class {
|
|
|
5831
5784
|
}
|
|
5832
5785
|
break;
|
|
5833
5786
|
}
|
|
5787
|
+
case 137 /* FieldOrVariantTranslation */:
|
|
5834
5788
|
case 133 /* MethodTranslation */: {
|
|
5835
5789
|
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
5836
|
-
const
|
|
5837
|
-
if (translationPackage !== void 0 &&
|
|
5790
|
+
const translationTargets = translationPackage?.getTypeMemberTranslationTargets(parent);
|
|
5791
|
+
if (translationPackage !== void 0 && translationTargets !== void 0 && translationTargets.values.length > 0) {
|
|
5838
5792
|
if (node === parent.sourceName) {
|
|
5839
|
-
const targets =
|
|
5840
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets),
|
|
5793
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
5794
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
5841
5795
|
if (options6.includeBetterReferenceTargets) {
|
|
5842
5796
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5843
5797
|
}
|
|
5844
5798
|
} else if (node === parent.translatedName) {
|
|
5845
|
-
const targets =
|
|
5846
|
-
translationPackage.
|
|
5799
|
+
const targets = translationTargets.values.map((f) => new EntityReferenceTarget(
|
|
5800
|
+
translationPackage.localizationContext.getLocalizedTypeMemberEntity(f),
|
|
5847
5801
|
0 /* Get */
|
|
5848
5802
|
));
|
|
5849
|
-
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets),
|
|
5850
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5851
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5852
|
-
}
|
|
5853
|
-
}
|
|
5854
|
-
}
|
|
5855
|
-
break;
|
|
5856
|
-
}
|
|
5857
|
-
case 139 /* TypeTranslationDeclaration */: {
|
|
5858
|
-
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
5859
|
-
const getTargetResult = translationPackage?.getTypeTranslationTarget(parent);
|
|
5860
|
-
if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
|
|
5861
|
-
if (node === parent.sourceName) {
|
|
5862
|
-
const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
|
|
5863
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5864
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5865
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5866
|
-
}
|
|
5867
|
-
} else if (node === parent.translatedName) {
|
|
5868
|
-
const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedTypeEntity(getTargetResult.target), 0 /* Get */);
|
|
5869
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5870
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5871
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5872
|
-
}
|
|
5873
|
-
}
|
|
5874
|
-
}
|
|
5875
|
-
break;
|
|
5876
|
-
}
|
|
5877
|
-
case 134 /* FunctionTypeTranslationDeclaration */: {
|
|
5878
|
-
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
5879
|
-
const getTargetResult = translationPackage?.getFunctionTypeTranslationTarget(parent);
|
|
5880
|
-
if (translationPackage !== void 0 && getTargetResult?.target !== void 0) {
|
|
5881
|
-
if (node === parent.sourceName) {
|
|
5882
|
-
const target = new EntityReferenceTarget(getTargetResult.target, 0 /* Get */);
|
|
5883
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5884
|
-
if (options6.includeBetterReferenceTargets) {
|
|
5885
|
-
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5886
|
-
}
|
|
5887
|
-
} else if (node === parent.translatedName) {
|
|
5888
|
-
const target = new EntityReferenceTarget(translationPackage.entityLocalizationContext.getLocalizedPackageFunctionTypeEntity(getTargetResult.target), 0 /* Get */);
|
|
5889
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
5803
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
5890
5804
|
if (options6.includeBetterReferenceTargets) {
|
|
5891
5805
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
5892
5806
|
}
|
|
@@ -6519,6 +6433,64 @@ var NodeSemanticInfoService = class {
|
|
|
6519
6433
|
}
|
|
6520
6434
|
return result;
|
|
6521
6435
|
}
|
|
6436
|
+
static ofConstructorTranslationSourceConstructor(analyzer, node, options6) {
|
|
6437
|
+
let result;
|
|
6438
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6439
|
+
const translationTargets = translationPackage?.getTypeMemberTranslationTargets(node);
|
|
6440
|
+
if (translationTargets !== void 0) {
|
|
6441
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6442
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6443
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6444
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6445
|
+
}
|
|
6446
|
+
}
|
|
6447
|
+
return result;
|
|
6448
|
+
}
|
|
6449
|
+
static ofConstructorTranslationTranslatedConstructor(analyzer, node, options6) {
|
|
6450
|
+
let result;
|
|
6451
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6452
|
+
const translationTargets = translationPackage?.getTypeMemberTranslationTargets(node);
|
|
6453
|
+
if (translationPackage !== void 0 && translationTargets !== void 0) {
|
|
6454
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(
|
|
6455
|
+
translationPackage.localizationContext.getLocalizedTypeMemberEntity(t),
|
|
6456
|
+
0 /* Get */
|
|
6457
|
+
));
|
|
6458
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6459
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6460
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6461
|
+
}
|
|
6462
|
+
}
|
|
6463
|
+
return result;
|
|
6464
|
+
}
|
|
6465
|
+
static ofIndexerTranslationSourceIndexer(analyzer, node, options6) {
|
|
6466
|
+
let result;
|
|
6467
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6468
|
+
const translationTargets = translationPackage?.getTypeMemberTranslationTargets(node);
|
|
6469
|
+
if (translationTargets !== void 0) {
|
|
6470
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6471
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6472
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6473
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6474
|
+
}
|
|
6475
|
+
}
|
|
6476
|
+
return result;
|
|
6477
|
+
}
|
|
6478
|
+
static ofIndexerTranslationTranslatedIndexer(analyzer, node, options6) {
|
|
6479
|
+
let result;
|
|
6480
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6481
|
+
const translationTargets = translationPackage?.getTypeMemberTranslationTargets(node);
|
|
6482
|
+
if (translationPackage !== void 0 && translationTargets !== void 0) {
|
|
6483
|
+
const targets = translationTargets.values.map((t) => new EntityReferenceTarget(
|
|
6484
|
+
translationPackage.localizationContext.getLocalizedTypeMemberEntity(t),
|
|
6485
|
+
0 /* Get */
|
|
6486
|
+
));
|
|
6487
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6488
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6489
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6490
|
+
}
|
|
6491
|
+
}
|
|
6492
|
+
return result;
|
|
6493
|
+
}
|
|
6522
6494
|
static ofPackageNameSegmentAccess(analyzer, packageTreeNode, node) {
|
|
6523
6495
|
let parent = getParentSkippingParenthesizedExpressions(node);
|
|
6524
6496
|
while (parent.kind === 76 /* MemberAccessExpression */) {
|
|
@@ -6554,6 +6526,97 @@ var NodeSemanticInfoService = class {
|
|
|
6554
6526
|
const targets = suitableType !== void 0 ? [new EntityReferenceTarget(suitableType, 0 /* Get */)] : typeCandidates.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6555
6527
|
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
|
6556
6528
|
}
|
|
6529
|
+
static ofTranslationTypeParameterListParameter(analyzer, node, typeParameterList, options6) {
|
|
6530
|
+
const parameterIndex = typeParameterList.typeParameters.indexOf(node);
|
|
6531
|
+
if (parameterIndex < 0) {
|
|
6532
|
+
return void 0;
|
|
6533
|
+
}
|
|
6534
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6535
|
+
if (translationPackage === void 0) {
|
|
6536
|
+
return void 0;
|
|
6537
|
+
}
|
|
6538
|
+
const translationDeclaration = typeParameterList.parent.parent;
|
|
6539
|
+
let translationTargets;
|
|
6540
|
+
switch (translationDeclaration.kind) {
|
|
6541
|
+
case 132 /* PackageFunctionTranslationDeclaration */:
|
|
6542
|
+
case 134 /* FunctionTypeTranslationDeclaration */:
|
|
6543
|
+
case 139 /* TypeTranslationDeclaration */:
|
|
6544
|
+
translationTargets = translationPackage.getPackageMemberTranslationTargets(translationDeclaration);
|
|
6545
|
+
break;
|
|
6546
|
+
case 133 /* MethodTranslation */:
|
|
6547
|
+
translationTargets = translationPackage.getTypeMemberTranslationTargets(translationDeclaration);
|
|
6548
|
+
break;
|
|
6549
|
+
default:
|
|
6550
|
+
Debug.never(translationDeclaration);
|
|
6551
|
+
}
|
|
6552
|
+
let result;
|
|
6553
|
+
if (translationTargets !== void 0) {
|
|
6554
|
+
let typeParameterArrays;
|
|
6555
|
+
if (typeParameterList === translationDeclaration.sourceTypeParameterClause?.typeParameterList) {
|
|
6556
|
+
typeParameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => isEntityWithTypeParameters(e) ? e.getTypeParameters() : void 0).toArray();
|
|
6557
|
+
} else {
|
|
6558
|
+
typeParameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => {
|
|
6559
|
+
const localizedEntity = isPackageMemberEntity(e) ? translationPackage.localizationContext.getLocalizedPackageMemberEntity(e) : translationPackage.localizationContext.getLocalizedTypeMemberEntity(e);
|
|
6560
|
+
return isEntityWithTypeParameters(localizedEntity) ? localizedEntity.getTypeParameters() : void 0;
|
|
6561
|
+
}).toArray();
|
|
6562
|
+
}
|
|
6563
|
+
const typeParameters = Query.from(typeParameterArrays).mapAndFilter((a) => a[parameterIndex]).toArray();
|
|
6564
|
+
if (isNonEmptyArray(typeParameters)) {
|
|
6565
|
+
const targets = typeParameters.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6566
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6567
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6568
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6569
|
+
}
|
|
6570
|
+
}
|
|
6571
|
+
}
|
|
6572
|
+
return result;
|
|
6573
|
+
}
|
|
6574
|
+
static ofTranslationParameterListParameter(analyzer, node, parameterList, options6) {
|
|
6575
|
+
const parameterIndex = parameterList.parameters.indexOf(node);
|
|
6576
|
+
if (parameterIndex < 0) {
|
|
6577
|
+
return void 0;
|
|
6578
|
+
}
|
|
6579
|
+
const translationPackage = this.getContainingTranslationPackage(analyzer, node);
|
|
6580
|
+
if (translationPackage === void 0) {
|
|
6581
|
+
return void 0;
|
|
6582
|
+
}
|
|
6583
|
+
const translationDeclaration = parameterList.parent.parent;
|
|
6584
|
+
let translationTargets;
|
|
6585
|
+
switch (translationDeclaration.kind) {
|
|
6586
|
+
case 132 /* PackageFunctionTranslationDeclaration */:
|
|
6587
|
+
case 134 /* FunctionTypeTranslationDeclaration */:
|
|
6588
|
+
translationTargets = translationPackage.getPackageMemberTranslationTargets(translationDeclaration);
|
|
6589
|
+
break;
|
|
6590
|
+
case 133 /* MethodTranslation */:
|
|
6591
|
+
case 127 /* ConstructorTranslation */:
|
|
6592
|
+
case 129 /* IndexerTranslation */:
|
|
6593
|
+
translationTargets = translationPackage.getTypeMemberTranslationTargets(translationDeclaration);
|
|
6594
|
+
break;
|
|
6595
|
+
default:
|
|
6596
|
+
Debug.never(translationDeclaration);
|
|
6597
|
+
}
|
|
6598
|
+
let result;
|
|
6599
|
+
if (translationTargets !== void 0) {
|
|
6600
|
+
let parameterArrays;
|
|
6601
|
+
if (parameterList === translationDeclaration.sourceParameterClause?.parameterList) {
|
|
6602
|
+
parameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => isEntityWithParameters(e) ? e.getParameters() : void 0).toArray();
|
|
6603
|
+
} else {
|
|
6604
|
+
parameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => {
|
|
6605
|
+
const localizedEntity = isPackageMemberEntity(e) ? translationPackage.localizationContext.getLocalizedPackageMemberEntity(e) : translationPackage.localizationContext.getLocalizedTypeMemberEntity(e);
|
|
6606
|
+
return isEntityWithParameters(localizedEntity) ? localizedEntity.getParameters() : void 0;
|
|
6607
|
+
}).toArray();
|
|
6608
|
+
}
|
|
6609
|
+
const typeParameters = Query.from(parameterArrays).mapAndFilter((a) => a[parameterIndex]).toArray();
|
|
6610
|
+
if (isNonEmptyArray(typeParameters)) {
|
|
6611
|
+
const targets = typeParameters.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6612
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6613
|
+
if (options6.includeBetterReferenceTargets) {
|
|
6614
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6615
|
+
}
|
|
6616
|
+
}
|
|
6617
|
+
}
|
|
6618
|
+
return result;
|
|
6619
|
+
}
|
|
6557
6620
|
static getBetterReferenceTargetsOrPreserve(info) {
|
|
6558
6621
|
const currentTargets = info.betterTargets ?? info.targets;
|
|
6559
6622
|
const betterTargets = Query.from(currentTargets).mapAndFilter((t) => this.getBetterReferenceTarget(t)).toArray();
|
|
@@ -7327,6 +7390,82 @@ var ReferencesService = class {
|
|
|
7327
7390
|
result.push(new Reference(sourceFile2, range, referenceKind));
|
|
7328
7391
|
}
|
|
7329
7392
|
}
|
|
7393
|
+
if (node.kind === 127 /* ConstructorTranslation */ && restrictions.canBeConstructorDeclaration) {
|
|
7394
|
+
{
|
|
7395
|
+
const semanticInfo = NodeSemanticInfoService.ofConstructorTranslationSourceConstructor(
|
|
7396
|
+
analyzer,
|
|
7397
|
+
node,
|
|
7398
|
+
semanticInfoOptions
|
|
7399
|
+
);
|
|
7400
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7401
|
+
definitions,
|
|
7402
|
+
semanticInfo,
|
|
7403
|
+
allowAmbiguous,
|
|
7404
|
+
isForRename
|
|
7405
|
+
);
|
|
7406
|
+
if (referenceKind !== void 0) {
|
|
7407
|
+
result.push(new Reference(sourceFile2, node.creationKeyword.rangeWithoutTrivia, referenceKind));
|
|
7408
|
+
}
|
|
7409
|
+
}
|
|
7410
|
+
{
|
|
7411
|
+
const semanticInfo = NodeSemanticInfoService.ofConstructorTranslationTranslatedConstructor(
|
|
7412
|
+
analyzer,
|
|
7413
|
+
node,
|
|
7414
|
+
semanticInfoOptions
|
|
7415
|
+
);
|
|
7416
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7417
|
+
definitions,
|
|
7418
|
+
semanticInfo,
|
|
7419
|
+
allowAmbiguous,
|
|
7420
|
+
isForRename
|
|
7421
|
+
);
|
|
7422
|
+
if (referenceKind !== void 0) {
|
|
7423
|
+
result.push(new Reference(
|
|
7424
|
+
sourceFile2,
|
|
7425
|
+
node.translatedParameterClause.rangeWithoutTrivia,
|
|
7426
|
+
referenceKind
|
|
7427
|
+
));
|
|
7428
|
+
}
|
|
7429
|
+
}
|
|
7430
|
+
}
|
|
7431
|
+
if (node.kind === 129 /* IndexerTranslation */ && restrictions.canBeIndexer) {
|
|
7432
|
+
{
|
|
7433
|
+
const semanticInfo = NodeSemanticInfoService.ofIndexerTranslationSourceIndexer(
|
|
7434
|
+
analyzer,
|
|
7435
|
+
node,
|
|
7436
|
+
semanticInfoOptions
|
|
7437
|
+
);
|
|
7438
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7439
|
+
definitions,
|
|
7440
|
+
semanticInfo,
|
|
7441
|
+
allowAmbiguous,
|
|
7442
|
+
isForRename
|
|
7443
|
+
);
|
|
7444
|
+
if (referenceKind !== void 0) {
|
|
7445
|
+
result.push(new Reference(sourceFile2, node.sourceParameterClause.rangeWithoutTrivia, referenceKind));
|
|
7446
|
+
}
|
|
7447
|
+
}
|
|
7448
|
+
{
|
|
7449
|
+
const semanticInfo = NodeSemanticInfoService.ofIndexerTranslationTranslatedIndexer(
|
|
7450
|
+
analyzer,
|
|
7451
|
+
node,
|
|
7452
|
+
semanticInfoOptions
|
|
7453
|
+
);
|
|
7454
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7455
|
+
definitions,
|
|
7456
|
+
semanticInfo,
|
|
7457
|
+
allowAmbiguous,
|
|
7458
|
+
isForRename
|
|
7459
|
+
);
|
|
7460
|
+
if (referenceKind !== void 0) {
|
|
7461
|
+
result.push(new Reference(
|
|
7462
|
+
sourceFile2,
|
|
7463
|
+
node.translatedParameterClause.rangeWithoutTrivia,
|
|
7464
|
+
referenceKind
|
|
7465
|
+
));
|
|
7466
|
+
}
|
|
7467
|
+
}
|
|
7468
|
+
}
|
|
7330
7469
|
}
|
|
7331
7470
|
}
|
|
7332
7471
|
);
|