@artel/artc 0.6.26015 → 0.6.26017
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 +5 -7
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +190 -290
- package/build/{chunk-XUXWFZTI.js → chunk-65XBWCU7.js} +2 -2
- package/build/{chunk-Y3SDLINT.js → chunk-SJFIPH42.js} +3202 -4216
- package/build/{chunk-LUMKCD5K.js → chunk-UCBPXOLW.js} +1 -1
- package/build/types/analysis/AnalyzedTranslationPackage.d.ts +0 -1
- package/build/types/analysis/Analyzer.d.ts +8 -29
- package/build/types/analysis/BaseExpressionMeaning.d.ts +2 -14
- package/build/types/analysis/CallExpressionMeaning.d.ts +1 -11
- package/build/types/analysis/IdentifierExpressionMeaning.d.ts +9 -21
- package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +2 -17
- package/build/types/analysis/ObjectExpressionMeaning.d.ts +7 -1
- package/build/types/analysis/ReductionSourceMemberFinder.d.ts +0 -1
- package/build/types/analysis/ResolvedImplementationPackage.d.ts +1 -3
- package/build/types/analysis/SourceFileAnalyzer.d.ts +4 -1
- package/build/types/analysis/SpecialNameKey.d.ts +32 -0
- package/build/types/analysis/TypeMemberConflictsValidator.d.ts +0 -1
- package/build/types/analysis/TypeMemberLookup.d.ts +1 -5
- package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +1 -1
- package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +2 -2
- package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +3 -2
- package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +36 -21
- package/build/types/analysis/semantic-context/SemanticContextBuilder.d.ts +1 -5
- package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +3 -2
- package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +2 -1
- package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +4 -3
- package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +0 -1
- package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +32 -22
- package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +9 -11
- package/build/types/common/Name.d.ts +3 -2
- package/build/types/diagnostic/DiagnosticCode.d.ts +110 -107
- package/build/types/emitter/Entities.d.ts +2 -0
- package/build/types/emitter/EntityMap.d.ts +0 -1
- package/build/types/emitter/IrBuilder.d.ts +1 -2
- package/build/types/emitter/IrFactory.d.ts +5 -4
- package/build/types/emitter/IrToJs.d.ts +1 -0
- package/build/types/emitter/Transformer.d.ts +2 -0
- package/build/types/emitter/ir/EmitOptions.d.ts +6 -2
- package/build/types/emitter/ir/Nodes.d.ts +110 -90
- package/build/types/emitter/ir/types.d.ts +2 -2
- package/build/types/entities/Entity.d.ts +4 -4
- package/build/types/entities/EntityLocalizationContext.d.ts +2 -3
- package/build/types/entities/OperatorKind.d.ts +20 -20
- package/build/types/entities/TypeEntityMembers.d.ts +2 -10
- package/build/types/entities/interfaces/FunctionEntity.d.ts +2 -1
- package/build/types/entities/interfaces/VariableEntity.d.ts +3 -2
- package/build/types/entities/interfaces/index.d.ts +0 -1
- package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +4 -2
- package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +3 -3
- package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +3 -1
- package/build/types/entities/source/SourceFunctionEntity.d.ts +4 -1
- package/build/types/entities/source/SourceVariableEntity.d.ts +4 -0
- package/build/types/entities/source/index.d.ts +0 -1
- package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +2 -1
- package/build/types/entities/translated/TranslatedVariableEntity.d.ts +1 -0
- package/build/types/entities/translated/index.d.ts +0 -1
- package/build/types/parser/TokenKind.d.ts +1 -2
- package/build/types/services/DisplayService.d.ts +5 -27
- package/build/types/services/NodeSemanticInfo.d.ts +2 -6
- package/build/types/services/RenameService.d.ts +1 -0
- package/build/types/services/TreeUtils.d.ts +1 -1
- package/build/types/services/signature-help/SignatureWithParameters.d.ts +1 -8
- package/build/types/tree/BaseNode.d.ts +5 -5
- package/build/types/tree/Nodes.d.ts +11 -34
- package/build/types/tree/OperatorKind.d.ts +16 -17
- package/build/types/tree/SyntaxFactory.d.ts +3 -4
- package/build/types/tree/SyntaxToCode.d.ts +0 -1
- package/build/types/tree/TokenFlags.d.ts +1 -0
- package/build/types/tree/TokenKind.d.ts +1 -2
- package/build/types/tree/index.d.ts +5 -5
- package/build/types/ts-interop/Entities.d.ts +6 -2
- package/build/types/types/TypeMembers.d.ts +4 -24
- package/package.json +1 -1
- package/build/types/analysis/OperatorAccessResolver.d.ts +0 -10
- package/build/types/entities/interfaces/OperatorEntity.d.ts +0 -25
- package/build/types/entities/source/SourceOperatorEntity.d.ts +0 -42
- package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +0 -54
package/build/api/ApiServices.js
CHANGED
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
IntersectionTypeSpecifier,
|
|
56
56
|
JavaScriptInterfacePackageImplementationConfig,
|
|
57
57
|
JsonConfigurationFileNameSet,
|
|
58
|
-
Keyword,
|
|
58
|
+
Keyword2 as Keyword,
|
|
59
59
|
KeywordExpression,
|
|
60
60
|
LocaleByConfigurationDirectoryName,
|
|
61
61
|
LocaleByJsonConfigurationFileName,
|
|
@@ -76,8 +76,6 @@ import {
|
|
|
76
76
|
NodePath,
|
|
77
77
|
NodeTypeUtils,
|
|
78
78
|
NullableTypeSpecifier,
|
|
79
|
-
OperatorDeclaration,
|
|
80
|
-
OperatorDeclaration_typeMember,
|
|
81
79
|
Option,
|
|
82
80
|
PackageAliasTypeDeclaration,
|
|
83
81
|
PackageAspectDeclaration,
|
|
@@ -166,6 +164,7 @@ import {
|
|
|
166
164
|
isEntityWithParameters,
|
|
167
165
|
isEntityWithTypeParameters,
|
|
168
166
|
isIdentifier,
|
|
167
|
+
isKeyword,
|
|
169
168
|
isNamedTypeEntity,
|
|
170
169
|
isNarrowableReferenceExpression,
|
|
171
170
|
isNonEmptyArray,
|
|
@@ -185,7 +184,7 @@ import {
|
|
|
185
184
|
unwrapParenthesizedExpressions,
|
|
186
185
|
visitChildren,
|
|
187
186
|
yieldTask
|
|
188
|
-
} from "../chunk-
|
|
187
|
+
} from "../chunk-SJFIPH42.js";
|
|
189
188
|
|
|
190
189
|
// source/services/CustomRequests.ts
|
|
191
190
|
import * as ls from "vscode-languageserver";
|
|
@@ -540,25 +539,6 @@ var SyntaxFactory = class {
|
|
|
540
539
|
void 0
|
|
541
540
|
);
|
|
542
541
|
}
|
|
543
|
-
static operatorDeclaration(tags, modifiers, name, parameters, returnTypeSpecifier, body, operatorKind) {
|
|
544
|
-
const tagList = tags instanceof Array ? new TagList(tags, void 0) : tags;
|
|
545
|
-
const modifierList = modifiers instanceof Array ? new ModifierList(modifiers, void 0) : modifiers;
|
|
546
|
-
const functionKeyword = this.keyword(16 /* Function */);
|
|
547
|
-
const nameIdentifier = this.identifier(name);
|
|
548
|
-
const parameterClause = this.parameterClause(parameters);
|
|
549
|
-
const returnTypeAnnotation = this.createTypeAnnotation(returnTypeSpecifier);
|
|
550
|
-
return new OperatorDeclaration(
|
|
551
|
-
tagList,
|
|
552
|
-
modifierList,
|
|
553
|
-
functionKeyword,
|
|
554
|
-
nameIdentifier,
|
|
555
|
-
parameterClause,
|
|
556
|
-
returnTypeAnnotation,
|
|
557
|
-
body,
|
|
558
|
-
operatorKind,
|
|
559
|
-
void 0
|
|
560
|
-
);
|
|
561
|
-
}
|
|
562
542
|
static constructorDeclaration(tags, modifiers, parameters, body) {
|
|
563
543
|
const tagList = tags instanceof Array ? new TagList(tags, void 0) : tags;
|
|
564
544
|
const modifierList = modifiers instanceof Array ? new ModifierList(modifiers, void 0) : modifiers;
|
|
@@ -1052,16 +1032,6 @@ var SyntaxFactory = class {
|
|
|
1052
1032
|
node.returnTypeAnnotation?.typeSpecifier,
|
|
1053
1033
|
node.block
|
|
1054
1034
|
);
|
|
1055
|
-
case 48 /* OperatorDeclaration */:
|
|
1056
|
-
return this.operatorDeclaration(
|
|
1057
|
-
node.tagList,
|
|
1058
|
-
modifierList,
|
|
1059
|
-
node.name,
|
|
1060
|
-
node.parameterClause.parameterList,
|
|
1061
|
-
node.returnTypeAnnotation?.typeSpecifier,
|
|
1062
|
-
node.block,
|
|
1063
|
-
node.operatorKind
|
|
1064
|
-
);
|
|
1065
1035
|
case 49 /* FieldDeclaration */:
|
|
1066
1036
|
return this.fieldDeclaration(
|
|
1067
1037
|
node.tagList,
|
|
@@ -1088,9 +1058,9 @@ var SyntaxFactory = class {
|
|
|
1088
1058
|
Debug.never(node);
|
|
1089
1059
|
}
|
|
1090
1060
|
}
|
|
1091
|
-
static identifier(value) {
|
|
1061
|
+
static identifier(value, flags = 0 /* None */) {
|
|
1092
1062
|
if (typeof value === "string") {
|
|
1093
|
-
return this.createToken(9 /* Identifier */, value,
|
|
1063
|
+
return this.createToken(9 /* Identifier */, value, flags);
|
|
1094
1064
|
}
|
|
1095
1065
|
return value;
|
|
1096
1066
|
}
|
|
@@ -1464,20 +1434,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
|
1464
1434
|
this.writeDeclarationBody(node.block);
|
|
1465
1435
|
}
|
|
1466
1436
|
}
|
|
1467
|
-
writeOperatorDeclaration(node) {
|
|
1468
|
-
this.writeDeclarationTags(node.tagList);
|
|
1469
|
-
this.writeDeclarationModifiers(node.modifierList);
|
|
1470
|
-
this.writeKeyword(node.functionKeyword);
|
|
1471
|
-
this.writeWhitespace();
|
|
1472
|
-
this.writeToken(node.name);
|
|
1473
|
-
this.writeParameterClause(node.parameterClause);
|
|
1474
|
-
if (node.returnTypeAnnotation !== void 0) {
|
|
1475
|
-
this.writeTypeAnnotation(node.returnTypeAnnotation, true);
|
|
1476
|
-
}
|
|
1477
|
-
if (node.block !== void 0) {
|
|
1478
|
-
this.writeDeclarationBody(node.block);
|
|
1479
|
-
}
|
|
1480
|
-
}
|
|
1481
1437
|
writeConstructorDeclaration(node) {
|
|
1482
1438
|
this.writeDeclarationTags(node.tagList);
|
|
1483
1439
|
this.writeDeclarationModifiers(node.modifierList);
|
|
@@ -2070,7 +2026,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
|
2070
2026
|
case 43 /* IndexedElementSetterDeclaration */:
|
|
2071
2027
|
case 46 /* DereferencedVariableSetterDeclaration */:
|
|
2072
2028
|
case 47 /* MethodDeclaration */:
|
|
2073
|
-
case 48 /* OperatorDeclaration */:
|
|
2074
2029
|
case 22 /* PackageEntryPointDeclaration */:
|
|
2075
2030
|
return 3155970 /* SingularFemNoun */;
|
|
2076
2031
|
case 19 /* PackageAliasTypeDeclaration */:
|
|
@@ -2107,7 +2062,13 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
|
2107
2062
|
} else {
|
|
2108
2063
|
let value = token.value;
|
|
2109
2064
|
if (token.tokenKind === 9 /* Identifier */) {
|
|
2110
|
-
if (
|
|
2065
|
+
if ((token.flags & 2048 /* ObjectParameterName */) !== 0) {
|
|
2066
|
+
value = LocalizationHelper.localizeKeywordAndTakeFirst(
|
|
2067
|
+
7 /* Object */,
|
|
2068
|
+
this.keywordsLocale,
|
|
2069
|
+
this.keywordsDialect
|
|
2070
|
+
);
|
|
2071
|
+
} else if (value.startsWith("'") && value.endsWith("'")) {
|
|
2111
2072
|
value = `'${this.escapeLiteralIdentifier(value.substring(1, value.length - 1))}'`;
|
|
2112
2073
|
} else if (this.singleWordKeywordValues.has(value)) {
|
|
2113
2074
|
value = `'${value}'`;
|
|
@@ -2191,7 +2152,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
|
2191
2152
|
[45 /* DereferencedVariableGetterDeclaration */]: this.prototype.writeDereferencedVariableGetterDeclaration,
|
|
2192
2153
|
[46 /* DereferencedVariableSetterDeclaration */]: this.prototype.writeDereferencedVariableSetterDeclaration,
|
|
2193
2154
|
[47 /* MethodDeclaration */]: this.prototype.writeMethodDeclaration,
|
|
2194
|
-
[48 /* OperatorDeclaration */]: this.prototype.writeOperatorDeclaration,
|
|
2195
2155
|
[49 /* FieldDeclaration */]: this.prototype.writeFieldDeclaration,
|
|
2196
2156
|
[50 /* FieldGetterDeclaration */]: this.prototype.writeFieldGetterDeclaration,
|
|
2197
2157
|
[51 /* FieldSetterDeclaration */]: this.prototype.writeFieldSetterDeclaration,
|
|
@@ -2830,7 +2790,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2830
2790
|
createPackageFunctionTranslation(entity) {
|
|
2831
2791
|
const name = this.getNameText(entity.getName());
|
|
2832
2792
|
const typeParameters = entity.getTypeParameters().map((p) => this.getNameText(p.getName()));
|
|
2833
|
-
const parameters =
|
|
2793
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
2834
2794
|
return SyntaxFactory.packageFunctionTranslation(name, typeParameters, parameters, name, typeParameters, parameters);
|
|
2835
2795
|
}
|
|
2836
2796
|
createPackageTypeWithMembersTranslation(entity) {
|
|
@@ -2842,7 +2802,7 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2842
2802
|
createFunctionTypeAliasTranslation(entity, aliasTarget) {
|
|
2843
2803
|
const name = this.getNameText(entity.getName());
|
|
2844
2804
|
const typeParameters = entity.getTypeParameters().map((p) => this.getNameText(p.getName()));
|
|
2845
|
-
const parameters =
|
|
2805
|
+
const parameters = this.createParameters(aliasTarget.getParameters());
|
|
2846
2806
|
return SyntaxFactory.functionTypeTranslation(name, typeParameters, parameters, name, typeParameters, parameters);
|
|
2847
2807
|
}
|
|
2848
2808
|
createTypeMemberTranslationNode(entity) {
|
|
@@ -2855,8 +2815,6 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2855
2815
|
return this.createConstructorTranslation(entity);
|
|
2856
2816
|
case 5 /* Indexer */:
|
|
2857
2817
|
return this.createIndexerTranslation(entity);
|
|
2858
|
-
case 9 /* Operator */:
|
|
2859
|
-
return this.createOperatorTranslation(entity);
|
|
2860
2818
|
case 6 /* DereferenceOperator */:
|
|
2861
2819
|
case 8 /* Destructor */:
|
|
2862
2820
|
return void 0;
|
|
@@ -2869,23 +2827,34 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
|
2869
2827
|
return SyntaxFactory.fieldOrVariantTranslation(name, name);
|
|
2870
2828
|
}
|
|
2871
2829
|
createMethodTranslation(entity) {
|
|
2872
|
-
|
|
2830
|
+
let name;
|
|
2831
|
+
const operatorKind = entity.getOperatorKind();
|
|
2832
|
+
if (operatorKind === void 0) {
|
|
2833
|
+
name = this.getNameText(entity.getName());
|
|
2834
|
+
} else {
|
|
2835
|
+
name = `'${LocalizationHelper.localizeOperatorKind(operatorKind, this.locale, this.dialect)}'`;
|
|
2836
|
+
}
|
|
2873
2837
|
const typeParameters = entity.getTypeParameters().map((p) => this.getNameText(p.getName()));
|
|
2874
|
-
const parameters =
|
|
2838
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
2875
2839
|
return SyntaxFactory.methodTranslation(name, typeParameters, parameters, name, typeParameters, parameters);
|
|
2876
2840
|
}
|
|
2877
2841
|
createConstructorTranslation(entity) {
|
|
2878
|
-
const parameters =
|
|
2842
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
2879
2843
|
return SyntaxFactory.constructorTranslation(parameters, parameters);
|
|
2880
2844
|
}
|
|
2881
2845
|
createIndexerTranslation(entity) {
|
|
2882
|
-
const parameters =
|
|
2846
|
+
const parameters = this.createParameters(entity.getParameters());
|
|
2883
2847
|
return SyntaxFactory.indexerTranslation(parameters, parameters);
|
|
2884
2848
|
}
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2849
|
+
createParameters(parameters) {
|
|
2850
|
+
return parameters.map((p) => {
|
|
2851
|
+
const nameText = this.getNameText(p.getName());
|
|
2852
|
+
let flags = 0 /* None */;
|
|
2853
|
+
if (p.isObjectParameter()) {
|
|
2854
|
+
flags |= 2048 /* ObjectParameterName */;
|
|
2855
|
+
}
|
|
2856
|
+
return SyntaxFactory.identifier(nameText, flags);
|
|
2857
|
+
});
|
|
2889
2858
|
}
|
|
2890
2859
|
getNameText(name) {
|
|
2891
2860
|
const flags = name.flags & ~8 /* ConflictResolvingParameterName */;
|
|
@@ -3101,15 +3070,6 @@ var SignatureForNode = class _SignatureForNode {
|
|
|
3101
3070
|
});
|
|
3102
3071
|
return new SignaturesWithSingleSuitable(signatures, suitableSignatureIndex);
|
|
3103
3072
|
}
|
|
3104
|
-
case "operator-call": {
|
|
3105
|
-
let suitableSignatureIndex;
|
|
3106
|
-
const singleOperator = meaning.singleOperator;
|
|
3107
|
-
if (singleOperator !== void 0) {
|
|
3108
|
-
suitableSignatureIndex = meaning.candidates.findIndex((c) => c.equals(singleOperator));
|
|
3109
|
-
}
|
|
3110
|
-
const signatures = meaning.candidates.map((c) => new OperatorSignature(c));
|
|
3111
|
-
return new SignaturesWithSingleSuitable(signatures, suitableSignatureIndex);
|
|
3112
|
-
}
|
|
3113
3073
|
case "object-function-call": {
|
|
3114
3074
|
const signature = new FunctionTypeSignature(meaning.type);
|
|
3115
3075
|
return new SignaturesWithSingleSuitable([signature], 0);
|
|
@@ -3335,16 +3295,6 @@ var AccessedFunctionSignature = class {
|
|
|
3335
3295
|
return this.parameters.getOrInsertWith(() => this.func.getParameters().map((p) => new UniversalParameter(p.type, p.entity)));
|
|
3336
3296
|
}
|
|
3337
3297
|
};
|
|
3338
|
-
var OperatorSignature = class {
|
|
3339
|
-
constructor(operator) {
|
|
3340
|
-
this.kind = "operator";
|
|
3341
|
-
this.parameters = new Cached();
|
|
3342
|
-
this.operator = operator;
|
|
3343
|
-
}
|
|
3344
|
-
getParameters() {
|
|
3345
|
-
return this.parameters.getOrInsertWith(() => this.operator.getParameters().map((p) => new UniversalParameter(p.getType(), p.getEntity())));
|
|
3346
|
-
}
|
|
3347
|
-
};
|
|
3348
3298
|
var FunctionTypeSignature = class {
|
|
3349
3299
|
constructor(functionType) {
|
|
3350
3300
|
this.kind = "function-type";
|
|
@@ -3483,7 +3433,7 @@ var CompletionService = class {
|
|
|
3483
3433
|
if (syntaxContext.isInComment || syntaxContext.isInText) {
|
|
3484
3434
|
return { kind: "none" };
|
|
3485
3435
|
}
|
|
3486
|
-
if (syntaxContext.isInQuotedIdentifier !== void 0 &&
|
|
3436
|
+
if (syntaxContext.isInQuotedIdentifier !== void 0 && syntaxContext.isInQuotedIdentifier.parent.kind === 47 /* MethodDeclaration */) {
|
|
3487
3437
|
return new OperatorNameCompletionContext(syntaxContext.isInQuotedIdentifier);
|
|
3488
3438
|
}
|
|
3489
3439
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
|
@@ -3891,15 +3841,16 @@ var CompletionService = class {
|
|
|
3891
3841
|
}
|
|
3892
3842
|
if (syntaxContext.isExpressionContext !== void 0) {
|
|
3893
3843
|
kinds.add(47 /* Not */).add(56 /* Yes */).add(57 /* No */).add(61 /* Null */).add(44 /* Async */).add(16 /* Function */).add(58 /* Reference */).add(2 /* Autotype */).add(34 /* Cond */).add(35 /* Creation */);
|
|
3894
|
-
|
|
3844
|
+
const objectVariableInfo = semanticContext.getObjectVariableInfo();
|
|
3845
|
+
if (objectVariableInfo !== void 0 && !(objectVariableInfo.kind === "containing-type-context" && semanticContext.isStatic())) {
|
|
3846
|
+
kinds.add(7 /* Object */);
|
|
3847
|
+
}
|
|
3848
|
+
if (!semanticContext.isStatic()) {
|
|
3895
3849
|
const container = semanticContext.getContainingTypeOrTypeExtension();
|
|
3896
|
-
if (container !== void 0) {
|
|
3897
|
-
|
|
3898
|
-
if (
|
|
3899
|
-
|
|
3900
|
-
if (typeEntity?.typeEntityKind === 1 /* Structured */ && typeEntity.getBaseObjectType() !== void 0 || typeEntity?.typeEntityKind === 3 /* Variant */ || typeEntity?.typeEntityKind === 4 /* Alias */) {
|
|
3901
|
-
kinds.add(60 /* Base */);
|
|
3902
|
-
}
|
|
3850
|
+
if (container !== void 0 && container.kind === "type") {
|
|
3851
|
+
const typeEntity = container.value;
|
|
3852
|
+
if (typeEntity?.typeEntityKind === 1 /* Structured */ && typeEntity.getBaseObjectType() !== void 0 || typeEntity?.typeEntityKind === 3 /* Variant */ || typeEntity?.typeEntityKind === 4 /* Alias */) {
|
|
3853
|
+
kinds.add(60 /* Base */);
|
|
3903
3854
|
}
|
|
3904
3855
|
}
|
|
3905
3856
|
}
|
|
@@ -4062,10 +4013,14 @@ var CompletionService = class {
|
|
|
4062
4013
|
return parameters.map((p) => new TargetSignatureParameterCompletionItemInfo(this.completionItemInfoContext, p));
|
|
4063
4014
|
}
|
|
4064
4015
|
getScopeCompletionItemInfos(semanticContext) {
|
|
4065
|
-
return Query.from(semanticContext.getNamedDeclarations()).
|
|
4016
|
+
return Query.from(semanticContext.getNamedDeclarations()).mapAndFilter((d) => {
|
|
4066
4017
|
switch (d.kind) {
|
|
4067
4018
|
case "variable": {
|
|
4068
4019
|
if (d.value.kind === "entity") {
|
|
4020
|
+
const entity = d.value.value;
|
|
4021
|
+
if (entity.subkind === "parameter" && entity.isObjectParameter()) {
|
|
4022
|
+
return void 0;
|
|
4023
|
+
}
|
|
4069
4024
|
return new VariableEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
|
|
4070
4025
|
} else {
|
|
4071
4026
|
return new FieldCompletionItemInfo(this.completionItemInfoContext, d.value.value);
|
|
@@ -4088,9 +4043,7 @@ var CompletionService = class {
|
|
|
4088
4043
|
default:
|
|
4089
4044
|
Debug.never(d);
|
|
4090
4045
|
}
|
|
4091
|
-
})
|
|
4092
|
-
Query.from(semanticContext.getOperators()).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o))
|
|
4093
|
-
);
|
|
4046
|
+
});
|
|
4094
4047
|
}
|
|
4095
4048
|
getTypeCompletionItemInfos(ctx) {
|
|
4096
4049
|
let result;
|
|
@@ -4251,7 +4204,7 @@ var CompletionService = class {
|
|
|
4251
4204
|
default:
|
|
4252
4205
|
Debug.never(m);
|
|
4253
4206
|
}
|
|
4254
|
-
})
|
|
4207
|
+
});
|
|
4255
4208
|
}
|
|
4256
4209
|
getPackageImportCompletionItemInfos(ctx) {
|
|
4257
4210
|
const result = this.analyzer.packageImports.getPackagesAvailableForImport(this.sourceFile.package).map((p) => p.getName()).filter((n) => {
|
|
@@ -4400,8 +4353,7 @@ var CompletionService = class {
|
|
|
4400
4353
|
for (const itemInfo of completionItemInfos) {
|
|
4401
4354
|
switch (itemInfo.kind) {
|
|
4402
4355
|
case "method":
|
|
4403
|
-
case "function-entity":
|
|
4404
|
-
case "operator": {
|
|
4356
|
+
case "function-entity": {
|
|
4405
4357
|
const label = itemInfo.getLabel();
|
|
4406
4358
|
const functionInfo = functionInfoByLabel.get(label);
|
|
4407
4359
|
if (functionInfo !== void 0) {
|
|
@@ -4755,10 +4707,17 @@ var MethodCompletionItemInfo = class {
|
|
|
4755
4707
|
this.kind = "method";
|
|
4756
4708
|
}
|
|
4757
4709
|
getLabel() {
|
|
4758
|
-
|
|
4710
|
+
let result;
|
|
4711
|
+
const operatorKind = this.method.getOperatorKind();
|
|
4712
|
+
if (operatorKind === void 0) {
|
|
4713
|
+
result = this.ctx.getInsertTextForName(this.method.getName());
|
|
4714
|
+
} else {
|
|
4715
|
+
result = `'${this.ctx.displayService.displayOperatorKind(operatorKind)}'`;
|
|
4716
|
+
}
|
|
4717
|
+
return result;
|
|
4759
4718
|
}
|
|
4760
4719
|
getCompletionItemKind() {
|
|
4761
|
-
return 3 /* Method */;
|
|
4720
|
+
return this.method.getOperatorKind() === void 0 ? 3 /* Method */ : 4 /* Operator */;
|
|
4762
4721
|
}
|
|
4763
4722
|
getDetails() {
|
|
4764
4723
|
return this.ctx.displayService.displayTypeMember(this.method);
|
|
@@ -4773,31 +4732,6 @@ var MethodCompletionItemInfo = class {
|
|
|
4773
4732
|
return void 0;
|
|
4774
4733
|
}
|
|
4775
4734
|
};
|
|
4776
|
-
var OperatorCompletionItemInfo = class {
|
|
4777
|
-
constructor(ctx, operator) {
|
|
4778
|
-
this.ctx = ctx;
|
|
4779
|
-
this.operator = operator;
|
|
4780
|
-
this.kind = "operator";
|
|
4781
|
-
}
|
|
4782
|
-
getLabel() {
|
|
4783
|
-
return `'${this.ctx.displayService.displayOperatorKind(this.operator.getOperatorKind())}'`;
|
|
4784
|
-
}
|
|
4785
|
-
getCompletionItemKind() {
|
|
4786
|
-
return 4 /* Operator */;
|
|
4787
|
-
}
|
|
4788
|
-
getDetails() {
|
|
4789
|
-
return this.ctx.displayService.displayTypeMember(this.operator);
|
|
4790
|
-
}
|
|
4791
|
-
getInsertText() {
|
|
4792
|
-
return void 0;
|
|
4793
|
-
}
|
|
4794
|
-
getSortText() {
|
|
4795
|
-
return void 0;
|
|
4796
|
-
}
|
|
4797
|
-
getEditRange() {
|
|
4798
|
-
return void 0;
|
|
4799
|
-
}
|
|
4800
|
-
};
|
|
4801
4735
|
var VariableEntityCompletionItemInfo = class {
|
|
4802
4736
|
constructor(ctx, entity) {
|
|
4803
4737
|
this.ctx = ctx;
|
|
@@ -4841,14 +4775,21 @@ var FunctionEntityCompletionItemInfo = class {
|
|
|
4841
4775
|
this.kind = "function-entity";
|
|
4842
4776
|
}
|
|
4843
4777
|
getLabel() {
|
|
4844
|
-
|
|
4778
|
+
let result;
|
|
4779
|
+
const operatorKind = this.entity.subkind === "method" ? this.entity.getOperatorKind() : void 0;
|
|
4780
|
+
if (operatorKind === void 0) {
|
|
4781
|
+
result = this.ctx.getInsertTextForName(this.entity.getName());
|
|
4782
|
+
} else {
|
|
4783
|
+
result = `'${this.ctx.displayService.displayOperatorKind(operatorKind)}'`;
|
|
4784
|
+
}
|
|
4785
|
+
return result;
|
|
4845
4786
|
}
|
|
4846
4787
|
getCompletionItemKind() {
|
|
4847
4788
|
switch (this.entity.subkind) {
|
|
4848
4789
|
case "package":
|
|
4849
4790
|
return 8 /* PackageFunction */;
|
|
4850
4791
|
case "method":
|
|
4851
|
-
return 3 /* Method */;
|
|
4792
|
+
return this.entity.subkind === "method" && this.entity.getOperatorKind() !== void 0 ? 4 /* Operator */ : 3 /* Method */;
|
|
4852
4793
|
case "nested":
|
|
4853
4794
|
return 11 /* NestedFunction */;
|
|
4854
4795
|
default:
|
|
@@ -5594,7 +5535,7 @@ var SyntaxContextFactory = class {
|
|
|
5594
5535
|
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(
|
|
5595
5536
|
tokenOrKeyword,
|
|
5596
5537
|
46 /* DereferencedVariableSetterDeclaration */
|
|
5597
|
-
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 47 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword,
|
|
5538
|
+
) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 47 /* MethodDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 40 /* ConstructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 41 /* DestructorDeclaration */) || SyntaxContextUtils.tokenOrKeywordIsValidEndOfNode(tokenOrKeyword, 145 /* VariantValueDeclaration */)) {
|
|
5598
5539
|
return true;
|
|
5599
5540
|
}
|
|
5600
5541
|
if (tokenOrKeyword.isKeyword() && tokenOrKeyword.parent.kind === 152 /* Modifier */ && tokenOrKeyword.value === tokenOrKeyword.parent.value && tokenOrKeyword.parent.openParenthesisToken === void 0 && NodeTypeUtils.isTypeMemberDeclaration(tokenOrKeyword.parent.parent.parent)) {
|
|
@@ -5894,6 +5835,8 @@ var NodeSemanticInfoService = class {
|
|
|
5894
5835
|
return this.ofIndexedAccessExpressionOperator(analyzer, tokenOrKeyword.parent, options7);
|
|
5895
5836
|
} else if (tokenOrKeyword.isKeyword(35 /* Creation */) && tokenOrKeyword.parent.kind === 125 /* ConstructorTranslation */) {
|
|
5896
5837
|
return this.ofConstructorTranslationSourceConstructor(analyzer, tokenOrKeyword.parent, options7);
|
|
5838
|
+
} else if (tokenOrKeyword.isKeyword(7 /* Object */) && tokenOrKeyword.parent.kind === 147 /* ParameterDeclaration */) {
|
|
5839
|
+
return this.ofOjectParameterDeclaration(analyzer, tokenOrKeyword.parent, tokenOrKeyword.value);
|
|
5897
5840
|
} else if ((tokenOrKeyword.isToken(47 /* OpenParenthesis */) || tokenOrKeyword.isToken(23 /* CloseParenthesis */)) && tokenOrKeyword.parent.kind === 124 /* TranslationParameterClause */ && tokenOrKeyword.parent.parent.kind === 125 /* ConstructorTranslation */ && tokenOrKeyword.parent.parent.translatedParameterClause === tokenOrKeyword.parent) {
|
|
5898
5841
|
return this.ofConstructorTranslationTranslatedConstructor(analyzer, tokenOrKeyword.parent.parent, options7);
|
|
5899
5842
|
} else if ((tokenOrKeyword.isToken(48 /* OpenSquareBracket */) || tokenOrKeyword.isToken(24 /* CloseSquareBracket */)) && tokenOrKeyword.parent.kind === 126 /* IndexParameterTranslationClause */ && tokenOrKeyword.parent.parent.kind === 127 /* IndexerTranslation */ && tokenOrKeyword.parent.parent.sourceParameterClause === tokenOrKeyword.parent) {
|
|
@@ -6033,9 +5976,6 @@ var NodeSemanticInfoService = class {
|
|
|
6033
5976
|
case 47 /* MethodDeclaration */:
|
|
6034
5977
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofMethodDeclaration(parent));
|
|
6035
5978
|
break;
|
|
6036
|
-
case 48 /* OperatorDeclaration */:
|
|
6037
|
-
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofOperatorDeclaration(parent));
|
|
6038
|
-
break;
|
|
6039
5979
|
case 49 /* FieldDeclaration */:
|
|
6040
5980
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofFieldDeclaration(parent));
|
|
6041
5981
|
break;
|
|
@@ -6123,14 +6063,6 @@ var NodeSemanticInfoService = class {
|
|
|
6123
6063
|
}
|
|
6124
6064
|
break;
|
|
6125
6065
|
}
|
|
6126
|
-
case "operator-access": {
|
|
6127
|
-
if (isNonEmptyArray(meaning.suitableOperators)) {
|
|
6128
|
-
result = createOperatorsReference(meaning.suitableOperators, meaning.suitableOperators.length > 1);
|
|
6129
|
-
} else if (isNonEmptyArray(meaning.candidates)) {
|
|
6130
|
-
result = createOperatorsReference(meaning.candidates, true);
|
|
6131
|
-
}
|
|
6132
|
-
break;
|
|
6133
|
-
}
|
|
6134
6066
|
case "package-function-access": {
|
|
6135
6067
|
let functions;
|
|
6136
6068
|
if (meaning.singleNotSuitableSubstitutedCandidate !== void 0) {
|
|
@@ -6193,10 +6125,6 @@ var NodeSemanticInfoService = class {
|
|
|
6193
6125
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6194
6126
|
}
|
|
6195
6127
|
return result;
|
|
6196
|
-
function createOperatorsReference(operators, isAmbiguous) {
|
|
6197
|
-
const targets = operators.map((o) => new OperatorReferenceTarget(o));
|
|
6198
|
-
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
|
|
6199
|
-
}
|
|
6200
6128
|
}
|
|
6201
6129
|
static ofQualifiedNameQualifier(analyzer, node, qualifier, options7) {
|
|
6202
6130
|
switch (node.parent.kind) {
|
|
@@ -6393,14 +6321,6 @@ var NodeSemanticInfoService = class {
|
|
|
6393
6321
|
}
|
|
6394
6322
|
break;
|
|
6395
6323
|
}
|
|
6396
|
-
case "operator-access": {
|
|
6397
|
-
if (isNonEmptyArray(meaning.suitableOperators)) {
|
|
6398
|
-
result = createOperatorsReference(meaning.suitableOperators, meaning.suitableOperators.length > 1);
|
|
6399
|
-
} else if (isNonEmptyArray(meaning.candidates)) {
|
|
6400
|
-
result = createOperatorsReference(meaning.candidates, true);
|
|
6401
|
-
}
|
|
6402
|
-
break;
|
|
6403
|
-
}
|
|
6404
6324
|
case "variable-access": {
|
|
6405
6325
|
let narrowedType;
|
|
6406
6326
|
if (isNarrowableReferenceExpression(node)) {
|
|
@@ -6458,10 +6378,6 @@ var NodeSemanticInfoService = class {
|
|
|
6458
6378
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
6459
6379
|
}
|
|
6460
6380
|
return result;
|
|
6461
|
-
function createOperatorsReference(operators, isAmbiguous) {
|
|
6462
|
-
const targets = operators.map((o) => new OperatorReferenceTarget(o));
|
|
6463
|
-
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), isAmbiguous);
|
|
6464
|
-
}
|
|
6465
6381
|
}
|
|
6466
6382
|
static ofConstructorDeclaration(analyzer, node) {
|
|
6467
6383
|
const entity = analyzer.entity.ofConstructorDeclaration(node);
|
|
@@ -6500,7 +6416,7 @@ var NodeSemanticInfoService = class {
|
|
|
6500
6416
|
if (operatorKind !== void 0) {
|
|
6501
6417
|
const operator = analyzer.resolveCompoundAssignmentStatementOperator(node, operatorKind);
|
|
6502
6418
|
if (operator !== void 0) {
|
|
6503
|
-
const target = new
|
|
6419
|
+
const target = new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(operator));
|
|
6504
6420
|
let result = new ReferenceNodeSemanticInfo([target], false);
|
|
6505
6421
|
if (options7.includeBetterReferenceTargets) {
|
|
6506
6422
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -6515,7 +6431,7 @@ var NodeSemanticInfoService = class {
|
|
|
6515
6431
|
if (classificationResult.kind === "user-definable") {
|
|
6516
6432
|
const operator = analyzer.resolveBinaryExpressionUserDefinableOperator(node, classificationResult.operatorKind);
|
|
6517
6433
|
if (operator !== void 0) {
|
|
6518
|
-
const target = new
|
|
6434
|
+
const target = new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(operator));
|
|
6519
6435
|
let result = new ReferenceNodeSemanticInfo([target], false);
|
|
6520
6436
|
if (options7.includeBetterReferenceTargets) {
|
|
6521
6437
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -6528,7 +6444,7 @@ var NodeSemanticInfoService = class {
|
|
|
6528
6444
|
static ofPrefixUnaryExpressionOperator(analyzer, node, options7) {
|
|
6529
6445
|
const operator = analyzer.resolvePrefixUnaryExpressionUserDefinableOperator(node);
|
|
6530
6446
|
if (operator !== void 0) {
|
|
6531
|
-
const target = new
|
|
6447
|
+
const target = new AccessedFunctionReferenceTarget(new AccessedFunction_typeMember(operator));
|
|
6532
6448
|
let result = new ReferenceNodeSemanticInfo([target], false);
|
|
6533
6449
|
if (options7.includeBetterReferenceTargets) {
|
|
6534
6450
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -6601,6 +6517,12 @@ var NodeSemanticInfoService = class {
|
|
|
6601
6517
|
result = new ReferenceNodeSemanticInfo([target], false);
|
|
6602
6518
|
break;
|
|
6603
6519
|
}
|
|
6520
|
+
case "object-parameter-access": {
|
|
6521
|
+
const type = analyzer.type.ofExpression(node);
|
|
6522
|
+
const target = new EntityReferenceTarget(meaning.parameter, 0 /* Get */, type);
|
|
6523
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
|
6524
|
+
break;
|
|
6525
|
+
}
|
|
6604
6526
|
case "unresolved":
|
|
6605
6527
|
break;
|
|
6606
6528
|
default:
|
|
@@ -6635,11 +6557,6 @@ var NodeSemanticInfoService = class {
|
|
|
6635
6557
|
case "overridden-method-access": {
|
|
6636
6558
|
return this.ofAccessedFunctions([meaning.method]);
|
|
6637
6559
|
}
|
|
6638
|
-
case "overridden-operator-access": {
|
|
6639
|
-
const target = new OperatorReferenceTarget(meaning.operator);
|
|
6640
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
|
6641
|
-
break;
|
|
6642
|
-
}
|
|
6643
6560
|
case "unresolved":
|
|
6644
6561
|
break;
|
|
6645
6562
|
default:
|
|
@@ -6708,6 +6625,9 @@ var NodeSemanticInfoService = class {
|
|
|
6708
6625
|
}
|
|
6709
6626
|
return result;
|
|
6710
6627
|
}
|
|
6628
|
+
static ofOjectParameterDeclaration(analyzer, node, _objectKeyword) {
|
|
6629
|
+
return new DefinitionNodeSemanticInfo(analyzer.entity.ofParameterDeclaration(node));
|
|
6630
|
+
}
|
|
6711
6631
|
static ofPackageNameSegmentAccess(analyzer, packageTreeNode, node) {
|
|
6712
6632
|
let parent = getParentSkippingParenthesizedExpressions(node);
|
|
6713
6633
|
while (parent.kind === 73 /* MemberAccessExpression */) {
|
|
@@ -6816,16 +6736,30 @@ var NodeSemanticInfoService = class {
|
|
|
6816
6736
|
if (translationTargets !== void 0) {
|
|
6817
6737
|
let parameterArrays;
|
|
6818
6738
|
if (parameterList === translationDeclaration.sourceParameterClause?.parameterList) {
|
|
6819
|
-
parameterArrays = Query.from(translationTargets.values).mapAndFilter((e) =>
|
|
6739
|
+
parameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => {
|
|
6740
|
+
if (e.kind === 2 /* Type */) {
|
|
6741
|
+
const functionTypeEntity = ifTypeEntityIsFunctionTypeAliasThenFunctionType(e);
|
|
6742
|
+
if (functionTypeEntity !== void 0) {
|
|
6743
|
+
return functionTypeEntity.getParameters();
|
|
6744
|
+
}
|
|
6745
|
+
}
|
|
6746
|
+
return isEntityWithParameters(e) ? e.getParameters() : void 0;
|
|
6747
|
+
}).toArray();
|
|
6820
6748
|
} else {
|
|
6821
6749
|
parameterArrays = Query.from(translationTargets.values).mapAndFilter((e) => {
|
|
6822
6750
|
const localizedEntity = isPackageMemberEntity(e) ? translationPackage.localizationContext.getLocalizedPackageMemberEntity(e) : translationPackage.localizationContext.getLocalizedTypeMemberEntity(e);
|
|
6751
|
+
if (localizedEntity.kind === 2 /* Type */) {
|
|
6752
|
+
const functionTypeEntity = ifTypeEntityIsFunctionTypeAliasThenFunctionType(localizedEntity);
|
|
6753
|
+
if (functionTypeEntity !== void 0) {
|
|
6754
|
+
return functionTypeEntity.getParameters();
|
|
6755
|
+
}
|
|
6756
|
+
}
|
|
6823
6757
|
return isEntityWithParameters(localizedEntity) ? localizedEntity.getParameters() : void 0;
|
|
6824
6758
|
}).toArray();
|
|
6825
6759
|
}
|
|
6826
|
-
const
|
|
6827
|
-
if (isNonEmptyArray(
|
|
6828
|
-
const targets =
|
|
6760
|
+
const parameters = Query.from(parameterArrays).mapAndFilter((a) => a[parameterIndex]).toArray();
|
|
6761
|
+
if (isNonEmptyArray(parameters)) {
|
|
6762
|
+
const targets = parameters.map((t) => new EntityReferenceTarget(t, 0 /* Get */));
|
|
6829
6763
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), !translationTargets.areSuitable);
|
|
6830
6764
|
if (options7.includeBetterReferenceTargets) {
|
|
6831
6765
|
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
@@ -6979,12 +6913,6 @@ var AccessedFunctionReferenceTarget = class {
|
|
|
6979
6913
|
this.kind = "accessed-function";
|
|
6980
6914
|
}
|
|
6981
6915
|
};
|
|
6982
|
-
var OperatorReferenceTarget = class {
|
|
6983
|
-
constructor(operator) {
|
|
6984
|
-
this.operator = operator;
|
|
6985
|
-
this.kind = "operator";
|
|
6986
|
-
}
|
|
6987
|
-
};
|
|
6988
6916
|
var MatchResultParameterReferenceTarget = class {
|
|
6989
6917
|
constructor(parameter, accessKind) {
|
|
6990
6918
|
this.parameter = parameter;
|
|
@@ -7089,7 +7017,6 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
|
7089
7017
|
case 53 /* NestedFunctionDeclaration */:
|
|
7090
7018
|
case 47 /* MethodDeclaration */:
|
|
7091
7019
|
case 146 /* TypeParameterDeclaration */:
|
|
7092
|
-
case 48 /* OperatorDeclaration */:
|
|
7093
7020
|
case 27 /* PackageClassDeclaration */:
|
|
7094
7021
|
case 28 /* PackageStructureDeclaration */:
|
|
7095
7022
|
case 29 /* PackageAspectDeclaration */:
|
|
@@ -7316,8 +7243,6 @@ var DefinitionService = class {
|
|
|
7316
7243
|
return getEntitySourceLocations(analyzer, target.constructor_.getEntity());
|
|
7317
7244
|
case "accessed-function":
|
|
7318
7245
|
return getEntitySourceLocations(analyzer, target.func.getEntity());
|
|
7319
|
-
case "operator":
|
|
7320
|
-
return getEntitySourceLocations(analyzer, target.operator.getEntity());
|
|
7321
7246
|
case "type-dereference-operator":
|
|
7322
7247
|
return getEntitySourceLocations(analyzer, target.operator.getEntity());
|
|
7323
7248
|
case "match-result-value-parameter":
|
|
@@ -7354,8 +7279,6 @@ var DefinitionService = class {
|
|
|
7354
7279
|
return target.parameter.getEntity();
|
|
7355
7280
|
case "type-constructor":
|
|
7356
7281
|
return target.constructor_.getEntity();
|
|
7357
|
-
case "operator":
|
|
7358
|
-
return target.operator.getEntity();
|
|
7359
7282
|
case "type-dereference-operator":
|
|
7360
7283
|
return target.operator.getEntity();
|
|
7361
7284
|
case "accessed-function":
|
|
@@ -7430,9 +7353,6 @@ var DefinitionService = class {
|
|
|
7430
7353
|
case 46 /* DereferencedVariableSetterDeclaration */:
|
|
7431
7354
|
range = node.caretToken.rangeWithoutTrivia;
|
|
7432
7355
|
break;
|
|
7433
|
-
case 48 /* OperatorDeclaration */:
|
|
7434
|
-
range = node.name.rangeWithoutTrivia;
|
|
7435
|
-
break;
|
|
7436
7356
|
case 63 /* FunctionBlockLiteral */:
|
|
7437
7357
|
range = node.block.openBraceToken.rangeWithoutTrivia;
|
|
7438
7358
|
break;
|
|
@@ -7474,7 +7394,6 @@ var DefinitionService = class {
|
|
|
7474
7394
|
result.push(target.type);
|
|
7475
7395
|
break;
|
|
7476
7396
|
case "type-constructor":
|
|
7477
|
-
case "operator":
|
|
7478
7397
|
case "type-dereference-operator":
|
|
7479
7398
|
case "accessed-function":
|
|
7480
7399
|
case "type-indexer":
|
|
@@ -7575,6 +7494,30 @@ var ReferencesService = class {
|
|
|
7575
7494
|
result.push(new Reference(sourceFile2, node.rangeWithoutTrivia, referenceKind));
|
|
7576
7495
|
}
|
|
7577
7496
|
}
|
|
7497
|
+
if (isKeyword(node, 7 /* Object */) && node.parent.kind === 147 /* ParameterDeclaration */ && restrictions.canBeObjectParameter) {
|
|
7498
|
+
const semanticInfo = NodeSemanticInfoService.ofOjectParameterDeclaration(analyzer, node.parent, node);
|
|
7499
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7500
|
+
definitions,
|
|
7501
|
+
semanticInfo,
|
|
7502
|
+
allowAmbiguous,
|
|
7503
|
+
isForRename
|
|
7504
|
+
);
|
|
7505
|
+
if (referenceKind !== void 0) {
|
|
7506
|
+
result.push(new Reference(sourceFile2, node.rangeWithoutTrivia, referenceKind));
|
|
7507
|
+
}
|
|
7508
|
+
}
|
|
7509
|
+
if (node.kind === 84 /* ObjectExpression */ && (restrictions.canBeOwnOrBaseConstructorCall && !options7.onlyNamed || restrictions.canBeObjectParameter)) {
|
|
7510
|
+
const semanticInfo = NodeSemanticInfoService.ofObjectExpression(analyzer, node, semanticInfoOptions);
|
|
7511
|
+
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7512
|
+
definitions,
|
|
7513
|
+
semanticInfo,
|
|
7514
|
+
allowAmbiguous,
|
|
7515
|
+
isForRename
|
|
7516
|
+
);
|
|
7517
|
+
if (referenceKind !== void 0) {
|
|
7518
|
+
result.push(new Reference(sourceFile2, node.keyword.rangeWithoutTrivia, referenceKind));
|
|
7519
|
+
}
|
|
7520
|
+
}
|
|
7578
7521
|
if (!options7.onlyNamed) {
|
|
7579
7522
|
if (node.kind === 66 /* AutotypeCallExpression */ && restrictions.canBeAutotypeCall) {
|
|
7580
7523
|
const semanticInfo = NodeSemanticInfoService.ofAutotypeCallExpression(analyzer, node, semanticInfoOptions);
|
|
@@ -7692,18 +7635,6 @@ var ReferencesService = class {
|
|
|
7692
7635
|
result.push(new Reference(sourceFile2, node.creationKeyword.rangeWithoutTrivia, referenceKind));
|
|
7693
7636
|
}
|
|
7694
7637
|
}
|
|
7695
|
-
if (node.kind === 84 /* ObjectExpression */ && restrictions.canBeOwnOrBaseConstructorCall) {
|
|
7696
|
-
const semanticInfo = NodeSemanticInfoService.ofObjectExpression(analyzer, node, semanticInfoOptions);
|
|
7697
|
-
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
7698
|
-
definitions,
|
|
7699
|
-
semanticInfo,
|
|
7700
|
-
allowAmbiguous,
|
|
7701
|
-
isForRename
|
|
7702
|
-
);
|
|
7703
|
-
if (referenceKind !== void 0) {
|
|
7704
|
-
result.push(new Reference(sourceFile2, node.keyword.rangeWithoutTrivia, referenceKind));
|
|
7705
|
-
}
|
|
7706
|
-
}
|
|
7707
7638
|
if (node.kind === 85 /* BaseExpression */ && restrictions.canBeOwnOrBaseConstructorCall) {
|
|
7708
7639
|
const semanticInfo = NodeSemanticInfoService.ofBaseExpression(analyzer, node, semanticInfoOptions);
|
|
7709
7640
|
const referenceKind = this.ifReferenceToSomeOfDefinitionsThenKind(
|
|
@@ -7898,8 +7829,6 @@ var ReferencesService = class {
|
|
|
7898
7829
|
return new DefinitionInfo(t.parameter.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
7899
7830
|
case "type-constructor":
|
|
7900
7831
|
return new DefinitionInfo(t.constructor_.getEntity(), 0 /* Read */);
|
|
7901
|
-
case "operator":
|
|
7902
|
-
return new DefinitionInfo(t.operator.getEntity(), 0 /* Read */);
|
|
7903
7832
|
case "type-dereference-operator":
|
|
7904
7833
|
return new DefinitionInfo(t.operator.getEntity(), accessKindToReferenceKind(t.accessKind));
|
|
7905
7834
|
case "accessed-function":
|
|
@@ -7946,15 +7875,6 @@ var ReferencesService = class {
|
|
|
7946
7875
|
result.canBeAutotypeCall = true;
|
|
7947
7876
|
result.canBeConstructorDeclaration = true;
|
|
7948
7877
|
}
|
|
7949
|
-
if (definition.value.kind === 9 /* Operator */) {
|
|
7950
|
-
const operatorKind = definition.value.getOperatorKind();
|
|
7951
|
-
if (isUnaryOperator(operatorKind)) {
|
|
7952
|
-
result.canBePrefixUnaryOperator = true;
|
|
7953
|
-
} else {
|
|
7954
|
-
result.canBeBinaryExpressionOperator = true;
|
|
7955
|
-
result.canBeAssignmentStatementOperator = true;
|
|
7956
|
-
}
|
|
7957
|
-
}
|
|
7958
7878
|
if (definition.value.kind === 6 /* DereferenceOperator */) {
|
|
7959
7879
|
result.canBeDereferenceOperator = true;
|
|
7960
7880
|
}
|
|
@@ -7967,6 +7887,20 @@ var ReferencesService = class {
|
|
|
7967
7887
|
if (definition.value.kind === 5 /* Indexer */) {
|
|
7968
7888
|
result.canBeIndexer = true;
|
|
7969
7889
|
}
|
|
7890
|
+
if (definition.value.kind === 0 /* Variable */ && definition.value.subkind === "parameter" && definition.value.isObjectParameter()) {
|
|
7891
|
+
result.canBeObjectParameter = true;
|
|
7892
|
+
}
|
|
7893
|
+
if (definition.value.kind === 1 /* Function */ && definition.value.subkind === "method") {
|
|
7894
|
+
const operatorKind = definition.value.getOperatorKind();
|
|
7895
|
+
if (operatorKind !== void 0) {
|
|
7896
|
+
if (isUnaryOperator(operatorKind)) {
|
|
7897
|
+
result.canBePrefixUnaryOperator = true;
|
|
7898
|
+
} else {
|
|
7899
|
+
result.canBeBinaryExpressionOperator = true;
|
|
7900
|
+
result.canBeAssignmentStatementOperator = true;
|
|
7901
|
+
}
|
|
7902
|
+
}
|
|
7903
|
+
}
|
|
7970
7904
|
return result;
|
|
7971
7905
|
}
|
|
7972
7906
|
ifReferenceToSomeOfDefinitionsThenKind(definitions, potentialReferenceSemanticInfo, allowAmbiguous, isForRename) {
|
|
@@ -8080,7 +8014,6 @@ var ReferencesService = class {
|
|
|
8080
8014
|
case 6 /* DereferenceOperator */:
|
|
8081
8015
|
case 12 /* Package */:
|
|
8082
8016
|
case 11 /* TypeExtension */:
|
|
8083
|
-
case 9 /* Operator */:
|
|
8084
8017
|
case 13 /* TextTranslation */:
|
|
8085
8018
|
return void 0;
|
|
8086
8019
|
default:
|
|
@@ -8109,6 +8042,7 @@ var ReferenceRestrictions = class {
|
|
|
8109
8042
|
this.canBeBinaryExpressionOperator = false;
|
|
8110
8043
|
this.canBeDereferenceOperator = false;
|
|
8111
8044
|
this.canBeAssignmentStatementOperator = false;
|
|
8045
|
+
this.canBeObjectParameter = false;
|
|
8112
8046
|
this.canBeConstructorDeclaration = false;
|
|
8113
8047
|
this.canBeOwnOrBaseConstructorCall = false;
|
|
8114
8048
|
this.canBeBaseExpression = false;
|
|
@@ -8263,7 +8197,6 @@ var EvaluatableExpressionService = class {
|
|
|
8263
8197
|
case 32 /* PackageVariableDeclaration */:
|
|
8264
8198
|
case 53 /* NestedFunctionDeclaration */:
|
|
8265
8199
|
case 54 /* LocalVariableDeclaration */:
|
|
8266
|
-
case 147 /* ParameterDeclaration */:
|
|
8267
8200
|
case 47 /* MethodDeclaration */:
|
|
8268
8201
|
case 49 /* FieldDeclaration */:
|
|
8269
8202
|
case 146 /* TypeParameterDeclaration */:
|
|
@@ -8273,13 +8206,13 @@ var EvaluatableExpressionService = class {
|
|
|
8273
8206
|
case 34 /* PackageVariableSetterDeclaration */:
|
|
8274
8207
|
case 50 /* FieldGetterDeclaration */:
|
|
8275
8208
|
case 51 /* FieldSetterDeclaration */:
|
|
8276
|
-
case 48 /* OperatorDeclaration */:
|
|
8277
8209
|
case 144 /* TranslationTextTemplateParameter */:
|
|
8278
8210
|
case 27 /* PackageClassDeclaration */:
|
|
8279
8211
|
case 28 /* PackageStructureDeclaration */:
|
|
8280
8212
|
case 29 /* PackageAspectDeclaration */:
|
|
8281
8213
|
case 30 /* PackageReducedTypeDeclaration */:
|
|
8282
8214
|
case 31 /* PackageVariantDeclaration */:
|
|
8215
|
+
case 147 /* ParameterDeclaration */:
|
|
8283
8216
|
return node.name;
|
|
8284
8217
|
case 86 /* IdentifierExpression */:
|
|
8285
8218
|
case 73 /* MemberAccessExpression */:
|
|
@@ -8410,10 +8343,6 @@ var HoverService = class {
|
|
|
8410
8343
|
const declaration = new ConstructorDeclaration_typeMember(firstTarget.constructor_);
|
|
8411
8344
|
return new Hover(this.displayService.displayConstructorDeclaration(declaration), range);
|
|
8412
8345
|
}
|
|
8413
|
-
case "operator": {
|
|
8414
|
-
const operator = new OperatorDeclaration_typeMember(firstTarget.operator);
|
|
8415
|
-
return new Hover(this.displayService.displayOperatorDeclaration(operator), range);
|
|
8416
|
-
}
|
|
8417
8346
|
case "type-dereference-operator": {
|
|
8418
8347
|
const operator = new DereferenceOperatorDeclaration_typeMember(firstTarget.operator);
|
|
8419
8348
|
return new Hover(this.displayService.displayDereferenceOperatorDeclaration(operator), range);
|
|
@@ -8522,18 +8451,41 @@ var RenameService = class {
|
|
|
8522
8451
|
}
|
|
8523
8452
|
canRename(analyzer, sourceFile, offset) {
|
|
8524
8453
|
const tokenOrKeyword = getTokenOrKeywordsTouchingOffset(sourceFile.getSyntaxNode(), offset).getSinglePrioritizingNamed();
|
|
8525
|
-
if (
|
|
8454
|
+
if (tokenOrKeyword === void 0) {
|
|
8526
8455
|
return void 0;
|
|
8527
8456
|
}
|
|
8528
|
-
|
|
8529
|
-
|
|
8530
|
-
|
|
8531
|
-
|
|
8532
|
-
|
|
8533
|
-
|
|
8534
|
-
|
|
8457
|
+
let canBeRenamed;
|
|
8458
|
+
if (isIdentifier(tokenOrKeyword.value)) {
|
|
8459
|
+
const options7 = {
|
|
8460
|
+
includeBetterReferenceTargets: false,
|
|
8461
|
+
preferredTargetOfExplicitConstructorCall: "type-declaration"
|
|
8462
|
+
};
|
|
8463
|
+
const semanticInfo = NodeSemanticInfoService.ofNonKeywordIdentifier(analyzer, tokenOrKeyword.value, options7);
|
|
8464
|
+
canBeRenamed = semanticInfo !== void 0 && this.declarationWithSemanticInfoCanBeRenamed(analyzer, semanticInfo);
|
|
8465
|
+
} else if (tokenOrKeyword.isKeyword(7 /* Object */) && tokenOrKeyword.parent.kind === 147 /* ParameterDeclaration */) {
|
|
8466
|
+
canBeRenamed = true;
|
|
8467
|
+
} else if (tokenOrKeyword.isKeyword(7 /* Object */) && tokenOrKeyword.parent.kind === 84 /* ObjectExpression */) {
|
|
8468
|
+
const options7 = {
|
|
8469
|
+
includeBetterReferenceTargets: false,
|
|
8470
|
+
preferredTargetOfExplicitConstructorCall: "type-declaration"
|
|
8471
|
+
};
|
|
8472
|
+
const semanticInfo = NodeSemanticInfoService.ofObjectExpression(analyzer, tokenOrKeyword.parent, options7);
|
|
8473
|
+
canBeRenamed = semanticInfo !== void 0 && this.declarationWithSemanticInfoCanBeRenamed(analyzer, semanticInfo);
|
|
8474
|
+
} else {
|
|
8475
|
+
canBeRenamed = false;
|
|
8476
|
+
}
|
|
8477
|
+
if (!canBeRenamed) {
|
|
8478
|
+
return void 0;
|
|
8479
|
+
}
|
|
8480
|
+
return { renameRange: tokenOrKeyword.value.rangeWithoutTrivia };
|
|
8481
|
+
}
|
|
8482
|
+
declarationWithSemanticInfoCanBeRenamed(analyzer, semanticInfo) {
|
|
8483
|
+
switch (semanticInfo.kind) {
|
|
8484
|
+
case "definition":
|
|
8485
|
+
return true;
|
|
8486
|
+
case "reference": {
|
|
8535
8487
|
if (semanticInfo.isAmbiguous) {
|
|
8536
|
-
return
|
|
8488
|
+
return false;
|
|
8537
8489
|
}
|
|
8538
8490
|
const target = semanticInfo.firstBetterTargetWithFallback;
|
|
8539
8491
|
let canBeRenamed;
|
|
@@ -8553,9 +8505,6 @@ var RenameService = class {
|
|
|
8553
8505
|
case "match-result-value-parameter":
|
|
8554
8506
|
canBeRenamed = this.entityCanBeRenamed(analyzer, target.parameter.entity);
|
|
8555
8507
|
break;
|
|
8556
|
-
case "operator":
|
|
8557
|
-
canBeRenamed = this.entityCanBeRenamed(analyzer, target.operator.getEntity());
|
|
8558
|
-
break;
|
|
8559
8508
|
case "type-constructor":
|
|
8560
8509
|
case "type-dereference-operator":
|
|
8561
8510
|
case "package":
|
|
@@ -8567,13 +8516,13 @@ var RenameService = class {
|
|
|
8567
8516
|
default:
|
|
8568
8517
|
Debug.never(target);
|
|
8569
8518
|
}
|
|
8570
|
-
|
|
8571
|
-
return void 0;
|
|
8572
|
-
}
|
|
8519
|
+
return canBeRenamed;
|
|
8573
8520
|
}
|
|
8574
|
-
|
|
8521
|
+
case "default-switch-match":
|
|
8522
|
+
return false;
|
|
8523
|
+
default:
|
|
8524
|
+
Debug.never(semanticInfo);
|
|
8575
8525
|
}
|
|
8576
|
-
return void 0;
|
|
8577
8526
|
}
|
|
8578
8527
|
entityCanBeRenamed(analyzer, entity) {
|
|
8579
8528
|
const sourceLocations = getEntitySourceLocations(analyzer, entity);
|
|
@@ -8881,13 +8830,6 @@ var SemanticTokensService = class {
|
|
|
8881
8830
|
)
|
|
8882
8831
|
);
|
|
8883
8832
|
}
|
|
8884
|
-
if (meaning.kind === "operator-access") {
|
|
8885
|
-
result.push(new SemanticToken(
|
|
8886
|
-
node.rangeWithoutTrivia,
|
|
8887
|
-
7 /* Operator */,
|
|
8888
|
-
new SemanticTokenModifiers()
|
|
8889
|
-
));
|
|
8890
|
-
}
|
|
8891
8833
|
}
|
|
8892
8834
|
if (node.kind === 73 /* MemberAccessExpression */) {
|
|
8893
8835
|
const meaning = analyzer.resolveMemberAccessExpression(node);
|
|
@@ -8925,13 +8867,6 @@ var SemanticTokensService = class {
|
|
|
8925
8867
|
)
|
|
8926
8868
|
);
|
|
8927
8869
|
}
|
|
8928
|
-
if (meaning.kind === "operator-access") {
|
|
8929
|
-
result.push(new SemanticToken(
|
|
8930
|
-
node.memberName.rangeWithoutTrivia,
|
|
8931
|
-
7 /* Operator */,
|
|
8932
|
-
new SemanticTokenModifiers()
|
|
8933
|
-
));
|
|
8934
|
-
}
|
|
8935
8870
|
}
|
|
8936
8871
|
if (node.kind === 145 /* VariantValueDeclaration */) {
|
|
8937
8872
|
result.push(
|
|
@@ -8961,13 +8896,10 @@ var SemanticTokensService = class {
|
|
|
8961
8896
|
);
|
|
8962
8897
|
}
|
|
8963
8898
|
if (node.kind === 47 /* MethodDeclaration */) {
|
|
8899
|
+
const entity = analyzer.entity.ofMethodDeclaration(node);
|
|
8900
|
+
const kind = this.getSemanticTokenKindForNamedFunctionEntity(entity);
|
|
8964
8901
|
result.push(
|
|
8965
|
-
new SemanticToken(node.name.rangeWithoutTrivia,
|
|
8966
|
-
);
|
|
8967
|
-
}
|
|
8968
|
-
if (node.kind === 48 /* OperatorDeclaration */) {
|
|
8969
|
-
result.push(
|
|
8970
|
-
new SemanticToken(node.name.rangeWithoutTrivia, 7 /* Operator */, new SemanticTokenModifiers().makeDeclaration())
|
|
8902
|
+
new SemanticToken(node.name.rangeWithoutTrivia, kind, new SemanticTokenModifiers().makeDeclaration().setCapitalized(this.isCapitalizedName(node.name.value)))
|
|
8971
8903
|
);
|
|
8972
8904
|
}
|
|
8973
8905
|
return void 0;
|
|
@@ -8984,7 +8916,7 @@ var SemanticTokensService = class {
|
|
|
8984
8916
|
case "package":
|
|
8985
8917
|
return 4 /* PackageFunction */;
|
|
8986
8918
|
case "method":
|
|
8987
|
-
return 6 /* Method */;
|
|
8919
|
+
return entity.getOperatorKind() === void 0 ? 6 /* Method */ : 7 /* Operator */;
|
|
8988
8920
|
case "nested":
|
|
8989
8921
|
return 5 /* NestedFunction */;
|
|
8990
8922
|
default:
|
|
@@ -9537,11 +9469,6 @@ var ParametersSignatureHelpProvider = class {
|
|
|
9537
9469
|
const displayParts = this.signatureContext.displayService.getFunctionDeclarationDisplayParts(func);
|
|
9538
9470
|
return this.signatureContext.convertFunctionDisplayParts(displayParts);
|
|
9539
9471
|
}
|
|
9540
|
-
case "operator": {
|
|
9541
|
-
const operator = new OperatorDeclaration_typeMember(signature.operator);
|
|
9542
|
-
const displayParts = this.signatureContext.displayService.getOperatorDeclarationDisplayParts(operator);
|
|
9543
|
-
return this.signatureContext.convertOperatorDisplayParts(displayParts);
|
|
9544
|
-
}
|
|
9545
9472
|
case "function-type": {
|
|
9546
9473
|
const displayParts = this.signatureContext.displayService.getFunctionTypeBodyDisplayParts(signature.functionType);
|
|
9547
9474
|
return this.signatureContext.convertFunctionTypeBodyDisplayParts(displayParts);
|
|
@@ -9632,16 +9559,7 @@ var SignatureInfo = class {
|
|
|
9632
9559
|
};
|
|
9633
9560
|
|
|
9634
9561
|
// source/services/source-generation/SourceGenerationService.ts
|
|
9635
|
-
import {
|
|
9636
|
-
transaction as transaction6,
|
|
9637
|
-
signal as signal7,
|
|
9638
|
-
RxMap as RxMap6,
|
|
9639
|
-
RxObject as RxObject7,
|
|
9640
|
-
options as options6,
|
|
9641
|
-
reaction as reaction6,
|
|
9642
|
-
Reentrance as Reentrance3,
|
|
9643
|
-
Transaction as Transaction4
|
|
9644
|
-
} from "reactronic";
|
|
9562
|
+
import { options as options6, reaction as reaction6, Reentrance as Reentrance3, RxMap as RxMap6, RxObject as RxObject7, signal as signal7, transaction as transaction6, Transaction as Transaction4 } from "reactronic";
|
|
9645
9563
|
|
|
9646
9564
|
// source/services/workspace/ClientTrackedSourceFiles.ts
|
|
9647
9565
|
import { RxMap, RxObject, signal, transaction, disposeRxObject } from "reactronic";
|
|
@@ -12425,12 +12343,17 @@ var EntityToSyntax = class {
|
|
|
12425
12343
|
convertParameter(entity) {
|
|
12426
12344
|
const tags = this.convertTags(entity.getTags());
|
|
12427
12345
|
const name = this.getEntityName(entity);
|
|
12346
|
+
let nameTokenFlags = 0 /* None */;
|
|
12347
|
+
if (entity.isObjectParameter()) {
|
|
12348
|
+
nameTokenFlags |= 2048 /* ObjectParameterName */;
|
|
12349
|
+
}
|
|
12350
|
+
const nameIdentifier = SyntaxFactory.identifier(name, nameTokenFlags);
|
|
12428
12351
|
const type = this.convertType(entity.getType());
|
|
12429
12352
|
let defaultValue;
|
|
12430
12353
|
if (entity.isOptional()) {
|
|
12431
12354
|
defaultValue = SyntaxFactory.nullLiteral();
|
|
12432
12355
|
}
|
|
12433
|
-
return SyntaxFactory.parameterDeclaration(tags,
|
|
12356
|
+
return SyntaxFactory.parameterDeclaration(tags, nameIdentifier, type, defaultValue);
|
|
12434
12357
|
}
|
|
12435
12358
|
createHidingModifier(hiding) {
|
|
12436
12359
|
let levelKeyword;
|
|
@@ -12873,7 +12796,6 @@ var SourceGenerationService = class extends RxObject7 {
|
|
|
12873
12796
|
case 6 /* DereferenceOperator */:
|
|
12874
12797
|
case 7 /* Constructor */:
|
|
12875
12798
|
case 8 /* Destructor */:
|
|
12876
|
-
case 9 /* Operator */:
|
|
12877
12799
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getContainingEntity());
|
|
12878
12800
|
case 10 /* PackageAlias */:
|
|
12879
12801
|
return false;
|
|
@@ -12976,8 +12898,6 @@ var EntityFinder = class {
|
|
|
12976
12898
|
return this.findConstructorEntity(entity);
|
|
12977
12899
|
case 8 /* Destructor */:
|
|
12978
12900
|
return this.findDestructorEntity(entity);
|
|
12979
|
-
case 9 /* Operator */:
|
|
12980
|
-
return this.findOperatorEntity(entity);
|
|
12981
12901
|
case 5 /* Indexer */:
|
|
12982
12902
|
return this.findIndexerEntity(entity);
|
|
12983
12903
|
case 6 /* DereferenceOperator */:
|
|
@@ -13093,23 +13013,6 @@ var EntityFinder = class {
|
|
|
13093
13013
|
return index >= 0 ? members[index] : void 0;
|
|
13094
13014
|
}
|
|
13095
13015
|
}
|
|
13096
|
-
findOperatorEntity(entity) {
|
|
13097
|
-
const containingType = this.findEntity(entity.getContainingEntity());
|
|
13098
|
-
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
13099
|
-
return void 0;
|
|
13100
|
-
}
|
|
13101
|
-
const members = containingType.getMembers().getOperators();
|
|
13102
|
-
if (members.length === 0) {
|
|
13103
|
-
return void 0;
|
|
13104
|
-
} else if (members.length === 1) {
|
|
13105
|
-
return members[0];
|
|
13106
|
-
} else {
|
|
13107
|
-
const referenceData = new DataForFindingOverloadedMember([], entity.getParameters());
|
|
13108
|
-
const membersData = members.map((m) => new DataForFindingOverloadedMember([], m.getParameters()));
|
|
13109
|
-
const index = this.findOverloadedMemberIndex(referenceData, membersData);
|
|
13110
|
-
return index >= 0 ? members[index] : void 0;
|
|
13111
|
-
}
|
|
13112
|
-
}
|
|
13113
13016
|
findIndexerEntity(entity) {
|
|
13114
13017
|
const containingType = this.findEntity(entity.getContainingEntity());
|
|
13115
13018
|
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
|
@@ -13169,8 +13072,6 @@ var EntityFinder = class {
|
|
|
13169
13072
|
}
|
|
13170
13073
|
return void 0;
|
|
13171
13074
|
}
|
|
13172
|
-
case 9 /* Operator */:
|
|
13173
|
-
return entity.getParameters();
|
|
13174
13075
|
case 0 /* Variable */:
|
|
13175
13076
|
case 3 /* Getter */:
|
|
13176
13077
|
case 4 /* Setter */:
|
|
@@ -13205,7 +13106,6 @@ var EntityFinder = class {
|
|
|
13205
13106
|
case 10 /* PackageAlias */:
|
|
13206
13107
|
case 12 /* Package */:
|
|
13207
13108
|
case 11 /* TypeExtension */:
|
|
13208
|
-
case 9 /* Operator */:
|
|
13209
13109
|
case 13 /* TextTranslation */:
|
|
13210
13110
|
return void 0;
|
|
13211
13111
|
default:
|