@artel/artc 0.6.26024 → 0.6.26026
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 +48 -28
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +254 -137
- package/build/{chunk-SVBA2GB7.js → chunk-35ZDOLQ3.js} +30 -7
- package/build/{chunk-W2Y4H3RW.js → chunk-TWDMG7M3.js} +1 -1
- package/build/{chunk-W3GP7NSM.js → chunk-UY7U6EAT.js} +12007 -9592
- package/build/types/analysis/AccessedFunction.d.ts +3 -0
- package/build/types/analysis/AccessibilityCheck.d.ts +3 -4
- package/build/types/analysis/Analyzer.d.ts +26 -17
- package/build/types/analysis/BaseMemberConflictsValidator.d.ts +1 -1
- package/build/types/analysis/ComputedAccess.d.ts +13 -0
- package/build/types/analysis/OverrideChecker.d.ts +17 -0
- package/build/types/analysis/SpecialNameKey.d.ts +4 -0
- package/build/types/analysis/TypeMemberImplementationChecker.d.ts +7 -1
- package/build/types/analysis/WellKnownDeclarations.d.ts +3 -0
- package/build/types/analysis/a/Analyzer.d.ts +34 -25
- package/build/types/analysis/a/DereferenceExpressionMeaning.d.ts +6 -4
- package/build/types/analysis/a/FindModifier.d.ts +1 -0
- package/build/types/analysis/a/IdentifierExpressionMeaning.d.ts +16 -7
- package/build/types/analysis/a/IndexedAccessExpressionMeaning.d.ts +7 -5
- package/build/types/analysis/a/MemberAccessExpressionMeaning.d.ts +14 -9
- package/build/types/analysis/a/ModifierValidator.d.ts +3 -10
- package/build/types/analysis/a/ReservedNameDictionary.d.ts +7 -1
- package/build/types/analysis/a/SourceFileAnalyzer.d.ts +1 -1
- package/build/types/analysis/a/TextIdentity.d.ts +3 -6
- package/build/types/analysis/a/semantic-context/Declarations.d.ts +3 -3
- package/build/types/analysis/a/semantic-context/SemanticContextBase.d.ts +5 -5
- package/build/types/analysis/a/semantic-context/SourceFileSemanticContext.d.ts +2 -2
- package/build/types/analysis/a/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +2 -2
- package/build/types/analysis/a/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +0 -4
- package/build/types/common/ArrayUtils.d.ts +1 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +145 -134
- package/build/types/diagnostic/DiagnosticFormatter.d.ts +3 -2
- package/build/types/emitter/EmitPhaseName.d.ts +3 -2
- package/build/types/emitter/EmitterContext.d.ts +2 -0
- package/build/types/emitter/Entities.d.ts +2 -0
- package/build/types/emitter/EntityMap.d.ts +0 -4
- package/build/types/emitter/IrBuilderA.d.ts +3 -3
- package/build/types/emitter/IrFactory.d.ts +14 -13
- package/build/types/emitter/IrToJs.d.ts +0 -1
- package/build/types/emitter/Transformer.d.ts +2 -3
- package/build/types/emitter/ir/EmitOptions.d.ts +4 -41
- package/build/types/emitter/ir/Nodes.d.ts +22 -36
- package/build/types/emitter/ir/VariableAccess.d.ts +18 -0
- package/build/types/emitter/ir/index.d.ts +1 -0
- package/build/types/emitter/ir/types.d.ts +2 -2
- package/build/types/entities/AccessorEntity.d.ts +8 -0
- package/build/types/entities/ComputedEntity.d.ts +12 -0
- package/build/types/entities/Entity.d.ts +1 -6
- package/build/types/entities/EntityKind.d.ts +6 -8
- package/build/types/entities/EntityLocalizationContext.d.ts +2 -5
- package/build/types/entities/PackageEntityMembers.d.ts +3 -3
- package/build/types/entities/TypeEntity.d.ts +6 -1
- package/build/types/entities/TypeEntityMembers.d.ts +5 -0
- package/build/types/entities/TypeMemberEntity.d.ts +12 -5
- package/build/types/entities/TypeMemberKindFlags.d.ts +4 -3
- package/build/types/entities/index.d.ts +2 -0
- package/build/types/entities/interfaces/{ConstructorEntity.d.ts → BaseConstructorEntity.d.ts} +5 -5
- package/build/types/entities/interfaces/{DestructorEntity.d.ts → BaseDestructorEntity.d.ts} +6 -6
- package/build/types/entities/interfaces/BaseOperatorEntity.d.ts +15 -0
- package/build/types/entities/interfaces/{OrdinaryMethodEntity.d.ts → BaseOrdinaryMethodEntity.d.ts} +6 -3
- package/build/types/entities/interfaces/BaseOrdinaryPackageFunctionEntity.d.ts +36 -0
- package/build/types/entities/interfaces/BasePackageMemberAccessorEntity.d.ts +36 -0
- package/build/types/entities/interfaces/BaseTypeMemberAccessorEntity.d.ts +19 -0
- package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +34 -6
- package/build/types/entities/interfaces/FieldEntityWithImplicitAccessors.d.ts +15 -0
- package/build/types/entities/interfaces/FunctionEntity.d.ts +75 -8
- package/build/types/entities/interfaces/IndexerEntity.d.ts +35 -6
- package/build/types/entities/interfaces/TextTranslationEntity.d.ts +1 -2
- package/build/types/entities/interfaces/VariableEntity.d.ts +45 -12
- package/build/types/entities/interfaces/a/ConstructorEntityA.d.ts +2 -3
- package/build/types/entities/interfaces/a/DestructorEntityA.d.ts +2 -4
- package/build/types/entities/interfaces/index.d.ts +8 -6
- package/build/types/entities/intrinsic/IntrinsicConstructorEntity.d.ts +3 -1
- package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +7 -14
- package/build/types/entities/intrinsic/IntrinsicTypeMemberAccessorEntity.d.ts +11 -0
- package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +20 -16
- package/build/types/entities/intrinsic/index.d.ts +1 -2
- package/build/types/entities/source/a/SourceConstructorEntity.d.ts +2 -1
- package/build/types/entities/source/a/SourceDereferenceOperatorEntity.d.ts +6 -9
- package/build/types/entities/source/a/SourceDestructorEntity.d.ts +2 -1
- package/build/types/entities/source/a/SourceFunctionEntity.d.ts +9 -17
- package/build/types/entities/source/a/SourceGetterEntity.d.ts +62 -24
- package/build/types/entities/source/a/SourceIndexerEntity.d.ts +6 -9
- package/build/types/entities/source/a/SourceSetterEntity.d.ts +68 -25
- package/build/types/entities/source/a/SourceTextTranslationEntity.d.ts +2 -2
- package/build/types/entities/source/a/SourceVariableEntity.d.ts +35 -42
- package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +12 -6
- package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +27 -2
- package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +14 -6
- package/build/types/entities/translated/TranslatedPackageMemberAccessorEntity.d.ts +38 -0
- package/build/types/entities/translated/TranslatedParameterEntity.d.ts +34 -0
- package/build/types/entities/translated/TranslatedTypeMemberAccessorEntity.d.ts +45 -0
- package/build/types/entities/translated/TranslatedVariableEntity.d.ts +19 -39
- package/build/types/entities/translated/index.d.ts +3 -2
- package/build/types/entities/translated/source/a/SourceTranslatedIndexerEntity.d.ts +2 -1
- package/build/types/executor/NodeCompiler.d.ts +1 -1
- package/build/types/services/a/DisplayService.d.ts +1 -3
- package/build/types/services/a/NodeSemanticInfo.d.ts +1 -1
- package/build/types/services/a/references/DefinitionInfoFinder.d.ts +1 -1
- package/build/types/services/common/display/BaseDisplayService.d.ts +0 -2
- package/build/types/services/common/display/DisplayService.d.ts +1 -3
- package/build/types/services/common/display/Types.d.ts +16 -7
- package/build/types/services/common/references/ReferencesSearchUtils.d.ts +1 -1
- package/build/types/services/common/references/ReferencesService.d.ts +1 -0
- package/build/types/services/common/source-generation/EntityToSyntax.d.ts +3 -1
- package/build/types/tree/a/Nodes.d.ts +24 -16
- package/build/types/tree/a/SyntaxFactory.d.ts +4 -4
- package/build/types/ts-interop/Entities.d.ts +65 -46
- package/build/types/types/ComputedTypeMember.d.ts +3 -0
- package/build/types/types/StandardTypes.d.ts +2 -0
- package/build/types/types/StructuredType.d.ts +2 -1
- package/build/types/types/TypeMembers.d.ts +31 -8
- package/build/types/types/collections/TypeDictionary.d.ts +32 -0
- package/build/types/types/collections/TypeMemberDictionary.d.ts +27 -0
- package/build/types/types/collections/TypeMemberSet.d.ts +24 -0
- package/build/types/types/collections/TypeSet.d.ts +29 -0
- package/build/types/types/index.d.ts +5 -0
- package/package.json +3 -2
- package/build/types/analysis/OverridableTypeMember.d.ts +0 -6
- package/build/types/entities/interfaces/GetterEntity.d.ts +0 -21
- package/build/types/entities/interfaces/OperatorEntity.d.ts +0 -12
- package/build/types/entities/interfaces/SetterEntity.d.ts +0 -19
- package/build/types/entities/intrinsic/IntrinsicGetterEntity.d.ts +0 -24
- package/build/types/entities/intrinsic/IntrinsicSetterEntity.d.ts +0 -21
- package/build/types/entities/translated/TranslatedGetterEntity.d.ts +0 -24
- package/build/types/entities/translated/TranslatedSetterEntity.d.ts +0 -21
package/build/api/ApiServices.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AccessedFunction_entity,
|
|
3
3
|
AccessedFunction_typeMember,
|
|
4
|
+
AccessorEntity,
|
|
4
5
|
Analyzer2 as Analyzer,
|
|
5
6
|
Cached,
|
|
6
7
|
CancelledError,
|
|
@@ -19,7 +20,6 @@ import {
|
|
|
19
20
|
FileSystemTree,
|
|
20
21
|
FunctionDeclaration_accessedFunction,
|
|
21
22
|
FunctionDeclaration_entity,
|
|
22
|
-
FunctionDeclaration_substitutedFunction,
|
|
23
23
|
FunctionDeclaration_typeMember,
|
|
24
24
|
GeneratedSourceFileScheme,
|
|
25
25
|
GenericCancellationToken,
|
|
@@ -78,7 +78,6 @@ import {
|
|
|
78
78
|
getOrCreateKeywordDictionary,
|
|
79
79
|
ifTypeEntityIsFunctionTypeAliasThenFunctionType,
|
|
80
80
|
isAnonymousStructuredTypeDeclaration,
|
|
81
|
-
isComputedVariableEntity,
|
|
82
81
|
isEntityWithParameters,
|
|
83
82
|
isEntityWithTypeParameters,
|
|
84
83
|
isExpression,
|
|
@@ -101,6 +100,7 @@ import {
|
|
|
101
100
|
isTypeMemberDeclaration,
|
|
102
101
|
isTypeSpecifier,
|
|
103
102
|
isUnaryOperator,
|
|
103
|
+
isVariableEntityWithExplicitAccessors,
|
|
104
104
|
kebabCaseToCamelCase,
|
|
105
105
|
localeToString,
|
|
106
106
|
modifierKindsInSortOrder,
|
|
@@ -109,7 +109,7 @@ import {
|
|
|
109
109
|
sortModifiers,
|
|
110
110
|
traverseTreeAsync,
|
|
111
111
|
yieldTask
|
|
112
|
-
} from "../chunk-
|
|
112
|
+
} from "../chunk-UY7U6EAT.js";
|
|
113
113
|
|
|
114
114
|
// source/services/CustomRequests.ts
|
|
115
115
|
import * as ls from "vscode-languageserver";
|
|
@@ -566,8 +566,8 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
566
566
|
}
|
|
567
567
|
return this.createPackageTypeWithMembersTranslation(entity);
|
|
568
568
|
}
|
|
569
|
-
case
|
|
570
|
-
case
|
|
569
|
+
case 6 /* TypeExtension */:
|
|
570
|
+
case 8 /* TextTranslation */:
|
|
571
571
|
return void 0;
|
|
572
572
|
default:
|
|
573
573
|
Debug.never(entity);
|
|
@@ -601,9 +601,9 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
601
601
|
return this.createFieldTranslation(entity);
|
|
602
602
|
case 1 /* Function */:
|
|
603
603
|
return this.createMethodTranslation(entity);
|
|
604
|
-
case
|
|
604
|
+
case 3 /* Indexer */:
|
|
605
605
|
return this.createIndexerTranslation(entity);
|
|
606
|
-
case
|
|
606
|
+
case 4 /* DereferenceOperator */:
|
|
607
607
|
return void 0;
|
|
608
608
|
default:
|
|
609
609
|
Debug.never(entity);
|
|
@@ -640,6 +640,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
640
640
|
return SyntaxFactory.constructorTranslation(parameters, parameters);
|
|
641
641
|
}
|
|
642
642
|
case 2 /* Destructor */:
|
|
643
|
+
case 4 /* Accessor */:
|
|
643
644
|
return void 0;
|
|
644
645
|
default:
|
|
645
646
|
Debug.never(entity.methodKind);
|
|
@@ -3872,7 +3873,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3872
3873
|
if (isNarrowableReferenceExpression(node)) {
|
|
3873
3874
|
narrowedType = analyzer.type.ofExpression(node);
|
|
3874
3875
|
}
|
|
3875
|
-
const target = new FieldReferenceTarget(meaning.field, meaning.
|
|
3876
|
+
const target = new FieldReferenceTarget(meaning.field, meaning.access.kind, narrowedType);
|
|
3876
3877
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
3877
3878
|
break;
|
|
3878
3879
|
}
|
|
@@ -3881,7 +3882,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3881
3882
|
if (isNarrowableReferenceExpression(node)) {
|
|
3882
3883
|
narrowedType = analyzer.type.ofExpression(node);
|
|
3883
3884
|
}
|
|
3884
|
-
const target = new FieldReferenceTarget(meaning.field, meaning.
|
|
3885
|
+
const target = new FieldReferenceTarget(meaning.field, meaning.access.kind, narrowedType);
|
|
3885
3886
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
3886
3887
|
break;
|
|
3887
3888
|
}
|
|
@@ -3890,7 +3891,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3890
3891
|
if (isNarrowableReferenceExpression(node)) {
|
|
3891
3892
|
narrowedType = analyzer.type.ofExpression(node);
|
|
3892
3893
|
}
|
|
3893
|
-
const target = new EntityReferenceTarget(meaning.variable, meaning.
|
|
3894
|
+
const target = new EntityReferenceTarget(meaning.variable, meaning.access.kind, narrowedType);
|
|
3894
3895
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
3895
3896
|
break;
|
|
3896
3897
|
}
|
|
@@ -4176,10 +4177,10 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4176
4177
|
}
|
|
4177
4178
|
const variable = meaning.variable;
|
|
4178
4179
|
if (variable.kind === "entity") {
|
|
4179
|
-
const target = new EntityReferenceTarget(variable.value, meaning.
|
|
4180
|
+
const target = new EntityReferenceTarget(variable.value, meaning.access.kind, narrowedType);
|
|
4180
4181
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
4181
4182
|
} else if (variable.kind === "type-member") {
|
|
4182
|
-
const target = new FieldReferenceTarget(variable.value, meaning.
|
|
4183
|
+
const target = new FieldReferenceTarget(variable.value, meaning.access.kind, narrowedType);
|
|
4183
4184
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
4184
4185
|
} else {
|
|
4185
4186
|
Debug.never(variable);
|
|
@@ -4242,11 +4243,11 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4242
4243
|
if (isNonEmptyArray(meaning.suitableIndexers)) {
|
|
4243
4244
|
result = createIndexersReference(
|
|
4244
4245
|
meaning.suitableIndexers,
|
|
4245
|
-
meaning.
|
|
4246
|
+
meaning.access.kind,
|
|
4246
4247
|
meaning.suitableIndexers.length > 1
|
|
4247
4248
|
);
|
|
4248
4249
|
} else if (isNonEmptyArray(meaning.candidates)) {
|
|
4249
|
-
result = createIndexersReference(meaning.candidates, meaning.
|
|
4250
|
+
result = createIndexersReference(meaning.candidates, meaning.access.kind, true);
|
|
4250
4251
|
}
|
|
4251
4252
|
if (result !== void 0 && options7.includeBetterReferenceTargets) {
|
|
4252
4253
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -4308,7 +4309,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4308
4309
|
static ofDereferenceExpressionOperator(analyzer, node, options7) {
|
|
4309
4310
|
const meaning = analyzer.resolveDereferenceExpression(node);
|
|
4310
4311
|
if (meaning.kind === "resolved") {
|
|
4311
|
-
const target = new DereferenceOperatorReferenceTarget(meaning.operator, meaning.
|
|
4312
|
+
const target = new DereferenceOperatorReferenceTarget(meaning.operator, meaning.access.kind);
|
|
4312
4313
|
let result = new ReferenceNodeSemanticInfo([target], false);
|
|
4313
4314
|
if (options7.includeBetterReferenceTargets) {
|
|
4314
4315
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -4616,45 +4617,79 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4616
4617
|
}
|
|
4617
4618
|
static getBetterReferenceTargetsOrPreserve(info) {
|
|
4618
4619
|
const currentTargets = info.betterTargets ?? info.targets;
|
|
4619
|
-
const betterTargets =
|
|
4620
|
+
const betterTargets = currentTargets.map((t) => this.getBetterReferenceTargets(t)).filter((t) => t !== void 0).flat();
|
|
4620
4621
|
if (isNonEmptyArray(betterTargets)) {
|
|
4621
4622
|
return new ReferenceNodeSemanticInfo(info.targets, info.isAmbiguous, betterTargets);
|
|
4622
4623
|
}
|
|
4623
4624
|
return info;
|
|
4624
4625
|
}
|
|
4625
|
-
static
|
|
4626
|
+
static getBetterReferenceTargets(original) {
|
|
4626
4627
|
let result;
|
|
4627
|
-
let
|
|
4628
|
-
let
|
|
4628
|
+
let currentTargets = [original];
|
|
4629
|
+
let betterTargets;
|
|
4630
|
+
let foundBetterTarget;
|
|
4629
4631
|
do {
|
|
4630
|
-
|
|
4631
|
-
|
|
4632
|
-
|
|
4633
|
-
|
|
4634
|
-
|
|
4635
|
-
|
|
4636
|
-
|
|
4637
|
-
|
|
4638
|
-
|
|
4639
|
-
|
|
4632
|
+
betterTargets = [];
|
|
4633
|
+
foundBetterTarget = false;
|
|
4634
|
+
for (const currentTarget of currentTargets) {
|
|
4635
|
+
let foundBetterCurrentTarget = false;
|
|
4636
|
+
if (currentTarget.kind === "entity" && currentTarget.entity.kind === 0 /* Variable */) {
|
|
4637
|
+
{
|
|
4638
|
+
if (currentTarget.entity.subkind === "parameter") {
|
|
4639
|
+
const specialVariableInfo = currentTarget.entity.isSpecial();
|
|
4640
|
+
if (specialVariableInfo?.kind === "implicit-function-block-parameter") {
|
|
4641
|
+
const target = new TypeParameterReferenceTarget(
|
|
4642
|
+
specialVariableInfo.targetTypeParameter,
|
|
4643
|
+
currentTarget.accessKind
|
|
4644
|
+
);
|
|
4645
|
+
betterTargets.push(target);
|
|
4646
|
+
foundBetterCurrentTarget = true;
|
|
4647
|
+
}
|
|
4640
4648
|
}
|
|
4641
4649
|
}
|
|
4642
|
-
}
|
|
4643
|
-
|
|
4644
|
-
|
|
4645
|
-
|
|
4646
|
-
|
|
4647
|
-
|
|
4648
|
-
|
|
4650
|
+
} else if (currentTarget.kind === "accessed-function") {
|
|
4651
|
+
const entity = currentTarget.func.getEntity();
|
|
4652
|
+
if (TypeMemberEntity.isConstructor(entity) && entity.getDefinition().kind === 1 /* Intrinsic */) {
|
|
4653
|
+
const containingEntity = entity.getContainingEntity();
|
|
4654
|
+
if (containingEntity.kind === 2 /* Type */ && containingEntity.getDefinition().kind === 0 /* Source */) {
|
|
4655
|
+
const target = new EntityReferenceTarget(containingEntity, 0 /* Get */);
|
|
4656
|
+
betterTargets.push(target);
|
|
4657
|
+
foundBetterCurrentTarget = true;
|
|
4658
|
+
}
|
|
4659
|
+
}
|
|
4660
|
+
} else if (currentTarget.kind === "entity" && currentTarget.entity.kind === 1 /* Function */) {
|
|
4661
|
+
} else if (currentTarget.kind === "match-result-value-parameter") {
|
|
4662
|
+
const containingEntity = currentTarget.parameter.entity.getContainingEntity();
|
|
4663
|
+
if (containingEntity.kind === 3 /* Indexer */ && containingEntity.getDefinition().kind === 0 /* Source */) {
|
|
4664
|
+
const indexerParameters = containingEntity.getParameters();
|
|
4665
|
+
const parameterIndex = indexerParameters.indexOf(currentTarget.parameter.entity);
|
|
4666
|
+
if (parameterIndex >= 0) {
|
|
4667
|
+
const getterParameter = containingEntity.getGetter()?.getParameters()[parameterIndex];
|
|
4668
|
+
const setterParameter = containingEntity.getSetter()?.getParameters()[parameterIndex];
|
|
4669
|
+
if (getterParameter !== void 0) {
|
|
4670
|
+
const target = new EntityReferenceTarget(getterParameter, currentTarget.accessKind);
|
|
4671
|
+
betterTargets.push(target);
|
|
4672
|
+
foundBetterCurrentTarget = true;
|
|
4673
|
+
}
|
|
4674
|
+
if (setterParameter !== void 0) {
|
|
4675
|
+
const target = new EntityReferenceTarget(setterParameter, currentTarget.accessKind);
|
|
4676
|
+
betterTargets.push(target);
|
|
4677
|
+
foundBetterCurrentTarget = true;
|
|
4678
|
+
}
|
|
4679
|
+
}
|
|
4649
4680
|
}
|
|
4650
4681
|
}
|
|
4651
|
-
|
|
4682
|
+
if (foundBetterCurrentTarget) {
|
|
4683
|
+
foundBetterTarget ||= true;
|
|
4684
|
+
} else {
|
|
4685
|
+
betterTargets.push(currentTarget);
|
|
4686
|
+
}
|
|
4652
4687
|
}
|
|
4653
|
-
if (
|
|
4654
|
-
result =
|
|
4655
|
-
|
|
4688
|
+
if (foundBetterTarget) {
|
|
4689
|
+
result = betterTargets;
|
|
4690
|
+
currentTargets = betterTargets;
|
|
4656
4691
|
}
|
|
4657
|
-
} while (
|
|
4692
|
+
} while (foundBetterTarget);
|
|
4658
4693
|
return result;
|
|
4659
4694
|
}
|
|
4660
4695
|
static getResolvedContainingTranslationPackage(analyzer, node) {
|
|
@@ -4703,7 +4738,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4703
4738
|
|
|
4704
4739
|
// source/services/common/Utils.ts
|
|
4705
4740
|
function getEntitySourceLocations(analyzer, entity) {
|
|
4706
|
-
if (entity.kind ===
|
|
4741
|
+
if (entity.kind === 7 /* Package */) {
|
|
4707
4742
|
return void 0;
|
|
4708
4743
|
}
|
|
4709
4744
|
let result;
|
|
@@ -4724,7 +4759,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
|
4724
4759
|
Debug.never(definition.value);
|
|
4725
4760
|
}
|
|
4726
4761
|
}
|
|
4727
|
-
} else if (entity.kind ===
|
|
4762
|
+
} else if (entity.kind === 3 /* Indexer */) {
|
|
4728
4763
|
const definition = entity.getDefinition();
|
|
4729
4764
|
if (definition.kind === 0 /* Source */) {
|
|
4730
4765
|
result = definition.nodes.map((d) => {
|
|
@@ -4733,7 +4768,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
|
4733
4768
|
return new SourceLocation(sourceFile, range);
|
|
4734
4769
|
});
|
|
4735
4770
|
}
|
|
4736
|
-
} else if (entity.kind ===
|
|
4771
|
+
} else if (entity.kind === 4 /* DereferenceOperator */) {
|
|
4737
4772
|
const definition = entity.getDefinition();
|
|
4738
4773
|
if (definition.kind === 0 /* Source */) {
|
|
4739
4774
|
result = definition.nodes.map((d) => {
|
|
@@ -4742,7 +4777,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
|
4742
4777
|
return new SourceLocation(sourceFile, range);
|
|
4743
4778
|
});
|
|
4744
4779
|
}
|
|
4745
|
-
} else if (entity.kind ===
|
|
4780
|
+
} else if (entity.kind === 8 /* TextTranslation */) {
|
|
4746
4781
|
const definition = entity.getDefinition();
|
|
4747
4782
|
if (definition.kind === 0 /* Source */) {
|
|
4748
4783
|
const range = definition.node.rangeWithoutTrivia;
|
|
@@ -5385,22 +5420,8 @@ var HoverService = class {
|
|
|
5385
5420
|
}
|
|
5386
5421
|
}
|
|
5387
5422
|
createHoverAtAccessedFunction(func, range) {
|
|
5388
|
-
|
|
5389
|
-
|
|
5390
|
-
const declaration = new FunctionDeclaration_entity(func.value);
|
|
5391
|
-
return new Hover(this.displayService.displayFunctionDeclaration(declaration), range);
|
|
5392
|
-
}
|
|
5393
|
-
case "type-member": {
|
|
5394
|
-
const declaration = new FunctionDeclaration_typeMember(func.value);
|
|
5395
|
-
return new Hover(this.displayService.displayFunctionDeclaration(declaration), range);
|
|
5396
|
-
}
|
|
5397
|
-
case "substituted-function": {
|
|
5398
|
-
const declaration = new FunctionDeclaration_substitutedFunction(func.value);
|
|
5399
|
-
return new Hover(this.displayService.displayFunctionDeclaration(declaration), range);
|
|
5400
|
-
}
|
|
5401
|
-
default:
|
|
5402
|
-
Debug.never(func);
|
|
5403
|
-
}
|
|
5423
|
+
const declaration = new FunctionDeclaration_accessedFunction(func);
|
|
5424
|
+
return new Hover(this.displayService.displayFunctionDeclaration(declaration), range);
|
|
5404
5425
|
}
|
|
5405
5426
|
};
|
|
5406
5427
|
|
|
@@ -5609,7 +5630,7 @@ var ReferencesFinder = class {
|
|
|
5609
5630
|
return void 0;
|
|
5610
5631
|
}
|
|
5611
5632
|
} else if (this.definitions.length > 1 && potentialReferenceDefinitions.length > 1) {
|
|
5612
|
-
if (
|
|
5633
|
+
if (potentialReferenceDefinitions.some((r) => this.definitions.some((d) => this.areEntitiesWithSameDefinition(r.value, d.value)))) {
|
|
5613
5634
|
return potentialReferenceDefinitions[0].referenceKind;
|
|
5614
5635
|
} else {
|
|
5615
5636
|
return void 0;
|
|
@@ -5639,7 +5660,7 @@ var ReferencesFinderA = class extends ReferencesFinder {
|
|
|
5639
5660
|
return __async(this, null, function* () {
|
|
5640
5661
|
let semanticInfoOptions;
|
|
5641
5662
|
const firstDefinition = this.definitions[0].value;
|
|
5642
|
-
if (
|
|
5663
|
+
if (TypeMemberEntity.isConstructor(firstDefinition)) {
|
|
5643
5664
|
semanticInfoOptions = {
|
|
5644
5665
|
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5645
5666
|
includeBetterReferenceTargets: true
|
|
@@ -5889,6 +5910,7 @@ var ReferencesService = class {
|
|
|
5889
5910
|
if (definitions.length === 0) {
|
|
5890
5911
|
return [];
|
|
5891
5912
|
}
|
|
5913
|
+
this.expandDefinitionsArray(definitions);
|
|
5892
5914
|
const result = [];
|
|
5893
5915
|
const firstDefinition = definitions[0];
|
|
5894
5916
|
const restrictions = this.getReferenceRestrictions(firstDefinition, options7);
|
|
@@ -5907,6 +5929,46 @@ var ReferencesService = class {
|
|
|
5907
5929
|
return result;
|
|
5908
5930
|
});
|
|
5909
5931
|
}
|
|
5932
|
+
expandDefinitionsArray(definitions) {
|
|
5933
|
+
const length = definitions.length;
|
|
5934
|
+
for (let i = 0; i < length; i++) {
|
|
5935
|
+
const definition = definitions[i];
|
|
5936
|
+
if (definition.value.kind === 0 /* Variable */ && definition.value.subkind === "parameter") {
|
|
5937
|
+
const containingEntity = definition.value.getContainingEntity();
|
|
5938
|
+
if (containingEntity.kind === 3 /* Indexer */) {
|
|
5939
|
+
const parameterIndex = containingEntity.getParameters().indexOf(definition.value);
|
|
5940
|
+
if (parameterIndex >= 0) {
|
|
5941
|
+
const getterParameter = containingEntity.getGetter()?.getParameters()[parameterIndex];
|
|
5942
|
+
if (getterParameter !== void 0 && !definitions.some((d) => d.value === getterParameter)) {
|
|
5943
|
+
definitions.push(new DefinitionInfo(getterParameter, definition.referenceKind));
|
|
5944
|
+
}
|
|
5945
|
+
const setterParameter = containingEntity.getSetter()?.getParameters()[parameterIndex];
|
|
5946
|
+
if (setterParameter !== void 0 && !definitions.some((d) => d.value === setterParameter)) {
|
|
5947
|
+
definitions.push(new DefinitionInfo(setterParameter, definition.referenceKind));
|
|
5948
|
+
}
|
|
5949
|
+
}
|
|
5950
|
+
} else if (TypeMemberEntity.isAccessor(containingEntity)) {
|
|
5951
|
+
const accessorOwner = containingEntity.getAccessorOwner();
|
|
5952
|
+
if (accessorOwner?.kind === 3 /* Indexer */) {
|
|
5953
|
+
const parameterIndex = containingEntity.getParameters().indexOf(definition.value);
|
|
5954
|
+
if (parameterIndex >= 0) {
|
|
5955
|
+
const indexerParameter = accessorOwner.getParameters()[parameterIndex];
|
|
5956
|
+
if (indexerParameter !== void 0 && !definitions.some((d) => d.value === indexerParameter)) {
|
|
5957
|
+
definitions.push(new DefinitionInfo(indexerParameter, definition.referenceKind));
|
|
5958
|
+
}
|
|
5959
|
+
}
|
|
5960
|
+
const otherAccessor = AccessorEntity.isGetter(containingEntity) ? accessorOwner.getSetter() : accessorOwner.getGetter();
|
|
5961
|
+
if (otherAccessor !== void 0) {
|
|
5962
|
+
const otherAccessorParameter = otherAccessor.getParameters()[parameterIndex];
|
|
5963
|
+
if (otherAccessorParameter !== void 0 && !definitions.some((d) => d.value === otherAccessorParameter)) {
|
|
5964
|
+
definitions.push(new DefinitionInfo(otherAccessorParameter, definition.referenceKind));
|
|
5965
|
+
}
|
|
5966
|
+
}
|
|
5967
|
+
}
|
|
5968
|
+
}
|
|
5969
|
+
}
|
|
5970
|
+
}
|
|
5971
|
+
}
|
|
5910
5972
|
getReferencedDefinitionInfosAtOffset(analyzer, sourceFile, offset, options7) {
|
|
5911
5973
|
switch (sourceFile.dialect) {
|
|
5912
5974
|
case 0 /* ArtelA */:
|
|
@@ -5920,7 +5982,7 @@ var ReferencesService = class {
|
|
|
5920
5982
|
getReferenceRestrictions(definition, _options) {
|
|
5921
5983
|
const result = new ReferenceRestrictions();
|
|
5922
5984
|
let namedDefinitionInfo;
|
|
5923
|
-
if (
|
|
5985
|
+
if (TypeMemberEntity.isConstructor(definition.value)) {
|
|
5924
5986
|
const type = TypeWithMembersOrExtensionEntity.getContextualTypeEntity(definition.value.getContainingEntity());
|
|
5925
5987
|
if (type !== void 0) {
|
|
5926
5988
|
namedDefinitionInfo = this.isEntityWithRegularName(type);
|
|
@@ -5931,12 +5993,12 @@ var ReferencesService = class {
|
|
|
5931
5993
|
if (namedDefinitionInfo !== void 0) {
|
|
5932
5994
|
result.canBeIdentifier = true;
|
|
5933
5995
|
}
|
|
5934
|
-
const isConstructor =
|
|
5996
|
+
const isConstructor = TypeMemberEntity.isConstructor(definition.value);
|
|
5935
5997
|
if (isConstructor) {
|
|
5936
5998
|
result.canBeAutotypeCall = true;
|
|
5937
5999
|
result.canBeConstructorDeclaration = true;
|
|
5938
6000
|
}
|
|
5939
|
-
if (definition.value.kind ===
|
|
6001
|
+
if (definition.value.kind === 4 /* DereferenceOperator */) {
|
|
5940
6002
|
result.canBeDereferenceOperator = true;
|
|
5941
6003
|
}
|
|
5942
6004
|
if (isTypeEntity(definition.value) || isConstructor) {
|
|
@@ -5945,7 +6007,7 @@ var ReferencesService = class {
|
|
|
5945
6007
|
if (definition.value.kind === 1 /* Function */) {
|
|
5946
6008
|
result.canBeBaseExpression = true;
|
|
5947
6009
|
}
|
|
5948
|
-
if (definition.value.kind ===
|
|
6010
|
+
if (definition.value.kind === 3 /* Indexer */) {
|
|
5949
6011
|
result.canBeIndexer = true;
|
|
5950
6012
|
}
|
|
5951
6013
|
if (definition.value.kind === 0 /* Variable */ && definition.value.subkind === "parameter" && definition.value.isObjectParameter()) {
|
|
@@ -6010,15 +6072,13 @@ var ReferencesService = class {
|
|
|
6010
6072
|
}
|
|
6011
6073
|
return void 0;
|
|
6012
6074
|
}
|
|
6013
|
-
case
|
|
6075
|
+
case 5 /* PackageAlias */:
|
|
6014
6076
|
return { name: entity.getName() };
|
|
6015
|
-
case 3 /*
|
|
6016
|
-
case 4 /*
|
|
6017
|
-
case
|
|
6018
|
-
case 6 /*
|
|
6019
|
-
case
|
|
6020
|
-
case 8 /* TypeExtension */:
|
|
6021
|
-
case 10 /* TextTranslation */:
|
|
6077
|
+
case 3 /* Indexer */:
|
|
6078
|
+
case 4 /* DereferenceOperator */:
|
|
6079
|
+
case 7 /* Package */:
|
|
6080
|
+
case 6 /* TypeExtension */:
|
|
6081
|
+
case 8 /* TextTranslation */:
|
|
6022
6082
|
return void 0;
|
|
6023
6083
|
default:
|
|
6024
6084
|
Debug.never(entity);
|
|
@@ -9798,7 +9858,7 @@ var EntityToSyntax = class {
|
|
|
9798
9858
|
const tags = this.convertTags(entity.getTags());
|
|
9799
9859
|
const modifiers = this.convertPackageVariableModifiers(entity);
|
|
9800
9860
|
let result;
|
|
9801
|
-
if (
|
|
9861
|
+
if (isVariableEntityWithExplicitAccessors(entity)) {
|
|
9802
9862
|
result = [];
|
|
9803
9863
|
const getterEntity = entity.getGetter();
|
|
9804
9864
|
if (getterEntity !== void 0) {
|
|
@@ -9806,7 +9866,7 @@ var EntityToSyntax = class {
|
|
|
9806
9866
|
}
|
|
9807
9867
|
const setterEntity = entity.getSetter();
|
|
9808
9868
|
if (setterEntity !== void 0) {
|
|
9809
|
-
result.push(SyntaxFactory.packageVariableSetterDeclaration(tags, modifiers, name, void 0));
|
|
9869
|
+
result.push(SyntaxFactory.packageVariableSetterDeclaration(tags, modifiers, name, type, void 0));
|
|
9810
9870
|
}
|
|
9811
9871
|
} else {
|
|
9812
9872
|
result = SyntaxFactory.packageVariableDeclaration(tags, modifiers, name, type);
|
|
@@ -9967,9 +10027,9 @@ var EntityToSyntax = class {
|
|
|
9967
10027
|
return sortModifiers(modifiers);
|
|
9968
10028
|
}
|
|
9969
10029
|
convertTypeEntityMembers(members) {
|
|
9970
|
-
const variables = members.getNamedMembers(
|
|
10030
|
+
const variables = members.getNamedMembers(255 /* All */).filter((m) => m.kind === 0 /* Variable */).flatMap((m) => this.convertField(m));
|
|
9971
10031
|
const groupedVariables = this.groupTypeMemberDeclarations(variables);
|
|
9972
|
-
const ordinaryMethods = members.getNamedMembers(
|
|
10032
|
+
const ordinaryMethods = members.getNamedMembers(255 /* All */).filter((m) => TypeMemberEntity.isOrdinaryMethod(m)).map((m) => this.convertMethod(m));
|
|
9973
10033
|
const groupedOrdinaryMethods = this.groupTypeMemberDeclarations(ordinaryMethods);
|
|
9974
10034
|
const operators = members.getOperators().map((m) => this.convertMethod(m));
|
|
9975
10035
|
const groupedOperators = this.groupTypeMemberDeclarations(operators);
|
|
@@ -9979,11 +10039,14 @@ var EntityToSyntax = class {
|
|
|
9979
10039
|
const groupedDestructors = this.groupTypeMemberDeclarations(destructors);
|
|
9980
10040
|
const indexers = members.getIndexers().flatMap((i) => this.convertIndexer(i));
|
|
9981
10041
|
const groupedIndexers = this.groupTypeMemberDeclarations(indexers);
|
|
10042
|
+
const dereferenceOperators = members.getDereferenceOperators().flatMap((i) => this.convertDereferenceOperator(i));
|
|
10043
|
+
const groupedDereferenceOperators = this.groupTypeMemberDeclarations(dereferenceOperators);
|
|
9982
10044
|
return groupedVariables.concat(
|
|
9983
10045
|
groupedIndexers,
|
|
9984
10046
|
groupedConstructors,
|
|
9985
10047
|
groupedOrdinaryMethods,
|
|
9986
10048
|
groupedOperators,
|
|
10049
|
+
groupedDereferenceOperators,
|
|
9987
10050
|
groupedDestructors
|
|
9988
10051
|
);
|
|
9989
10052
|
}
|
|
@@ -9991,22 +10054,22 @@ var EntityToSyntax = class {
|
|
|
9991
10054
|
if (entity.isVariant()) {
|
|
9992
10055
|
return this.convertVariant(entity);
|
|
9993
10056
|
}
|
|
9994
|
-
const name = this.getEntityName(entity);
|
|
9995
|
-
const type = this.convertType(entity.getType());
|
|
9996
|
-
const tags = this.convertTags(entity.getTags());
|
|
9997
|
-
const modifiers = this.convertFieldModifiers(entity);
|
|
9998
10057
|
let result;
|
|
9999
|
-
if (
|
|
10058
|
+
if (isVariableEntityWithExplicitAccessors(entity)) {
|
|
10000
10059
|
result = [];
|
|
10001
10060
|
const getterEntity = entity.getGetter();
|
|
10002
10061
|
if (getterEntity !== void 0) {
|
|
10003
|
-
result.push(
|
|
10062
|
+
result.push(this.convertTypeMemberAccessor(getterEntity));
|
|
10004
10063
|
}
|
|
10005
10064
|
const setterEntity = entity.getSetter();
|
|
10006
10065
|
if (setterEntity !== void 0) {
|
|
10007
|
-
result.push(
|
|
10066
|
+
result.push(this.convertTypeMemberAccessor(setterEntity));
|
|
10008
10067
|
}
|
|
10009
10068
|
} else {
|
|
10069
|
+
const name = this.getEntityName(entity);
|
|
10070
|
+
const type = this.convertType(entity.getType());
|
|
10071
|
+
const tags = this.convertTags(entity.getTags());
|
|
10072
|
+
const modifiers = this.convertFieldModifiers(entity);
|
|
10010
10073
|
result = SyntaxFactory.fieldDeclaration(tags, modifiers, name, type);
|
|
10011
10074
|
}
|
|
10012
10075
|
return result;
|
|
@@ -10058,6 +10121,8 @@ var EntityToSyntax = class {
|
|
|
10058
10121
|
const parameters = this.convertParameters(entity.getParameters());
|
|
10059
10122
|
return SyntaxFactory.destructorDeclaration(tags, modifiers, parameters, void 0);
|
|
10060
10123
|
}
|
|
10124
|
+
case 4 /* Accessor */:
|
|
10125
|
+
return this.convertTypeMemberAccessor(entity);
|
|
10061
10126
|
default:
|
|
10062
10127
|
Debug.never(entity.methodKind);
|
|
10063
10128
|
}
|
|
@@ -10104,25 +10169,56 @@ var EntityToSyntax = class {
|
|
|
10104
10169
|
}
|
|
10105
10170
|
return sortModifiers(modifiers);
|
|
10106
10171
|
}
|
|
10107
|
-
|
|
10108
|
-
const
|
|
10109
|
-
|
|
10110
|
-
|
|
10111
|
-
const result = new Array();
|
|
10112
|
-
const getterEntity = entity.getGetter();
|
|
10113
|
-
if (getterEntity !== void 0) {
|
|
10114
|
-
const type = this.convertType(entity.getType());
|
|
10115
|
-
const declaration = SyntaxFactory.indexedElementGetterDeclaration(tags, modifiers, parameters, type, void 0);
|
|
10116
|
-
result.push(declaration);
|
|
10172
|
+
convertTypeMemberAccessor(entity) {
|
|
10173
|
+
const accessorKind = entity.accessorKind;
|
|
10174
|
+
if (accessorKind === void 0) {
|
|
10175
|
+
return SyntaxFactory.missingTypeMemberDeclaration([], []);
|
|
10117
10176
|
}
|
|
10118
|
-
const
|
|
10119
|
-
|
|
10120
|
-
|
|
10121
|
-
|
|
10177
|
+
const tags = this.convertTags(entity.getTags());
|
|
10178
|
+
const modifiers = this.convertAccessorModifiers(entity);
|
|
10179
|
+
switch (accessorKind) {
|
|
10180
|
+
case 2 /* FieldGetter */: {
|
|
10181
|
+
const owningEntity = entity.getAccessorOwner();
|
|
10182
|
+
if (owningEntity?.kind !== 0 /* Variable */) {
|
|
10183
|
+
return SyntaxFactory.missingTypeMemberDeclaration([], []);
|
|
10184
|
+
}
|
|
10185
|
+
const name = this.getEntityName(owningEntity);
|
|
10186
|
+
const type = this.convertType(entity.getReturnType());
|
|
10187
|
+
return SyntaxFactory.fieldGetterDeclaration(tags, modifiers, name, type, void 0);
|
|
10188
|
+
}
|
|
10189
|
+
case 3 /* FieldSetter */: {
|
|
10190
|
+
const owningEntity = entity.getAccessorOwner();
|
|
10191
|
+
if (owningEntity?.kind !== 0 /* Variable */) {
|
|
10192
|
+
return SyntaxFactory.missingTypeMemberDeclaration([], []);
|
|
10193
|
+
}
|
|
10194
|
+
const type = this.convertType(owningEntity.getType());
|
|
10195
|
+
const name = this.getEntityName(owningEntity);
|
|
10196
|
+
return SyntaxFactory.fieldSetterDeclaration(tags, modifiers, name, type, void 0);
|
|
10197
|
+
}
|
|
10198
|
+
case 4 /* IndexedElementGetter */: {
|
|
10199
|
+
const parameters = this.convertParameters(entity.getParameters());
|
|
10200
|
+
const type = this.convertType(entity.getReturnType());
|
|
10201
|
+
return SyntaxFactory.indexedElementGetterDeclaration(tags, modifiers, parameters, type, void 0);
|
|
10202
|
+
}
|
|
10203
|
+
case 5 /* IndexedElementSetter */: {
|
|
10204
|
+
const parameterEntities = entity.getParameters();
|
|
10205
|
+
const parameters = this.convertParameters(parameterEntities.slice(0, parameterEntities.length - 1));
|
|
10206
|
+
const type = this.convertType(entity.getReturnType());
|
|
10207
|
+
return SyntaxFactory.indexedElementSetterDeclaration(tags, modifiers, parameters, type, void 0);
|
|
10208
|
+
}
|
|
10209
|
+
case 6 /* DereferencedVariableGetter */: {
|
|
10210
|
+
const type = this.convertType(entity.getReturnType());
|
|
10211
|
+
return SyntaxFactory.dereferencedVariableGetterDeclaration(tags, modifiers, type, void 0);
|
|
10212
|
+
}
|
|
10213
|
+
case 7 /* DereferencedVariableSetter */: {
|
|
10214
|
+
const type = this.convertType(entity.getReturnType());
|
|
10215
|
+
return SyntaxFactory.dereferencedVariableSetterDeclaration(tags, modifiers, type, void 0);
|
|
10216
|
+
}
|
|
10217
|
+
default:
|
|
10218
|
+
Debug.never(accessorKind);
|
|
10122
10219
|
}
|
|
10123
|
-
return result;
|
|
10124
10220
|
}
|
|
10125
|
-
|
|
10221
|
+
convertAccessorModifiers(entity) {
|
|
10126
10222
|
const modifiers = new Array();
|
|
10127
10223
|
const isHidden = entity.isHidden();
|
|
10128
10224
|
if (isHidden !== void 0) {
|
|
@@ -10131,11 +10227,41 @@ var EntityToSyntax = class {
|
|
|
10131
10227
|
if (entity.isStatic()) {
|
|
10132
10228
|
modifiers.push(SyntaxFactory.modifier(45 /* Static */));
|
|
10133
10229
|
}
|
|
10230
|
+
if (entity.markedBasic()) {
|
|
10231
|
+
modifiers.push(SyntaxFactory.modifier(21 /* Basic */));
|
|
10232
|
+
}
|
|
10134
10233
|
if (entity.markedAbstract()) {
|
|
10135
10234
|
modifiers.push(SyntaxFactory.modifier(42 /* Abstract */));
|
|
10136
10235
|
}
|
|
10236
|
+
if (entity.isOverride()) {
|
|
10237
|
+
modifiers.push(SyntaxFactory.modifier(43 /* Override */));
|
|
10238
|
+
}
|
|
10137
10239
|
return sortModifiers(modifiers);
|
|
10138
10240
|
}
|
|
10241
|
+
convertIndexer(entity) {
|
|
10242
|
+
const result = new Array();
|
|
10243
|
+
const getterEntity = entity.getGetter();
|
|
10244
|
+
if (getterEntity !== void 0) {
|
|
10245
|
+
result.push(this.convertTypeMemberAccessor(getterEntity));
|
|
10246
|
+
}
|
|
10247
|
+
const setterEntity = entity.getSetter();
|
|
10248
|
+
if (setterEntity !== void 0) {
|
|
10249
|
+
result.push(this.convertTypeMemberAccessor(setterEntity));
|
|
10250
|
+
}
|
|
10251
|
+
return result;
|
|
10252
|
+
}
|
|
10253
|
+
convertDereferenceOperator(entity) {
|
|
10254
|
+
const result = new Array();
|
|
10255
|
+
const getterEntity = entity.getGetter();
|
|
10256
|
+
if (getterEntity !== void 0) {
|
|
10257
|
+
result.push(this.convertTypeMemberAccessor(getterEntity));
|
|
10258
|
+
}
|
|
10259
|
+
const setterEntity = entity.getSetter();
|
|
10260
|
+
if (setterEntity !== void 0) {
|
|
10261
|
+
result.push(this.convertTypeMemberAccessor(setterEntity));
|
|
10262
|
+
}
|
|
10263
|
+
return result;
|
|
10264
|
+
}
|
|
10139
10265
|
convertVariant(entity) {
|
|
10140
10266
|
const tags = this.convertTags(entity.getTags());
|
|
10141
10267
|
const name = this.getEntityName(entity);
|
|
@@ -10616,19 +10742,16 @@ var SourceGenerationService = class extends RxObject7 {
|
|
|
10616
10742
|
default:
|
|
10617
10743
|
Debug.never(entity);
|
|
10618
10744
|
}
|
|
10619
|
-
case 3 /*
|
|
10620
|
-
case 4 /*
|
|
10621
|
-
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getOwningEntity());
|
|
10622
|
-
case 5 /* Indexer */:
|
|
10623
|
-
case 6 /* DereferenceOperator */:
|
|
10745
|
+
case 3 /* Indexer */:
|
|
10746
|
+
case 4 /* DereferenceOperator */:
|
|
10624
10747
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getContainingEntity());
|
|
10625
|
-
case
|
|
10748
|
+
case 5 /* PackageAlias */:
|
|
10626
10749
|
return false;
|
|
10627
|
-
case
|
|
10750
|
+
case 7 /* Package */:
|
|
10628
10751
|
return false;
|
|
10629
|
-
case
|
|
10752
|
+
case 6 /* TypeExtension */:
|
|
10630
10753
|
return true;
|
|
10631
|
-
case
|
|
10754
|
+
case 8 /* TextTranslation */:
|
|
10632
10755
|
return true;
|
|
10633
10756
|
default:
|
|
10634
10757
|
Debug.never(entity);
|
|
@@ -10719,17 +10842,15 @@ var EntityFinder = class {
|
|
|
10719
10842
|
default:
|
|
10720
10843
|
Debug.never(entity);
|
|
10721
10844
|
}
|
|
10722
|
-
case
|
|
10845
|
+
case 3 /* Indexer */:
|
|
10723
10846
|
return this.findIndexerEntity(entity);
|
|
10724
|
-
case
|
|
10847
|
+
case 4 /* DereferenceOperator */:
|
|
10725
10848
|
return this.findDereferenceOperatorEntity(entity);
|
|
10726
|
-
case
|
|
10727
|
-
case
|
|
10728
|
-
case
|
|
10729
|
-
case 9 /* Package */:
|
|
10730
|
-
case 8 /* TypeExtension */:
|
|
10849
|
+
case 5 /* PackageAlias */:
|
|
10850
|
+
case 7 /* Package */:
|
|
10851
|
+
case 6 /* TypeExtension */:
|
|
10731
10852
|
return void 0;
|
|
10732
|
-
case
|
|
10853
|
+
case 8 /* TextTranslation */:
|
|
10733
10854
|
return void 0;
|
|
10734
10855
|
default:
|
|
10735
10856
|
Debug.never(entity);
|
|
@@ -10741,7 +10862,7 @@ var EntityFinder = class {
|
|
|
10741
10862
|
} else if (entity.subkind === "field") {
|
|
10742
10863
|
const containingType = this.findEntity(entity.getContainingEntity());
|
|
10743
10864
|
if (containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType)) {
|
|
10744
|
-
return containingType.getMembers().getNamedMembersByName(entity.getName(),
|
|
10865
|
+
return containingType.getMembers().getNamedMembersByName(entity.getName(), 255 /* All */)[0];
|
|
10745
10866
|
}
|
|
10746
10867
|
} else if (entity.subkind === "parameter") {
|
|
10747
10868
|
const originalContainingEntity = entity.getContainingEntity();
|
|
@@ -10776,7 +10897,7 @@ var EntityFinder = class {
|
|
|
10776
10897
|
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
10777
10898
|
return void 0;
|
|
10778
10899
|
}
|
|
10779
|
-
const members = containingType.getMembers().getNamedMembersByName(entity.getSpecialNameOrName(),
|
|
10900
|
+
const members = containingType.getMembers().getNamedMembersByName(entity.getSpecialNameOrName(), 255 /* All */).filter((m) => m.kind === 1 /* Function */);
|
|
10780
10901
|
if (members.length === 0) {
|
|
10781
10902
|
return void 0;
|
|
10782
10903
|
} else if (members.length === 1) {
|
|
@@ -10845,7 +10966,7 @@ var EntityFinder = class {
|
|
|
10845
10966
|
switch (entity.kind) {
|
|
10846
10967
|
case 1 /* Function */:
|
|
10847
10968
|
return entity.getParameters();
|
|
10848
|
-
case
|
|
10969
|
+
case 3 /* Indexer */:
|
|
10849
10970
|
return entity.getParameters();
|
|
10850
10971
|
case 2 /* Type */: {
|
|
10851
10972
|
if (entity.typeEntityKind === 0 /* Function */) {
|
|
@@ -10854,14 +10975,12 @@ var EntityFinder = class {
|
|
|
10854
10975
|
return void 0;
|
|
10855
10976
|
}
|
|
10856
10977
|
case 0 /* Variable */:
|
|
10857
|
-
case
|
|
10858
|
-
case
|
|
10859
|
-
case
|
|
10860
|
-
case
|
|
10861
|
-
case 8 /* TypeExtension */:
|
|
10862
|
-
case 6 /* DereferenceOperator */:
|
|
10978
|
+
case 5 /* PackageAlias */:
|
|
10979
|
+
case 7 /* Package */:
|
|
10980
|
+
case 6 /* TypeExtension */:
|
|
10981
|
+
case 4 /* DereferenceOperator */:
|
|
10863
10982
|
return void 0;
|
|
10864
|
-
case
|
|
10983
|
+
case 8 /* TextTranslation */:
|
|
10865
10984
|
return void 0;
|
|
10866
10985
|
default:
|
|
10867
10986
|
Debug.never(entity);
|
|
@@ -10877,15 +10996,13 @@ var EntityFinder = class {
|
|
|
10877
10996
|
}
|
|
10878
10997
|
return void 0;
|
|
10879
10998
|
}
|
|
10880
|
-
case
|
|
10881
|
-
case
|
|
10999
|
+
case 3 /* Indexer */:
|
|
11000
|
+
case 4 /* DereferenceOperator */:
|
|
10882
11001
|
case 0 /* Variable */:
|
|
10883
|
-
case
|
|
10884
|
-
case
|
|
10885
|
-
case
|
|
10886
|
-
case
|
|
10887
|
-
case 8 /* TypeExtension */:
|
|
10888
|
-
case 10 /* TextTranslation */:
|
|
11002
|
+
case 5 /* PackageAlias */:
|
|
11003
|
+
case 7 /* Package */:
|
|
11004
|
+
case 6 /* TypeExtension */:
|
|
11005
|
+
case 8 /* TextTranslation */:
|
|
10889
11006
|
return void 0;
|
|
10890
11007
|
default:
|
|
10891
11008
|
Debug.never(entity);
|