@artel/artc 0.6.26021 → 0.6.26023
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 +36 -4
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +188 -323
- package/build/{chunk-NKLHVPAI.js → chunk-HAB6M5SG.js} +1 -1
- package/build/{chunk-BUGHCVWW.js → chunk-IMUSLOYE.js} +2 -2
- package/build/{chunk-DWHH53A7.js → chunk-RQOGIK5O.js} +3996 -3554
- package/build/types/analysis/AccessibilityCheck.d.ts +2 -1
- package/build/types/analysis/Analyzer.d.ts +32 -25
- package/build/types/analysis/BaseMemberConflictsValidator.d.ts +1 -0
- package/build/types/analysis/DialectSpecificBoundTypeMemberLookup.d.ts +18 -0
- package/build/types/analysis/ReferencedPackagesCollector.d.ts +1 -0
- package/build/types/analysis/ResolvedImplementationPackage.d.ts +2 -6
- package/build/types/analysis/SpecialNameKey.d.ts +9 -3
- package/build/types/analysis/TypeMemberConflictsValidator.d.ts +2 -0
- package/build/types/analysis/TypeMemberImplementationChecker.d.ts +1 -0
- package/build/types/analysis/TypeMemberLookup.d.ts +12 -10
- package/build/types/analysis/a/Analyzer.d.ts +8 -14
- package/build/types/analysis/a/AutotypeCallExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/a/BaseExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/a/CallExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/a/ConstructorCallResolver.d.ts +6 -6
- package/build/types/analysis/a/ModifierValidator.d.ts +33 -18
- package/build/types/analysis/a/OwnAndBaseConstructorCallsChecker.d.ts +4 -4
- package/build/types/analysis/a/OwnConstructorCallExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/a/ReductionSourceMemberFinder.d.ts +0 -2
- package/build/types/analysis/a/ReservedNameDictionary.d.ts +3 -1
- package/build/types/analysis/a/SourceFileAnalyzer.d.ts +1 -0
- package/build/types/analysis/a/TagMeaning.d.ts +3 -3
- package/build/types/analysis/a/TypeMemberLookup.d.ts +31 -0
- package/build/types/analysis/a/semantic-context/SemanticContextBase.d.ts +9 -8
- package/build/types/analysis/a/semantic-context/TypeSemanticContext.d.ts +5 -4
- package/build/types/analysis/m/TypeMemberLookup.d.ts +31 -0
- package/build/types/common/ArrayUtils.d.ts +7 -0
- package/build/types/common/LocalizationHelperA.d.ts +8 -7
- package/build/types/common/Range.d.ts +1 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +115 -112
- package/build/types/emitter/EntityMap.d.ts +0 -2
- package/build/types/entities/Entity.d.ts +2 -4
- package/build/types/entities/EntityKind.d.ts +4 -7
- package/build/types/entities/EntityLocalizationContext.d.ts +2 -4
- package/build/types/entities/Tag.d.ts +2 -2
- package/build/types/entities/TypeEntityMembers.d.ts +19 -10
- package/build/types/entities/TypeMemberEntity.d.ts +23 -16
- package/build/types/entities/TypeMemberKindFlags.d.ts +14 -0
- package/build/types/entities/index.d.ts +3 -0
- package/build/types/entities/interfaces/ConstructorEntity.d.ts +17 -24
- package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +34 -17
- package/build/types/entities/interfaces/DestructorEntity.d.ts +17 -17
- package/build/types/entities/interfaces/FunctionEntity.d.ts +65 -17
- package/build/types/entities/interfaces/IndexerEntity.d.ts +36 -18
- package/build/types/entities/interfaces/OperatorEntity.d.ts +12 -0
- package/build/types/entities/interfaces/OrdinaryMethodEntity.d.ts +13 -0
- package/build/types/entities/interfaces/VariableEntity.d.ts +48 -15
- package/build/types/entities/interfaces/a/ConstructorEntityA.d.ts +17 -0
- package/build/types/entities/interfaces/a/DestructorEntityA.d.ts +16 -0
- package/build/types/entities/interfaces/a/index.d.ts +2 -0
- package/build/types/entities/interfaces/index.d.ts +2 -0
- package/build/types/entities/intrinsic/IntrinsicConstructorEntity.d.ts +14 -17
- package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +3 -9
- package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +4 -4
- package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +1 -3
- package/build/types/entities/source/a/SourceConstructorEntity.d.ts +7 -7
- package/build/types/entities/source/a/SourceDereferenceOperatorEntity.d.ts +2 -3
- package/build/types/entities/source/a/SourceDestructorEntity.d.ts +6 -7
- package/build/types/entities/source/a/SourceFunctionEntity.d.ts +42 -6
- package/build/types/entities/source/a/SourceIndexerEntity.d.ts +2 -3
- package/build/types/entities/source/a/SourceReducedTypeEntity.d.ts +1 -3
- package/build/types/entities/source/a/SourceStructuredTypeEntity.d.ts +1 -3
- package/build/types/entities/source/a/SourceVariableEntity.d.ts +3 -9
- package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +4 -30
- package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +3 -4
- package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +8 -9
- package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +2 -5
- package/build/types/entities/translated/TranslatedVariableEntity.d.ts +2 -4
- package/build/types/entities/translated/index.d.ts +0 -1
- package/build/types/entities/translated/source/a/SourceTranslatedConstructorEntity.d.ts +6 -4
- package/build/types/entities/translated/source/a/SourceTranslatedDestructorEntity.d.ts +7 -4
- package/build/types/entities/translated/source/a/SourceTranslatedFunctionEntity.d.ts +3 -2
- package/build/types/services/a/CompletionService.d.ts +0 -1
- package/build/types/services/a/DisplayService.d.ts +1 -4
- package/build/types/services/a/SourceFileItemsService.d.ts +0 -1
- package/build/types/services/a/signature-help/SignatureWithParameters.d.ts +2 -2
- package/build/types/services/common/display/BaseDisplayService.d.ts +0 -3
- package/build/types/services/common/display/DisplayService.d.ts +0 -3
- package/build/types/services/common/display/Types.d.ts +7 -45
- package/build/types/services/common/node-semantic-info/Types.d.ts +1 -6
- package/build/types/services/common/references/ReferencesService.d.ts +0 -1
- package/build/types/services/common/source-generation/EntityToSyntax.d.ts +0 -2
- package/build/types/tree/a/SyntaxToCode.d.ts +1 -3
- package/build/types/ts-interop/Entities.d.ts +204 -222
- package/build/types/ts-interop/TypeEntities.d.ts +145 -157
- package/build/types/types/StructuredType.d.ts +3 -0
- package/build/types/types/TypeMembers.d.ts +11 -37
- package/package.json +1 -1
- package/build/types/analysis/a/NodeTypeUtils.d.ts +0 -39
- package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +0 -27
package/build/api/ApiServices.js
CHANGED
|
@@ -8,9 +8,6 @@ import {
|
|
|
8
8
|
ConfigurationConverter,
|
|
9
9
|
ConfigurationDirectoryNameSet,
|
|
10
10
|
ConfigurationFileParser,
|
|
11
|
-
Constructor,
|
|
12
|
-
ConstructorDeclaration_entity,
|
|
13
|
-
ConstructorDeclaration_typeMember,
|
|
14
11
|
Debug,
|
|
15
12
|
DefaultDialect,
|
|
16
13
|
DefaultLocale,
|
|
@@ -35,6 +32,7 @@ import {
|
|
|
35
32
|
LocaleByJsonConfigurationFileName,
|
|
36
33
|
LocalizationHelperA,
|
|
37
34
|
Logger,
|
|
35
|
+
Method,
|
|
38
36
|
Name,
|
|
39
37
|
NamedType_alias,
|
|
40
38
|
NamedType_reduced,
|
|
@@ -62,7 +60,8 @@ import {
|
|
|
62
60
|
TsInteropInputs,
|
|
63
61
|
TsProgramLoader,
|
|
64
62
|
TsProgramState,
|
|
65
|
-
|
|
63
|
+
TypeMemberEntity,
|
|
64
|
+
TypeMemberLookupA,
|
|
66
65
|
TypeWithMembersOrExtensionEntity,
|
|
67
66
|
Uri,
|
|
68
67
|
VariableDeclaration_entity,
|
|
@@ -110,7 +109,7 @@ import {
|
|
|
110
109
|
sortModifiers,
|
|
111
110
|
traverseTreeAsync,
|
|
112
111
|
yieldTask
|
|
113
|
-
} from "../chunk-
|
|
112
|
+
} from "../chunk-RQOGIK5O.js";
|
|
114
113
|
|
|
115
114
|
// source/services/CustomRequests.ts
|
|
116
115
|
import * as ls from "vscode-languageserver";
|
|
@@ -350,26 +349,14 @@ var TranslationsGenerationServiceA = class {
|
|
|
350
349
|
if (tokenOrKeyword.isToken(9 /* Identifier */) && tokenOrKeyword.parent.kind === 137 /* TypeTranslationDeclaration */ && tokenOrKeyword.value === tokenOrKeyword.parent.sourceName) {
|
|
351
350
|
const translationPackage = analyzer.entity.ofTranslationPackage(sourceFile.package).getResolvedTranslationPackage();
|
|
352
351
|
if (translationPackage !== void 0) {
|
|
353
|
-
const generator = new TranslationsGenerator(
|
|
354
|
-
analyzer,
|
|
355
|
-
sourceFile,
|
|
356
|
-
translationPackage,
|
|
357
|
-
sourceFile.locale,
|
|
358
|
-
sourceFile.dialect
|
|
359
|
-
);
|
|
352
|
+
const generator = new TranslationsGenerator(analyzer, sourceFile, translationPackage, sourceFile.locale);
|
|
360
353
|
result = generator.generateMissingTypeMemberTranslations(tokenOrKeyword.parent);
|
|
361
354
|
}
|
|
362
355
|
}
|
|
363
356
|
if (result === void 0 && tokenOrKeyword.isKeyword(59 /* Translations */) && tokenOrKeyword.parent.kind === 121 /* TranslationsDeclaration */) {
|
|
364
357
|
const translationPackage = analyzer.entity.ofTranslationPackage(sourceFile.package).getResolvedTranslationPackage();
|
|
365
358
|
if (translationPackage !== void 0) {
|
|
366
|
-
const generator = new TranslationsGenerator(
|
|
367
|
-
analyzer,
|
|
368
|
-
sourceFile,
|
|
369
|
-
translationPackage,
|
|
370
|
-
sourceFile.locale,
|
|
371
|
-
sourceFile.dialect
|
|
372
|
-
);
|
|
359
|
+
const generator = new TranslationsGenerator(analyzer, sourceFile, translationPackage, sourceFile.locale);
|
|
373
360
|
if (onlyTypeMembers) {
|
|
374
361
|
result = generator.generateMissingTranslationsForPartiallyTranslatedTypes(tokenOrKeyword.parent);
|
|
375
362
|
} else {
|
|
@@ -394,23 +381,16 @@ var TranslationsGenerationServiceA = class {
|
|
|
394
381
|
if (translationPackage === void 0) {
|
|
395
382
|
return false;
|
|
396
383
|
}
|
|
397
|
-
const generator = new TranslationsGenerator(
|
|
398
|
-
analyzer,
|
|
399
|
-
sourceFile,
|
|
400
|
-
translationPackage,
|
|
401
|
-
sourceFile.locale,
|
|
402
|
-
sourceFile.dialect
|
|
403
|
-
);
|
|
384
|
+
const generator = new TranslationsGenerator(analyzer, sourceFile, translationPackage, sourceFile.locale);
|
|
404
385
|
return Query.from(tokenOrKeyword.parent.translationList.translationDeclarations).filter((t) => t.kind === 137 /* TypeTranslationDeclaration */).mapAndFilter((t) => translationPackage.getPackageMemberTranslationTargets(t)?.values).flatMap((t) => t).any((t) => isPackageTypeEntity(t) && generator.collectNotTranslatedTypeMembers(t).length > 0);
|
|
405
386
|
}
|
|
406
387
|
};
|
|
407
388
|
var TranslationsGenerator = class _TranslationsGenerator {
|
|
408
|
-
constructor(analyzer, sourceFile, translationPackage, locale
|
|
389
|
+
constructor(analyzer, sourceFile, translationPackage, locale) {
|
|
409
390
|
this.analyzer = analyzer;
|
|
410
391
|
this.sourceFile = sourceFile;
|
|
411
392
|
this.translationPackage = translationPackage;
|
|
412
393
|
this.locale = locale;
|
|
413
|
-
this.dialect = dialect;
|
|
414
394
|
}
|
|
415
395
|
static {
|
|
416
396
|
this.translationArrowRegExp = /-> /g;
|
|
@@ -422,7 +402,6 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
422
402
|
const newLine = this.detectNewLine();
|
|
423
403
|
const syntaxToCodeOptions = {
|
|
424
404
|
keywordsLocale: this.locale,
|
|
425
|
-
keywordsDialect: this.dialect,
|
|
426
405
|
initialIndentation: this.detectIndentationForPackageMemberTranslations(translationsDeclaration),
|
|
427
406
|
indentationStep: this.detectIndentationStepForTypeMemberTranslations(translationsDeclaration),
|
|
428
407
|
newLine
|
|
@@ -483,7 +462,6 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
483
462
|
const newLine = this.detectNewLine();
|
|
484
463
|
const syntaxToCodeOptions = {
|
|
485
464
|
keywordsLocale: this.locale,
|
|
486
|
-
keywordsDialect: this.dialect,
|
|
487
465
|
initialIndentation: this.detectIndentationForTypeMemberTranslations(typeTranslation),
|
|
488
466
|
indentationStep: this.detectIndentationStepForTypeMemberTranslations(typeTranslation),
|
|
489
467
|
newLine
|
|
@@ -515,7 +493,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
515
493
|
}
|
|
516
494
|
collectNotTranslatedTypeMembers(entity) {
|
|
517
495
|
const translatedTypeEntity = this.translationPackage.localizationContext.getLocalizedPackageTypeEntity(entity);
|
|
518
|
-
return translatedTypeEntity.getMembers().getAll().filter((m) => this.isNotTranslatedEntity(m) && ResolvedTranslationPackage.isTypeMemberEntityThatShouldBeTranslatedByUser(m));
|
|
496
|
+
return translatedTypeEntity.getMembers().getAll().filter((m) => this.isNotTranslatedEntity(m) && ResolvedTranslationPackage.isTypeMemberEntityThatShouldBeTranslatedByUser(m)).map((m) => m.getOriginalEntity());
|
|
519
497
|
}
|
|
520
498
|
detectIndentationForPackageMemberTranslations(translationsDeclaration) {
|
|
521
499
|
let indentationSize;
|
|
@@ -588,8 +566,8 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
588
566
|
}
|
|
589
567
|
return this.createPackageTypeWithMembersTranslation(entity);
|
|
590
568
|
}
|
|
591
|
-
case
|
|
592
|
-
case
|
|
569
|
+
case 8 /* TypeExtension */:
|
|
570
|
+
case 10 /* TextTranslation */:
|
|
593
571
|
return void 0;
|
|
594
572
|
default:
|
|
595
573
|
Debug.never(entity);
|
|
@@ -623,12 +601,9 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
623
601
|
return this.createFieldTranslation(entity);
|
|
624
602
|
case 1 /* Function */:
|
|
625
603
|
return this.createMethodTranslation(entity);
|
|
626
|
-
case 7 /* Constructor */:
|
|
627
|
-
return this.createConstructorTranslation(entity);
|
|
628
604
|
case 5 /* Indexer */:
|
|
629
605
|
return this.createIndexerTranslation(entity);
|
|
630
606
|
case 6 /* DereferenceOperator */:
|
|
631
|
-
case 8 /* Destructor */:
|
|
632
607
|
return void 0;
|
|
633
608
|
default:
|
|
634
609
|
Debug.never(entity);
|
|
@@ -639,20 +614,36 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
639
614
|
return SyntaxFactory.fieldOrVariantTranslation(name, name);
|
|
640
615
|
}
|
|
641
616
|
createMethodTranslation(entity) {
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
617
|
+
switch (entity.methodKind) {
|
|
618
|
+
case 0 /* Ordinary */: {
|
|
619
|
+
const name = this.getNameText(entity.getName());
|
|
620
|
+
const typeParameters = entity.getTypeParameters().map((p) => this.getNameText(p.getName()));
|
|
621
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
622
|
+
return SyntaxFactory.methodTranslation(name, typeParameters, parameters, name, typeParameters, parameters);
|
|
623
|
+
}
|
|
624
|
+
case 3 /* Operator */: {
|
|
625
|
+
const sourceName = this.getNameText(entity.getName());
|
|
626
|
+
const operatorKind = entity.getOperatorKind();
|
|
627
|
+
let translatedName = sourceName;
|
|
628
|
+
if (operatorKind !== void 0) {
|
|
629
|
+
const operatorNameText = LocalizationHelperA.localizeOperatorKind(
|
|
630
|
+
operatorKind,
|
|
631
|
+
this.translationPackage.getTranslationLocale()
|
|
632
|
+
);
|
|
633
|
+
translatedName = `'${operatorNameText}'`;
|
|
634
|
+
}
|
|
635
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
636
|
+
return SyntaxFactory.methodTranslation(sourceName, [], parameters, translatedName, [], parameters);
|
|
637
|
+
}
|
|
638
|
+
case 1 /* Constructor */: {
|
|
639
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
640
|
+
return SyntaxFactory.constructorTranslation(parameters, parameters);
|
|
641
|
+
}
|
|
642
|
+
case 2 /* Destructor */:
|
|
643
|
+
return void 0;
|
|
644
|
+
default:
|
|
645
|
+
Debug.never(entity.methodKind);
|
|
648
646
|
}
|
|
649
|
-
const typeParameters = entity.getTypeParameters().map((p) => this.getNameText(p.getName()));
|
|
650
|
-
const parameters = this.createParameters(entity.getParameters());
|
|
651
|
-
return SyntaxFactory.methodTranslation(name, typeParameters, parameters, name, typeParameters, parameters);
|
|
652
|
-
}
|
|
653
|
-
createConstructorTranslation(entity) {
|
|
654
|
-
const parameters = this.createParameters(entity.getParameters());
|
|
655
|
-
return SyntaxFactory.constructorTranslation(parameters, parameters);
|
|
656
647
|
}
|
|
657
648
|
createIndexerTranslation(entity) {
|
|
658
649
|
const parameters = this.createParameters(entity.getParameters());
|
|
@@ -858,7 +849,12 @@ var SignatureForNode = class _SignatureForNode {
|
|
|
858
849
|
let functions;
|
|
859
850
|
if (meaning.suitableOrSingleFunction !== void 0) {
|
|
860
851
|
const suitableOrSingleFunction = meaning.suitableOrSingleFunction;
|
|
861
|
-
functions =
|
|
852
|
+
functions = meaning.candidates.map((c) => {
|
|
853
|
+
if (c.getEntity().getOriginalEntity() === suitableOrSingleFunction.getEntity().getOriginalEntity()) {
|
|
854
|
+
return suitableOrSingleFunction;
|
|
855
|
+
}
|
|
856
|
+
return c;
|
|
857
|
+
});
|
|
862
858
|
suitableSignatureIndex = meaning.candidates.findIndex((f) => f.getEntity().getOriginalEntity() === suitableOrSingleFunction.getEntity().getOriginalEntity());
|
|
863
859
|
} else {
|
|
864
860
|
functions = meaning.candidates;
|
|
@@ -892,7 +888,12 @@ var SignatureForNode = class _SignatureForNode {
|
|
|
892
888
|
let constructors;
|
|
893
889
|
if (meaning.suitableOrSingleConstructor !== void 0) {
|
|
894
890
|
const constructor = meaning.suitableOrSingleConstructor;
|
|
895
|
-
constructors =
|
|
891
|
+
constructors = meaning.candidates.map((c) => {
|
|
892
|
+
if (c.getEntity().getOriginalEntity() === constructor.getEntity().getOriginalEntity()) {
|
|
893
|
+
return constructor;
|
|
894
|
+
}
|
|
895
|
+
return c;
|
|
896
|
+
});
|
|
896
897
|
suitableSignatureIndex = meaning.candidates.findIndex((f) => f.getEntity().getOriginalEntity() === constructor.getEntity().getOriginalEntity());
|
|
897
898
|
} else {
|
|
898
899
|
constructors = meaning.candidates;
|
|
@@ -984,7 +985,7 @@ var SignatureForNode = class _SignatureForNode {
|
|
|
984
985
|
analyzer,
|
|
985
986
|
Array.from(substitutions.getParameters())
|
|
986
987
|
);
|
|
987
|
-
c = new
|
|
988
|
+
c = new Method(analyzer, c.getEntity(), identitySubstitutions);
|
|
988
989
|
}
|
|
989
990
|
return new ConstructorSignature(c);
|
|
990
991
|
});
|
|
@@ -1157,9 +1158,9 @@ var CompletionServiceA = class {
|
|
|
1157
1158
|
get completionItemInfoContext() {
|
|
1158
1159
|
return this.completionItemInfoContext_.getOrInsertWith(
|
|
1159
1160
|
() => new CompletionItemInfoContext(
|
|
1160
|
-
new DisplayService(this.analyzer, this.locale,
|
|
1161
|
+
new DisplayService(this.analyzer, this.locale, 0 /* ArtelA */, this.sourceFile),
|
|
1161
1162
|
this.locale,
|
|
1162
|
-
Query.from(getOrCreateKeywordDictionary(this.locale,
|
|
1163
|
+
Query.from(getOrCreateKeywordDictionary(this.locale, 0 /* ArtelA */).values()).flatMap((k) => k).mapAndFilter((k) => k.kind === 1 /* EndKeywordPart */ ? k.value : void 0).uniqueToSet()
|
|
1163
1164
|
)
|
|
1164
1165
|
);
|
|
1165
1166
|
}
|
|
@@ -1168,7 +1169,6 @@ var CompletionServiceA = class {
|
|
|
1168
1169
|
this.analyzer = analyzer;
|
|
1169
1170
|
this.completionItemInfoContext_.clear();
|
|
1170
1171
|
this.locale = sourceFile.locale;
|
|
1171
|
-
this.dialect = sourceFile.dialect;
|
|
1172
1172
|
const positionDescription = this.createPositionDescription(sourceFile.getSyntaxNode(), offset);
|
|
1173
1173
|
const semanticContext = this.createSemanticContextAtPosition(positionDescription);
|
|
1174
1174
|
const syntaxContext = SyntaxContextFactory.fromPositionDescription(sourceFile, positionDescription);
|
|
@@ -1701,7 +1701,7 @@ var CompletionServiceA = class {
|
|
|
1701
1701
|
if (positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isKeyword(44 /* Async */) && (positionDescription.tokenOrKeyword.parent.kind === 53 /* NestedFunctionDeclaration */ || positionDescription.tokenOrKeyword.parent.kind === 62 /* FunctionLiteral */ || positionDescription.tokenOrKeyword.parent.kind === 17 /* AnonymousFunctionTypeDeclaration */)) {
|
|
1702
1702
|
kinds.add(16 /* Function */);
|
|
1703
1703
|
}
|
|
1704
|
-
return Query.from(kinds.values()).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale
|
|
1704
|
+
return Query.from(kinds.values()).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale).map((v) => new KeywordCompletionItemInfo(this.completionItemInfoContext, k, v.value))).flatMap((i) => i).toArray();
|
|
1705
1705
|
}
|
|
1706
1706
|
isRepeatWhileKeywordContext(positionDescription) {
|
|
1707
1707
|
if (positionDescription.kind !== "after-token-or-keyword") {
|
|
@@ -1838,9 +1838,12 @@ var CompletionServiceA = class {
|
|
|
1838
1838
|
}
|
|
1839
1839
|
case "function": {
|
|
1840
1840
|
if (d.value.kind === "entity") {
|
|
1841
|
-
return new
|
|
1841
|
+
return new OrdinaryFunctionOrOperatorEntityCompletionItemInfo(
|
|
1842
|
+
this.completionItemInfoContext,
|
|
1843
|
+
d.value.value
|
|
1844
|
+
);
|
|
1842
1845
|
} else {
|
|
1843
|
-
return new
|
|
1846
|
+
return new OrdinaryMethodOrOperatorCompletionItemInfo(this.completionItemInfoContext, d.value.value);
|
|
1844
1847
|
}
|
|
1845
1848
|
}
|
|
1846
1849
|
case "type": {
|
|
@@ -1934,7 +1937,7 @@ var CompletionServiceA = class {
|
|
|
1934
1937
|
if (m.kind === 2 /* Type */) {
|
|
1935
1938
|
return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
|
|
1936
1939
|
} else if (m.kind === 1 /* Function */) {
|
|
1937
|
-
return new
|
|
1940
|
+
return new OrdinaryFunctionOrOperatorEntityCompletionItemInfo(this.completionItemInfoContext, m);
|
|
1938
1941
|
}
|
|
1939
1942
|
return void 0;
|
|
1940
1943
|
}).filter((i) => i !== void 0);
|
|
@@ -1948,7 +1951,7 @@ var CompletionServiceA = class {
|
|
|
1948
1951
|
if (m.kind === 2 /* Type */) {
|
|
1949
1952
|
return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, m);
|
|
1950
1953
|
} else if (m.kind === 1 /* Function */) {
|
|
1951
|
-
return new
|
|
1954
|
+
return new OrdinaryFunctionOrOperatorEntityCompletionItemInfo(this.completionItemInfoContext, m);
|
|
1952
1955
|
}
|
|
1953
1956
|
return void 0;
|
|
1954
1957
|
}).filter((i) => i !== void 0)
|
|
@@ -1962,7 +1965,10 @@ var CompletionServiceA = class {
|
|
|
1962
1965
|
case "type":
|
|
1963
1966
|
return new NamedTypeCompletionItemInfo(this.completionItemInfoContext, d.value);
|
|
1964
1967
|
case "function":
|
|
1965
|
-
return new
|
|
1968
|
+
return new OrdinaryFunctionOrOperatorEntityCompletionItemInfo(
|
|
1969
|
+
this.completionItemInfoContext,
|
|
1970
|
+
d.value.getEntity()
|
|
1971
|
+
);
|
|
1966
1972
|
case "package-name-segment":
|
|
1967
1973
|
return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.value.name);
|
|
1968
1974
|
case "package-alias":
|
|
@@ -1992,7 +1998,7 @@ var CompletionServiceA = class {
|
|
|
1992
1998
|
case 0 /* Variable */:
|
|
1993
1999
|
return new VariableEntityCompletionItemInfo(this.completionItemInfoContext, member);
|
|
1994
2000
|
case 1 /* Function */:
|
|
1995
|
-
return new
|
|
2001
|
+
return new OrdinaryFunctionOrOperatorEntityCompletionItemInfo(this.completionItemInfoContext, member);
|
|
1996
2002
|
case 2 /* Type */:
|
|
1997
2003
|
return this.createTypeEntityCompletionItemInfo(member);
|
|
1998
2004
|
default:
|
|
@@ -2004,11 +2010,11 @@ var CompletionServiceA = class {
|
|
|
2004
2010
|
}
|
|
2005
2011
|
getTypeMemberCompletionItemInfos(ctx) {
|
|
2006
2012
|
const type = this.analyzer.excludeNullFromType(ctx.type);
|
|
2007
|
-
const memberLookup =
|
|
2013
|
+
const memberLookup = TypeMemberLookupA.ofType(this.analyzer, type);
|
|
2008
2014
|
return memberLookup.getNamedMembers(ctx.lookupContext, ctx.lookupOptions).map((m) => {
|
|
2009
2015
|
switch (m.kind) {
|
|
2010
2016
|
case "method":
|
|
2011
|
-
return new
|
|
2017
|
+
return new OrdinaryMethodOrOperatorCompletionItemInfo(this.completionItemInfoContext, m);
|
|
2012
2018
|
case "field":
|
|
2013
2019
|
return new FieldCompletionItemInfo(this.completionItemInfoContext, m);
|
|
2014
2020
|
default:
|
|
@@ -2034,7 +2040,7 @@ var CompletionServiceA = class {
|
|
|
2034
2040
|
if (ctx.translationKind === 1 /* Method */) {
|
|
2035
2041
|
result = Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.lookupContext)).mapAndFilter((d) => {
|
|
2036
2042
|
if (d.kind === 1 /* Function */) {
|
|
2037
|
-
return new
|
|
2043
|
+
return new TranslationsSourceOrdinaryFunctionOrOperatorCompletionItemInfo(
|
|
2038
2044
|
this.completionItemInfoContext,
|
|
2039
2045
|
d,
|
|
2040
2046
|
!ctx.hasPrecedingKeyword
|
|
@@ -2059,7 +2065,7 @@ var CompletionServiceA = class {
|
|
|
2059
2065
|
case 0 /* Variable */:
|
|
2060
2066
|
return new TranslationsSourceVariableCompletionItemInfo(this.completionItemInfoContext, d);
|
|
2061
2067
|
case 1 /* Function */:
|
|
2062
|
-
return new
|
|
2068
|
+
return new TranslationsSourceOrdinaryFunctionOrOperatorCompletionItemInfo(
|
|
2063
2069
|
this.completionItemInfoContext,
|
|
2064
2070
|
d,
|
|
2065
2071
|
!ctx.hasPrecedingKeyword
|
|
@@ -2083,7 +2089,7 @@ var CompletionServiceA = class {
|
|
|
2083
2089
|
16 /* Function */
|
|
2084
2090
|
];
|
|
2085
2091
|
result = result.chain(
|
|
2086
|
-
Query.from(keywords).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale
|
|
2092
|
+
Query.from(keywords).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale).map((v) => new KeywordCompletionItemInfo(this.completionItemInfoContext, k, v.value))).flatMap((i) => i)
|
|
2087
2093
|
);
|
|
2088
2094
|
}
|
|
2089
2095
|
return result.toArray();
|
|
@@ -2092,9 +2098,9 @@ var CompletionServiceA = class {
|
|
|
2092
2098
|
let result = Query.empty();
|
|
2093
2099
|
if (ctx.typeEntity !== void 0) {
|
|
2094
2100
|
if (ctx.translationKind === 1 /* Method */) {
|
|
2095
|
-
result = Query.from(ctx.typeEntity.getMembers().
|
|
2101
|
+
result = Query.from(ctx.typeEntity.getMembers().getNamedMembersA()).mapAndFilter((m) => {
|
|
2096
2102
|
if (m.kind === 1 /* Function */) {
|
|
2097
|
-
return new
|
|
2103
|
+
return new TranslationsSourceOrdinaryFunctionOrOperatorCompletionItemInfo(
|
|
2098
2104
|
this.completionItemInfoContext,
|
|
2099
2105
|
m,
|
|
2100
2106
|
!ctx.hasPrecedingKeyword
|
|
@@ -2111,11 +2117,11 @@ var CompletionServiceA = class {
|
|
|
2111
2117
|
} else if (ctx.translationKind === 2 /* Indexer */) {
|
|
2112
2118
|
result = Query.from(ctx.typeEntity.getMembers().getIndexers()).map((i) => new TranslationsSourceIndexerCompletionItemInfo(this.completionItemInfoContext, i));
|
|
2113
2119
|
} else if (ctx.translationKind === 0 /* Any */) {
|
|
2114
|
-
result = Query.from(ctx.typeEntity.getMembers().
|
|
2120
|
+
result = Query.from(ctx.typeEntity.getMembers().getNamedMembersA()).mapAndFilter((m) => {
|
|
2115
2121
|
if (m.kind === 0 /* Variable */) {
|
|
2116
2122
|
return new TranslationsSourceVariableCompletionItemInfo(this.completionItemInfoContext, m);
|
|
2117
2123
|
} else if (m.kind === 1 /* Function */) {
|
|
2118
|
-
return new
|
|
2124
|
+
return new TranslationsSourceOrdinaryFunctionOrOperatorCompletionItemInfo(
|
|
2119
2125
|
this.completionItemInfoContext,
|
|
2120
2126
|
m,
|
|
2121
2127
|
!ctx.hasPrecedingKeyword
|
|
@@ -2141,7 +2147,7 @@ var CompletionServiceA = class {
|
|
|
2141
2147
|
35 /* Creation */
|
|
2142
2148
|
];
|
|
2143
2149
|
result = result.chain(
|
|
2144
|
-
Query.from(keywords).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale
|
|
2150
|
+
Query.from(keywords).map((k) => LocalizationHelperA.localizeKeyword(k, this.locale).map((v) => new KeywordCompletionItemInfo(this.completionItemInfoContext, k, v.value))).flatMap((i) => i)
|
|
2145
2151
|
);
|
|
2146
2152
|
}
|
|
2147
2153
|
return result.toArray();
|
|
@@ -2153,7 +2159,7 @@ var CompletionServiceA = class {
|
|
|
2153
2159
|
editRange = new Range(identifierRange.start + 1, identifierRange.end - 1);
|
|
2154
2160
|
}
|
|
2155
2161
|
return operatorKinds.map((k) => {
|
|
2156
|
-
const value = LocalizationHelperA.localizeSyntacticalOperatorKind(k, this.locale
|
|
2162
|
+
const value = LocalizationHelperA.localizeSyntacticalOperatorKind(k, this.locale);
|
|
2157
2163
|
return new OperatorNameCompletionItemInfo(this.completionItemInfoContext, value, editRange);
|
|
2158
2164
|
});
|
|
2159
2165
|
}
|
|
@@ -2486,21 +2492,14 @@ var FieldCompletionItemInfo = class {
|
|
|
2486
2492
|
return void 0;
|
|
2487
2493
|
}
|
|
2488
2494
|
};
|
|
2489
|
-
var
|
|
2495
|
+
var OrdinaryMethodOrOperatorCompletionItemInfo = class {
|
|
2490
2496
|
constructor(ctx, method) {
|
|
2491
2497
|
this.ctx = ctx;
|
|
2492
2498
|
this.method = method;
|
|
2493
2499
|
this.kind = "method";
|
|
2494
2500
|
}
|
|
2495
2501
|
getLabel() {
|
|
2496
|
-
|
|
2497
|
-
const operatorKind = this.method.getOperatorKind();
|
|
2498
|
-
if (operatorKind === void 0) {
|
|
2499
|
-
result = this.ctx.getInsertTextForName(this.method.getName());
|
|
2500
|
-
} else {
|
|
2501
|
-
result = `'${this.ctx.displayService.displayOperatorKind(operatorKind)}'`;
|
|
2502
|
-
}
|
|
2503
|
-
return result;
|
|
2502
|
+
return this.ctx.getInsertTextForName(this.method.getName());
|
|
2504
2503
|
}
|
|
2505
2504
|
getCompletionItemKind() {
|
|
2506
2505
|
return this.method.getOperatorKind() === void 0 ? 3 /* Method */ : 4 /* Operator */;
|
|
@@ -2554,28 +2553,21 @@ var VariableEntityCompletionItemInfo = class {
|
|
|
2554
2553
|
return void 0;
|
|
2555
2554
|
}
|
|
2556
2555
|
};
|
|
2557
|
-
var
|
|
2556
|
+
var OrdinaryFunctionOrOperatorEntityCompletionItemInfo = class {
|
|
2558
2557
|
constructor(ctx, entity) {
|
|
2559
2558
|
this.ctx = ctx;
|
|
2560
2559
|
this.entity = entity;
|
|
2561
2560
|
this.kind = "function-entity";
|
|
2562
2561
|
}
|
|
2563
2562
|
getLabel() {
|
|
2564
|
-
|
|
2565
|
-
const operatorKind = this.entity.subkind === "method" ? this.entity.getOperatorKind() : void 0;
|
|
2566
|
-
if (operatorKind === void 0) {
|
|
2567
|
-
result = this.ctx.getInsertTextForName(this.entity.getName());
|
|
2568
|
-
} else {
|
|
2569
|
-
result = `'${this.ctx.displayService.displayOperatorKind(operatorKind)}'`;
|
|
2570
|
-
}
|
|
2571
|
-
return result;
|
|
2563
|
+
return this.ctx.getInsertTextForName(this.entity.getName());
|
|
2572
2564
|
}
|
|
2573
2565
|
getCompletionItemKind() {
|
|
2574
2566
|
switch (this.entity.subkind) {
|
|
2575
2567
|
case "package":
|
|
2576
2568
|
return 8 /* PackageFunction */;
|
|
2577
2569
|
case "method":
|
|
2578
|
-
return this.entity.subkind === "method" && this.entity.
|
|
2570
|
+
return this.entity.subkind === "method" && this.entity.methodKind === 3 /* Operator */ ? 4 /* Operator */ : 3 /* Method */;
|
|
2579
2571
|
case "nested":
|
|
2580
2572
|
return 11 /* NestedFunction */;
|
|
2581
2573
|
default:
|
|
@@ -2764,7 +2756,7 @@ var TranslationsSourceVariableCompletionItemInfo = class {
|
|
|
2764
2756
|
return void 0;
|
|
2765
2757
|
}
|
|
2766
2758
|
};
|
|
2767
|
-
var
|
|
2759
|
+
var TranslationsSourceOrdinaryFunctionOrOperatorCompletionItemInfo = class {
|
|
2768
2760
|
constructor(ctx, func, includeFunctionKeyword) {
|
|
2769
2761
|
this.ctx = ctx;
|
|
2770
2762
|
this.func = func;
|
|
@@ -2902,8 +2894,8 @@ var TranslationsSourceConstructorCompletionItemInfo = class {
|
|
|
2902
2894
|
}
|
|
2903
2895
|
get label() {
|
|
2904
2896
|
return this.label_.getOrInsertWith(() => {
|
|
2905
|
-
const constructorDeclaration = new
|
|
2906
|
-
const displayParts = this.ctx.displayService.
|
|
2897
|
+
const constructorDeclaration = new FunctionDeclaration_entity(this.constructor_);
|
|
2898
|
+
const displayParts = this.ctx.displayService.getFunctionDeclarationDisplayParts(constructorDeclaration);
|
|
2907
2899
|
const creationKeyword = this.ctx.displayService.a.displayKeyword(35 /* Creation */);
|
|
2908
2900
|
return creationKeyword + "(" + displayParts.parameters.join(displayParts.parameterSeparator) + ")";
|
|
2909
2901
|
});
|
|
@@ -3386,9 +3378,6 @@ var SyntaxContextFactory = class {
|
|
|
3386
3378
|
if (tokenOrKeyword.isToken(32 /* Comma */) && (tokenOrKeyword.parent.kind === 24 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 156 /* TypeArgumentList */)) {
|
|
3387
3379
|
return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 156 /* TypeArgumentList */ };
|
|
3388
3380
|
}
|
|
3389
|
-
if (tokenOrKeyword.isToken(42 /* HashSign */) && tokenOrKeyword.parent.kind === 150 /* Tag */) {
|
|
3390
|
-
return { allowsAnonymousTypes: false };
|
|
3391
|
-
}
|
|
3392
3381
|
if ((tokenOrKeyword.isToken(31 /* Colon */) || tokenOrKeyword.isToken(64 /* Equals */)) && tokenOrKeyword.parent.kind === 146 /* TypeParameterDeclaration */) {
|
|
3393
3382
|
return { allowsAnonymousTypes: false };
|
|
3394
3383
|
}
|
|
@@ -3628,12 +3617,6 @@ var TypeParameterReferenceTarget = class {
|
|
|
3628
3617
|
this.kind = "type-value-parameter";
|
|
3629
3618
|
}
|
|
3630
3619
|
};
|
|
3631
|
-
var ConstructorReferenceTarget = class {
|
|
3632
|
-
constructor(constructor_) {
|
|
3633
|
-
this.constructor_ = constructor_;
|
|
3634
|
-
this.kind = "type-constructor";
|
|
3635
|
-
}
|
|
3636
|
-
};
|
|
3637
3620
|
var DereferenceOperatorReferenceTarget = class {
|
|
3638
3621
|
constructor(operator, accessKind) {
|
|
3639
3622
|
this.operator = operator;
|
|
@@ -4670,9 +4653,9 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4670
4653
|
}
|
|
4671
4654
|
}
|
|
4672
4655
|
}
|
|
4673
|
-
} else if (currentTarget.kind === "
|
|
4674
|
-
const entity = currentTarget.
|
|
4675
|
-
if (entity.getDefinition().kind === 1 /* Intrinsic */) {
|
|
4656
|
+
} else if (currentTarget.kind === "accessed-function") {
|
|
4657
|
+
const entity = currentTarget.func.getEntity();
|
|
4658
|
+
if (entity.subkind === "method" && TypeMemberEntity.isConstructor(entity) && entity.getDefinition().kind === 1 /* Intrinsic */) {
|
|
4676
4659
|
const containingEntity = entity.getContainingEntity();
|
|
4677
4660
|
if (containingEntity.kind === 2 /* Type */ && containingEntity.getDefinition().kind === 0 /* Source */) {
|
|
4678
4661
|
betterTarget = new EntityReferenceTarget(containingEntity, 0 /* Get */);
|
|
@@ -4722,18 +4705,18 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4722
4705
|
analyzer,
|
|
4723
4706
|
Array.from(substitutions.getParameters())
|
|
4724
4707
|
);
|
|
4725
|
-
return new
|
|
4708
|
+
return new Method(analyzer, c.getEntity(), identitySubstitutions);
|
|
4726
4709
|
}
|
|
4727
4710
|
return c;
|
|
4728
4711
|
});
|
|
4729
|
-
const targets = constructors.map((c) => new
|
|
4712
|
+
const targets = constructors.map((c) => new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(c)));
|
|
4730
4713
|
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
|
4731
4714
|
}
|
|
4732
4715
|
};
|
|
4733
4716
|
|
|
4734
4717
|
// source/services/common/Utils.ts
|
|
4735
4718
|
function getEntitySourceLocations(analyzer, entity) {
|
|
4736
|
-
if (entity.kind ===
|
|
4719
|
+
if (entity.kind === 9 /* Package */) {
|
|
4737
4720
|
return void 0;
|
|
4738
4721
|
}
|
|
4739
4722
|
let result;
|
|
@@ -4772,7 +4755,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
|
4772
4755
|
return new SourceLocation(sourceFile, range);
|
|
4773
4756
|
});
|
|
4774
4757
|
}
|
|
4775
|
-
} else if (entity.kind ===
|
|
4758
|
+
} else if (entity.kind === 10 /* TextTranslation */) {
|
|
4776
4759
|
const definition = entity.getDefinition();
|
|
4777
4760
|
if (definition.kind === 0 /* Source */) {
|
|
4778
4761
|
const range = definition.node.rangeWithoutTrivia;
|
|
@@ -4995,8 +4978,6 @@ var DefinitionService = class {
|
|
|
4995
4978
|
return getEntitySourceLocations(analyzer, target.entity);
|
|
4996
4979
|
case "field":
|
|
4997
4980
|
return this.getSourceLocationsOfVariableEntity(analyzer, target.field.getEntity());
|
|
4998
|
-
case "type-constructor":
|
|
4999
|
-
return getEntitySourceLocations(analyzer, target.constructor_.getEntity());
|
|
5000
4981
|
case "accessed-function":
|
|
5001
4982
|
return getEntitySourceLocations(analyzer, target.func.getEntity());
|
|
5002
4983
|
case "type-dereference-operator":
|
|
@@ -5033,8 +5014,6 @@ var DefinitionService = class {
|
|
|
5033
5014
|
return target.field.getEntity();
|
|
5034
5015
|
case "type-value-parameter":
|
|
5035
5016
|
return target.parameter.getEntity();
|
|
5036
|
-
case "type-constructor":
|
|
5037
|
-
return target.constructor_.getEntity();
|
|
5038
5017
|
case "type-dereference-operator":
|
|
5039
5018
|
return target.operator.getEntity();
|
|
5040
5019
|
case "accessed-function":
|
|
@@ -5102,7 +5081,6 @@ var DefinitionService = class {
|
|
|
5102
5081
|
case "type-context":
|
|
5103
5082
|
result.push(target.type);
|
|
5104
5083
|
break;
|
|
5105
|
-
case "type-constructor":
|
|
5106
5084
|
case "type-dereference-operator":
|
|
5107
5085
|
case "accessed-function":
|
|
5108
5086
|
case "type-indexer":
|
|
@@ -5378,10 +5356,6 @@ var HoverService = class {
|
|
|
5378
5356
|
);
|
|
5379
5357
|
return new Hover(this.displayService.displayVariableDeclaration(declaration), range);
|
|
5380
5358
|
}
|
|
5381
|
-
case "type-constructor": {
|
|
5382
|
-
const declaration = new ConstructorDeclaration_typeMember(firstTarget.constructor_);
|
|
5383
|
-
return new Hover(this.displayService.displayConstructorDeclaration(declaration), range);
|
|
5384
|
-
}
|
|
5385
5359
|
case "type-dereference-operator": {
|
|
5386
5360
|
const operator = new DereferenceOperatorDeclaration_typeMember(firstTarget.operator);
|
|
5387
5361
|
return new Hover(this.displayService.displayDereferenceOperatorDeclaration(operator), range);
|
|
@@ -5537,8 +5511,6 @@ var ReferencesSearchUtils = class {
|
|
|
5537
5511
|
return new DefinitionInfo(t.field.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5538
5512
|
case "type-value-parameter":
|
|
5539
5513
|
return new DefinitionInfo(t.parameter.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5540
|
-
case "type-constructor":
|
|
5541
|
-
return new DefinitionInfo(t.constructor_.getEntity(), 0 /* Read */);
|
|
5542
5514
|
case "type-dereference-operator":
|
|
5543
5515
|
return new DefinitionInfo(t.operator.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5544
5516
|
case "accessed-function":
|
|
@@ -5679,7 +5651,8 @@ var ReferencesFinderA = class extends ReferencesFinder {
|
|
|
5679
5651
|
findReferencesInSourceFileA(sourceFile, result, taskController) {
|
|
5680
5652
|
return __async(this, null, function* () {
|
|
5681
5653
|
let semanticInfoOptions;
|
|
5682
|
-
|
|
5654
|
+
const firstDefinition = this.definitions[0].value;
|
|
5655
|
+
if (firstDefinition.kind === 1 /* Function */ && firstDefinition.subkind === "method" && TypeMemberEntity.isConstructor(firstDefinition)) {
|
|
5683
5656
|
semanticInfoOptions = {
|
|
5684
5657
|
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5685
5658
|
includeBetterReferenceTargets: true
|
|
@@ -5957,73 +5930,10 @@ var ReferencesService = class {
|
|
|
5957
5930
|
Debug.never(sourceFile);
|
|
5958
5931
|
}
|
|
5959
5932
|
}
|
|
5960
|
-
getDefinitionsFromNodeSemanticInfo(info) {
|
|
5961
|
-
switch (info.kind) {
|
|
5962
|
-
case "definition":
|
|
5963
|
-
return [new DefinitionInfo(info.entity, 2 /* Declaration */)];
|
|
5964
|
-
case "reference":
|
|
5965
|
-
return getDefinitionOfReference(info);
|
|
5966
|
-
case "default-switch-match":
|
|
5967
|
-
return [];
|
|
5968
|
-
default:
|
|
5969
|
-
Debug.never(info);
|
|
5970
|
-
}
|
|
5971
|
-
function accessKindToReferenceKind(kind) {
|
|
5972
|
-
switch (kind) {
|
|
5973
|
-
case 0 /* Get */:
|
|
5974
|
-
return 0 /* Read */;
|
|
5975
|
-
case 1 /* Set */:
|
|
5976
|
-
return 1 /* Write */;
|
|
5977
|
-
case 2 /* GetSet */:
|
|
5978
|
-
return 1 /* Write */;
|
|
5979
|
-
default:
|
|
5980
|
-
Debug.never(kind);
|
|
5981
|
-
}
|
|
5982
|
-
}
|
|
5983
|
-
function getDefinitionOfReference(reference) {
|
|
5984
|
-
const targets = reference.betterTargets ?? reference.targets;
|
|
5985
|
-
return targets.map((t) => {
|
|
5986
|
-
switch (t.kind) {
|
|
5987
|
-
case "entity":
|
|
5988
|
-
return new DefinitionInfo(t.entity, accessKindToReferenceKind(t.accessKind));
|
|
5989
|
-
case "field":
|
|
5990
|
-
return new DefinitionInfo(t.field.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5991
|
-
case "type-value-parameter":
|
|
5992
|
-
return new DefinitionInfo(t.parameter.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5993
|
-
case "type-constructor":
|
|
5994
|
-
return new DefinitionInfo(t.constructor_.getEntity(), 0 /* Read */);
|
|
5995
|
-
case "type-dereference-operator":
|
|
5996
|
-
return new DefinitionInfo(t.operator.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
5997
|
-
case "accessed-function":
|
|
5998
|
-
return new DefinitionInfo(t.func.getEntity(), 0 /* Read */);
|
|
5999
|
-
case "match-result-value-parameter":
|
|
6000
|
-
return new DefinitionInfo(t.parameter.entity, 0 /* Read */);
|
|
6001
|
-
case "package":
|
|
6002
|
-
return new DefinitionInfo(t.package_, 0 /* Read */);
|
|
6003
|
-
case "type-context": {
|
|
6004
|
-
const entity = t.type.getEntity();
|
|
6005
|
-
if (entity !== void 0) {
|
|
6006
|
-
return new DefinitionInfo(entity, 0 /* Read */);
|
|
6007
|
-
}
|
|
6008
|
-
return void 0;
|
|
6009
|
-
}
|
|
6010
|
-
case "type-indexer":
|
|
6011
|
-
return new DefinitionInfo(t.indexer.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
6012
|
-
case "package-name-tree-node":
|
|
6013
|
-
if (t.node.package !== void 0) {
|
|
6014
|
-
return new DefinitionInfo(t.node.package, 0 /* Read */);
|
|
6015
|
-
}
|
|
6016
|
-
return void 0;
|
|
6017
|
-
default:
|
|
6018
|
-
Debug.never(t);
|
|
6019
|
-
}
|
|
6020
|
-
}).filter((t) => t !== void 0);
|
|
6021
|
-
}
|
|
6022
|
-
}
|
|
6023
5933
|
getReferenceRestrictions(definition, _options) {
|
|
6024
5934
|
const result = new ReferenceRestrictions();
|
|
6025
5935
|
let namedDefinitionInfo;
|
|
6026
|
-
if (definition.value.kind ===
|
|
5936
|
+
if (definition.value.kind === 1 /* Function */ && definition.value.subkind === "method" && TypeMemberEntity.isConstructor(definition.value)) {
|
|
6027
5937
|
const type = TypeWithMembersOrExtensionEntity.getContextualTypeEntity(definition.value.getContainingEntity());
|
|
6028
5938
|
if (type !== void 0) {
|
|
6029
5939
|
namedDefinitionInfo = this.isEntityWithRegularName(type);
|
|
@@ -6034,14 +5944,15 @@ var ReferencesService = class {
|
|
|
6034
5944
|
if (namedDefinitionInfo !== void 0) {
|
|
6035
5945
|
result.canBeIdentifier = true;
|
|
6036
5946
|
}
|
|
6037
|
-
|
|
5947
|
+
const isConstructor = definition.value.kind === 1 /* Function */ && definition.value.subkind === "method" && TypeMemberEntity.isConstructor(definition.value);
|
|
5948
|
+
if (isConstructor) {
|
|
6038
5949
|
result.canBeAutotypeCall = true;
|
|
6039
5950
|
result.canBeConstructorDeclaration = true;
|
|
6040
5951
|
}
|
|
6041
5952
|
if (definition.value.kind === 6 /* DereferenceOperator */) {
|
|
6042
5953
|
result.canBeDereferenceOperator = true;
|
|
6043
5954
|
}
|
|
6044
|
-
if (isTypeEntity(definition.value) ||
|
|
5955
|
+
if (isTypeEntity(definition.value) || isConstructor) {
|
|
6045
5956
|
result.canBeOwnOrBaseConstructorCall = true;
|
|
6046
5957
|
}
|
|
6047
5958
|
if (definition.value.kind === 1 /* Function */) {
|
|
@@ -6053,7 +5964,7 @@ var ReferencesService = class {
|
|
|
6053
5964
|
if (definition.value.kind === 0 /* Variable */ && definition.value.subkind === "parameter" && definition.value.isObjectParameter()) {
|
|
6054
5965
|
result.canBeObjectParameter = true;
|
|
6055
5966
|
}
|
|
6056
|
-
if (definition.value.kind === 1 /* Function */ && definition.value.subkind === "method") {
|
|
5967
|
+
if (definition.value.kind === 1 /* Function */ && definition.value.subkind === "method" && definition.value.methodKind === 3 /* Operator */) {
|
|
6057
5968
|
const operatorKind = definition.value.getOperatorKind();
|
|
6058
5969
|
if (operatorKind !== void 0) {
|
|
6059
5970
|
if (isUnaryOperator(operatorKind)) {
|
|
@@ -6066,6 +5977,8 @@ var ReferencesService = class {
|
|
|
6066
5977
|
}
|
|
6067
5978
|
return result;
|
|
6068
5979
|
}
|
|
5980
|
+
// TODO: вынести эту логику в сервис, зависящий от диалекта. В диалекта А конструктор нельзя переименовать,
|
|
5981
|
+
// в диалекте М - можно.
|
|
6069
5982
|
isEntityWithRegularName(entity) {
|
|
6070
5983
|
switch (entity.kind) {
|
|
6071
5984
|
case 0 /* Variable */:
|
|
@@ -6110,17 +6023,15 @@ var ReferencesService = class {
|
|
|
6110
6023
|
}
|
|
6111
6024
|
return void 0;
|
|
6112
6025
|
}
|
|
6113
|
-
case
|
|
6026
|
+
case 7 /* PackageAlias */:
|
|
6114
6027
|
return { name: entity.getName() };
|
|
6115
6028
|
case 3 /* Getter */:
|
|
6116
6029
|
case 4 /* Setter */:
|
|
6117
|
-
case 7 /* Constructor */:
|
|
6118
|
-
case 8 /* Destructor */:
|
|
6119
6030
|
case 5 /* Indexer */:
|
|
6120
6031
|
case 6 /* DereferenceOperator */:
|
|
6121
|
-
case
|
|
6122
|
-
case
|
|
6123
|
-
case
|
|
6032
|
+
case 9 /* Package */:
|
|
6033
|
+
case 8 /* TypeExtension */:
|
|
6034
|
+
case 10 /* TextTranslation */:
|
|
6124
6035
|
return void 0;
|
|
6125
6036
|
default:
|
|
6126
6037
|
Debug.never(entity);
|
|
@@ -6208,7 +6119,6 @@ var RenameService = class {
|
|
|
6208
6119
|
case "match-result-value-parameter":
|
|
6209
6120
|
canBeRenamed = this.entityCanBeRenamed(analyzer, target.parameter.entity);
|
|
6210
6121
|
break;
|
|
6211
|
-
case "type-constructor":
|
|
6212
6122
|
case "type-dereference-operator":
|
|
6213
6123
|
case "package":
|
|
6214
6124
|
case "type-context":
|
|
@@ -6697,7 +6607,7 @@ var SemanticTokensServiceA = class {
|
|
|
6697
6607
|
case "package":
|
|
6698
6608
|
return 4 /* PackageFunction */;
|
|
6699
6609
|
case "method":
|
|
6700
|
-
return entity.
|
|
6610
|
+
return entity.methodKind === 3 /* Operator */ ? 7 /* Operator */ : 6 /* Method */;
|
|
6701
6611
|
case "nested":
|
|
6702
6612
|
return 5 /* NestedFunction */;
|
|
6703
6613
|
default:
|
|
@@ -6884,9 +6794,9 @@ var ParametersSignatureHelpProvider = class {
|
|
|
6884
6794
|
return this.signatureContext.convertFunctionTypeBodyDisplayParts(displayParts);
|
|
6885
6795
|
}
|
|
6886
6796
|
case "constructor": {
|
|
6887
|
-
const constructor = new
|
|
6888
|
-
const displayParts = this.signatureContext.displayService.
|
|
6889
|
-
return this.signatureContext.
|
|
6797
|
+
const constructor = new FunctionDeclaration_typeMember(signature.constructor_);
|
|
6798
|
+
const displayParts = this.signatureContext.displayService.getFunctionDeclarationDisplayParts(constructor);
|
|
6799
|
+
return this.signatureContext.convertFunctionDisplayParts(displayParts);
|
|
6890
6800
|
}
|
|
6891
6801
|
case "indexer": {
|
|
6892
6802
|
const indexer = new IndexerDeclaration_typeMember(signature.indexer);
|
|
@@ -6919,12 +6829,6 @@ var SignatureContext = class {
|
|
|
6919
6829
|
const postfix = parts.afterParameters;
|
|
6920
6830
|
return new SignatureDisplayParts(prefix, parameters, parts.parameterSeparator, postfix);
|
|
6921
6831
|
}
|
|
6922
|
-
convertConstructorDisplayParts(parts) {
|
|
6923
|
-
const prefix = parts.beforeParameters;
|
|
6924
|
-
const parameters = parts.parameters;
|
|
6925
|
-
const postfix = parts.afterParameters;
|
|
6926
|
-
return new SignatureDisplayParts(prefix, parameters, parts.parameterSeparator, postfix);
|
|
6927
|
-
}
|
|
6928
6832
|
convertIndexerDisplayParts(parts) {
|
|
6929
6833
|
const prefix = parts.beforeParameters;
|
|
6930
6834
|
const parameters = parts.parameters;
|
|
@@ -7311,9 +7215,6 @@ var SourceFileItemsServiceA = class {
|
|
|
7311
7215
|
get locale() {
|
|
7312
7216
|
return this.sourceFile.locale;
|
|
7313
7217
|
}
|
|
7314
|
-
get dialect() {
|
|
7315
|
-
return this.sourceFile.dialect;
|
|
7316
|
-
}
|
|
7317
7218
|
getChildItems(node) {
|
|
7318
7219
|
const result = new Array();
|
|
7319
7220
|
forEachChild(node, false, (node2) => {
|
|
@@ -7548,32 +7449,32 @@ var SourceFileItemsServiceA = class {
|
|
|
7548
7449
|
case 4 /* PackageFunction */:
|
|
7549
7450
|
case 17 /* Method */:
|
|
7550
7451
|
case 21 /* NestedFunction */:
|
|
7551
|
-
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(16 /* Function */, this.locale
|
|
7452
|
+
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(16 /* Function */, this.locale)}>`;
|
|
7552
7453
|
case 5 /* StructuredType */:
|
|
7553
7454
|
case 6 /* FunctionType */:
|
|
7554
7455
|
case 7 /* VariantType */:
|
|
7555
7456
|
case 8 /* ReducedType */:
|
|
7556
7457
|
case 10 /* InvalidType */:
|
|
7557
7458
|
case 9 /* AliasType */:
|
|
7558
|
-
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(20 /* Type */, this.locale
|
|
7459
|
+
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(20 /* Type */, this.locale)}>`;
|
|
7559
7460
|
case 12 /* Constructor */:
|
|
7560
|
-
return name ?? LocalizationHelperA.localizeKeywordAndTakeFirst(35 /* Creation */, this.locale
|
|
7461
|
+
return name ?? LocalizationHelperA.localizeKeywordAndTakeFirst(35 /* Creation */, this.locale);
|
|
7561
7462
|
case 13 /* Destructor */:
|
|
7562
|
-
return name ?? LocalizationHelperA.localizeKeywordAndTakeFirst(51 /* Destruction */, this.locale
|
|
7463
|
+
return name ?? LocalizationHelperA.localizeKeywordAndTakeFirst(51 /* Destruction */, this.locale);
|
|
7563
7464
|
case 11 /* VariantValue */:
|
|
7564
|
-
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(8 /* Variant */, this.locale
|
|
7465
|
+
return name ?? `<${LocalizationHelperA.localizeKeywordAndTakeFirst(8 /* Variant */, this.locale)}>`;
|
|
7565
7466
|
case 20 /* TypeParameter */:
|
|
7566
7467
|
return name ?? `<${LocalizationHelperA.localizeHelperPhrase(2 /* TypeParameter */, this.locale)}>`;
|
|
7567
7468
|
case 2 /* PackageVariableGetter */:
|
|
7568
7469
|
case 15 /* FieldGetter */:
|
|
7569
|
-
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(62 /* Get */, this.locale
|
|
7470
|
+
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(62 /* Get */, this.locale)} ${name ?? ""}`;
|
|
7570
7471
|
case 3 /* PackageVariableSetter */:
|
|
7571
7472
|
case 16 /* FieldSetter */:
|
|
7572
|
-
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(63 /* Set */, this.locale
|
|
7473
|
+
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(63 /* Set */, this.locale)} ${name ?? ""}`;
|
|
7573
7474
|
case 18 /* IndexedElementGetter */:
|
|
7574
|
-
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(62 /* Get */, this.locale
|
|
7475
|
+
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(62 /* Get */, this.locale)} []`;
|
|
7575
7476
|
case 19 /* IndexedElementSetter */:
|
|
7576
|
-
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(63 /* Set */, this.locale
|
|
7477
|
+
return `${LocalizationHelperA.localizeKeywordAndTakeFirst(63 /* Set */, this.locale)} []`;
|
|
7577
7478
|
default:
|
|
7578
7479
|
Debug.never(kind);
|
|
7579
7480
|
}
|
|
@@ -10079,17 +9980,25 @@ var EntityToSyntax = class {
|
|
|
10079
9980
|
return sortModifiers(modifiers);
|
|
10080
9981
|
}
|
|
10081
9982
|
convertTypeEntityMembers(members) {
|
|
10082
|
-
const variables = members.getNamedMembers().filter((m) => m.kind === 0 /* Variable */).flatMap((m) => this.convertField(m));
|
|
9983
|
+
const variables = members.getNamedMembers(127 /* All */).filter((m) => m.kind === 0 /* Variable */).flatMap((m) => this.convertField(m));
|
|
10083
9984
|
const groupedVariables = this.groupTypeMemberDeclarations(variables);
|
|
10084
|
-
const
|
|
10085
|
-
const
|
|
10086
|
-
const
|
|
9985
|
+
const ordinaryMethods = members.getNamedMembers(127 /* All */).filter((m) => TypeMemberEntity.isOrdinaryMethod(m)).map((m) => this.convertMethod(m));
|
|
9986
|
+
const groupedOrdinaryMethods = this.groupTypeMemberDeclarations(ordinaryMethods);
|
|
9987
|
+
const operators = members.getOperators().map((m) => this.convertMethod(m));
|
|
9988
|
+
const groupedOperators = this.groupTypeMemberDeclarations(operators);
|
|
9989
|
+
const constructors = members.getConstructors().map((c) => this.convertMethod(c));
|
|
10087
9990
|
const groupedConstructors = this.groupTypeMemberDeclarations(constructors);
|
|
10088
|
-
const destructors = members.getDestructors().map((d) => this.
|
|
9991
|
+
const destructors = members.getDestructors().map((d) => this.convertMethod(d));
|
|
10089
9992
|
const groupedDestructors = this.groupTypeMemberDeclarations(destructors);
|
|
10090
9993
|
const indexers = members.getIndexers().flatMap((i) => this.convertIndexer(i));
|
|
10091
9994
|
const groupedIndexers = this.groupTypeMemberDeclarations(indexers);
|
|
10092
|
-
return groupedVariables.concat(
|
|
9995
|
+
return groupedVariables.concat(
|
|
9996
|
+
groupedIndexers,
|
|
9997
|
+
groupedConstructors,
|
|
9998
|
+
groupedOrdinaryMethods,
|
|
9999
|
+
groupedOperators,
|
|
10000
|
+
groupedDestructors
|
|
10001
|
+
);
|
|
10093
10002
|
}
|
|
10094
10003
|
convertField(entity) {
|
|
10095
10004
|
if (entity.isVariant()) {
|
|
@@ -10139,13 +10048,32 @@ var EntityToSyntax = class {
|
|
|
10139
10048
|
return sortModifiers(modifiers);
|
|
10140
10049
|
}
|
|
10141
10050
|
convertMethod(entity) {
|
|
10142
|
-
|
|
10143
|
-
|
|
10144
|
-
|
|
10145
|
-
|
|
10146
|
-
|
|
10147
|
-
|
|
10148
|
-
|
|
10051
|
+
switch (entity.methodKind) {
|
|
10052
|
+
case 0 /* Ordinary */:
|
|
10053
|
+
case 3 /* Operator */: {
|
|
10054
|
+
const tags = this.convertTags(entity.getTags());
|
|
10055
|
+
const modifiers = this.convertMethodModifiers(entity);
|
|
10056
|
+
const name = this.getEntityName(entity);
|
|
10057
|
+
const typeParameters = this.convertTypeParameters(entity.getTypeParameters());
|
|
10058
|
+
const parameters = this.convertParameters(entity.getParameters());
|
|
10059
|
+
const returnType = this.convertTypeIfNotNullType(entity.getReturnType());
|
|
10060
|
+
return SyntaxFactory.methodDeclaration(tags, modifiers, name, typeParameters, parameters, returnType, void 0);
|
|
10061
|
+
}
|
|
10062
|
+
case 1 /* Constructor */: {
|
|
10063
|
+
const tags = this.convertTags(entity.getTags());
|
|
10064
|
+
const modifiers = this.convertConstructorModifiers(entity);
|
|
10065
|
+
const parameters = this.convertParameters(entity.getParameters());
|
|
10066
|
+
return SyntaxFactory.constructorDeclaration(tags, modifiers, parameters, void 0);
|
|
10067
|
+
}
|
|
10068
|
+
case 2 /* Destructor */: {
|
|
10069
|
+
const tags = this.convertTags(entity.getTags());
|
|
10070
|
+
const modifiers = this.convertDestructorModifiers(entity);
|
|
10071
|
+
const parameters = this.convertParameters(entity.getParameters());
|
|
10072
|
+
return SyntaxFactory.destructorDeclaration(tags, modifiers, parameters, void 0);
|
|
10073
|
+
}
|
|
10074
|
+
default:
|
|
10075
|
+
Debug.never(entity.methodKind);
|
|
10076
|
+
}
|
|
10149
10077
|
}
|
|
10150
10078
|
convertMethodModifiers(entity) {
|
|
10151
10079
|
const modifiers = new Array();
|
|
@@ -10167,12 +10095,6 @@ var EntityToSyntax = class {
|
|
|
10167
10095
|
}
|
|
10168
10096
|
return sortModifiers(modifiers);
|
|
10169
10097
|
}
|
|
10170
|
-
convertConstructor(entity) {
|
|
10171
|
-
const tags = this.convertTags(entity.getTags());
|
|
10172
|
-
const modifiers = this.convertConstructorModifiers(entity);
|
|
10173
|
-
const parameters = this.convertParameters(entity.getParameters());
|
|
10174
|
-
return SyntaxFactory.constructorDeclaration(tags, modifiers, parameters, void 0);
|
|
10175
|
-
}
|
|
10176
10098
|
convertConstructorModifiers(entity) {
|
|
10177
10099
|
const modifiers = new Array();
|
|
10178
10100
|
const isHidden = entity.isHidden();
|
|
@@ -10184,12 +10106,6 @@ var EntityToSyntax = class {
|
|
|
10184
10106
|
}
|
|
10185
10107
|
return sortModifiers(modifiers);
|
|
10186
10108
|
}
|
|
10187
|
-
convertDestructor(entity) {
|
|
10188
|
-
const tags = this.convertTags(entity.getTags());
|
|
10189
|
-
const modifiers = this.convertDestructorModifiers(entity);
|
|
10190
|
-
const parameters = this.convertParameters(entity.getParameters());
|
|
10191
|
-
return SyntaxFactory.destructorDeclaration(tags, modifiers, parameters, void 0);
|
|
10192
|
-
}
|
|
10193
10109
|
convertDestructorModifiers(entity) {
|
|
10194
10110
|
const modifiers = new Array();
|
|
10195
10111
|
const isHidden = entity.isHidden();
|
|
@@ -10718,16 +10634,14 @@ var SourceGenerationService = class extends RxObject7 {
|
|
|
10718
10634
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getOwningEntity());
|
|
10719
10635
|
case 5 /* Indexer */:
|
|
10720
10636
|
case 6 /* DereferenceOperator */:
|
|
10721
|
-
case 7 /* Constructor */:
|
|
10722
|
-
case 8 /* Destructor */:
|
|
10723
10637
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getContainingEntity());
|
|
10724
|
-
case
|
|
10638
|
+
case 7 /* PackageAlias */:
|
|
10725
10639
|
return false;
|
|
10726
|
-
case
|
|
10640
|
+
case 9 /* Package */:
|
|
10727
10641
|
return false;
|
|
10728
|
-
case
|
|
10642
|
+
case 8 /* TypeExtension */:
|
|
10729
10643
|
return true;
|
|
10730
|
-
case
|
|
10644
|
+
case 10 /* TextTranslation */:
|
|
10731
10645
|
return true;
|
|
10732
10646
|
default:
|
|
10733
10647
|
Debug.never(entity);
|
|
@@ -10805,34 +10719,30 @@ var EntityFinder = class {
|
|
|
10805
10719
|
case 1 /* Structured */:
|
|
10806
10720
|
case 0 /* Function */: {
|
|
10807
10721
|
if (entity.subkind === "package") {
|
|
10808
|
-
return this.findPackageTypeEntityByNameAndArity(
|
|
10722
|
+
return this.findPackageTypeEntityByNameAndArity(entity.getName(), entity.getArity());
|
|
10809
10723
|
}
|
|
10810
10724
|
return void 0;
|
|
10811
10725
|
}
|
|
10812
10726
|
case 4 /* Alias */:
|
|
10813
|
-
return this.findPackageTypeEntityByNameAndArity(
|
|
10727
|
+
return this.findPackageTypeEntityByNameAndArity(entity.getName(), entity.getArity());
|
|
10814
10728
|
case 5 /* Reduced */:
|
|
10815
|
-
return this.findPackageTypeEntityByNameAndArity(
|
|
10729
|
+
return this.findPackageTypeEntityByNameAndArity(entity.getName(), entity.getArity());
|
|
10816
10730
|
case 2 /* Parameter */:
|
|
10817
10731
|
return this.findTypeParameterEntity(entity);
|
|
10818
10732
|
default:
|
|
10819
10733
|
Debug.never(entity);
|
|
10820
10734
|
}
|
|
10821
|
-
case 7 /* Constructor */:
|
|
10822
|
-
return this.findConstructorEntity(entity);
|
|
10823
|
-
case 8 /* Destructor */:
|
|
10824
|
-
return this.findDestructorEntity(entity);
|
|
10825
10735
|
case 5 /* Indexer */:
|
|
10826
10736
|
return this.findIndexerEntity(entity);
|
|
10827
10737
|
case 6 /* DereferenceOperator */:
|
|
10828
10738
|
return this.findDereferenceOperatorEntity(entity);
|
|
10829
|
-
case
|
|
10739
|
+
case 7 /* PackageAlias */:
|
|
10830
10740
|
case 3 /* Getter */:
|
|
10831
10741
|
case 4 /* Setter */:
|
|
10832
|
-
case
|
|
10833
|
-
case
|
|
10742
|
+
case 9 /* Package */:
|
|
10743
|
+
case 8 /* TypeExtension */:
|
|
10834
10744
|
return void 0;
|
|
10835
|
-
case
|
|
10745
|
+
case 10 /* TextTranslation */:
|
|
10836
10746
|
return void 0;
|
|
10837
10747
|
default:
|
|
10838
10748
|
Debug.never(entity);
|
|
@@ -10840,20 +10750,18 @@ var EntityFinder = class {
|
|
|
10840
10750
|
}
|
|
10841
10751
|
findVariableEntity(entity) {
|
|
10842
10752
|
if (entity.subkind === "package") {
|
|
10843
|
-
return this.packageEntity.getMembers().getNamedMembersByName(
|
|
10753
|
+
return this.packageEntity.getMembers().getNamedMembersByName(entity.getName()).at(0);
|
|
10844
10754
|
} else if (entity.subkind === "field") {
|
|
10845
10755
|
const containingType = this.findEntity(entity.getContainingEntity());
|
|
10846
10756
|
if (containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType)) {
|
|
10847
|
-
return containingType.getMembers().getNamedMembersByName(
|
|
10757
|
+
return containingType.getMembers().getNamedMembersByName(entity.getName(), 127 /* All */)[0];
|
|
10848
10758
|
}
|
|
10849
10759
|
} else if (entity.subkind === "parameter") {
|
|
10850
10760
|
const originalContainingEntity = entity.getContainingEntity();
|
|
10851
|
-
|
|
10852
|
-
|
|
10853
|
-
|
|
10854
|
-
|
|
10855
|
-
return this.ifEntityWithParametersThenParameters(containingEntity)?.[index];
|
|
10856
|
-
}
|
|
10761
|
+
const index = originalContainingEntity.getParameters().indexOf(entity);
|
|
10762
|
+
const containingEntity = this.findEntity(originalContainingEntity);
|
|
10763
|
+
if (containingEntity !== void 0 && index >= 0) {
|
|
10764
|
+
return this.ifEntityWithParametersThenParameters(containingEntity)?.[index];
|
|
10857
10765
|
}
|
|
10858
10766
|
}
|
|
10859
10767
|
return void 0;
|
|
@@ -10861,7 +10769,7 @@ var EntityFinder = class {
|
|
|
10861
10769
|
findFunctionEntity(entity) {
|
|
10862
10770
|
switch (entity.subkind) {
|
|
10863
10771
|
case "package": {
|
|
10864
|
-
const members = this.packageEntity.getMembers().getNamedMembersByName(
|
|
10772
|
+
const members = this.packageEntity.getMembers().getNamedMembersByName(entity.getName()).filter((m) => m.kind === 1 /* Function */);
|
|
10865
10773
|
if (members.length === 0) {
|
|
10866
10774
|
return void 0;
|
|
10867
10775
|
} else if (members.length === 1) {
|
|
@@ -10881,7 +10789,7 @@ var EntityFinder = class {
|
|
|
10881
10789
|
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
10882
10790
|
return void 0;
|
|
10883
10791
|
}
|
|
10884
|
-
const members = containingType.getMembers().getNamedMembersByName(
|
|
10792
|
+
const members = containingType.getMembers().getNamedMembersByName(entity.getSpecialNameOrName(), 127 /* All */).filter((m) => m.kind === 1 /* Function */);
|
|
10885
10793
|
if (members.length === 0) {
|
|
10886
10794
|
return void 0;
|
|
10887
10795
|
} else if (members.length === 1) {
|
|
@@ -10903,40 +10811,6 @@ var EntityFinder = class {
|
|
|
10903
10811
|
Debug.never(entity);
|
|
10904
10812
|
}
|
|
10905
10813
|
}
|
|
10906
|
-
findConstructorEntity(entity) {
|
|
10907
|
-
const containingType = this.findEntity(entity.getContainingEntity());
|
|
10908
|
-
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
10909
|
-
return void 0;
|
|
10910
|
-
}
|
|
10911
|
-
const members = containingType.getMembers().getConstructors();
|
|
10912
|
-
if (members.length === 0) {
|
|
10913
|
-
return void 0;
|
|
10914
|
-
} else if (members.length === 1) {
|
|
10915
|
-
return members[0];
|
|
10916
|
-
} else {
|
|
10917
|
-
const referenceData = new DataForFindingOverloadedMember([], entity.getParameters());
|
|
10918
|
-
const membersData = members.map((m) => new DataForFindingOverloadedMember([], m.getParameters()));
|
|
10919
|
-
const index = this.findOverloadedMemberIndex(referenceData, membersData);
|
|
10920
|
-
return index >= 0 ? members[index] : void 0;
|
|
10921
|
-
}
|
|
10922
|
-
}
|
|
10923
|
-
findDestructorEntity(entity) {
|
|
10924
|
-
const containingType = this.findEntity(entity.getContainingEntity());
|
|
10925
|
-
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
10926
|
-
return void 0;
|
|
10927
|
-
}
|
|
10928
|
-
const members = containingType.getMembers().getDestructors();
|
|
10929
|
-
if (members.length === 0) {
|
|
10930
|
-
return void 0;
|
|
10931
|
-
} else if (members.length === 1) {
|
|
10932
|
-
return members[0];
|
|
10933
|
-
} else {
|
|
10934
|
-
const referenceData = new DataForFindingOverloadedMember([], entity.getParameters());
|
|
10935
|
-
const membersData = members.map((m) => new DataForFindingOverloadedMember([], m.getParameters()));
|
|
10936
|
-
const index = this.findOverloadedMemberIndex(referenceData, membersData);
|
|
10937
|
-
return index >= 0 ? members[index] : void 0;
|
|
10938
|
-
}
|
|
10939
|
-
}
|
|
10940
10814
|
findIndexerEntity(entity) {
|
|
10941
10815
|
const containingType = this.findEntity(entity.getContainingEntity());
|
|
10942
10816
|
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
@@ -10986,10 +10860,6 @@ var EntityFinder = class {
|
|
|
10986
10860
|
return entity.getParameters();
|
|
10987
10861
|
case 5 /* Indexer */:
|
|
10988
10862
|
return entity.getParameters();
|
|
10989
|
-
case 7 /* Constructor */:
|
|
10990
|
-
return entity.getParameters();
|
|
10991
|
-
case 8 /* Destructor */:
|
|
10992
|
-
return entity.getParameters();
|
|
10993
10863
|
case 2 /* Type */: {
|
|
10994
10864
|
if (entity.typeEntityKind === 0 /* Function */) {
|
|
10995
10865
|
return entity.getParameters();
|
|
@@ -10999,12 +10869,12 @@ var EntityFinder = class {
|
|
|
10999
10869
|
case 0 /* Variable */:
|
|
11000
10870
|
case 3 /* Getter */:
|
|
11001
10871
|
case 4 /* Setter */:
|
|
11002
|
-
case
|
|
11003
|
-
case
|
|
11004
|
-
case
|
|
10872
|
+
case 7 /* PackageAlias */:
|
|
10873
|
+
case 9 /* Package */:
|
|
10874
|
+
case 8 /* TypeExtension */:
|
|
11005
10875
|
case 6 /* DereferenceOperator */:
|
|
11006
10876
|
return void 0;
|
|
11007
|
-
case
|
|
10877
|
+
case 10 /* TextTranslation */:
|
|
11008
10878
|
return void 0;
|
|
11009
10879
|
default:
|
|
11010
10880
|
Debug.never(entity);
|
|
@@ -11020,17 +10890,15 @@ var EntityFinder = class {
|
|
|
11020
10890
|
}
|
|
11021
10891
|
return void 0;
|
|
11022
10892
|
}
|
|
11023
|
-
case 8 /* Destructor */:
|
|
11024
|
-
case 7 /* Constructor */:
|
|
11025
10893
|
case 5 /* Indexer */:
|
|
11026
10894
|
case 6 /* DereferenceOperator */:
|
|
11027
10895
|
case 0 /* Variable */:
|
|
11028
10896
|
case 3 /* Getter */:
|
|
11029
10897
|
case 4 /* Setter */:
|
|
11030
|
-
case
|
|
11031
|
-
case
|
|
11032
|
-
case
|
|
11033
|
-
case
|
|
10898
|
+
case 7 /* PackageAlias */:
|
|
10899
|
+
case 9 /* Package */:
|
|
10900
|
+
case 8 /* TypeExtension */:
|
|
10901
|
+
case 10 /* TextTranslation */:
|
|
11034
10902
|
return void 0;
|
|
11035
10903
|
default:
|
|
11036
10904
|
Debug.never(entity);
|
|
@@ -11045,7 +10913,7 @@ var EntityFinder = class {
|
|
|
11045
10913
|
const parametersAreEqual = Query.zip(
|
|
11046
10914
|
memberData.parameters,
|
|
11047
10915
|
referenceData.parameters,
|
|
11048
|
-
(r, m) =>
|
|
10916
|
+
(r, m) => r.getName().considerEqual(m.getName())
|
|
11049
10917
|
).all((v) => v);
|
|
11050
10918
|
if (parametersAreEqual) {
|
|
11051
10919
|
return i;
|
|
@@ -11053,9 +10921,6 @@ var EntityFinder = class {
|
|
|
11053
10921
|
}
|
|
11054
10922
|
return -1;
|
|
11055
10923
|
}
|
|
11056
|
-
getEntityName(entity) {
|
|
11057
|
-
return entity.getName();
|
|
11058
|
-
}
|
|
11059
10924
|
};
|
|
11060
10925
|
var DataForFindingOverloadedMember = class {
|
|
11061
10926
|
constructor(typeParameters, parameters) {
|