@artel/artc 0.6.25217 → 0.6.25219
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 +16 -66
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +930 -888
- package/build/{chunk-HN3XZZQX.js → chunk-AIY75NR5.js} +5 -4
- package/build/{chunk-TXAEJ2GI.js → chunk-IYSH7MAQ.js} +10562 -10629
- package/build/{chunk-CMPXXHBQ.js → chunk-QLTGS2V2.js} +13 -5
- package/build/types/analysis/AnalyzedTranslationPackage.d.ts +4 -26
- package/build/types/analysis/Analyzer.d.ts +27 -69
- package/build/types/analysis/{CallArgumentToParameterMatchResult.d.ts → ArgumentToParameterMatchResult.d.ts} +7 -7
- package/build/types/analysis/{CallArgumentsToParametersMatcher.d.ts → ArgumentsToParametersMatcher.d.ts} +14 -14
- package/build/types/analysis/ConstructorOverloadResolver.d.ts +1 -1
- package/build/types/analysis/DereferenceExpressionMeaning.d.ts +3 -3
- package/build/types/analysis/DiagnosticCollector.d.ts +2 -0
- package/build/types/analysis/FindModifier.d.ts +2 -0
- package/build/types/analysis/IdentifierExpressionMeaning.d.ts +14 -12
- package/build/types/analysis/LocalizationContext.d.ts +4 -5
- package/build/types/analysis/Lookup.d.ts +8 -7
- package/build/types/analysis/ModifierFlags.d.ts +16 -0
- package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +0 -1
- package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
- package/build/types/analysis/OperationOverloadResolver.d.ts +2 -2
- package/build/types/analysis/OverloadResolver.d.ts +4 -4
- package/build/types/analysis/PackageMemberLookup.d.ts +5 -6
- package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +18 -16
- package/build/types/analysis/Scope.d.ts +21 -116
- package/build/types/analysis/SemanticContext.d.ts +23 -13
- package/build/types/analysis/SemanticContextBuilder.d.ts +1 -1
- package/build/types/analysis/SourceFileMembers.d.ts +12 -99
- package/build/types/analysis/TagMeaning.d.ts +57 -9
- package/build/types/analysis/Tags.d.ts +18 -6
- package/build/types/analysis/TypeMemberLookup.d.ts +15 -15
- package/build/types/analysis/TypeOverloadResolver.d.ts +1 -1
- package/build/types/analysis/Utils.d.ts +4 -3
- package/build/types/analysis/WellKnownDeclarations.d.ts +1 -0
- package/build/types/analysis/index.d.ts +1 -1
- package/build/types/api/Api.d.ts +2 -6
- package/build/types/diagnostic/DiagnosticCode.d.ts +21 -17
- package/build/types/emitter/{EmitterGeneratedDeclarationKind.d.ts → EmitPhaseName.d.ts} +1 -44
- package/build/types/emitter/EmitterContext.d.ts +4 -1
- package/build/types/emitter/Entities.d.ts +52 -16
- package/build/types/emitter/EntityMap.d.ts +1 -3
- package/build/types/emitter/IrBuilder.d.ts +6 -2
- package/build/types/emitter/IrToJs.d.ts +6 -5
- package/build/types/emitter/Transformer.d.ts +20 -12
- package/build/types/emitter/ir/EmitOptions.d.ts +163 -0
- package/build/types/emitter/ir/Nodes.d.ts +215 -179
- package/build/types/emitter/ir/index.d.ts +1 -2
- package/build/types/emitter/ir/types.d.ts +4 -4
- package/build/types/entities/AliasTypeEntity.d.ts +8 -4
- package/build/types/entities/ConstructorEntity.d.ts +2 -0
- package/build/types/entities/DereferenceOperatorEntity.d.ts +5 -3
- package/build/types/entities/DestructorEntity.d.ts +2 -0
- package/build/types/entities/GetterEntity.d.ts +8 -0
- package/build/types/entities/IndexerEntity.d.ts +5 -3
- package/build/types/entities/MethodEntity.d.ts +9 -5
- package/build/types/entities/MethodTypeEntity.d.ts +10 -5
- package/build/types/entities/OperatorEntity.d.ts +5 -3
- package/build/types/entities/PackageEntity.d.ts +3 -3
- package/build/types/entities/PackageMembers.d.ts +4 -90
- package/build/types/entities/SetterEntity.d.ts +8 -0
- package/build/types/entities/StructuredTypeEntity.d.ts +11 -6
- package/build/types/entities/TypeEntity.d.ts +15 -0
- package/build/types/entities/TypeExtensionEntity.d.ts +2 -0
- package/build/types/entities/TypeParameterEntity.d.ts +11 -6
- package/build/types/entities/VariableEntity.d.ts +50 -41
- package/build/types/entities/VariantTypeEntity.d.ts +10 -11
- package/build/types/entities/index.d.ts +17 -25
- package/build/types/executor/Compiler.d.ts +1 -0
- package/build/types/executor/NodeCompiler.d.ts +1 -0
- package/build/types/parser/CharacterCodes.d.ts +8 -0
- package/build/types/parser/ReservedIdentifierDictionary.d.ts +1 -2
- package/build/types/project/FileSystemTree.d.ts +2 -2
- package/build/types/services/CompletionService.d.ts +4 -1
- package/build/types/services/DisplayService.d.ts +18 -2
- package/build/types/services/NodeSemanticInfo.d.ts +7 -5
- package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +7 -21
- package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +1 -0
- package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
- package/build/types/services/source-generation/SourceGenerationService.d.ts +2 -2
- package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +5 -5
- package/build/types/services/workspace/CompilationController.d.ts +3 -3
- package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +4 -4
- package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +4 -4
- package/build/types/services/workspace/Workspace.d.ts +3 -3
- package/build/types/services/workspace/WorkspaceFiles.d.ts +7 -7
- package/build/types/tree/KeywordKind.d.ts +37 -37
- package/build/types/tree/NodeKind.d.ts +10 -12
- package/build/types/tree/green/Nodes.d.ts +57 -84
- package/build/types/tree/green/SyntaxFactory.d.ts +4 -5
- package/build/types/tree/green/SyntaxToCode.d.ts +1 -2
- package/build/types/tree/red/Nodes.d.ts +67 -97
- package/build/types/ts-interop/Entities.d.ts +51 -28
- package/build/types/ts-interop/TsPackageMembersCreator.d.ts +0 -1
- package/build/types/types/TypeMembers.d.ts +9 -0
- package/package.json +2 -2
- package/build/types/analysis/DereferencedVariableAccess.d.ts +0 -14
- package/build/types/analysis/IndexedAccess.d.ts +0 -14
- package/build/types/analysis/VariableAccess.d.ts +0 -14
- package/build/types/analysis/VariantLookup.d.ts +0 -20
- package/build/types/emitter/ir/LoweringOptions.d.ts +0 -36
- package/build/types/emitter/ir/LoweringState.d.ts +0 -49
- package/build/types/entities/VariantEntity.d.ts +0 -31
- package/build/types/entities/Variants.d.ts +0 -10
package/build/api/ApiServices.js
CHANGED
@@ -6,9 +6,9 @@ import {
|
|
6
6
|
AnonymousStructuredTypeDeclaration,
|
7
7
|
AnonymousTypeSpecifier,
|
8
8
|
AnonymousVariantTypeDeclaration,
|
9
|
+
ArgumentList,
|
9
10
|
BaseTypeList,
|
10
11
|
Cached,
|
11
|
-
CallArgumentList,
|
12
12
|
CancelledError,
|
13
13
|
CompilationLoader,
|
14
14
|
ConfigurationConverter,
|
@@ -44,6 +44,7 @@ import {
|
|
44
44
|
LocalizationContext,
|
45
45
|
LocalizationHelper,
|
46
46
|
Logger,
|
47
|
+
MethodDeclaration_accessedMethod,
|
47
48
|
MethodDeclaration_entity,
|
48
49
|
MethodDeclaration_substitutedMethod,
|
49
50
|
MethodDeclaration_typeMember,
|
@@ -88,8 +89,6 @@ import {
|
|
88
89
|
Query,
|
89
90
|
Range,
|
90
91
|
Scanner,
|
91
|
-
SetterParameterClause,
|
92
|
-
SetterParameterDeclaration,
|
93
92
|
SinglePackageImportDirective,
|
94
93
|
SourceFile,
|
95
94
|
SourcePackageDependencyGraph,
|
@@ -153,7 +152,6 @@ import {
|
|
153
152
|
VariableDeclaration_entity,
|
154
153
|
VariableDeclaration_typeMember,
|
155
154
|
VariantDeclaration,
|
156
|
-
VariantLookup,
|
157
155
|
VariantTypeDeclarationBody,
|
158
156
|
WellKnownDeclarationsLoadError,
|
159
157
|
__async,
|
@@ -182,7 +180,7 @@ import {
|
|
182
180
|
unwrapParenthesizedExpressions,
|
183
181
|
visitChildren,
|
184
182
|
yieldExecution
|
185
|
-
} from "../chunk-
|
183
|
+
} from "../chunk-IYSH7MAQ.js";
|
186
184
|
|
187
185
|
// source/services/CustomCommand.ts
|
188
186
|
import * as ls from "vscode-languageserver";
|
@@ -267,7 +265,7 @@ function cast(value) {
|
|
267
265
|
}
|
268
266
|
|
269
267
|
// source/services/LanguageServer.ts
|
270
|
-
import {
|
268
|
+
import { atomicBlock as atomicBlock6, atomicRun as atomicRun3 } from "reactronic";
|
271
269
|
import * as ls3 from "vscode-languageserver";
|
272
270
|
import { TextDocument } from "vscode-languageserver-textdocument";
|
273
271
|
import { URI as URI2 } from "vscode-uri";
|
@@ -370,9 +368,10 @@ var AddPropertyAssignmentService = class {
|
|
370
368
|
case 74 /* MethodLiteral */:
|
371
369
|
case 53 /* OperatorDeclaration */:
|
372
370
|
return void 0;
|
373
|
-
case
|
371
|
+
case 97 /* RunStatement */:
|
374
372
|
return this.ifShouldBeAssignedAtTheEndOfSubprogramThenBody(parent);
|
375
|
-
case
|
373
|
+
case 98 /* TryStatement */:
|
374
|
+
case 99 /* CatchClause */:
|
376
375
|
case 101 /* FinallyClause */:
|
377
376
|
case 106 /* ForStatement */:
|
378
377
|
case 107 /* IfStatement */:
|
@@ -440,7 +439,7 @@ var SyntaxFactory = class {
|
|
440
439
|
}
|
441
440
|
const packagePath = this.packagePath(pathSegments);
|
442
441
|
const packageImport = new PackageImport(aliasIdentifier, equalsToken, packagePath);
|
443
|
-
const importKeyword = this.keyword(
|
442
|
+
const importKeyword = this.keyword(18 /* Import */);
|
444
443
|
return new SinglePackageImportDirective(importKeyword, packageImport);
|
445
444
|
}
|
446
445
|
static packagePath(segments) {
|
@@ -451,7 +450,7 @@ var SyntaxFactory = class {
|
|
451
450
|
static packageAliasTypeDeclaration(tags, modifiers, name, typeParameters, body) {
|
452
451
|
const tagList = new TagList(tags);
|
453
452
|
const modifierList = new ModifierList(modifiers);
|
454
|
-
const typeKeyword = this.keyword(
|
453
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
455
454
|
const nameIdentifier = this.createIdentifier(name);
|
456
455
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
457
456
|
const equalsToken = this.token(57 /* Equals */);
|
@@ -484,7 +483,7 @@ var SyntaxFactory = class {
|
|
484
483
|
static packageMethodDeclaration(tags, modifiers, name, typeParameters, parameters, returnTypeSpecifier, body) {
|
485
484
|
const tagList = new TagList(tags);
|
486
485
|
const modifierList = new ModifierList(modifiers);
|
487
|
-
const functionKeyword = this.keyword(
|
486
|
+
const functionKeyword = this.keyword(12 /* Function */);
|
488
487
|
const nameIdentifier = this.createIdentifier(name);
|
489
488
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
490
489
|
const parameterClause = this.parameterClause(parameters);
|
@@ -503,7 +502,7 @@ var SyntaxFactory = class {
|
|
503
502
|
static packageMethodTypeDeclaration(tags, modifiers, name, typeParameters, body) {
|
504
503
|
const tagList = new TagList(tags);
|
505
504
|
const modifierList = new ModifierList(modifiers);
|
506
|
-
const typeKeyword = this.keyword(
|
505
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
507
506
|
const nameIdentifier = this.createIdentifier(name);
|
508
507
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
509
508
|
const equalsToken = this.token(57 /* Equals */);
|
@@ -518,7 +517,7 @@ var SyntaxFactory = class {
|
|
518
517
|
);
|
519
518
|
}
|
520
519
|
static methodTypeDeclarationBody(parameters, returnTypeSpecifier) {
|
521
|
-
const functionKeyword = this.keyword(
|
520
|
+
const functionKeyword = this.keyword(12 /* Function */);
|
522
521
|
const parameterClause = this.parameterClause(parameters);
|
523
522
|
const returnTypeAnnotation = this.createTypeAnnotation(returnTypeSpecifier);
|
524
523
|
return new MethodTypeDeclarationBody(void 0, functionKeyword, parameterClause, returnTypeAnnotation);
|
@@ -526,7 +525,7 @@ var SyntaxFactory = class {
|
|
526
525
|
static packageStructuredTypeDeclaration(tags, modifiers, name, typeParameters, body) {
|
527
526
|
const tagList = new TagList(tags);
|
528
527
|
const modifierList = new ModifierList(modifiers);
|
529
|
-
const typeKeyword = this.keyword(
|
528
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
530
529
|
const nameIdentifier = this.createIdentifier(name);
|
531
530
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
532
531
|
const equalsToken = this.token(57 /* Equals */);
|
@@ -583,24 +582,17 @@ var SyntaxFactory = class {
|
|
583
582
|
body
|
584
583
|
);
|
585
584
|
}
|
586
|
-
static packageVariableSetterDeclaration(tags, modifiers, name,
|
585
|
+
static packageVariableSetterDeclaration(tags, modifiers, name, body) {
|
587
586
|
const tagList = new TagList(tags);
|
588
587
|
const modifierList = new ModifierList(modifiers);
|
589
588
|
const setKeyword = this.keyword(58 /* Set */);
|
590
589
|
const nameIdentifier = this.createIdentifier(name);
|
591
|
-
return new PackageVariableSetterDeclaration(
|
592
|
-
tagList,
|
593
|
-
modifierList,
|
594
|
-
setKeyword,
|
595
|
-
nameIdentifier,
|
596
|
-
setterParameterClause,
|
597
|
-
body
|
598
|
-
);
|
590
|
+
return new PackageVariableSetterDeclaration(tagList, modifierList, setKeyword, nameIdentifier, body);
|
599
591
|
}
|
600
592
|
static packageVariantTypeDeclaration(tags, modifiers, name, typeParameters, body) {
|
601
593
|
const tagList = new TagList(tags);
|
602
594
|
const modifierList = new ModifierList(modifiers);
|
603
|
-
const typeKeyword = this.keyword(
|
595
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
604
596
|
const nameIdentifier = this.createIdentifier(name);
|
605
597
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
606
598
|
const equalsToken = this.token(57 /* Equals */);
|
@@ -652,24 +644,17 @@ var SyntaxFactory = class {
|
|
652
644
|
body
|
653
645
|
);
|
654
646
|
}
|
655
|
-
static typeVariableSetterDeclaration(tags, modifiers, name,
|
647
|
+
static typeVariableSetterDeclaration(tags, modifiers, name, body) {
|
656
648
|
const tagList = new TagList(tags);
|
657
649
|
const modifierList = new ModifierList(modifiers);
|
658
650
|
const setKeyword = this.keyword(58 /* Set */);
|
659
651
|
const nameIdentifier = this.createIdentifier(name);
|
660
|
-
return new TypeVariableSetterDeclaration(
|
661
|
-
tagList,
|
662
|
-
modifierList,
|
663
|
-
setKeyword,
|
664
|
-
nameIdentifier,
|
665
|
-
setterParameterClause,
|
666
|
-
body
|
667
|
-
);
|
652
|
+
return new TypeVariableSetterDeclaration(tagList, modifierList, setKeyword, nameIdentifier, body);
|
668
653
|
}
|
669
654
|
static typeMethodDeclaration(tags, modifiers, name, typeParameters, parameters, returnTypeSpecifier, body) {
|
670
655
|
const tagList = new TagList(tags);
|
671
656
|
const modifierList = new ModifierList(modifiers);
|
672
|
-
const functionKeyword = this.keyword(
|
657
|
+
const functionKeyword = this.keyword(12 /* Function */);
|
673
658
|
const nameIdentifier = this.createIdentifier(name);
|
674
659
|
const typeParameterClause = this.createTypeParameterClause(typeParameters);
|
675
660
|
const parameterClause = this.parameterClause(parameters);
|
@@ -688,7 +673,7 @@ var SyntaxFactory = class {
|
|
688
673
|
static typeConstructorDeclaration(tags, modifiers, parameters, body) {
|
689
674
|
const tagList = new TagList(tags);
|
690
675
|
const modifierList = new ModifierList(modifiers);
|
691
|
-
const creationKeyword = this.keyword(
|
676
|
+
const creationKeyword = this.keyword(29 /* Creation */);
|
692
677
|
const parameterClause = this.parameterClause(parameters);
|
693
678
|
return new TypeConstructorDeclaration(tagList, modifierList, creationKeyword, parameterClause, body);
|
694
679
|
}
|
@@ -714,19 +699,12 @@ var SyntaxFactory = class {
|
|
714
699
|
body
|
715
700
|
);
|
716
701
|
}
|
717
|
-
static typeIndexedSetterDeclaration(tags, modifiers, parameters,
|
702
|
+
static typeIndexedSetterDeclaration(tags, modifiers, parameters, body) {
|
718
703
|
const tagList = new TagList(tags);
|
719
704
|
const modifierList = new ModifierList(modifiers);
|
720
705
|
const getKeyword = this.keyword(58 /* Set */);
|
721
706
|
const parameterClause = this.indexerParameterClause(parameters);
|
722
|
-
return new TypeIndexedSetterDeclaration(
|
723
|
-
tagList,
|
724
|
-
modifierList,
|
725
|
-
getKeyword,
|
726
|
-
parameterClause,
|
727
|
-
setterParameterClause,
|
728
|
-
body
|
729
|
-
);
|
707
|
+
return new TypeIndexedSetterDeclaration(tagList, modifierList, getKeyword, parameterClause, body);
|
730
708
|
}
|
731
709
|
static typeMemberGroupDeclaration(tags, modifiers, members) {
|
732
710
|
const tagList = new TagList(tags);
|
@@ -821,27 +799,31 @@ var SyntaxFactory = class {
|
|
821
799
|
}
|
822
800
|
return new ParameterDeclaration(tagList, nameIdentifier, typeAnnotation, equalsToken, defaultValue);
|
823
801
|
}
|
824
|
-
static
|
825
|
-
const openParenthesisToken = this.token(44 /* OpenParenthesis */);
|
826
|
-
const nameIdentifier = this.createIdentifier(name);
|
827
|
-
const typeAnnotation = this.typeAnnotation(typeSpecifier);
|
828
|
-
const parameterDeclaration = new SetterParameterDeclaration(nameIdentifier, typeAnnotation);
|
829
|
-
const closeParenthesisToken = this.token(21 /* CloseParenthesis */);
|
830
|
-
return new SetterParameterClause(openParenthesisToken, parameterDeclaration, closeParenthesisToken);
|
831
|
-
}
|
832
|
-
static tag(typeSpecifier, callArguments) {
|
802
|
+
static tag(name, typeArguments, args) {
|
833
803
|
const hashSignToken = this.token(35 /* HashSign */);
|
804
|
+
const qualifiedNameIdentifiers = typeof name === "string" ? [this.createIdentifier(name)] : name.map((s) => this.createIdentifier(s));
|
805
|
+
const qualifiedName = new QualifiedName(
|
806
|
+
this.createTokenSeparatedElements(qualifiedNameIdentifiers, 26 /* Dot */)
|
807
|
+
);
|
808
|
+
const typeArgumentClause = typeArguments !== void 0 ? this.typeArgumentClause(typeArguments) : void 0;
|
834
809
|
let openParenthesisToken;
|
835
|
-
let
|
810
|
+
let argumentList;
|
836
811
|
let closeParenthesisToken;
|
837
|
-
if (
|
812
|
+
if (args !== void 0) {
|
838
813
|
openParenthesisToken = this.token(44 /* OpenParenthesis */);
|
839
|
-
|
840
|
-
this.createTokenSeparatedElements(
|
814
|
+
argumentList = new ArgumentList(
|
815
|
+
this.createTokenSeparatedElements(args, 24 /* Comma */)
|
841
816
|
);
|
842
817
|
closeParenthesisToken = this.token(21 /* CloseParenthesis */);
|
843
818
|
}
|
844
|
-
return new Tag(
|
819
|
+
return new Tag(
|
820
|
+
hashSignToken,
|
821
|
+
qualifiedName,
|
822
|
+
typeArgumentClause,
|
823
|
+
openParenthesisToken,
|
824
|
+
argumentList,
|
825
|
+
closeParenthesisToken
|
826
|
+
);
|
845
827
|
}
|
846
828
|
static modifier(value, level) {
|
847
829
|
const valueKeyword = this.keyword(value);
|
@@ -901,7 +883,7 @@ var SyntaxFactory = class {
|
|
901
883
|
return new PackageVariableTranslation(sourceNameIdentifier, minusGreaterThanToken, translatedNameIdentifier);
|
902
884
|
}
|
903
885
|
static packageMethodTranslation(sourceName, sourceTypeParameters, sourceParameters, translatedName, translatedTypeParameters, translatedParameters) {
|
904
|
-
const functionKeyword = this.keyword(
|
886
|
+
const functionKeyword = this.keyword(12 /* Function */);
|
905
887
|
const sourceNameIdentifier = this.createIdentifier(sourceName);
|
906
888
|
const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
|
907
889
|
const sourceParameterClause = this.translationParameterClause(sourceParameters);
|
@@ -921,7 +903,7 @@ var SyntaxFactory = class {
|
|
921
903
|
);
|
922
904
|
}
|
923
905
|
static typeTranslation(sourceName, sourceTypeParameters, translatedName, translatedTypeParameters, members) {
|
924
|
-
const typeKeyword = this.keyword(
|
906
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
925
907
|
const sourceNameIdentifier = this.createIdentifier(sourceName);
|
926
908
|
const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
|
927
909
|
const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
|
@@ -948,7 +930,7 @@ var SyntaxFactory = class {
|
|
948
930
|
);
|
949
931
|
}
|
950
932
|
static methodTypeTranslation(sourceName, sourceTypeParameters, sourceParameters, translatedName, translatedTypeParameters, translatedParameters) {
|
951
|
-
const typeKeyword = this.keyword(
|
933
|
+
const typeKeyword = this.keyword(16 /* Type */);
|
952
934
|
const sourceNameIdentifier = this.createIdentifier(sourceName);
|
953
935
|
const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
|
954
936
|
const sourceParameterClause = this.translationParameterClause(sourceParameters);
|
@@ -978,7 +960,7 @@ var SyntaxFactory = class {
|
|
978
960
|
);
|
979
961
|
}
|
980
962
|
static typeMethodTranslation(sourceName, sourceTypeParameters, sourceParameters, translatedName, translatedTypeParameters, translatedParameters) {
|
981
|
-
const functionKeyword = this.keyword(
|
963
|
+
const functionKeyword = this.keyword(12 /* Function */);
|
982
964
|
const sourceNameIdentifier = this.createIdentifier(sourceName);
|
983
965
|
const sourceTypeParameterClause = this.createTranslationTypeParameterClause(sourceTypeParameters);
|
984
966
|
const sourceParameterClause = this.translationParameterClause(sourceParameters);
|
@@ -998,7 +980,7 @@ var SyntaxFactory = class {
|
|
998
980
|
);
|
999
981
|
}
|
1000
982
|
static constructorTranslation(sourceParameters, translatedParameters) {
|
1001
|
-
const creationKeyword = this.keyword(
|
983
|
+
const creationKeyword = this.keyword(29 /* Creation */);
|
1002
984
|
const sourceParameterClause = this.translationParameterClause(sourceParameters);
|
1003
985
|
const minusGreaterThanToken = this.token(42 /* MinusGreaterThan */);
|
1004
986
|
const translatedParameterClause = this.translationParameterClause(translatedParameters);
|
@@ -1179,10 +1161,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1179
1161
|
this.writeKeyword(node.setKeyword);
|
1180
1162
|
this.writeWhitespace();
|
1181
1163
|
this.writeToken(node.name);
|
1182
|
-
if (node.setterParameterClause !== void 0) {
|
1183
|
-
this.writeWhitespace();
|
1184
|
-
this.writeSetterParameterClause(node.setterParameterClause);
|
1185
|
-
}
|
1186
1164
|
if (node.body !== void 0) {
|
1187
1165
|
this.writeDeclarationBody(node.body);
|
1188
1166
|
}
|
@@ -1360,10 +1338,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1360
1338
|
this.writeKeyword(node.setKeyword);
|
1361
1339
|
this.writeWhitespace();
|
1362
1340
|
this.writeToken(node.name);
|
1363
|
-
if (node.setterParameterClause !== void 0) {
|
1364
|
-
this.writeWhitespace();
|
1365
|
-
this.writeSetterParameterClause(node.setterParameterClause);
|
1366
|
-
}
|
1367
1341
|
if (node.body !== void 0) {
|
1368
1342
|
this.writeDeclarationBody(node.body);
|
1369
1343
|
}
|
@@ -1438,10 +1412,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1438
1412
|
this.writeToken(node.parameterClause.openSquareBracketToken);
|
1439
1413
|
this.writeParameterList(node.parameterClause.parameterList);
|
1440
1414
|
this.writeToken(node.parameterClause.closeSquareBracketToken);
|
1441
|
-
if (node.setterParameterClause !== void 0) {
|
1442
|
-
this.writeWhitespace();
|
1443
|
-
this.writeSetterParameterClause(node.setterParameterClause);
|
1444
|
-
}
|
1445
1415
|
if (node.body !== void 0) {
|
1446
1416
|
this.writeDeclarationBody(node.body);
|
1447
1417
|
}
|
@@ -1463,10 +1433,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1463
1433
|
this.writeKeyword(node.setKeyword);
|
1464
1434
|
this.writeWhitespace();
|
1465
1435
|
this.writeToken(node.caretToken);
|
1466
|
-
if (node.setterParameterClause !== void 0) {
|
1467
|
-
this.writeWhitespace();
|
1468
|
-
this.writeSetterParameterClause(node.setterParameterClause);
|
1469
|
-
}
|
1470
1436
|
if (node.body !== void 0) {
|
1471
1437
|
this.writeDeclarationBody(node.body);
|
1472
1438
|
}
|
@@ -1532,12 +1498,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1532
1498
|
this.writeExpression(node.defaultValue);
|
1533
1499
|
}
|
1534
1500
|
}
|
1535
|
-
writeSetterParameterClause(node) {
|
1536
|
-
this.writeToken(node.openParenthesisToken);
|
1537
|
-
this.writeToken(node.parameterDeclaration.name);
|
1538
|
-
this.writeTypeAnnotation(node.parameterDeclaration.typeAnnotation, true);
|
1539
|
-
this.writeToken(node.closeParenthesisToken);
|
1540
|
-
}
|
1541
1501
|
writeDeclarationTags(tagList) {
|
1542
1502
|
if (tagList.tags.length > 0) {
|
1543
1503
|
this.writeWhitespaceSeparatedList(tagList.tags, (t) => this.writeTag(t));
|
@@ -1546,10 +1506,13 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1546
1506
|
}
|
1547
1507
|
writeTag(node) {
|
1548
1508
|
this.writeToken(node.hashSignToken);
|
1549
|
-
this.
|
1550
|
-
if (node.
|
1509
|
+
this.writeQualifiedName(node.name);
|
1510
|
+
if (node.typeArgumentClause !== void 0) {
|
1511
|
+
this.writeTypeArgumentClause(node.typeArgumentClause);
|
1512
|
+
}
|
1513
|
+
if (node.openParenthesisToken !== void 0 && node.argumentList !== void 0 && node.closeParenthesisToken !== void 0) {
|
1551
1514
|
this.writeToken(node.openParenthesisToken);
|
1552
|
-
this.writeCommaSeparatedList(node.
|
1515
|
+
this.writeCommaSeparatedList(node.argumentList.elements, (n) => this.writeArgument(n));
|
1553
1516
|
this.writeToken(node.closeParenthesisToken);
|
1554
1517
|
}
|
1555
1518
|
}
|
@@ -1564,7 +1527,6 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1564
1527
|
writeModifier(node) {
|
1565
1528
|
this.writeKeyword(node.value);
|
1566
1529
|
if (node.openParenthesisToken !== void 0 && node.level !== void 0 && node.closeParenthesisToken !== void 0) {
|
1567
|
-
this.writeWhitespace();
|
1568
1530
|
this.writeToken(node.openParenthesisToken);
|
1569
1531
|
this.writeKeyword(node.level);
|
1570
1532
|
this.writeToken(node.closeParenthesisToken);
|
@@ -1690,7 +1652,7 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
1690
1652
|
this.writeToken(node.greaterThanToken);
|
1691
1653
|
}
|
1692
1654
|
}
|
1693
|
-
|
1655
|
+
writeArgument(node) {
|
1694
1656
|
this.writeNodeDefault(node);
|
1695
1657
|
}
|
1696
1658
|
writeExpression(node) {
|
@@ -2037,14 +1999,13 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2037
1999
|
[139 /* VariantDeclaration */]: this.prototype.writeVariantDeclaration,
|
2038
2000
|
[140 /* TypeParameterDeclaration */]: this.prototype.writeTypeParameterDeclaration,
|
2039
2001
|
[141 /* ParameterDeclaration */]: this.prototype.writeParameterDeclaration,
|
2040
|
-
[142 /*
|
2002
|
+
[142 /* Argument */]: this.prototype.writeArgument,
|
2041
2003
|
[144 /* Tag */]: this.prototype.writeTag,
|
2042
2004
|
[146 /* Modifier */]: this.prototype.writeModifier,
|
2043
2005
|
[147 /* ParameterClause */]: this.prototype.writeParameterClause,
|
2044
2006
|
[148 /* ParameterList */]: this.prototype.writeParameterList,
|
2045
|
-
[149 /*
|
2046
|
-
[151 /*
|
2047
|
-
[153 /* TypeParameterClause */]: this.prototype.writeTypeParameterClause,
|
2007
|
+
[149 /* TypeArgumentClause */]: this.prototype.writeTypeArgumentClause,
|
2008
|
+
[151 /* TypeParameterClause */]: this.prototype.writeTypeParameterClause,
|
2048
2009
|
[17 /* AnonymousMethodTypeDeclaration */]: this.prototype.writeAnonymousMethodTypeDeclaration,
|
2049
2010
|
[18 /* AnonymousStructuredTypeDeclaration */]: this.prototype.writeAnonymousStructuredTypeDeclaration,
|
2050
2011
|
[19 /* AnonymousVariantTypeDeclaration */]: this.prototype.writeAnonymousVariantTypeDeclaration,
|
@@ -2072,7 +2033,7 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2072
2033
|
[65 /* AsExpression */]: this.prototype.writeNodeDefault,
|
2073
2034
|
[66 /* BinaryExpression */]: this.prototype.writeNodeDefault,
|
2074
2035
|
[67 /* MethodBlockLiteral */]: this.prototype.writeNodeDefault,
|
2075
|
-
[68 /*
|
2036
|
+
[68 /* ArgumentList */]: this.prototype.writeNodeDefault,
|
2076
2037
|
[69 /* CallExpression */]: this.prototype.writeNodeDefault,
|
2077
2038
|
[70 /* AutotypeCallExpression */]: this.prototype.writeNodeDefault,
|
2078
2039
|
[71 /* IndexedAccessExpression */]: this.prototype.writeNodeDefault,
|
@@ -2100,9 +2061,9 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2100
2061
|
[94 /* BreakLoopStatement */]: this.prototype.writeNodeDefault,
|
2101
2062
|
[95 /* ContinueLoopStatement */]: this.prototype.writeNodeDefault,
|
2102
2063
|
[96 /* DisposeStatement */]: this.prototype.writeNodeDefault,
|
2103
|
-
[97 /*
|
2104
|
-
[98 /*
|
2105
|
-
[99 /*
|
2064
|
+
[97 /* RunStatement */]: this.prototype.writeNodeDefault,
|
2065
|
+
[98 /* TryStatement */]: this.prototype.writeNodeDefault,
|
2066
|
+
[99 /* CatchClause */]: this.prototype.writeNodeDefault,
|
2106
2067
|
[100 /* ErrorVariableDeclaration */]: this.prototype.writeNodeDefault,
|
2107
2068
|
[101 /* FinallyClause */]: this.prototype.writeNodeDefault,
|
2108
2069
|
[102 /* EmptyStatement */]: this.prototype.writeNodeDefault,
|
@@ -2143,10 +2104,9 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2143
2104
|
[138 /* TextTemplateLiteralTranslation */]: this.prototype.writeNodeDefault,
|
2144
2105
|
[143 /* TagList */]: this.prototype.writeNodeDefault,
|
2145
2106
|
[145 /* ModifierList */]: this.prototype.writeNodeDefault,
|
2146
|
-
[150 /*
|
2147
|
-
[152 /*
|
2148
|
-
[
|
2149
|
-
[155 /* TypeAnnotation */]: this.prototype.writeNodeDefault
|
2107
|
+
[150 /* TypeArgumentList */]: this.prototype.writeNodeDefault,
|
2108
|
+
[152 /* TypeParameterList */]: this.prototype.writeNodeDefault,
|
2109
|
+
[153 /* TypeAnnotation */]: this.prototype.writeNodeDefault
|
2150
2110
|
};
|
2151
2111
|
return writeFunctions;
|
2152
2112
|
}
|
@@ -2157,14 +2117,14 @@ var SyntaxToCode = class _SyntaxToCode {
|
|
2157
2117
|
}
|
2158
2118
|
};
|
2159
2119
|
var modifierSortOrder = {
|
2160
|
-
[
|
2161
|
-
[
|
2162
|
-
[
|
2163
|
-
[
|
2164
|
-
[
|
2165
|
-
[
|
2166
|
-
[
|
2167
|
-
[
|
2120
|
+
[35 /* Hidden */]: 0,
|
2121
|
+
[40 /* Static */]: 1,
|
2122
|
+
[17 /* Basic */]: 2,
|
2123
|
+
[37 /* Redefinable */]: 3,
|
2124
|
+
[36 /* Abstract */]: 4,
|
2125
|
+
[38 /* Redefined */]: 5,
|
2126
|
+
[39 /* Async */]: 6,
|
2127
|
+
[34 /* Const */]: 7
|
2168
2128
|
};
|
2169
2129
|
|
2170
2130
|
// source/services/TreeUtils.ts
|
@@ -2520,17 +2480,6 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2520
2480
|
result.push(indexer);
|
2521
2481
|
}
|
2522
2482
|
}
|
2523
|
-
if (entity.kind === 2 /* VariantType */) {
|
2524
|
-
const translatedVariants = new Set(this._translationPackage.getVariants(entity)?.get().map((m) => m.value));
|
2525
|
-
for (const variant of entity.getVariants().get()) {
|
2526
|
-
if (variant.isHidden() !== void 0) {
|
2527
|
-
continue;
|
2528
|
-
}
|
2529
|
-
if (!translatedVariants.has(variant)) {
|
2530
|
-
result.push(variant);
|
2531
|
-
}
|
2532
|
-
}
|
2533
|
-
}
|
2534
2483
|
return result;
|
2535
2484
|
}
|
2536
2485
|
detectIndentationForPackageMemberTranslations(translationsDeclaration) {
|
@@ -2586,14 +2535,14 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2586
2535
|
}
|
2587
2536
|
collectNotTranslatedPackageMembers() {
|
2588
2537
|
const result = new Array();
|
2589
|
-
const translatedPackageMembers = new Set(this._translationPackage.getMembers().getNamedMembers().map((m) => m.value
|
2538
|
+
const translatedPackageMembers = new Set(this._translationPackage.getMembers().getNamedMembers().map((m) => m.value));
|
2590
2539
|
const membersOfTargetPackage = this._translationPackage.getTranslatedPackage().getMembers();
|
2591
2540
|
for (const member of membersOfTargetPackage.getNamedMembers()) {
|
2592
2541
|
if (member.isHidden() !== void 0) {
|
2593
2542
|
continue;
|
2594
2543
|
}
|
2595
|
-
if (!translatedPackageMembers.has(member
|
2596
|
-
result.push(member
|
2544
|
+
if (!translatedPackageMembers.has(member)) {
|
2545
|
+
result.push(member);
|
2597
2546
|
}
|
2598
2547
|
}
|
2599
2548
|
return result;
|
@@ -2602,15 +2551,15 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2602
2551
|
switch (entity.kind) {
|
2603
2552
|
case 0 /* Variable */:
|
2604
2553
|
return this.createPackageVariableTranslation(entity);
|
2605
|
-
case
|
2554
|
+
case 1 /* Method */:
|
2606
2555
|
return this.createPackageMethodTranslation(entity);
|
2607
|
-
case 2 /*
|
2608
|
-
|
2609
|
-
|
2610
|
-
|
2611
|
-
|
2612
|
-
|
2613
|
-
case
|
2556
|
+
case 2 /* Type */:
|
2557
|
+
if (entity.typeEntityKind === 0 /* Method */) {
|
2558
|
+
return this.createPackageMethodTypeTranslation(entity);
|
2559
|
+
} else {
|
2560
|
+
return this.createPackageTypeWithMembersTranslation(entity);
|
2561
|
+
}
|
2562
|
+
case 11 /* TypeExtension */:
|
2614
2563
|
return void 0;
|
2615
2564
|
default:
|
2616
2565
|
Debug.never(entity);
|
@@ -2642,17 +2591,15 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2642
2591
|
switch (entity.kind) {
|
2643
2592
|
case 0 /* Variable */:
|
2644
2593
|
return this.createTypeVariableTranslation(entity);
|
2645
|
-
case
|
2594
|
+
case 1 /* Method */:
|
2646
2595
|
return this.createTypeMethodTranslation(entity);
|
2647
|
-
case
|
2596
|
+
case 7 /* Constructor */:
|
2648
2597
|
return this.createConstructorTranslation(entity);
|
2649
|
-
case
|
2598
|
+
case 5 /* Indexer */:
|
2650
2599
|
return this.createIndexerTranslation(entity);
|
2651
|
-
case
|
2652
|
-
|
2653
|
-
case
|
2654
|
-
case 10 /* Destructor */:
|
2655
|
-
case 15 /* Operator */:
|
2600
|
+
case 6 /* DereferenceOperator */:
|
2601
|
+
case 8 /* Destructor */:
|
2602
|
+
case 9 /* Operator */:
|
2656
2603
|
return void 0;
|
2657
2604
|
default:
|
2658
2605
|
Debug.never(entity);
|
@@ -2676,10 +2623,6 @@ var TranslationsGenerator = class _TranslationsGenerator {
|
|
2676
2623
|
const parameters = entity.getValueParameters().map((p) => this.getNameText(p.getName()));
|
2677
2624
|
return SyntaxFactory.indexerTranslation(parameters, parameters);
|
2678
2625
|
}
|
2679
|
-
createVariantTranslation(entity) {
|
2680
|
-
const name = this.getNameText(entity.getName());
|
2681
|
-
return SyntaxFactory.typeVariableOrVariantTranslation(name, name);
|
2682
|
-
}
|
2683
2626
|
getNameText(name) {
|
2684
2627
|
const flags = name.flags & ~16 /* ConflictResolvingParameterName */;
|
2685
2628
|
return name.getPreferredUnescapedOriginal(flags);
|
@@ -2799,17 +2742,17 @@ function isGenerateMissingTranslationsCodeActionData(value) {
|
|
2799
2742
|
// source/services/signature-help/SignatureWithValueParameters.ts
|
2800
2743
|
var ValueArgumentFactory = class _ValueArgumentFactory {
|
2801
2744
|
static createValueArgumentsOfCallExpression(node) {
|
2802
|
-
return _ValueArgumentFactory.createValueArgumentsFromList(node.
|
2745
|
+
return _ValueArgumentFactory.createValueArgumentsFromList(node.argumentList);
|
2803
2746
|
}
|
2804
2747
|
static createValueArgumentsOfAutotypeCallExpression(node) {
|
2805
|
-
return _ValueArgumentFactory.createValueArgumentsFromList(node.
|
2748
|
+
return _ValueArgumentFactory.createValueArgumentsFromList(node.argumentList);
|
2806
2749
|
}
|
2807
2750
|
static createValueArgumentsOfIndexedAccessExpression(node) {
|
2808
|
-
return _ValueArgumentFactory.createValueArgumentsFromList(node.
|
2751
|
+
return _ValueArgumentFactory.createValueArgumentsFromList(node.argumentList);
|
2809
2752
|
}
|
2810
2753
|
static createValueArgumentsOfTag(node) {
|
2811
|
-
if (node.
|
2812
|
-
return _ValueArgumentFactory.createValueArgumentsFromList(node.
|
2754
|
+
if (node.argumentList !== void 0) {
|
2755
|
+
return _ValueArgumentFactory.createValueArgumentsFromList(node.argumentList);
|
2813
2756
|
}
|
2814
2757
|
return [];
|
2815
2758
|
}
|
@@ -2866,16 +2809,7 @@ var SignatureForNode = class _SignatureForNode {
|
|
2866
2809
|
if (info.suitableMethods.length === 1) {
|
2867
2810
|
suitableSignatureIndex = info.candidates.indexOf(info.suitableMethods[0]);
|
2868
2811
|
}
|
2869
|
-
const signatures = info.candidates.map((c) =>
|
2870
|
-
switch (c.value.kind) {
|
2871
|
-
case "entity":
|
2872
|
-
return new MethodEntitySignature({ value: c.value.value, localization: c.localization });
|
2873
|
-
case "type-member":
|
2874
|
-
return new TypeMethodSignature({ value: c.value.value, localization: c.localization });
|
2875
|
-
case "substituted-method":
|
2876
|
-
return new SubstitutedMethodSignature({ value: c.value.value, localization: c.localization });
|
2877
|
-
}
|
2878
|
-
});
|
2812
|
+
const signatures = info.candidates.map((c) => new AccessedMethodSignature(c));
|
2879
2813
|
return new SignaturesWithSingleSuitable(signatures, suitableSignatureIndex);
|
2880
2814
|
}
|
2881
2815
|
if (meaning.kind === "object-method-call") {
|
@@ -2914,8 +2848,8 @@ var SignatureForNode = class _SignatureForNode {
|
|
2914
2848
|
}
|
2915
2849
|
}
|
2916
2850
|
static getSignaturesForTag(analyzer, node) {
|
2917
|
-
const meaning = analyzer.
|
2918
|
-
if (meaning.kind === "
|
2851
|
+
const meaning = analyzer.resolveTag(node).meaning;
|
2852
|
+
if (meaning.kind === "tag-type") {
|
2919
2853
|
let suitableSignatureIndex;
|
2920
2854
|
if (meaning.suitableConstructors.length === 1) {
|
2921
2855
|
suitableSignatureIndex = meaning.candidates.indexOf(meaning.suitableConstructors[0]);
|
@@ -2923,6 +2857,14 @@ var SignatureForNode = class _SignatureForNode {
|
|
2923
2857
|
const signatures = meaning.candidates.map((c) => new ConstructorSignature(c));
|
2924
2858
|
return new SignaturesWithSingleSuitable(signatures, suitableSignatureIndex);
|
2925
2859
|
}
|
2860
|
+
if (meaning.kind === "tag-method") {
|
2861
|
+
let suitableSignatureIndex;
|
2862
|
+
if (meaning.suitableMethods.length === 1) {
|
2863
|
+
suitableSignatureIndex = meaning.candidates.indexOf(meaning.suitableMethods[0]);
|
2864
|
+
}
|
2865
|
+
const signatures = meaning.candidates.map((c) => new AccessedMethodSignature(c));
|
2866
|
+
return new SignaturesWithSingleSuitable(signatures, suitableSignatureIndex);
|
2867
|
+
}
|
2926
2868
|
if (meaning.kind === "unresolved") {
|
2927
2869
|
return void 0;
|
2928
2870
|
}
|
@@ -3031,47 +2973,9 @@ var MatchedSignature = class {
|
|
3031
2973
|
this.matchResult = matchResult;
|
3032
2974
|
}
|
3033
2975
|
};
|
3034
|
-
var
|
2976
|
+
var AccessedMethodSignature = class {
|
3035
2977
|
constructor(method) {
|
3036
|
-
this.kind = "method
|
3037
|
-
this._valueParameters = new Cached();
|
3038
|
-
this.method = method;
|
3039
|
-
}
|
3040
|
-
getValueParameters() {
|
3041
|
-
return this._valueParameters.getOrInsertWith(() => {
|
3042
|
-
const localizedSignature = EntityLocalizationHelper.getLocalizedMethodSignature(
|
3043
|
-
this.method.value,
|
3044
|
-
this.method.localization
|
3045
|
-
);
|
3046
|
-
return Query.from(this.method.value.getValueParameters()).zip(
|
3047
|
-
localizedSignature.getValueParameterNames(),
|
3048
|
-
(p, n) => new UniversalValueParameter(n.value, p.getType(), p, n.localization)
|
3049
|
-
).toArray();
|
3050
|
-
});
|
3051
|
-
}
|
3052
|
-
};
|
3053
|
-
var TypeMethodSignature = class {
|
3054
|
-
constructor(method) {
|
3055
|
-
this.kind = "type-method";
|
3056
|
-
this._valueParameters = new Cached();
|
3057
|
-
this.method = method;
|
3058
|
-
}
|
3059
|
-
getValueParameters() {
|
3060
|
-
return this._valueParameters.getOrInsertWith(() => {
|
3061
|
-
const localizedSignature = EntityLocalizationHelper.getLocalizedMethodSignature(
|
3062
|
-
this.method.value.getEntity(),
|
3063
|
-
this.method.localization
|
3064
|
-
);
|
3065
|
-
return Query.from(this.method.value.getValueParameters()).zip(
|
3066
|
-
localizedSignature.getValueParameterNames(),
|
3067
|
-
(p, n) => new UniversalValueParameter(n.value, p.getType(), p.getEntity(), n.localization)
|
3068
|
-
).toArray();
|
3069
|
-
});
|
3070
|
-
}
|
3071
|
-
};
|
3072
|
-
var SubstitutedMethodSignature = class {
|
3073
|
-
constructor(method) {
|
3074
|
-
this.kind = "substituted-method";
|
2978
|
+
this.kind = "accessed-method";
|
3075
2979
|
this._valueParameters = new Cached();
|
3076
2980
|
this.method = method;
|
3077
2981
|
}
|
@@ -3263,7 +3167,7 @@ var CompletionService = class {
|
|
3263
3167
|
return new OperatorNameCompletionContext(syntaxContext.isInQuotedIdentifier);
|
3264
3168
|
}
|
3265
3169
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3266
|
-
if (tokenOrKeyword.isKeyword(
|
3170
|
+
if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 5 /* SinglePackageImportDirective */) {
|
3267
3171
|
return new PackageImportCompletionContext([], void 0);
|
3268
3172
|
}
|
3269
3173
|
if (tokenOrKeyword.isToken(57 /* Equals */) && tokenOrKeyword.parent.kind === 8 /* PackageImport */) {
|
@@ -3360,6 +3264,42 @@ var CompletionService = class {
|
|
3360
3264
|
}
|
3361
3265
|
return { kind: "none" };
|
3362
3266
|
}
|
3267
|
+
if (tokenOrKeyword.isToken(26 /* Dot */) && tokenOrKeyword.parent.kind === 132 /* QualifiedName */ && tokenOrKeyword.parent.parent.kind === 144 /* Tag */) {
|
3268
|
+
const tag = tokenOrKeyword.parent.parent;
|
3269
|
+
const resolutionResult = this._analyzer.resolveTag(tag);
|
3270
|
+
const segmentIndex = Math.floor(
|
3271
|
+
tag.name.parts.indexOf(tokenOrKeyword.value) / 2
|
3272
|
+
);
|
3273
|
+
if (segmentIndex < resolutionResult.resolvedQualifiers.length) {
|
3274
|
+
const resolvedQualifier = resolutionResult.resolvedQualifiers[segmentIndex];
|
3275
|
+
if (resolvedQualifier.kind === "package-name-segment") {
|
3276
|
+
let lookup;
|
3277
|
+
if (resolvedQualifier.packageTreeNode.package !== void 0) {
|
3278
|
+
lookup = new PackageMemberLookup(
|
3279
|
+
resolvedQualifier.packageTreeNode.package.value,
|
3280
|
+
semanticContext.getLocalizationContext()
|
3281
|
+
);
|
3282
|
+
}
|
3283
|
+
const hidingMatcher = semanticContext.getHidingMatcher();
|
3284
|
+
const typeSearchLocation = new PackageNameSegmentTypeSearchLocation(
|
3285
|
+
resolvedQualifier.packageTreeNode,
|
3286
|
+
lookup,
|
3287
|
+
hidingMatcher
|
3288
|
+
);
|
3289
|
+
return new TagCompletionContext(typeSearchLocation);
|
3290
|
+
}
|
3291
|
+
if (resolvedQualifier.kind === "package-alias") {
|
3292
|
+
const package_ = resolvedQualifier.packageAlias.getPackage();
|
3293
|
+
if (package_ !== void 0) {
|
3294
|
+
const lookup = new PackageMemberLookup(package_, semanticContext.getLocalizationContext());
|
3295
|
+
const hidingMatcher = semanticContext.getHidingMatcher();
|
3296
|
+
const typeSearchLocation = new PackageAliasTypeSearchLocation(lookup, hidingMatcher);
|
3297
|
+
return new TagCompletionContext(typeSearchLocation);
|
3298
|
+
}
|
3299
|
+
}
|
3300
|
+
}
|
3301
|
+
return { kind: "none" };
|
3302
|
+
}
|
3363
3303
|
if (syntaxContext.isUnqualifiedTypeContext !== void 0) {
|
3364
3304
|
let completionInIsOrAsExpressionInfo;
|
3365
3305
|
if (tokenOrKeyword.parent.kind === 73 /* IsExpression */ || tokenOrKeyword.parent.kind === 65 /* AsExpression */) {
|
@@ -3371,6 +3311,11 @@ var CompletionService = class {
|
|
3371
3311
|
const typeSearchLocation = new ScopeTypeSearchLocation(lookup);
|
3372
3312
|
return new TypeCompletionContext(typeSearchLocation, completionInIsOrAsExpressionInfo);
|
3373
3313
|
}
|
3314
|
+
if (syntaxContext.isUnqualifiedTagNameCompletionContext) {
|
3315
|
+
const lookup = semanticContext.getScopeLookup();
|
3316
|
+
const typeSearchLocation = new ScopeTypeSearchLocation(lookup);
|
3317
|
+
return new TagCompletionContext(typeSearchLocation);
|
3318
|
+
}
|
3374
3319
|
if (syntaxContext.isExpressionContext !== void 0) {
|
3375
3320
|
const lookup = semanticContext.getScopeLookup();
|
3376
3321
|
const { targetTypes, targetSignaturesParameters } = this.getTargetTypesAndTargetSignaturesParameters(syntaxContext.isExpressionContext.expressionRole, semanticContext);
|
@@ -3412,17 +3357,17 @@ var CompletionService = class {
|
|
3412
3357
|
translationKind = 0 /* Any */;
|
3413
3358
|
hasPrecedingKeyword = false;
|
3414
3359
|
}
|
3415
|
-
if (tokenOrKeyword.isKeyword(
|
3360
|
+
if (tokenOrKeyword.isKeyword(18 /* Import */) && tokenOrKeyword.parent.kind === 131 /* PackageImportTranslation */) {
|
3416
3361
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3417
3362
|
translationKind = 1 /* PackageImport */;
|
3418
3363
|
hasPrecedingKeyword = true;
|
3419
3364
|
}
|
3420
|
-
if (tokenOrKeyword.isKeyword(
|
3365
|
+
if (tokenOrKeyword.isKeyword(16 /* Type */) && (tokenOrKeyword.parent.kind === 136 /* TypeTranslation */ || tokenOrKeyword.parent.kind === 130 /* MethodTypeTranslation */)) {
|
3421
3366
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3422
3367
|
translationKind = 3 /* Type */;
|
3423
3368
|
hasPrecedingKeyword = true;
|
3424
3369
|
}
|
3425
|
-
if (tokenOrKeyword.isKeyword(
|
3370
|
+
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 128 /* PackageMethodTranslation */) {
|
3426
3371
|
translationsDeclaration = tokenOrKeyword.parent.parent.parent;
|
3427
3372
|
translationKind = 2 /* Method */;
|
3428
3373
|
hasPrecedingKeyword = true;
|
@@ -3469,12 +3414,12 @@ var CompletionService = class {
|
|
3469
3414
|
translationKind = 0 /* Any */;
|
3470
3415
|
hasPrecedingKeyword = false;
|
3471
3416
|
}
|
3472
|
-
if (tokenOrKeyword.isKeyword(
|
3417
|
+
if (tokenOrKeyword.isKeyword(12 /* Function */) && tokenOrKeyword.parent.kind === 129 /* TypeMethodTranslation */) {
|
3473
3418
|
typeTranslation = tokenOrKeyword.parent.parent.parent;
|
3474
3419
|
translationKind = 1 /* Method */;
|
3475
3420
|
hasPrecedingKeyword = true;
|
3476
3421
|
}
|
3477
|
-
if (tokenOrKeyword.isKeyword(
|
3422
|
+
if (tokenOrKeyword.isKeyword(29 /* Creation */) && tokenOrKeyword.parent.kind === 123 /* ConstructorTranslation */) {
|
3478
3423
|
typeTranslation = tokenOrKeyword.parent.parent.parent;
|
3479
3424
|
translationKind = 3 /* Constructor */;
|
3480
3425
|
hasPrecedingKeyword = true;
|
@@ -3612,6 +3557,9 @@ var CompletionService = class {
|
|
3612
3557
|
case "type":
|
3613
3558
|
result = this.getTypeCompletionItemInfos(completionContext);
|
3614
3559
|
break;
|
3560
|
+
case "tag":
|
3561
|
+
result = this.getTagCompletionItemInfos(completionContext);
|
3562
|
+
break;
|
3615
3563
|
case "expression":
|
3616
3564
|
result = this.getExpressionCompletionItemInfos(completionContext);
|
3617
3565
|
break;
|
@@ -3644,29 +3592,29 @@ var CompletionService = class {
|
|
3644
3592
|
}
|
3645
3593
|
const kinds = /* @__PURE__ */ new Set();
|
3646
3594
|
if (syntaxContext.isPackageMemberDeclarationListContext) {
|
3647
|
-
kinds.add(
|
3595
|
+
kinds.add(18 /* Import */).add(7 /* Run */).add(29 /* Creation */).add(12 /* Function */).add(17 /* Basic */).add(16 /* Type */).add(57 /* Get */).add(58 /* Set */).add(54 /* Translations */);
|
3648
3596
|
}
|
3649
3597
|
if (syntaxContext.isPackageMemberDeclarationListContext || syntaxContext.isTypeMemberDeclarationListContext) {
|
3650
|
-
kinds.add(
|
3598
|
+
kinds.add(35 /* Hidden */).add(40 /* Static */).add(37 /* Redefinable */).add(36 /* Abstract */).add(38 /* Redefined */).add(39 /* Async */).add(34 /* Const */);
|
3651
3599
|
}
|
3652
3600
|
if (syntaxContext.isTypeMemberDeclarationListContext) {
|
3653
|
-
kinds.add(
|
3601
|
+
kinds.add(29 /* Creation */).add(12 /* Function */).add(46 /* Destruction */).add(57 /* Get */).add(58 /* Set */);
|
3654
3602
|
}
|
3655
3603
|
if (syntaxContext.isStatementContext) {
|
3656
|
-
kinds.add(7 /* Run */).add(
|
3604
|
+
kinds.add(7 /* Run */).add(33 /* For */).add(24 /* While */).add(25 /* Loop */).add(15 /* Return */).add(19 /* Error */).add(27 /* Yield */).add(31 /* BreakLoop */).add(32 /* ContinueLoop */).add(13 /* If */).add(43 /* Switch */).add(1 /* Let */).add(34 /* Const */).add(45 /* Dispose */).add(12 /* Function */).add(39 /* Async */);
|
3657
3605
|
}
|
3658
3606
|
if (this.isFromKeywordContext(positionDescription)) {
|
3659
|
-
kinds.add(
|
3607
|
+
kinds.add(9 /* From */);
|
3660
3608
|
}
|
3661
3609
|
if (syntaxContext.isExpressionContext !== void 0) {
|
3662
|
-
kinds.add(
|
3610
|
+
kinds.add(42 /* Not */).add(51 /* Yes */).add(52 /* No */).add(56 /* None */).add(39 /* Async */).add(12 /* Function */).add(53 /* Reference */).add(2 /* Autotype */);
|
3663
3611
|
if (positionDescription.kind === "after-token-or-keyword") {
|
3664
3612
|
const container = semanticContext.getContainingTypeOrTypeExtension();
|
3665
3613
|
if (container !== void 0) {
|
3666
3614
|
kinds.add(4 /* Object */);
|
3667
3615
|
if (container.kind === "type") {
|
3668
3616
|
const typeEntity = container.value;
|
3669
|
-
if (typeEntity?.
|
3617
|
+
if (typeEntity?.typeEntityKind === 1 /* Structured */ && typeEntity.getBaseObjectType() !== void 0 || typeEntity?.typeEntityKind === 3 /* Variant */ || typeEntity?.typeEntityKind === 4 /* Alias */) {
|
3670
3618
|
kinds.add(55 /* Base */);
|
3671
3619
|
}
|
3672
3620
|
}
|
@@ -3674,31 +3622,31 @@ var CompletionService = class {
|
|
3674
3622
|
}
|
3675
3623
|
}
|
3676
3624
|
if (this.isTypeKindCompletionContext(positionDescription)) {
|
3677
|
-
kinds.add(4 /* Object */).add(5 /* PlainObject */).add(3 /* Aspect */).add(6 /* Variant */).add(
|
3625
|
+
kinds.add(4 /* Object */).add(5 /* PlainObject */).add(3 /* Aspect */).add(6 /* Variant */).add(12 /* Function */).add(39 /* Async */);
|
3678
3626
|
}
|
3679
3627
|
if (this.isCaseKeywordContext(positionDescription, syntaxContext)) {
|
3680
|
-
kinds.add(
|
3628
|
+
kinds.add(44 /* Case */);
|
3681
3629
|
}
|
3682
3630
|
if (this.isRunStatementAccessorListContext(positionDescription)) {
|
3683
|
-
kinds.add(
|
3631
|
+
kinds.add(30 /* Catch */).add(20 /* Finally */);
|
3684
3632
|
}
|
3685
3633
|
if (this.isElseOrElseIfKeywordContext(positionDescription)) {
|
3686
|
-
kinds.add(
|
3634
|
+
kinds.add(10 /* Else */).add(11 /* ElseIf */);
|
3687
3635
|
}
|
3688
3636
|
if (syntaxContext.precedingExpression !== void 0) {
|
3689
|
-
kinds.add(
|
3637
|
+
kinds.add(41 /* As */).add(14 /* Is */).add(21 /* And */).add(22 /* Or */).add(23 /* Xor */).add(28 /* When */);
|
3690
3638
|
}
|
3691
3639
|
if (this.isModifierLevelContext(positionDescription)) {
|
3692
3640
|
kinds.add(50 /* InType */).add(47 /* InHierarchy */).add(48 /* InFile */).add(49 /* InPackage */);
|
3693
3641
|
}
|
3694
3642
|
if (this.isRepeatWhileKeywordContext(positionDescription)) {
|
3695
|
-
kinds.add(
|
3643
|
+
kinds.add(26 /* RepeatWhile */);
|
3696
3644
|
}
|
3697
3645
|
if (syntaxContext.isUnqualifiedTypeContext?.allowsAnonymousTypes === true) {
|
3698
|
-
kinds.add(5 /* PlainObject */).add(4 /* Object */).add(6 /* Variant */).add(3 /* Aspect */).add(
|
3646
|
+
kinds.add(5 /* PlainObject */).add(4 /* Object */).add(6 /* Variant */).add(3 /* Aspect */).add(12 /* Function */).add(39 /* Async */);
|
3699
3647
|
}
|
3700
|
-
if (positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isKeyword(
|
3701
|
-
kinds.add(
|
3648
|
+
if (positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isKeyword(39 /* Async */) && (positionDescription.tokenOrKeyword.parent.kind === 58 /* NestedMethodDeclaration */ || positionDescription.tokenOrKeyword.parent.kind === 74 /* MethodLiteral */ || positionDescription.tokenOrKeyword.parent.kind === 29 /* MethodTypeDeclarationBody */)) {
|
3649
|
+
kinds.add(12 /* Function */);
|
3702
3650
|
}
|
3703
3651
|
return Query.from(kinds.values()).map(
|
3704
3652
|
(k) => LocalizationHelper.localizeKeyword(k, this._locale, this._dialect).map((v) => new KeywordCompletionItemInfo(this.completionItemInfoContext, k, v))
|
@@ -3730,7 +3678,7 @@ var CompletionService = class {
|
|
3730
3678
|
return false;
|
3731
3679
|
}
|
3732
3680
|
const tokenOrKeyword = positionDescription.tokenOrKeyword;
|
3733
|
-
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind ===
|
3681
|
+
return tokenOrKeyword.isToken(20 /* CloseBrace */) && tokenOrKeyword.parent.kind === 93 /* StatementBlock */ && (tokenOrKeyword.parent.parent.kind === 97 /* RunStatement */ || tokenOrKeyword.parent.parent.kind === 99 /* CatchClause */ || tokenOrKeyword.parent.parent.kind === 101 /* FinallyClause */);
|
3734
3682
|
}
|
3735
3683
|
isTypeKindCompletionContext(positionDescription) {
|
3736
3684
|
return positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(57 /* Equals */) && NodeTypeUtils.isPackageTypeDeclaration(positionDescription.tokenOrKeyword.parent);
|
@@ -3756,22 +3704,7 @@ var CompletionService = class {
|
|
3756
3704
|
return false;
|
3757
3705
|
}
|
3758
3706
|
getExpressionCompletionItemInfos(ctx) {
|
3759
|
-
let query =
|
3760
|
-
if (ctx.targetTypes !== void 0) {
|
3761
|
-
const variantType = this.getTargetVariantType(ctx.targetTypes);
|
3762
|
-
if (variantType !== void 0) {
|
3763
|
-
const variantLookup = new VariantLookup(variantType.getEntity(), ctx.localizationContext);
|
3764
|
-
query = query.chain(variantLookup.get().map(
|
3765
|
-
(v) => new VariantCompletionItemInfo(
|
3766
|
-
this.completionItemInfoContext,
|
3767
|
-
v.value,
|
3768
|
-
v.name,
|
3769
|
-
v.requiresExplicitOriginalName
|
3770
|
-
)
|
3771
|
-
).toArray());
|
3772
|
-
}
|
3773
|
-
}
|
3774
|
-
query = query.chain(this.getScopeCompletionItemInfos(ctx.lookup));
|
3707
|
+
let query = this.getScopeCompletionItemInfos(ctx.lookup);
|
3775
3708
|
if (ctx.targetSignaturesValueParameters !== void 0) {
|
3776
3709
|
query = query.chain(this.getCompletionItemInfosForTargetSignaturesValueParameters(ctx.targetSignaturesValueParameters));
|
3777
3710
|
}
|
@@ -3793,19 +3726,6 @@ var CompletionService = class {
|
|
3793
3726
|
}
|
3794
3727
|
}
|
3795
3728
|
}
|
3796
|
-
getTargetVariantType(targetTypes) {
|
3797
|
-
let variantType;
|
3798
|
-
for (const targetType of targetTypes) {
|
3799
|
-
const type = this._analyzer.getUnambiguousTargetVariantType(targetType);
|
3800
|
-
if (variantType === void 0) {
|
3801
|
-
variantType = type;
|
3802
|
-
} else {
|
3803
|
-
variantType = void 0;
|
3804
|
-
break;
|
3805
|
-
}
|
3806
|
-
}
|
3807
|
-
return variantType;
|
3808
|
-
}
|
3809
3729
|
getCompletionItemInfosForTargetSignaturesValueParameters(valueParameters) {
|
3810
3730
|
return valueParameters.map((p) => new TargetSignatureValueParameterCompletionItemInfo(this.completionItemInfoContext, p));
|
3811
3731
|
}
|
@@ -3847,19 +3767,7 @@ var CompletionService = class {
|
|
3847
3767
|
}
|
3848
3768
|
}
|
3849
3769
|
case "type": {
|
3850
|
-
return this.createTypeEntityCompletionItemInfo(
|
3851
|
-
d.value.value.getEntity(),
|
3852
|
-
d.name,
|
3853
|
-
d.requiresExplicitOriginalName
|
3854
|
-
);
|
3855
|
-
}
|
3856
|
-
case "variant": {
|
3857
|
-
return new VariantCompletionItemInfo(
|
3858
|
-
this.completionItemInfoContext,
|
3859
|
-
d.value.value,
|
3860
|
-
d.name,
|
3861
|
-
d.requiresExplicitOriginalName
|
3862
|
-
);
|
3770
|
+
return this.createTypeEntityCompletionItemInfo(d.value.value, d.name, d.requiresExplicitOriginalName);
|
3863
3771
|
}
|
3864
3772
|
case "package-alias":
|
3865
3773
|
return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
|
@@ -3913,34 +3821,34 @@ var CompletionService = class {
|
|
3913
3821
|
}
|
3914
3822
|
}
|
3915
3823
|
getTypeCompletionItemInfosFromPackage(searchLocation) {
|
3916
|
-
return searchLocation.packageMemberLookup.getNamedMembers(searchLocation.hidingMatcher).
|
3917
|
-
if (m.value.kind ===
|
3824
|
+
return searchLocation.packageMemberLookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
|
3825
|
+
if (m.value.kind === 2 /* Type */) {
|
3918
3826
|
return new NamedTypeCompletionItemInfo(
|
3919
3827
|
this.completionItemInfoContext,
|
3920
|
-
m.value
|
3828
|
+
m.value,
|
3921
3829
|
m.name,
|
3922
3830
|
m.requiresExplicitOriginalName
|
3923
3831
|
);
|
3924
3832
|
}
|
3925
3833
|
return void 0;
|
3926
|
-
}).
|
3834
|
+
}).filter((i) => i !== void 0);
|
3927
3835
|
}
|
3928
3836
|
getTypeCompletionItemInfosFromPackageNameSegment(searchLocation) {
|
3929
3837
|
let query = Query.from(searchLocation.packageTreeNode.getChildren()).map((c) => new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, c.name));
|
3930
3838
|
if (searchLocation.packageMemberLookup !== void 0) {
|
3931
3839
|
const lookup = searchLocation.packageMemberLookup;
|
3932
3840
|
query = query.chain(
|
3933
|
-
lookup.getNamedMembers(searchLocation.hidingMatcher).
|
3934
|
-
if (m.value.kind ===
|
3841
|
+
lookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
|
3842
|
+
if (m.value.kind === 2 /* Type */) {
|
3935
3843
|
return new NamedTypeCompletionItemInfo(
|
3936
3844
|
this.completionItemInfoContext,
|
3937
|
-
m.value
|
3845
|
+
m.value,
|
3938
3846
|
m.name,
|
3939
3847
|
m.requiresExplicitOriginalName
|
3940
3848
|
);
|
3941
3849
|
}
|
3942
3850
|
return void 0;
|
3943
|
-
})
|
3851
|
+
}).filter((i) => i !== void 0)
|
3944
3852
|
);
|
3945
3853
|
}
|
3946
3854
|
return query.toArray();
|
@@ -3951,7 +3859,7 @@ var CompletionService = class {
|
|
3951
3859
|
case "type": {
|
3952
3860
|
return new NamedTypeCompletionItemInfo(
|
3953
3861
|
this.completionItemInfoContext,
|
3954
|
-
d.value.value
|
3862
|
+
d.value.value,
|
3955
3863
|
d.name,
|
3956
3864
|
d.requiresExplicitOriginalName
|
3957
3865
|
);
|
@@ -3965,8 +3873,98 @@ var CompletionService = class {
|
|
3965
3873
|
}
|
3966
3874
|
});
|
3967
3875
|
}
|
3876
|
+
getTagCompletionItemInfos(ctx) {
|
3877
|
+
let result;
|
3878
|
+
switch (ctx.searchLocation.kind) {
|
3879
|
+
case "scope":
|
3880
|
+
result = this.getTagCompletionItemInfosFromScope(ctx.searchLocation);
|
3881
|
+
break;
|
3882
|
+
case "package-alias":
|
3883
|
+
result = this.getTagCompletionItemInfosFromPackage(ctx.searchLocation);
|
3884
|
+
break;
|
3885
|
+
case "package-name-segment":
|
3886
|
+
result = this.getTagCompletionItemInfosFromPackageNameSegment(ctx.searchLocation);
|
3887
|
+
break;
|
3888
|
+
}
|
3889
|
+
return result;
|
3890
|
+
}
|
3891
|
+
getTagCompletionItemInfosFromPackage(searchLocation) {
|
3892
|
+
return searchLocation.packageMemberLookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
|
3893
|
+
if (m.value.kind === 2 /* Type */) {
|
3894
|
+
return new NamedTypeCompletionItemInfo(
|
3895
|
+
this.completionItemInfoContext,
|
3896
|
+
m.value,
|
3897
|
+
m.name,
|
3898
|
+
m.requiresExplicitOriginalName
|
3899
|
+
);
|
3900
|
+
} else if (m.value.kind === 1 /* Method */) {
|
3901
|
+
return new MethodEntityCompletionItemInfo(
|
3902
|
+
this.completionItemInfoContext,
|
3903
|
+
m.value,
|
3904
|
+
m.name,
|
3905
|
+
m.requiresExplicitOriginalName
|
3906
|
+
);
|
3907
|
+
}
|
3908
|
+
return void 0;
|
3909
|
+
}).filter((i) => i !== void 0);
|
3910
|
+
}
|
3911
|
+
getTagCompletionItemInfosFromPackageNameSegment(searchLocation) {
|
3912
|
+
let query = Query.from(searchLocation.packageTreeNode.getChildren()).map((c) => new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, c.name));
|
3913
|
+
if (searchLocation.packageMemberLookup !== void 0) {
|
3914
|
+
const lookup = searchLocation.packageMemberLookup;
|
3915
|
+
query = query.chain(
|
3916
|
+
lookup.getNamedMembers(searchLocation.hidingMatcher).map((m) => {
|
3917
|
+
if (m.value.kind === 2 /* Type */) {
|
3918
|
+
return new NamedTypeCompletionItemInfo(
|
3919
|
+
this.completionItemInfoContext,
|
3920
|
+
m.value,
|
3921
|
+
m.name,
|
3922
|
+
m.requiresExplicitOriginalName
|
3923
|
+
);
|
3924
|
+
} else if (m.value.kind === 1 /* Method */) {
|
3925
|
+
return new MethodEntityCompletionItemInfo(
|
3926
|
+
this.completionItemInfoContext,
|
3927
|
+
m.value,
|
3928
|
+
m.name,
|
3929
|
+
m.requiresExplicitOriginalName
|
3930
|
+
);
|
3931
|
+
}
|
3932
|
+
return void 0;
|
3933
|
+
}).filter((i) => i !== void 0)
|
3934
|
+
);
|
3935
|
+
}
|
3936
|
+
return query.toArray();
|
3937
|
+
}
|
3938
|
+
getTagCompletionItemInfosFromScope(searchLocation) {
|
3939
|
+
return searchLocation.lookup.getNamedDeclarations().map((d) => {
|
3940
|
+
switch (d.value.kind) {
|
3941
|
+
case "type":
|
3942
|
+
return new NamedTypeCompletionItemInfo(
|
3943
|
+
this.completionItemInfoContext,
|
3944
|
+
d.value.value,
|
3945
|
+
d.name,
|
3946
|
+
d.requiresExplicitOriginalName
|
3947
|
+
);
|
3948
|
+
case "method":
|
3949
|
+
return new MethodEntityCompletionItemInfo(
|
3950
|
+
this.completionItemInfoContext,
|
3951
|
+
d.value.value.getEntity(),
|
3952
|
+
d.name,
|
3953
|
+
d.requiresExplicitOriginalName
|
3954
|
+
);
|
3955
|
+
case "package-name-segment":
|
3956
|
+
return new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, d.name.value);
|
3957
|
+
case "package-alias":
|
3958
|
+
return new PackageAliasEntityCompletionItemInfo(this.completionItemInfoContext, d.value.value);
|
3959
|
+
case "variable":
|
3960
|
+
return void 0;
|
3961
|
+
default:
|
3962
|
+
Debug.never(d.value);
|
3963
|
+
}
|
3964
|
+
}).filter((i) => i !== void 0);
|
3965
|
+
}
|
3968
3966
|
getPackageAliasMemberCompletionItemInfos(ctx) {
|
3969
|
-
return ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m.value, m.name, m.requiresExplicitOriginalName))
|
3967
|
+
return ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher).map((m) => this.packageMemberToCompletionItemInfo(m.value, m.name, m.requiresExplicitOriginalName));
|
3970
3968
|
}
|
3971
3969
|
getPackageNameSegmentCompletionItemInfos(ctx) {
|
3972
3970
|
let query = Query.from(ctx.packageTreeNode.getChildren()).map((c) => new PackageNameSegmentCompletionItemInfo(this.completionItemInfoContext, c.name));
|
@@ -3980,22 +3978,22 @@ var CompletionService = class {
|
|
3980
3978
|
}
|
3981
3979
|
packageMemberToCompletionItemInfo(member, name, isNameExplicitlyOriginal) {
|
3982
3980
|
switch (member.kind) {
|
3983
|
-
case
|
3981
|
+
case 0 /* Variable */:
|
3984
3982
|
return new VariableEntityCompletionItemInfo(
|
3985
3983
|
this.completionItemInfoContext,
|
3986
|
-
member
|
3984
|
+
member,
|
3987
3985
|
name,
|
3988
3986
|
isNameExplicitlyOriginal
|
3989
3987
|
);
|
3990
|
-
case
|
3988
|
+
case 1 /* Method */:
|
3991
3989
|
return new MethodEntityCompletionItemInfo(
|
3992
3990
|
this.completionItemInfoContext,
|
3993
|
-
member
|
3991
|
+
member,
|
3994
3992
|
name,
|
3995
3993
|
isNameExplicitlyOriginal
|
3996
3994
|
);
|
3997
|
-
case
|
3998
|
-
return this.createTypeEntityCompletionItemInfo(member
|
3995
|
+
case 2 /* Type */:
|
3996
|
+
return this.createTypeEntityCompletionItemInfo(member, name, isNameExplicitlyOriginal);
|
3999
3997
|
default:
|
4000
3998
|
Debug.never(member);
|
4001
3999
|
}
|
@@ -4012,37 +4010,27 @@ var CompletionService = class {
|
|
4012
4010
|
}
|
4013
4011
|
getTypeMemberCompletionItemInfos(ctx) {
|
4014
4012
|
const type = this._analyzer.excludeNoneFromType(ctx.type);
|
4015
|
-
|
4016
|
-
|
4017
|
-
|
4018
|
-
|
4019
|
-
|
4020
|
-
|
4021
|
-
|
4022
|
-
|
4023
|
-
|
4024
|
-
|
4025
|
-
|
4026
|
-
|
4027
|
-
|
4028
|
-
|
4029
|
-
|
4030
|
-
|
4031
|
-
|
4032
|
-
|
4033
|
-
|
4034
|
-
|
4035
|
-
|
4036
|
-
this.completionItemInfoContext,
|
4037
|
-
m.value,
|
4038
|
-
m.name,
|
4039
|
-
m.requiresExplicitOriginalName
|
4040
|
-
);
|
4041
|
-
default:
|
4042
|
-
Debug.never(m.value);
|
4043
|
-
}
|
4044
|
-
}).chain(Query.from(memberLookup.getOperators(ctx.hidingMatcher, ctx.typeExtensionsLookup)).filter((m) => m.value.isStatic() === ctx.isStaticAccess).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o.value, o.localization))).toArray();
|
4045
|
-
}
|
4013
|
+
const memberLookup = new TypeMemberLookup(this._analyzer, type, ctx.localizationContext);
|
4014
|
+
return memberLookup.getNamedMembers(ctx.hidingMatcher, ctx.typeExtensionsLookup).filter((m) => m.value.isStatic() === ctx.isStaticAccess).map((m) => {
|
4015
|
+
switch (m.value.kind) {
|
4016
|
+
case "method":
|
4017
|
+
return new TypeMethodCompletionItemInfo(
|
4018
|
+
this.completionItemInfoContext,
|
4019
|
+
m.value,
|
4020
|
+
m.name,
|
4021
|
+
m.requiresExplicitOriginalName
|
4022
|
+
);
|
4023
|
+
case "variable":
|
4024
|
+
return new TypeVariableCompletionItemInfo(
|
4025
|
+
this.completionItemInfoContext,
|
4026
|
+
m.value,
|
4027
|
+
m.name,
|
4028
|
+
m.requiresExplicitOriginalName
|
4029
|
+
);
|
4030
|
+
default:
|
4031
|
+
Debug.never(m.value);
|
4032
|
+
}
|
4033
|
+
}).concat(memberLookup.getOperators(ctx.hidingMatcher, ctx.typeExtensionsLookup).filter((m) => m.value.isStatic() === ctx.isStaticAccess).map((o) => new OperatorCompletionItemInfo(this.completionItemInfoContext, o.value, o.localization)));
|
4046
4034
|
}
|
4047
4035
|
getPackageImportCompletionItemInfos(ctx) {
|
4048
4036
|
const result = this._analyzer.packageImports.getPackagesAvailableForImport(this._sourceFile.package).map((p) => p.getImportName()).filter((n) => {
|
@@ -4076,10 +4064,10 @@ var CompletionService = class {
|
|
4076
4064
|
result = items ?? Query.empty();
|
4077
4065
|
} else if (ctx.translationKind === 2 /* Method */) {
|
4078
4066
|
result = Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).mapAndFilter((d) => {
|
4079
|
-
if (d.value.kind ===
|
4067
|
+
if (d.value.kind === 1 /* Method */) {
|
4080
4068
|
return new AliasesSourceMethodCompletionItemInfo(
|
4081
4069
|
this.completionItemInfoContext,
|
4082
|
-
d.value
|
4070
|
+
d.value,
|
4083
4071
|
!ctx.hasPrecedingKeyword,
|
4084
4072
|
displayService_
|
4085
4073
|
);
|
@@ -4088,10 +4076,10 @@ var CompletionService = class {
|
|
4088
4076
|
});
|
4089
4077
|
} else if (ctx.translationKind === 3 /* Type */) {
|
4090
4078
|
result = Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).mapAndFilter((d) => {
|
4091
|
-
if (d.value.kind ===
|
4079
|
+
if (d.value.kind === 2 /* Type */) {
|
4092
4080
|
return new AliasesSourcePackageTypeCompletionItemInfo(
|
4093
4081
|
this.completionItemInfoContext,
|
4094
|
-
d.value
|
4082
|
+
d.value,
|
4095
4083
|
!ctx.hasPrecedingKeyword,
|
4096
4084
|
displayService_
|
4097
4085
|
);
|
@@ -4110,31 +4098,31 @@ var CompletionService = class {
|
|
4110
4098
|
}
|
4111
4099
|
}
|
4112
4100
|
result = Query.from(packageNameItems ?? []).chain(
|
4113
|
-
Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).
|
4114
|
-
|
4115
|
-
|
4116
|
-
|
4117
|
-
|
4118
|
-
|
4119
|
-
|
4120
|
-
|
4121
|
-
|
4122
|
-
|
4123
|
-
|
4124
|
-
|
4125
|
-
|
4126
|
-
|
4127
|
-
|
4128
|
-
|
4129
|
-
|
4130
|
-
|
4131
|
-
|
4132
|
-
|
4133
|
-
|
4134
|
-
|
4135
|
-
|
4101
|
+
Query.from(ctx.packageMemberLookup.getNamedMembers(ctx.hidingMatcher)).map((d) => {
|
4102
|
+
switch (d.value.kind) {
|
4103
|
+
case 0 /* Variable */:
|
4104
|
+
return new AliasesSourceVariableCompletionItemInfo(
|
4105
|
+
this.completionItemInfoContext,
|
4106
|
+
d.value,
|
4107
|
+
displayService_
|
4108
|
+
);
|
4109
|
+
case 1 /* Method */:
|
4110
|
+
return new AliasesSourceMethodCompletionItemInfo(
|
4111
|
+
this.completionItemInfoContext,
|
4112
|
+
d.value,
|
4113
|
+
!ctx.hasPrecedingKeyword,
|
4114
|
+
displayService_
|
4115
|
+
);
|
4116
|
+
case 2 /* Type */:
|
4117
|
+
return new AliasesSourcePackageTypeCompletionItemInfo(
|
4118
|
+
this.completionItemInfoContext,
|
4119
|
+
d.value,
|
4120
|
+
!ctx.hasPrecedingKeyword,
|
4121
|
+
displayService_
|
4122
|
+
);
|
4123
|
+
default:
|
4124
|
+
Debug.never(d.value);
|
4136
4125
|
}
|
4137
|
-
return void 0;
|
4138
4126
|
})
|
4139
4127
|
);
|
4140
4128
|
} else {
|
@@ -4142,9 +4130,9 @@ var CompletionService = class {
|
|
4142
4130
|
}
|
4143
4131
|
if (!ctx.hasPrecedingKeyword) {
|
4144
4132
|
const keywords = [
|
4145
|
-
|
4146
|
-
|
4147
|
-
|
4133
|
+
18 /* Import */,
|
4134
|
+
16 /* Type */,
|
4135
|
+
12 /* Function */
|
4148
4136
|
];
|
4149
4137
|
result = result.chain(
|
4150
4138
|
Query.from(keywords).map(
|
@@ -4160,7 +4148,7 @@ var CompletionService = class {
|
|
4160
4148
|
const displayService_ = new DisplayService(this._analyzer, ctx.sourceLocale, this._dialect);
|
4161
4149
|
if (ctx.translationKind === 1 /* Method */) {
|
4162
4150
|
result = Query.from(ctx.typeEntity.getMembers().getNamedMembers()).mapAndFilter((m) => {
|
4163
|
-
if (m.kind ===
|
4151
|
+
if (m.kind === 1 /* Method */) {
|
4164
4152
|
return new AliasesSourceMethodCompletionItemInfo(
|
4165
4153
|
this.completionItemInfoContext,
|
4166
4154
|
m,
|
@@ -4185,7 +4173,7 @@ var CompletionService = class {
|
|
4185
4173
|
result = Query.from(ctx.typeEntity.getMembers().getNamedMembers()).mapAndFilter((m) => {
|
4186
4174
|
if (m.kind === 0 /* Variable */) {
|
4187
4175
|
return new AliasesSourceVariableCompletionItemInfo(this.completionItemInfoContext, m, displayService_);
|
4188
|
-
} else if (m.kind ===
|
4176
|
+
} else if (m.kind === 1 /* Method */) {
|
4189
4177
|
return new AliasesSourceMethodCompletionItemInfo(
|
4190
4178
|
this.completionItemInfoContext,
|
4191
4179
|
m,
|
@@ -4214,8 +4202,8 @@ var CompletionService = class {
|
|
4214
4202
|
}
|
4215
4203
|
if (!ctx.hasPrecedingKeyword) {
|
4216
4204
|
const keywords = [
|
4217
|
-
|
4218
|
-
|
4205
|
+
12 /* Function */,
|
4206
|
+
29 /* Creation */
|
4219
4207
|
];
|
4220
4208
|
result = result.chain(
|
4221
4209
|
Query.from(keywords).map(
|
@@ -4429,6 +4417,12 @@ var TypeCompletionContext = class {
|
|
4429
4417
|
this.kind = "type";
|
4430
4418
|
}
|
4431
4419
|
};
|
4420
|
+
var TagCompletionContext = class {
|
4421
|
+
constructor(searchLocation) {
|
4422
|
+
this.searchLocation = searchLocation;
|
4423
|
+
this.kind = "tag";
|
4424
|
+
}
|
4425
|
+
};
|
4432
4426
|
var OperatorNameCompletionContext = class {
|
4433
4427
|
constructor(nameToken) {
|
4434
4428
|
this.nameToken = nameToken;
|
@@ -4572,7 +4566,7 @@ var TypeVariableCompletionItemInfo = class {
|
|
4572
4566
|
return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
|
4573
4567
|
}
|
4574
4568
|
getCompletionItemKind() {
|
4575
|
-
return 2 /* TypeVariable */;
|
4569
|
+
return this.variable.isVariant() ? 12 /* Variant */ : 2 /* TypeVariable */;
|
4576
4570
|
}
|
4577
4571
|
getDetails() {
|
4578
4572
|
return this.ctx.displayService.displayVariableDeclaration(
|
@@ -4646,33 +4640,6 @@ var OperatorCompletionItemInfo = class {
|
|
4646
4640
|
return void 0;
|
4647
4641
|
}
|
4648
4642
|
};
|
4649
|
-
var VariantCompletionItemInfo = class {
|
4650
|
-
constructor(ctx, variant, name, isNameExplicitlyOriginal) {
|
4651
|
-
this.ctx = ctx;
|
4652
|
-
this.variant = variant;
|
4653
|
-
this.name = name;
|
4654
|
-
this.isNameExplicitlyOriginal = isNameExplicitlyOriginal;
|
4655
|
-
this.kind = "variant";
|
4656
|
-
}
|
4657
|
-
getLabel() {
|
4658
|
-
return `${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
|
4659
|
-
}
|
4660
|
-
getCompletionItemKind() {
|
4661
|
-
return 12 /* Variant */;
|
4662
|
-
}
|
4663
|
-
getDetails() {
|
4664
|
-
return this.ctx.displayService.displayVariantEntity(this.variant, this.name.localization);
|
4665
|
-
}
|
4666
|
-
getInsertText() {
|
4667
|
-
return void 0;
|
4668
|
-
}
|
4669
|
-
getSortText() {
|
4670
|
-
return void 0;
|
4671
|
-
}
|
4672
|
-
getEditRange() {
|
4673
|
-
return void 0;
|
4674
|
-
}
|
4675
|
-
};
|
4676
4643
|
var VariableEntityCompletionItemInfo = class {
|
4677
4644
|
constructor(ctx, entity, name, isNameExplicitlyOriginal) {
|
4678
4645
|
this.ctx = ctx;
|
@@ -4689,7 +4656,7 @@ var VariableEntityCompletionItemInfo = class {
|
|
4689
4656
|
case "package":
|
4690
4657
|
return 7 /* PackageVariable */;
|
4691
4658
|
case "type":
|
4692
|
-
return 2 /* TypeVariable */;
|
4659
|
+
return this.entity.isVariant() ? 12 /* Variant */ : 2 /* TypeVariable */;
|
4693
4660
|
case "parameter":
|
4694
4661
|
return 10 /* ParameterVariable */;
|
4695
4662
|
case "local":
|
@@ -4765,14 +4732,14 @@ var NamedTypeCompletionItemInfo = class {
|
|
4765
4732
|
return `${this.prefix}${this.isNameExplicitlyOriginal ? "~" : ""}${this.ctx.getInsertTextForName(this.name.value)}`;
|
4766
4733
|
}
|
4767
4734
|
getCompletionItemKind() {
|
4768
|
-
switch (this.entity.
|
4769
|
-
case
|
4735
|
+
switch (this.entity.typeEntityKind) {
|
4736
|
+
case 3 /* Variant */:
|
4770
4737
|
return 16 /* VariantType */;
|
4771
|
-
case
|
4738
|
+
case 2 /* Parameter */:
|
4772
4739
|
return 17 /* TypeParameter */;
|
4773
|
-
case
|
4740
|
+
case 0 /* Method */:
|
4774
4741
|
return 18 /* MethodType */;
|
4775
|
-
case
|
4742
|
+
case 1 /* Structured */:
|
4776
4743
|
if (this.entity.isRefObject()) {
|
4777
4744
|
return 13 /* RefObjectType */;
|
4778
4745
|
} else if (this.entity.isPlainObject()) {
|
@@ -4782,7 +4749,7 @@ var NamedTypeCompletionItemInfo = class {
|
|
4782
4749
|
} else {
|
4783
4750
|
return 20 /* InvalidType */;
|
4784
4751
|
}
|
4785
|
-
case
|
4752
|
+
case 4 /* Alias */:
|
4786
4753
|
return 19 /* AliasType */;
|
4787
4754
|
default:
|
4788
4755
|
Debug.never(this.entity);
|
@@ -4981,12 +4948,12 @@ var AliasesSourcePackageTypeCompletionItemInfo = class {
|
|
4981
4948
|
return this.ctx.getInsertTextForName(this.typeEntity.getName());
|
4982
4949
|
}
|
4983
4950
|
getCompletionItemKind() {
|
4984
|
-
switch (this.typeEntity.
|
4985
|
-
case
|
4951
|
+
switch (this.typeEntity.typeEntityKind) {
|
4952
|
+
case 3 /* Variant */:
|
4986
4953
|
return 16 /* VariantType */;
|
4987
|
-
case
|
4954
|
+
case 0 /* Method */:
|
4988
4955
|
return 18 /* MethodType */;
|
4989
|
-
case
|
4956
|
+
case 1 /* Structured */: {
|
4990
4957
|
if (this.typeEntity.isRefObject()) {
|
4991
4958
|
return 13 /* RefObjectType */;
|
4992
4959
|
} else if (this.typeEntity.isPlainObject()) {
|
@@ -4996,7 +4963,7 @@ var AliasesSourcePackageTypeCompletionItemInfo = class {
|
|
4996
4963
|
}
|
4997
4964
|
return 20 /* InvalidType */;
|
4998
4965
|
}
|
4999
|
-
case
|
4966
|
+
case 4 /* Alias */:
|
5000
4967
|
return 19 /* AliasType */;
|
5001
4968
|
}
|
5002
4969
|
}
|
@@ -5015,20 +4982,20 @@ var AliasesSourcePackageTypeCompletionItemInfo = class {
|
|
5015
4982
|
}
|
5016
4983
|
getDisplayServiceTypeDeclaration() {
|
5017
4984
|
const localization = Localization.Original.ofEntity(this.typeEntity);
|
5018
|
-
switch (this.typeEntity.
|
5019
|
-
case
|
4985
|
+
switch (this.typeEntity.typeEntityKind) {
|
4986
|
+
case 3 /* Variant */:
|
5020
4987
|
return new TypeDeclaration_variant(
|
5021
4988
|
new TypeDeclarationVariant_entity(this.typeEntity, localization)
|
5022
4989
|
);
|
5023
|
-
case
|
4990
|
+
case 0 /* Method */:
|
5024
4991
|
return new TypeDeclaration_method(
|
5025
4992
|
new TypeDeclarationMethod_entity(this.typeEntity, localization)
|
5026
4993
|
);
|
5027
|
-
case
|
4994
|
+
case 1 /* Structured */:
|
5028
4995
|
return new TypeDeclaration_structured(
|
5029
4996
|
new TypeDeclarationStructured_entity(this.typeEntity, localization)
|
5030
4997
|
);
|
5031
|
-
case
|
4998
|
+
case 4 /* Alias */:
|
5032
4999
|
return new TypeDeclaration_alias(
|
5033
5000
|
new TypeDeclarationAlias_entity(this.typeEntity, localization)
|
5034
5001
|
);
|
@@ -5091,7 +5058,7 @@ var AliasesSourceTypeConstructorCompletionItemInfo = class {
|
|
5091
5058
|
Localization.Original.ofEntity(this.constructor_)
|
5092
5059
|
);
|
5093
5060
|
const displayParts = this.displayService.getConstructorDeclarationDisplayParts(constructorDeclaration);
|
5094
|
-
const creationKeyword = this.displayService.displayKeyword(
|
5061
|
+
const creationKeyword = this.displayService.displayKeyword(29 /* Creation */);
|
5095
5062
|
return creationKeyword + displayParts.valueParametersStart + displayParts.valueParameters.map((p) => p.toString()).join(displayParts.valueParameterSeparator) + displayParts.valueParametersEnd;
|
5096
5063
|
});
|
5097
5064
|
}
|
@@ -5105,7 +5072,7 @@ var AliasesSourceTypeConstructorCompletionItemInfo = class {
|
|
5105
5072
|
return this.label;
|
5106
5073
|
}
|
5107
5074
|
getInsertText() {
|
5108
|
-
const creationKeyword = this.includeOnCreateKeyword ? this.displayService.displayKeyword(
|
5075
|
+
const creationKeyword = this.includeOnCreateKeyword ? this.displayService.displayKeyword(29 /* Creation */) : "";
|
5109
5076
|
const parameters = this.constructor_.getValueParameters().map((p) => this.ctx.getInsertTextForName(p.getName(), true)).join(", ");
|
5110
5077
|
return `${creationKeyword}(${parameters})`;
|
5111
5078
|
}
|
@@ -5143,7 +5110,7 @@ var OperatorNameCompletionItemInfo = class {
|
|
5143
5110
|
}
|
5144
5111
|
};
|
5145
5112
|
var SyntaxContext = class {
|
5146
|
-
constructor(isInComment, isInStringOrChar, isInQuotedIdentifier, isPackageMemberDeclarationListContext, isTypeMemberDeclarationListContext, isStatementContext, isExpressionContext, precedingExpression, isUnqualifiedTypeContext, isTopLevelTranslationListContext, isTypeMemberTranslationListContext) {
|
5113
|
+
constructor(isInComment, isInStringOrChar, isInQuotedIdentifier, isPackageMemberDeclarationListContext, isTypeMemberDeclarationListContext, isStatementContext, isExpressionContext, precedingExpression, isUnqualifiedTypeContext, isUnqualifiedTagNameCompletionContext, isTopLevelTranslationListContext, isTypeMemberTranslationListContext) {
|
5147
5114
|
this.isInComment = isInComment;
|
5148
5115
|
this.isInStringOrChar = isInStringOrChar;
|
5149
5116
|
this.isInQuotedIdentifier = isInQuotedIdentifier;
|
@@ -5153,11 +5120,12 @@ var SyntaxContext = class {
|
|
5153
5120
|
this.isExpressionContext = isExpressionContext;
|
5154
5121
|
this.precedingExpression = precedingExpression;
|
5155
5122
|
this.isUnqualifiedTypeContext = isUnqualifiedTypeContext;
|
5123
|
+
this.isUnqualifiedTagNameCompletionContext = isUnqualifiedTagNameCompletionContext;
|
5156
5124
|
this.isTopLevelTranslationListContext = isTopLevelTranslationListContext;
|
5157
5125
|
this.isTypeMemberTranslationListContext = isTypeMemberTranslationListContext;
|
5158
5126
|
}
|
5159
5127
|
};
|
5160
|
-
var
|
5128
|
+
var ExpressionRole_argument = class {
|
5161
5129
|
constructor(argumentList, index) {
|
5162
5130
|
this.argumentList = argumentList;
|
5163
5131
|
this.index = index;
|
@@ -5218,6 +5186,7 @@ var SyntaxContextFactory = class {
|
|
5218
5186
|
if (positionDescription.kind === "after-token-or-keyword") {
|
5219
5187
|
isUnqualifiedTypeContext = this.isUnqualifiedTypeContext(positionDescription.tokenOrKeyword);
|
5220
5188
|
}
|
5189
|
+
const isUnqualifiedTagNameCompletionContext = positionDescription.kind === "after-token-or-keyword" && positionDescription.tokenOrKeyword.isToken(35 /* HashSign */) && positionDescription.tokenOrKeyword.parent.kind === 144 /* Tag */;
|
5221
5190
|
let isTopLevelTranslationListContext;
|
5222
5191
|
if (positionDescription.kind === "after-token-or-keyword") {
|
5223
5192
|
isTopLevelTranslationListContext = this.isTopLevelTranslationListContext(positionDescription.tokenOrKeyword);
|
@@ -5236,6 +5205,7 @@ var SyntaxContextFactory = class {
|
|
5236
5205
|
isExpressionContext,
|
5237
5206
|
precedingExpression,
|
5238
5207
|
isUnqualifiedTypeContext,
|
5208
|
+
isUnqualifiedTagNameCompletionContext,
|
5239
5209
|
isTopLevelTranslationListContext,
|
5240
5210
|
isTypeMemberTranslationListContext
|
5241
5211
|
);
|
@@ -5262,7 +5232,7 @@ var SyntaxContextFactory = class {
|
|
5262
5232
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.defaultValue);
|
5263
5233
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5264
5234
|
}
|
5265
|
-
if (tokenOrKeyword.parent.kind === 142 /*
|
5235
|
+
if (tokenOrKeyword.parent.kind === 142 /* Argument */) {
|
5266
5236
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.value);
|
5267
5237
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5268
5238
|
}
|
@@ -5315,23 +5285,23 @@ var SyntaxContextFactory = class {
|
|
5315
5285
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5316
5286
|
}
|
5317
5287
|
if (tokenOrKeyword.parent.kind === 69 /* CallExpression */) {
|
5318
|
-
const expressionRole = new
|
5288
|
+
const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
|
5319
5289
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5320
5290
|
}
|
5321
5291
|
if (tokenOrKeyword.parent.kind === 70 /* AutotypeCallExpression */) {
|
5322
|
-
const expressionRole = new
|
5292
|
+
const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
|
5323
5293
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5324
5294
|
}
|
5325
5295
|
if (tokenOrKeyword.parent.kind === 144 /* Tag */) {
|
5326
|
-
const
|
5327
|
-
if (
|
5328
|
-
const expressionRole = new
|
5296
|
+
const argumentList = tokenOrKeyword.parent.argumentList;
|
5297
|
+
if (argumentList !== void 0) {
|
5298
|
+
const expressionRole = new ExpressionRole_argument(argumentList, 0);
|
5329
5299
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5330
5300
|
}
|
5331
5301
|
}
|
5332
5302
|
}
|
5333
5303
|
if (tokenOrKeyword.isToken(45 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 71 /* IndexedAccessExpression */) {
|
5334
|
-
const expressionRole = new
|
5304
|
+
const expressionRole = new ExpressionRole_argument(tokenOrKeyword.parent.argumentList, 0);
|
5335
5305
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5336
5306
|
}
|
5337
5307
|
if (tokenOrKeyword.isToken(45 /* OpenSquareBracket */) && tokenOrKeyword.parent.kind === 61 /* ArrayLiteral */) {
|
@@ -5339,7 +5309,7 @@ var SyntaxContextFactory = class {
|
|
5339
5309
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5340
5310
|
}
|
5341
5311
|
if (tokenOrKeyword.isToken(24 /* Comma */)) {
|
5342
|
-
if (tokenOrKeyword.parent.kind === 68 /*
|
5312
|
+
if (tokenOrKeyword.parent.kind === 68 /* ArgumentList */) {
|
5343
5313
|
const argumentList = tokenOrKeyword.parent;
|
5344
5314
|
let index = 0;
|
5345
5315
|
for (const element of argumentList.elements) {
|
@@ -5350,7 +5320,7 @@ var SyntaxContextFactory = class {
|
|
5350
5320
|
}
|
5351
5321
|
}
|
5352
5322
|
}
|
5353
|
-
const expressionRole = new
|
5323
|
+
const expressionRole = new ExpressionRole_argument(argumentList, index);
|
5354
5324
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5355
5325
|
}
|
5356
5326
|
if (tokenOrKeyword.parent.kind === 117 /* MatchExpressionList */) {
|
@@ -5362,43 +5332,43 @@ var SyntaxContextFactory = class {
|
|
5362
5332
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5363
5333
|
}
|
5364
5334
|
}
|
5365
|
-
if (tokenOrKeyword.isKeyword(
|
5335
|
+
if (tokenOrKeyword.isKeyword(44 /* Case */) && tokenOrKeyword.parent.kind === 118 /* SwitchStatementCaseClause */) {
|
5366
5336
|
const expressionRole = new ExpressionRole_matchListElement(tokenOrKeyword.parent.parent.parent);
|
5367
5337
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5368
5338
|
}
|
5369
|
-
if (tokenOrKeyword.isKeyword(
|
5339
|
+
if (tokenOrKeyword.isKeyword(15 /* Return */) && tokenOrKeyword.parent.kind === 114 /* ReturnStatement */) {
|
5370
5340
|
const expressionRole = new ExpressionRole_returnedValue(tokenOrKeyword.parent);
|
5371
5341
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5372
5342
|
}
|
5373
|
-
if (tokenOrKeyword.isKeyword(
|
5343
|
+
if (tokenOrKeyword.isKeyword(43 /* Switch */) && tokenOrKeyword.parent.kind === 116 /* SwitchStatement */) {
|
5374
5344
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
|
5375
5345
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5376
5346
|
}
|
5377
|
-
if (tokenOrKeyword.isKeyword(
|
5347
|
+
if (tokenOrKeyword.isKeyword(13 /* If */) && tokenOrKeyword.parent.kind === 107 /* IfStatement */) {
|
5378
5348
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5379
5349
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5380
5350
|
}
|
5381
|
-
if (tokenOrKeyword.isKeyword(
|
5351
|
+
if (tokenOrKeyword.isKeyword(11 /* ElseIf */) && tokenOrKeyword.parent.kind === 109 /* ElseIfClause */) {
|
5382
5352
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5383
5353
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5384
5354
|
}
|
5385
|
-
if (tokenOrKeyword.isKeyword(
|
5355
|
+
if (tokenOrKeyword.isKeyword(9 /* From */) && tokenOrKeyword.parent.kind === 106 /* ForStatement */) {
|
5386
5356
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.enumeratedExpression);
|
5387
5357
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5388
5358
|
}
|
5389
|
-
if (tokenOrKeyword.isKeyword(
|
5359
|
+
if (tokenOrKeyword.isKeyword(24 /* While */) && tokenOrKeyword.parent.kind === 119 /* WhileStatement */) {
|
5390
5360
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5391
5361
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5392
5362
|
}
|
5393
|
-
if (tokenOrKeyword.isKeyword(
|
5363
|
+
if (tokenOrKeyword.isKeyword(26 /* RepeatWhile */) && tokenOrKeyword.parent.kind === 113 /* LoopStatement */) {
|
5394
5364
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5395
5365
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5396
5366
|
}
|
5397
|
-
if (tokenOrKeyword.isKeyword(
|
5367
|
+
if (tokenOrKeyword.isKeyword(27 /* Yield */) && tokenOrKeyword.parent.kind === 120 /* YieldStatement */) {
|
5398
5368
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.expression);
|
5399
5369
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5400
5370
|
}
|
5401
|
-
if (tokenOrKeyword.isKeyword(
|
5371
|
+
if (tokenOrKeyword.isKeyword(28 /* When */) && tokenOrKeyword.parent.kind === 76 /* WhenTernaryExpression */) {
|
5402
5372
|
const expressionRole = new ExpressionRole_other(tokenOrKeyword.parent.condition);
|
5403
5373
|
return { isExpressionContext: { expressionRole }, isStatementContext: false };
|
5404
5374
|
}
|
@@ -5503,20 +5473,20 @@ var SyntaxContextFactory = class {
|
|
5503
5473
|
return result;
|
5504
5474
|
}
|
5505
5475
|
static isUnqualifiedTypeContext(tokenOrKeyword) {
|
5506
|
-
if (tokenOrKeyword.isToken(23 /* Colon */) && tokenOrKeyword.parent.kind ===
|
5476
|
+
if (tokenOrKeyword.isToken(23 /* Colon */) && tokenOrKeyword.parent.kind === 153 /* TypeAnnotation */) {
|
5507
5477
|
return { allowsAnonymousTypes: true };
|
5508
5478
|
}
|
5509
5479
|
if ((tokenOrKeyword.isKeyword(4 /* Object */) || tokenOrKeyword.isKeyword(5 /* PlainObject */) || tokenOrKeyword.isKeyword(3 /* Aspect */)) && tokenOrKeyword.parent.kind === 34 /* StructuredTypeDeclarationBody */) {
|
5510
5480
|
return { allowsAnonymousTypes: false };
|
5511
5481
|
}
|
5512
|
-
if (tokenOrKeyword.isKeyword(
|
5482
|
+
if (tokenOrKeyword.isKeyword(16 /* Type */) && (NodeTypeUtils.isPackageTypeDeclaration(tokenOrKeyword.parent) || tokenOrKeyword.parent.kind === 40 /* TypeExtensionDeclaration */)) {
|
5513
5483
|
return { allowsAnonymousTypes: false };
|
5514
5484
|
}
|
5515
|
-
if (tokenOrKeyword.isToken(36 /* LessThan */) && tokenOrKeyword.parent.kind ===
|
5485
|
+
if (tokenOrKeyword.isToken(36 /* LessThan */) && tokenOrKeyword.parent.kind === 149 /* TypeArgumentClause */) {
|
5516
5486
|
return { allowsAnonymousTypes: true };
|
5517
5487
|
}
|
5518
|
-
if (tokenOrKeyword.isToken(24 /* Comma */) && (tokenOrKeyword.parent.kind === 30 /* BaseTypeList */ || tokenOrKeyword.parent.kind ===
|
5519
|
-
return { allowsAnonymousTypes: tokenOrKeyword.parent.kind ===
|
5488
|
+
if (tokenOrKeyword.isToken(24 /* Comma */) && (tokenOrKeyword.parent.kind === 30 /* BaseTypeList */ || tokenOrKeyword.parent.kind === 150 /* TypeArgumentList */)) {
|
5489
|
+
return { allowsAnonymousTypes: tokenOrKeyword.parent.kind === 150 /* TypeArgumentList */ };
|
5520
5490
|
}
|
5521
5491
|
if (tokenOrKeyword.isToken(35 /* HashSign */) && tokenOrKeyword.parent.kind === 144 /* Tag */) {
|
5522
5492
|
return { allowsAnonymousTypes: false };
|
@@ -5527,10 +5497,10 @@ var SyntaxContextFactory = class {
|
|
5527
5497
|
if (tokenOrKeyword.isToken(57 /* Equals */) && tokenOrKeyword.parent.kind === 22 /* PackageAliasTypeDeclaration */) {
|
5528
5498
|
return { allowsAnonymousTypes: false };
|
5529
5499
|
}
|
5530
|
-
if (tokenOrKeyword.isKeyword(
|
5500
|
+
if (tokenOrKeyword.isKeyword(14 /* Is */) && tokenOrKeyword.parent.kind === 73 /* IsExpression */) {
|
5531
5501
|
return { allowsAnonymousTypes: true };
|
5532
5502
|
}
|
5533
|
-
if (tokenOrKeyword.isKeyword(
|
5503
|
+
if (tokenOrKeyword.isKeyword(41 /* As */) && tokenOrKeyword.parent.kind === 65 /* AsExpression */) {
|
5534
5504
|
return { allowsAnonymousTypes: true };
|
5535
5505
|
}
|
5536
5506
|
if (tokenOrKeyword.isToken(17 /* Bar */) && tokenOrKeyword.parent.kind === 12 /* UnionTypeSpecifierTypeList */) {
|
@@ -5731,7 +5701,7 @@ var NodeSemanticInfoService = class {
|
|
5731
5701
|
return this.ofDereferenceExpressionOperator(analyzer, tokenOrKeyword.parent, options6);
|
5732
5702
|
} else if (tokenOrKeyword.parent.kind === 91 /* AssignmentStatement */) {
|
5733
5703
|
return this.ofAssignmentStatementOperator(analyzer, tokenOrKeyword.parent, options6);
|
5734
|
-
} else if (tokenOrKeyword.isKeyword(
|
5704
|
+
} else if (tokenOrKeyword.isKeyword(29 /* Creation */) && tokenOrKeyword.parent.kind === 45 /* TypeConstructorDeclaration */) {
|
5735
5705
|
return this.ofTypeConstructorDeclaration(analyzer, tokenOrKeyword.parent);
|
5736
5706
|
} else if (tokenOrKeyword.isToken(13 /* Asterisk */) && tokenOrKeyword.parent.kind === 90 /* DefaultMatchExpression */) {
|
5737
5707
|
return this.ofDefaultMatchExpression(analyzer, tokenOrKeyword.parent);
|
@@ -5758,7 +5728,7 @@ var NodeSemanticInfoService = class {
|
|
5758
5728
|
break;
|
5759
5729
|
case 121 /* TranslationParameterList */:
|
5760
5730
|
break;
|
5761
|
-
case 142 /*
|
5731
|
+
case 142 /* Argument */: {
|
5762
5732
|
const respectiveParameter = analyzer.getRespectiveParameter(parent);
|
5763
5733
|
if (respectiveParameter !== void 0) {
|
5764
5734
|
const target = new SimpleWithLocalization(
|
@@ -5975,9 +5945,6 @@ var NodeSemanticInfoService = class {
|
|
5975
5945
|
case 56 /* TypeVariableSetterDeclaration */:
|
5976
5946
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofComputedTypeVariableDeclaration(parent));
|
5977
5947
|
break;
|
5978
|
-
case 150 /* SetterParameterDeclaration */:
|
5979
|
-
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofSetterParameterDeclaration(parent));
|
5980
|
-
break;
|
5981
5948
|
case 3 /* Keyword */:
|
5982
5949
|
break;
|
5983
5950
|
default:
|
@@ -5990,18 +5957,10 @@ var NodeSemanticInfoService = class {
|
|
5990
5957
|
let result;
|
5991
5958
|
const meaning = analyzer.resolvePropertyAccessExpression(node).meaning;
|
5992
5959
|
switch (meaning.kind) {
|
5993
|
-
case "variant-access": {
|
5994
|
-
const target = new SimpleWithLocalization(
|
5995
|
-
new EntityReferenceTarget(meaning.variant.value, 0 /* Get */),
|
5996
|
-
meaning.variant.localization
|
5997
|
-
);
|
5998
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
5999
|
-
break;
|
6000
|
-
}
|
6001
5960
|
case "instance-variable-access": {
|
6002
5961
|
const target = new SimpleWithLocalization(new TypeVariableReferenceTarget(
|
6003
5962
|
meaning.variable.value,
|
6004
|
-
meaning.
|
5963
|
+
meaning.accessKind
|
6005
5964
|
), meaning.variable.localization);
|
6006
5965
|
result = new ReferenceNodeSemanticInfo([target], false);
|
6007
5966
|
break;
|
@@ -6009,7 +5968,7 @@ var NodeSemanticInfoService = class {
|
|
6009
5968
|
case "static-variable-access": {
|
6010
5969
|
const target = new SimpleWithLocalization(new TypeVariableReferenceTarget(
|
6011
5970
|
meaning.variable.value,
|
6012
|
-
meaning.
|
5971
|
+
meaning.accessKind
|
6013
5972
|
), meaning.variable.localization);
|
6014
5973
|
result = new ReferenceNodeSemanticInfo([target], false);
|
6015
5974
|
break;
|
@@ -6017,7 +5976,7 @@ var NodeSemanticInfoService = class {
|
|
6017
5976
|
case "package-variable-access": {
|
6018
5977
|
const target = new SimpleWithLocalization(new EntityReferenceTarget(
|
6019
5978
|
meaning.variable.value,
|
6020
|
-
meaning.
|
5979
|
+
meaning.accessKind
|
6021
5980
|
), meaning.variable.localization);
|
6022
5981
|
result = new ReferenceNodeSemanticInfo([target], false);
|
6023
5982
|
break;
|
@@ -6058,7 +6017,7 @@ var NodeSemanticInfoService = class {
|
|
6058
6017
|
);
|
6059
6018
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6060
6019
|
} else {
|
6061
|
-
result = this.
|
6020
|
+
result = this.ofMaybeConstructorCallExpression(analyzer, meaning.suitableTypes, node, options6);
|
6062
6021
|
}
|
6063
6022
|
break;
|
6064
6023
|
case "package-name-segment-access":
|
@@ -6084,19 +6043,70 @@ var NodeSemanticInfoService = class {
|
|
6084
6043
|
}
|
6085
6044
|
static ofQualifiedNameQualifier(analyzer, node, qualifier, options6) {
|
6086
6045
|
switch (node.parent.kind) {
|
6087
|
-
case 10 /* NamedTypeSpecifier */:
|
6088
|
-
|
6089
|
-
|
6090
|
-
|
6091
|
-
|
6092
|
-
|
6093
|
-
|
6094
|
-
|
6095
|
-
|
6096
|
-
|
6097
|
-
|
6098
|
-
|
6099
|
-
|
6046
|
+
case 10 /* NamedTypeSpecifier */:
|
6047
|
+
return this.ofNamedTypeSpecifierNameQualifier(analyzer, node.parent, qualifier, options6);
|
6048
|
+
case 144 /* Tag */:
|
6049
|
+
return this.ofTagNameQualifier(analyzer, node.parent, qualifier, options6);
|
6050
|
+
case 42 /* ExtendedTypeClause */:
|
6051
|
+
case 131 /* PackageImportTranslation */:
|
6052
|
+
return void 0;
|
6053
|
+
default:
|
6054
|
+
Debug.never(node.parent);
|
6055
|
+
}
|
6056
|
+
}
|
6057
|
+
static ofNamedTypeSpecifierNameQualifier(analyzer, node, qualifier, options6) {
|
6058
|
+
let result;
|
6059
|
+
const resolutionResult = analyzer.resolveNamedTypeSpecifier(node);
|
6060
|
+
const qualifierIndex = node.qualifiedName.qualifiers.toArray().indexOf(qualifier);
|
6061
|
+
if (qualifierIndex >= 0 && qualifierIndex < resolutionResult.resolvedQualifiers.length) {
|
6062
|
+
const resolvedQualifier = resolutionResult.resolvedQualifiers[qualifierIndex];
|
6063
|
+
if (resolvedQualifier.kind === "package-alias") {
|
6064
|
+
const target = new SimpleWithLocalization(
|
6065
|
+
new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */),
|
6066
|
+
new Localization.Original(resolvedQualifier.packageAlias.getContainingPackage().getLocale())
|
6067
|
+
);
|
6068
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
6069
|
+
} else if (resolvedQualifier.kind === "type") {
|
6070
|
+
if (resolvedQualifier.suitableTypes.length > 0) {
|
6071
|
+
const targets = resolvedQualifier.suitableTypes.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6072
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
6073
|
+
} else if (resolvedQualifier.candidates.length > 0) {
|
6074
|
+
const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6075
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6076
|
+
}
|
6077
|
+
} else if (resolvedQualifier.kind === "package-name-segment") {
|
6078
|
+
let currentIndex = qualifierIndex;
|
6079
|
+
while (currentIndex + 1 < resolutionResult.resolvedQualifiers.length && resolutionResult.resolvedQualifiers[currentIndex + 1].kind === "package-name-segment") {
|
6080
|
+
currentIndex++;
|
6081
|
+
}
|
6082
|
+
const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
|
6083
|
+
if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
|
6084
|
+
const target = new SimpleWithLocalization(
|
6085
|
+
new PackageReferenceTarget(qualifier2.packageTreeNode.package.value),
|
6086
|
+
new Localization.Original(qualifier2.packageTreeNode.package.value.getLocale())
|
6087
|
+
);
|
6088
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
6089
|
+
} else {
|
6090
|
+
result = void 0;
|
6091
|
+
}
|
6092
|
+
} else {
|
6093
|
+
Debug.never(resolvedQualifier);
|
6094
|
+
}
|
6095
|
+
}
|
6096
|
+
if (result !== void 0 && options6.includeBetterReferenceTargets) {
|
6097
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
6098
|
+
}
|
6099
|
+
return result;
|
6100
|
+
}
|
6101
|
+
static ofTagNameQualifier(analyzer, node, qualifier, options6) {
|
6102
|
+
let result;
|
6103
|
+
const resolutionResult = analyzer.resolveTag(node);
|
6104
|
+
const qualifierIndex = node.name.qualifiers.toArray().indexOf(qualifier);
|
6105
|
+
if (qualifierIndex >= 0 && qualifierIndex < resolutionResult.resolvedQualifiers.length) {
|
6106
|
+
const resolvedQualifier = resolutionResult.resolvedQualifiers[qualifierIndex];
|
6107
|
+
switch (resolvedQualifier.kind) {
|
6108
|
+
case "type": {
|
6109
|
+
if (options6.preferredTargetOfExplicitConstructorCall === "type-declaration") {
|
6100
6110
|
if (resolvedQualifier.suitableTypes.length > 0) {
|
6101
6111
|
const targets = resolvedQualifier.suitableTypes.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6102
6112
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
@@ -6104,55 +6114,72 @@ var NodeSemanticInfoService = class {
|
|
6104
6114
|
const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6105
6115
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6106
6116
|
}
|
6107
|
-
} else
|
6108
|
-
|
6109
|
-
|
6110
|
-
|
6111
|
-
|
6112
|
-
|
6113
|
-
|
6114
|
-
|
6115
|
-
|
6116
|
-
new Localization.Original(qualifier2.packageTreeNode.package.value.getLocale())
|
6117
|
-
);
|
6118
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
6119
|
-
} else {
|
6120
|
-
result = void 0;
|
6117
|
+
} else {
|
6118
|
+
if (resolutionResult.meaning.kind === "tag-type") {
|
6119
|
+
if (resolutionResult.meaning.suitableConstructors.length > 0) {
|
6120
|
+
const targets = resolutionResult.meaning.suitableConstructors.map((t) => new SimpleWithLocalization(new TypeConstructorReferenceTarget(t.value), t.localization));
|
6121
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
6122
|
+
} else if (resolutionResult.meaning.candidates.length > 0) {
|
6123
|
+
const targets = resolutionResult.meaning.candidates.map((t) => new SimpleWithLocalization(new TypeConstructorReferenceTarget(t.value), t.localization));
|
6124
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6125
|
+
}
|
6121
6126
|
}
|
6127
|
+
}
|
6128
|
+
break;
|
6129
|
+
}
|
6130
|
+
case "method":
|
6131
|
+
if (resolvedQualifier.suitableMethods.length > 0) {
|
6132
|
+
const targets = resolvedQualifier.suitableMethods.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6133
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), targets.length > 1);
|
6134
|
+
} else if (resolvedQualifier.candidates.length > 0) {
|
6135
|
+
const targets = resolvedQualifier.candidates.map((t) => new SimpleWithLocalization(new EntityReferenceTarget(t.value, 0 /* Get */), t.localization));
|
6136
|
+
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6137
|
+
}
|
6138
|
+
break;
|
6139
|
+
case "package-name-segment": {
|
6140
|
+
let currentIndex = qualifierIndex;
|
6141
|
+
while (currentIndex + 1 < resolutionResult.resolvedQualifiers.length && resolutionResult.resolvedQualifiers[currentIndex + 1].kind === "package-name-segment") {
|
6142
|
+
currentIndex++;
|
6143
|
+
}
|
6144
|
+
const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
|
6145
|
+
if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
|
6146
|
+
const target = new SimpleWithLocalization(
|
6147
|
+
new PackageReferenceTarget(qualifier2.packageTreeNode.package.value),
|
6148
|
+
new Localization.Original(qualifier2.packageTreeNode.package.value.getLocale())
|
6149
|
+
);
|
6150
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
6122
6151
|
} else {
|
6123
|
-
|
6152
|
+
result = void 0;
|
6124
6153
|
}
|
6154
|
+
break;
|
6125
6155
|
}
|
6126
|
-
|
6127
|
-
|
6156
|
+
case "package-alias": {
|
6157
|
+
const target = new SimpleWithLocalization(
|
6158
|
+
new EntityReferenceTarget(resolvedQualifier.packageAlias, 0 /* Get */),
|
6159
|
+
new Localization.Original(resolvedQualifier.packageAlias.getContainingPackage().getLocale())
|
6160
|
+
);
|
6161
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
6162
|
+
break;
|
6128
6163
|
}
|
6129
|
-
|
6164
|
+
default:
|
6165
|
+
Debug.never(resolvedQualifier);
|
6130
6166
|
}
|
6131
|
-
case 42 /* ExtendedTypeClause */:
|
6132
|
-
case 131 /* PackageImportTranslation */:
|
6133
|
-
return void 0;
|
6134
|
-
default:
|
6135
|
-
Debug.never(node.parent);
|
6136
6167
|
}
|
6168
|
+
if (result !== void 0 && options6.includeBetterReferenceTargets) {
|
6169
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
6170
|
+
}
|
6171
|
+
return result;
|
6137
6172
|
}
|
6138
6173
|
static ofIdentifierExpression(analyzer, node, options6) {
|
6139
6174
|
let result;
|
6140
6175
|
const meaning = analyzer.resolveIdentifierExpression(node).meaning;
|
6141
6176
|
switch (meaning.kind) {
|
6142
|
-
case "variant-access": {
|
6143
|
-
const target = new SimpleWithLocalization(
|
6144
|
-
new EntityReferenceTarget(meaning.variant.value, 0 /* Get */),
|
6145
|
-
meaning.variant.localization
|
6146
|
-
);
|
6147
|
-
result = new ReferenceNodeSemanticInfo([target], false);
|
6148
|
-
break;
|
6149
|
-
}
|
6150
6177
|
case "type-access":
|
6151
6178
|
if (meaning.suitableTypes.length === 0 && meaning.candidates.length > 0) {
|
6152
6179
|
const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new EntityReferenceTarget(c.value, 0 /* Get */), c.localization));
|
6153
6180
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6154
6181
|
} else {
|
6155
|
-
result = this.
|
6182
|
+
result = this.ofMaybeConstructorCallExpression(analyzer, meaning.suitableTypes, node, options6);
|
6156
6183
|
}
|
6157
6184
|
break;
|
6158
6185
|
case "method-access":
|
@@ -6174,13 +6201,13 @@ var NodeSemanticInfoService = class {
|
|
6174
6201
|
const variable = meaning.variable;
|
6175
6202
|
if (variable.value.kind === "entity") {
|
6176
6203
|
const target = new SimpleWithLocalization(
|
6177
|
-
new EntityReferenceTarget(variable.value.value, meaning.
|
6204
|
+
new EntityReferenceTarget(variable.value.value, meaning.accessKind),
|
6178
6205
|
variable.localization
|
6179
6206
|
);
|
6180
6207
|
result = new ReferenceNodeSemanticInfo([target], false);
|
6181
6208
|
} else if (variable.value.kind === "type-member") {
|
6182
6209
|
const target = new SimpleWithLocalization(
|
6183
|
-
new TypeVariableReferenceTarget(variable.value.value, meaning.
|
6210
|
+
new TypeVariableReferenceTarget(variable.value.value, meaning.accessKind),
|
6184
6211
|
variable.localization
|
6185
6212
|
);
|
6186
6213
|
result = new ReferenceNodeSemanticInfo([target], false);
|
@@ -6206,11 +6233,14 @@ var NodeSemanticInfoService = class {
|
|
6206
6233
|
let target;
|
6207
6234
|
switch (d.value.kind) {
|
6208
6235
|
case "method":
|
6236
|
+
target = new EntityReferenceTarget(d.value.value.getEntity(), 0 /* Get */);
|
6237
|
+
break;
|
6209
6238
|
case "variable":
|
6210
|
-
case "type":
|
6211
6239
|
target = new EntityReferenceTarget(d.value.value.getEntity(), 0 /* Get */);
|
6212
6240
|
break;
|
6213
|
-
case "
|
6241
|
+
case "type":
|
6242
|
+
target = new EntityReferenceTarget(d.value.value, 0 /* Get */);
|
6243
|
+
break;
|
6214
6244
|
case "package-alias":
|
6215
6245
|
target = new EntityReferenceTarget(d.value.value, 0 /* Get */);
|
6216
6246
|
break;
|
@@ -6338,7 +6368,7 @@ var NodeSemanticInfoService = class {
|
|
6338
6368
|
const meaning = analyzer.getDereferenceExpressionMeaning(node);
|
6339
6369
|
if (meaning.kind === "resolved") {
|
6340
6370
|
const target = new SimpleWithLocalization(
|
6341
|
-
new TypeDereferenceOperatorReferenceTarget(meaning.operator.value, meaning.
|
6371
|
+
new TypeDereferenceOperatorReferenceTarget(meaning.operator.value, meaning.accessKind),
|
6342
6372
|
meaning.operator.localization
|
6343
6373
|
);
|
6344
6374
|
let result = new ReferenceNodeSemanticInfo([target], false);
|
@@ -6474,7 +6504,7 @@ var NodeSemanticInfoService = class {
|
|
6474
6504
|
false
|
6475
6505
|
);
|
6476
6506
|
}
|
6477
|
-
static
|
6507
|
+
static ofMaybeConstructorCallExpression(analyzer, types, typeAccessExpression, options6) {
|
6478
6508
|
if (types.length === 0) {
|
6479
6509
|
return void 0;
|
6480
6510
|
}
|
@@ -6501,17 +6531,14 @@ var NodeSemanticInfoService = class {
|
|
6501
6531
|
}
|
6502
6532
|
if (parentCallExpression !== void 0) {
|
6503
6533
|
const meaning = analyzer.getCallExpressionMeaning(parentCallExpression);
|
6504
|
-
if (meaning.kind === "constructor-call"
|
6505
|
-
|
6506
|
-
|
6507
|
-
|
6508
|
-
|
6509
|
-
|
6510
|
-
|
6511
|
-
|
6512
|
-
targets.length > 1,
|
6513
|
-
createNonEmptyArray(betterTargets)
|
6514
|
-
);
|
6534
|
+
if (meaning.kind === "constructor-call") {
|
6535
|
+
if (meaning.suitableConstructors.length > 0) {
|
6536
|
+
const targets = meaning.suitableConstructors.map((c) => new SimpleWithLocalization(new TypeConstructorReferenceTarget(c.value), c.localization));
|
6537
|
+
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), meaning.suitableConstructors.length > 1);
|
6538
|
+
} else if (meaning.candidates.length > 0) {
|
6539
|
+
const targets = meaning.candidates.map((c) => new SimpleWithLocalization(new TypeConstructorReferenceTarget(c.value), c.localization));
|
6540
|
+
return new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
6541
|
+
}
|
6515
6542
|
}
|
6516
6543
|
}
|
6517
6544
|
if (typeEntities.length > 0) {
|
@@ -6560,7 +6587,7 @@ var NodeSemanticInfoService = class {
|
|
6560
6587
|
);
|
6561
6588
|
}
|
6562
6589
|
}
|
6563
|
-
} else if (currentTarget.value.kind === "entity" && currentTarget.value.entity.kind ===
|
6590
|
+
} else if (currentTarget.value.kind === "entity" && currentTarget.value.entity.kind === 1 /* Method */) {
|
6564
6591
|
}
|
6565
6592
|
if (betterTarget !== void 0) {
|
6566
6593
|
result = betterTarget;
|
@@ -6696,7 +6723,7 @@ var SimpleWithLocalization = class {
|
|
6696
6723
|
|
6697
6724
|
// source/services/Utils.ts
|
6698
6725
|
function getEntitySourceLocations(analyzer, entity) {
|
6699
|
-
if (entity.kind ===
|
6726
|
+
if (entity.kind === 12 /* Package */) {
|
6700
6727
|
return void 0;
|
6701
6728
|
}
|
6702
6729
|
let result;
|
@@ -6717,7 +6744,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
6717
6744
|
Debug.never(definition.value);
|
6718
6745
|
}
|
6719
6746
|
}
|
6720
|
-
} else if (entity.kind ===
|
6747
|
+
} else if (entity.kind === 5 /* Indexer */) {
|
6721
6748
|
const definition = entity.getDefinition();
|
6722
6749
|
if (definition.kind === 0 /* Source */) {
|
6723
6750
|
result = definition.nodes.map((d) => {
|
@@ -6726,7 +6753,7 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
6726
6753
|
return new SourceLocation(sourceFile, range);
|
6727
6754
|
});
|
6728
6755
|
}
|
6729
|
-
} else if (entity.kind ===
|
6756
|
+
} else if (entity.kind === 6 /* DereferenceOperator */) {
|
6730
6757
|
const definition = entity.getDefinition();
|
6731
6758
|
if (definition.kind === 0 /* Source */) {
|
6732
6759
|
result = definition.nodes.map((d) => {
|
@@ -6756,7 +6783,6 @@ function getEntitySourceLocations(analyzer, entity) {
|
|
6756
6783
|
case 58 /* NestedMethodDeclaration */:
|
6757
6784
|
case 52 /* TypeMethodDeclaration */:
|
6758
6785
|
case 140 /* TypeParameterDeclaration */:
|
6759
|
-
case 139 /* VariantDeclaration */:
|
6760
6786
|
case 53 /* OperatorDeclaration */:
|
6761
6787
|
range = node.name.rangeWithoutTrivia;
|
6762
6788
|
break;
|
@@ -7003,7 +7029,7 @@ var ReferencesService = class {
|
|
7003
7029
|
const result = [];
|
7004
7030
|
const restrictions = this.getReferenceRestrictions(definition, options6);
|
7005
7031
|
let semanticInfoOptions;
|
7006
|
-
if (definition.value.kind ===
|
7032
|
+
if (definition.value.kind === 7 /* Constructor */) {
|
7007
7033
|
semanticInfoOptions = {
|
7008
7034
|
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
7009
7035
|
includeBetterReferenceTargets: true
|
@@ -7323,7 +7349,7 @@ var ReferencesService = class {
|
|
7323
7349
|
getReferenceRestrictions(definition, _options) {
|
7324
7350
|
const result = new ReferenceRestrictions();
|
7325
7351
|
let namedDefinitionInfo;
|
7326
|
-
if (definition.value.kind ===
|
7352
|
+
if (definition.value.kind === 7 /* Constructor */) {
|
7327
7353
|
const type = definition.value.getContainer().getContextualType();
|
7328
7354
|
if (type !== void 0) {
|
7329
7355
|
namedDefinitionInfo = this.isEntityWithRegularName(type);
|
@@ -7334,11 +7360,11 @@ var ReferencesService = class {
|
|
7334
7360
|
if (namedDefinitionInfo !== void 0) {
|
7335
7361
|
result.canBeIdentifier = true;
|
7336
7362
|
}
|
7337
|
-
if (definition.value.kind ===
|
7363
|
+
if (definition.value.kind === 7 /* Constructor */) {
|
7338
7364
|
result.canBeAutotypeCall = true;
|
7339
7365
|
result.canBeConstructorDeclaration = true;
|
7340
7366
|
}
|
7341
|
-
if (definition.value.kind ===
|
7367
|
+
if (definition.value.kind === 9 /* Operator */) {
|
7342
7368
|
const operatorKind = definition.value.getOperatorKind();
|
7343
7369
|
if (isUnaryOperator(operatorKind)) {
|
7344
7370
|
result.canBePrefixUnaryOperator = true;
|
@@ -7347,17 +7373,17 @@ var ReferencesService = class {
|
|
7347
7373
|
result.canBeAssignmentStatementOperator = true;
|
7348
7374
|
}
|
7349
7375
|
}
|
7350
|
-
if (definition.value.kind ===
|
7376
|
+
if (definition.value.kind === 6 /* DereferenceOperator */) {
|
7351
7377
|
result.canBeDereferenceOperator = true;
|
7352
7378
|
}
|
7353
|
-
if (isTypeEntity(definition.value) || definition.value.kind ===
|
7379
|
+
if (isTypeEntity(definition.value) || definition.value.kind === 7 /* Constructor */) {
|
7354
7380
|
result.canBeObjectExpression = true;
|
7355
7381
|
result.canBeBaseExpression = true;
|
7356
7382
|
}
|
7357
|
-
if (definition.value.kind ===
|
7383
|
+
if (definition.value.kind === 1 /* Method */) {
|
7358
7384
|
result.canBeBaseExpression = true;
|
7359
7385
|
}
|
7360
|
-
if (definition.value.kind ===
|
7386
|
+
if (definition.value.kind === 5 /* Indexer */) {
|
7361
7387
|
result.canBeIndexer = true;
|
7362
7388
|
}
|
7363
7389
|
return result;
|
@@ -7391,46 +7417,50 @@ var ReferencesService = class {
|
|
7391
7417
|
switch (entity.kind) {
|
7392
7418
|
case 0 /* Variable */:
|
7393
7419
|
return { name: entity.getName() };
|
7394
|
-
case
|
7395
|
-
|
7396
|
-
|
7397
|
-
|
7398
|
-
|
7399
|
-
|
7400
|
-
|
7401
|
-
|
7402
|
-
|
7403
|
-
|
7404
|
-
|
7405
|
-
|
7406
|
-
|
7407
|
-
|
7408
|
-
|
7409
|
-
|
7410
|
-
|
7411
|
-
|
7412
|
-
|
7413
|
-
|
7414
|
-
|
7415
|
-
|
7416
|
-
|
7417
|
-
|
7420
|
+
case 2 /* Type */: {
|
7421
|
+
switch (entity.typeEntityKind) {
|
7422
|
+
case 0 /* Method */: {
|
7423
|
+
const naming = entity.getNaming();
|
7424
|
+
if (naming.kind === "named") {
|
7425
|
+
return { name: naming.value };
|
7426
|
+
}
|
7427
|
+
return void 0;
|
7428
|
+
}
|
7429
|
+
case 1 /* Structured */: {
|
7430
|
+
const naming = entity.getNaming();
|
7431
|
+
if (naming.kind === "named") {
|
7432
|
+
return { name: naming.value };
|
7433
|
+
}
|
7434
|
+
return void 0;
|
7435
|
+
}
|
7436
|
+
case 2 /* Parameter */:
|
7437
|
+
return { name: entity.getName() };
|
7438
|
+
case 3 /* Variant */: {
|
7439
|
+
const naming = entity.getNaming();
|
7440
|
+
if (naming.kind === "named") {
|
7441
|
+
return { name: naming.value };
|
7442
|
+
}
|
7443
|
+
return void 0;
|
7444
|
+
}
|
7445
|
+
case 4 /* Alias */:
|
7446
|
+
return { name: entity.getName() };
|
7447
|
+
default:
|
7448
|
+
Debug.never(entity);
|
7418
7449
|
}
|
7419
|
-
return void 0;
|
7420
7450
|
}
|
7421
|
-
case
|
7451
|
+
case 1 /* Method */:
|
7422
7452
|
return { name: entity.getName() };
|
7423
|
-
case
|
7453
|
+
case 10 /* PackageAlias */:
|
7424
7454
|
return { name: entity.getName() };
|
7425
7455
|
case 3 /* Getter */:
|
7426
7456
|
case 4 /* Setter */:
|
7427
|
-
case
|
7428
|
-
case
|
7429
|
-
case
|
7430
|
-
case
|
7431
|
-
case
|
7432
|
-
case
|
7433
|
-
case
|
7457
|
+
case 7 /* Constructor */:
|
7458
|
+
case 8 /* Destructor */:
|
7459
|
+
case 5 /* Indexer */:
|
7460
|
+
case 6 /* DereferenceOperator */:
|
7461
|
+
case 12 /* Package */:
|
7462
|
+
case 11 /* TypeExtension */:
|
7463
|
+
case 9 /* Operator */:
|
7434
7464
|
return void 0;
|
7435
7465
|
default:
|
7436
7466
|
Debug.never(entity);
|
@@ -8077,14 +8107,14 @@ var SourceFileItemsService = class {
|
|
8077
8107
|
case 4 /* PackageMethod */:
|
8078
8108
|
case 15 /* TypeMethod */:
|
8079
8109
|
case 19 /* NestedMethod */:
|
8080
|
-
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8110
|
+
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(12 /* Function */, this.locale, this.dialect)}>`;
|
8081
8111
|
case 5 /* StructuredType */:
|
8082
8112
|
case 6 /* MethodType */:
|
8083
8113
|
case 7 /* VariantType */:
|
8084
8114
|
case 8 /* InvalidType */:
|
8085
|
-
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(
|
8115
|
+
return name ?? `<${LocalizationHelper.localizeKeywordAndTakeFirst(16 /* Type */, this.locale, this.dialect)}>`;
|
8086
8116
|
case 10 /* TypeConstructor */:
|
8087
|
-
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(
|
8117
|
+
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(29 /* Creation */, this.locale, this.dialect);
|
8088
8118
|
case 11 /* TypeDestructor */:
|
8089
8119
|
return name ?? LocalizationHelper.localizeKeywordAndTakeFirst(46 /* Destruction */, this.locale, this.dialect);
|
8090
8120
|
case 9 /* Variant */:
|
@@ -8291,7 +8321,7 @@ var SelectionRangeService = class {
|
|
8291
8321
|
}
|
8292
8322
|
}
|
8293
8323
|
switch (node.kind) {
|
8294
|
-
case
|
8324
|
+
case 153 /* TypeAnnotation */:
|
8295
8325
|
case 34 /* StructuredTypeDeclarationBody */:
|
8296
8326
|
case 39 /* VariantTypeDeclarationBody */:
|
8297
8327
|
case 23 /* AliasTypeDeclarationBody */:
|
@@ -8339,29 +8369,37 @@ var SemanticTokensService = class {
|
|
8339
8369
|
const meaning = analyzer.resolveIdentifierExpression(node).meaning;
|
8340
8370
|
if (meaning.kind === "variable-access") {
|
8341
8371
|
const variable = meaning.variable.value.getEntity();
|
8342
|
-
|
8343
|
-
|
8344
|
-
|
8345
|
-
|
8346
|
-
|
8347
|
-
|
8348
|
-
|
8349
|
-
|
8350
|
-
|
8351
|
-
|
8352
|
-
|
8353
|
-
|
8354
|
-
|
8355
|
-
|
8356
|
-
|
8357
|
-
|
8358
|
-
|
8359
|
-
|
8360
|
-
|
8361
|
-
|
8362
|
-
|
8363
|
-
|
8364
|
-
|
8372
|
+
if (variable.subkind === "type" && variable.isVariant()) {
|
8373
|
+
result.push(
|
8374
|
+
new SemanticToken(
|
8375
|
+
node.rangeWithoutTrivia,
|
8376
|
+
3 /* Variant */,
|
8377
|
+
new SemanticTokenModifiers().makeConst()
|
8378
|
+
)
|
8379
|
+
);
|
8380
|
+
} else {
|
8381
|
+
const specialVariableInfo = variable.isSpecial();
|
8382
|
+
if (specialVariableInfo !== void 0) {
|
8383
|
+
let semanticTokenKind;
|
8384
|
+
switch (specialVariableInfo.kind) {
|
8385
|
+
case "result":
|
8386
|
+
case "value":
|
8387
|
+
semanticTokenKind = 1 /* SpecialVariable */;
|
8388
|
+
break;
|
8389
|
+
case "implicit-method-block-parameter":
|
8390
|
+
semanticTokenKind = 0 /* MethodBlockLiteralParameter */;
|
8391
|
+
break;
|
8392
|
+
case "backing":
|
8393
|
+
semanticTokenKind = void 0;
|
8394
|
+
break;
|
8395
|
+
default:
|
8396
|
+
Debug.never(specialVariableInfo);
|
8397
|
+
}
|
8398
|
+
if (semanticTokenKind !== void 0) {
|
8399
|
+
result.push(
|
8400
|
+
new SemanticToken(node.rangeWithoutTrivia, semanticTokenKind, new SemanticTokenModifiers())
|
8401
|
+
);
|
8402
|
+
}
|
8365
8403
|
}
|
8366
8404
|
}
|
8367
8405
|
}
|
@@ -8375,15 +8413,6 @@ var SemanticTokensService = class {
|
|
8375
8413
|
)
|
8376
8414
|
);
|
8377
8415
|
}
|
8378
|
-
if (meaning.kind === "variant-access") {
|
8379
|
-
result.push(
|
8380
|
-
new SemanticToken(
|
8381
|
-
node.rangeWithoutTrivia,
|
8382
|
-
3 /* Variant */,
|
8383
|
-
new SemanticTokenModifiers().makeConst()
|
8384
|
-
)
|
8385
|
-
);
|
8386
|
-
}
|
8387
8416
|
if (meaning.kind === "operator-access") {
|
8388
8417
|
result.push(new SemanticToken(
|
8389
8418
|
node.rangeWithoutTrivia,
|
@@ -8394,14 +8423,17 @@ var SemanticTokensService = class {
|
|
8394
8423
|
}
|
8395
8424
|
if (node.kind === 78 /* PropertyAccessExpression */) {
|
8396
8425
|
const meaning = analyzer.resolvePropertyAccessExpression(node).meaning;
|
8397
|
-
if (meaning.kind === "
|
8398
|
-
|
8399
|
-
|
8400
|
-
|
8401
|
-
|
8402
|
-
|
8403
|
-
|
8404
|
-
|
8426
|
+
if (meaning.kind === "static-variable-access") {
|
8427
|
+
const entity = meaning.variable.value.getEntity();
|
8428
|
+
if (entity.subkind === "type" && entity.isVariant()) {
|
8429
|
+
result.push(
|
8430
|
+
new SemanticToken(
|
8431
|
+
node.propertyName.rangeWithoutTrivia,
|
8432
|
+
3 /* Variant */,
|
8433
|
+
new SemanticTokenModifiers().makeConst()
|
8434
|
+
)
|
8435
|
+
);
|
8436
|
+
}
|
8405
8437
|
}
|
8406
8438
|
let suitableMethods;
|
8407
8439
|
switch (meaning.kind) {
|
@@ -8601,7 +8633,7 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8601
8633
|
const infos = signatures.map(
|
8602
8634
|
(s) => convertSignatureDisplayPartsToSignatureInfo(s.getDisplayParts(), argumentIndex)
|
8603
8635
|
);
|
8604
|
-
const activeSignature = Query.from(signatures).
|
8636
|
+
const activeSignature = Query.from(signatures).first((s) => s.getArity() >= argumentCount) ?? Query.from(signatures).maxByValue((s) => s.getArity());
|
8605
8637
|
if (activeSignature !== void 0) {
|
8606
8638
|
const activeSignatureIndex = signatures.indexOf(activeSignature);
|
8607
8639
|
result = new SignatureHelp(infos, activeSignatureIndex);
|
@@ -8617,7 +8649,7 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8617
8649
|
}
|
8618
8650
|
let node = token.parent;
|
8619
8651
|
while (node !== void 0) {
|
8620
|
-
if (node.kind ===
|
8652
|
+
if (node.kind === 149 /* TypeArgumentClause */ && this._offset >= node.lessThanToken.rangeWithoutTrivia.end && (node.greaterThanToken.rangeWithoutTrivia.isEmpty || this._offset <= node.greaterThanToken.rangeWithoutTrivia.start)) {
|
8621
8653
|
const argumentIndex = this.getArgumentIndex(node.typeArgumentList, this._offset);
|
8622
8654
|
const argumentCount = this.countArguments(node.typeArgumentList);
|
8623
8655
|
return new NodeWithTypeArgumentsInfo(node.parent, argumentIndex, argumentCount);
|
@@ -8664,6 +8696,8 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8664
8696
|
return this.getSignaturesForNamedTypeSpecifier(node);
|
8665
8697
|
case 89 /* GenericSpecializationExpression */:
|
8666
8698
|
return this.getSignaturesForGenericSpecializationExpression(node);
|
8699
|
+
case 144 /* Tag */:
|
8700
|
+
return this.getSignaturesForTag(node);
|
8667
8701
|
default:
|
8668
8702
|
Debug.never(node);
|
8669
8703
|
}
|
@@ -8678,6 +8712,27 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8678
8712
|
}
|
8679
8713
|
return void 0;
|
8680
8714
|
}
|
8715
|
+
getSignaturesForTag(node) {
|
8716
|
+
const resolutionResult = this._analyzer.resolveTag(node);
|
8717
|
+
if (resolutionResult.resolvedQualifiers.length > 0) {
|
8718
|
+
const lastQualifier = resolutionResult.resolvedQualifiers[resolutionResult.resolvedQualifiers.length - 1];
|
8719
|
+
if (lastQualifier.kind === "type") {
|
8720
|
+
return Query.from(lastQualifier.candidates).mapAndFilter((t) => this.getSignatureForNamedType(t.value)).toArray();
|
8721
|
+
} else if (lastQualifier.kind === "method") {
|
8722
|
+
if (resolutionResult.meaning.kind === "tag-method") {
|
8723
|
+
return Query.from(resolutionResult.meaning.candidates).mapAndFilter((d) => {
|
8724
|
+
if (d.value.kind === "substituted-method") {
|
8725
|
+
return this.getSignatureForSubstitutedMethod(d.value.value, d.localization);
|
8726
|
+
}
|
8727
|
+
return void 0;
|
8728
|
+
}).toArray();
|
8729
|
+
} else {
|
8730
|
+
return void 0;
|
8731
|
+
}
|
8732
|
+
}
|
8733
|
+
}
|
8734
|
+
return void 0;
|
8735
|
+
}
|
8681
8736
|
getSignaturesForGenericSpecializationExpression(node) {
|
8682
8737
|
const expression = unwrapParenthesizedExpressions(node.expression);
|
8683
8738
|
if (expression.kind === 88 /* IdentifierExpression */) {
|
@@ -8725,12 +8780,12 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8725
8780
|
switch (method.kind) {
|
8726
8781
|
case "entity":
|
8727
8782
|
if (method.entity.getTypeParametersArity() > 0) {
|
8728
|
-
result = new
|
8783
|
+
result = new MethodEntitySignature(this.signatureContext, method.entity, localization);
|
8729
8784
|
}
|
8730
8785
|
break;
|
8731
8786
|
case "type-member":
|
8732
8787
|
if (method.method.getTypeParametersArity() > 0) {
|
8733
|
-
result = new
|
8788
|
+
result = new TypeMethodSignature(this.signatureContext, method.method, localization);
|
8734
8789
|
}
|
8735
8790
|
break;
|
8736
8791
|
default:
|
@@ -8740,28 +8795,28 @@ var TypeParameterSignatureHelpProvider = class {
|
|
8740
8795
|
}
|
8741
8796
|
getSignatureForNamedType(type) {
|
8742
8797
|
let result = void 0;
|
8743
|
-
switch (type.
|
8744
|
-
case
|
8798
|
+
switch (type.typeEntityKind) {
|
8799
|
+
case 1 /* Structured */:
|
8745
8800
|
if (type.getArity() > 0) {
|
8746
8801
|
result = new StructuredTypeSignature(this.signatureContext, type);
|
8747
8802
|
}
|
8748
8803
|
break;
|
8749
|
-
case
|
8804
|
+
case 0 /* Method */:
|
8750
8805
|
if (type.getArity() > 0) {
|
8751
8806
|
result = new MethodTypeSignature2(this.signatureContext, type);
|
8752
8807
|
}
|
8753
8808
|
break;
|
8754
|
-
case
|
8809
|
+
case 3 /* Variant */:
|
8755
8810
|
if (type.getArity() > 0) {
|
8756
8811
|
result = new VariantTypeSignature(this.signatureContext, type);
|
8757
8812
|
}
|
8758
8813
|
break;
|
8759
|
-
case
|
8814
|
+
case 4 /* Alias */:
|
8760
8815
|
if (type.getArity() > 0) {
|
8761
8816
|
result = new AliasTypeSignature(this.signatureContext, type);
|
8762
8817
|
}
|
8763
8818
|
break;
|
8764
|
-
case
|
8819
|
+
case 2 /* Parameter */:
|
8765
8820
|
break;
|
8766
8821
|
default:
|
8767
8822
|
Debug.never(type);
|
@@ -8776,7 +8831,7 @@ var NodeWithTypeArgumentsInfo = class {
|
|
8776
8831
|
this.argumentCount = argumentCount;
|
8777
8832
|
}
|
8778
8833
|
};
|
8779
|
-
var
|
8834
|
+
var MethodEntitySignature = class {
|
8780
8835
|
constructor(ctx, method, localization) {
|
8781
8836
|
this.ctx = ctx;
|
8782
8837
|
this.method = method;
|
@@ -8792,7 +8847,7 @@ var MethodEntitySignature2 = class {
|
|
8792
8847
|
return this.ctx.convertMethodDisplayParts(displayParts);
|
8793
8848
|
}
|
8794
8849
|
};
|
8795
|
-
var
|
8850
|
+
var TypeMethodSignature = class {
|
8796
8851
|
constructor(ctx, method, localization) {
|
8797
8852
|
this.ctx = ctx;
|
8798
8853
|
this.method = method;
|
@@ -8951,7 +9006,7 @@ var ValueParametersSignatureHelpProvider = class {
|
|
8951
9006
|
case 69 /* CallExpression */: {
|
8952
9007
|
if (this._offset >= node.openParenthesisToken.rangeWithoutTrivia.end && (node.closeParenthesisToken.rangeWithoutTrivia.isEmpty || this._offset <= node.closeParenthesisToken.rangeWithoutTrivia.start)) {
|
8953
9008
|
const valueArguments = ValueArgumentFactory.createValueArgumentsOfCallExpression(node);
|
8954
|
-
const argumentIndex = this.getArgumentIndexInList(node.
|
9009
|
+
const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
|
8955
9010
|
return new NodeWithValueArgumentsInfo(node, valueArguments, argumentIndex);
|
8956
9011
|
}
|
8957
9012
|
break;
|
@@ -8959,7 +9014,7 @@ var ValueParametersSignatureHelpProvider = class {
|
|
8959
9014
|
case 70 /* AutotypeCallExpression */: {
|
8960
9015
|
if (this._offset >= node.openParenthesisToken.rangeWithoutTrivia.end && (node.closeParenthesisToken.rangeWithoutTrivia.isEmpty || this._offset <= node.closeParenthesisToken.rangeWithoutTrivia.start)) {
|
8961
9016
|
const valueArguments = ValueArgumentFactory.createValueArgumentsOfAutotypeCallExpression(node);
|
8962
|
-
const argumentIndex = this.getArgumentIndexInList(node.
|
9017
|
+
const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
|
8963
9018
|
return new NodeWithValueArgumentsInfo(node, valueArguments, argumentIndex);
|
8964
9019
|
}
|
8965
9020
|
break;
|
@@ -8967,14 +9022,14 @@ var ValueParametersSignatureHelpProvider = class {
|
|
8967
9022
|
case 71 /* IndexedAccessExpression */: {
|
8968
9023
|
if (this._offset >= node.openSquareBracketToken.rangeWithoutTrivia.end && (node.closeSquareBracketToken.rangeWithoutTrivia.isEmpty || this._offset <= node.closeSquareBracketToken.rangeWithoutTrivia.start)) {
|
8969
9024
|
const valueArguments = ValueArgumentFactory.createValueArgumentsOfIndexedAccessExpression(node);
|
8970
|
-
const argumentIndex = this.getArgumentIndexInList(node.
|
9025
|
+
const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
|
8971
9026
|
return new NodeWithValueArgumentsInfo(node, valueArguments, argumentIndex);
|
8972
9027
|
}
|
8973
9028
|
break;
|
8974
9029
|
}
|
8975
9030
|
case 144 /* Tag */: {
|
8976
|
-
if (node.openParenthesisToken !== void 0 && this._offset >= node.openParenthesisToken.rangeWithoutTrivia.end && node.
|
8977
|
-
const argumentIndex = this.getArgumentIndexInList(node.
|
9031
|
+
if (node.openParenthesisToken !== void 0 && this._offset >= node.openParenthesisToken.rangeWithoutTrivia.end && node.argumentList !== void 0 && (node.closeParenthesisToken === void 0 || node.closeParenthesisToken.rangeWithoutTrivia.isEmpty || this._offset <= node.closeParenthesisToken.rangeWithoutTrivia.start)) {
|
9032
|
+
const argumentIndex = this.getArgumentIndexInList(node.argumentList.elements, this._offset);
|
8978
9033
|
const valueArguments = ValueArgumentFactory.createValueArgumentsOfTag(node);
|
8979
9034
|
return new NodeWithValueArgumentsInfo(node, valueArguments, argumentIndex);
|
8980
9035
|
}
|
@@ -9000,24 +9055,8 @@ var ValueParametersSignatureHelpProvider = class {
|
|
9000
9055
|
}
|
9001
9056
|
getSignatureDisplayParts(signature) {
|
9002
9057
|
switch (signature.kind) {
|
9003
|
-
case "method
|
9004
|
-
const method = new
|
9005
|
-
signature.method.value,
|
9006
|
-
signature.method.localization
|
9007
|
-
);
|
9008
|
-
const displayParts = this.signatureContext.displayService.getMethodDeclarationDisplayParts(method);
|
9009
|
-
return this.signatureContext.convertMethodDisplayParts(displayParts);
|
9010
|
-
}
|
9011
|
-
case "type-method": {
|
9012
|
-
const method = new MethodDeclaration_typeMember(
|
9013
|
-
signature.method.value,
|
9014
|
-
signature.method.localization
|
9015
|
-
);
|
9016
|
-
const displayParts = this.signatureContext.displayService.getMethodDeclarationDisplayParts(method);
|
9017
|
-
return this.signatureContext.convertMethodDisplayParts(displayParts);
|
9018
|
-
}
|
9019
|
-
case "substituted-method": {
|
9020
|
-
const method = new MethodDeclaration_substitutedMethod(
|
9058
|
+
case "accessed-method": {
|
9059
|
+
const method = new MethodDeclaration_accessedMethod(
|
9021
9060
|
signature.method.value,
|
9022
9061
|
signature.method.localization
|
9023
9062
|
);
|
@@ -9114,16 +9153,16 @@ var SignatureInfo = class {
|
|
9114
9153
|
};
|
9115
9154
|
|
9116
9155
|
// source/services/source-generation/SourceGenerationService.ts
|
9117
|
-
import { atomicRun as atomicRun2,
|
9156
|
+
import { atomicRun as atomicRun2, TriggeringMap as TriggeringMap6, TriggeringObject as TriggeringObject7, reaction as reaction6, Transaction as Transaction4 } from "reactronic";
|
9118
9157
|
|
9119
9158
|
// source/services/workspace/ClientTrackedSourceFiles.ts
|
9120
|
-
import {
|
9121
|
-
var ClientTrackedSourceFiles = class extends
|
9159
|
+
import { TriggeringMap, TriggeringObject, trigger, ReactiveSystem, atomicBlock } from "reactronic";
|
9160
|
+
var ClientTrackedSourceFiles = class extends TriggeringObject {
|
9122
9161
|
constructor() {
|
9123
9162
|
super(...arguments);
|
9124
|
-
this.items = new
|
9163
|
+
this.items = new TriggeringMap();
|
9125
9164
|
}
|
9126
|
-
// @
|
9165
|
+
// @cache
|
9127
9166
|
get unsaved() {
|
9128
9167
|
return Query.from(this.items.entries()).filter((e) => !e[1].isSaved).toMap((e) => e[0], (e) => e[1]);
|
9129
9168
|
}
|
@@ -9174,18 +9213,18 @@ var ClientTrackedSourceFiles = class extends ObservableObject {
|
|
9174
9213
|
}
|
9175
9214
|
};
|
9176
9215
|
__decorateClass([
|
9177
|
-
|
9216
|
+
atomicBlock
|
9178
9217
|
], ClientTrackedSourceFiles.prototype, "track", 1);
|
9179
9218
|
__decorateClass([
|
9180
|
-
|
9219
|
+
atomicBlock
|
9181
9220
|
], ClientTrackedSourceFiles.prototype, "update", 1);
|
9182
9221
|
__decorateClass([
|
9183
|
-
|
9222
|
+
atomicBlock
|
9184
9223
|
], ClientTrackedSourceFiles.prototype, "save", 1);
|
9185
9224
|
__decorateClass([
|
9186
|
-
|
9225
|
+
atomicBlock
|
9187
9226
|
], ClientTrackedSourceFiles.prototype, "close", 1);
|
9188
|
-
var ClientTrackedSourceFile = class extends
|
9227
|
+
var ClientTrackedSourceFile = class extends TriggeringObject {
|
9189
9228
|
constructor(uri, text, version, isSaved) {
|
9190
9229
|
super();
|
9191
9230
|
this.uri = uri;
|
@@ -9201,7 +9240,7 @@ var ClientTrackedSourceFile = class extends ObservableObject {
|
|
9201
9240
|
}
|
9202
9241
|
};
|
9203
9242
|
__decorateClass([
|
9204
|
-
|
9243
|
+
trigger(false)
|
9205
9244
|
], ClientTrackedSourceFile.prototype, "uri", 2);
|
9206
9245
|
var ClientTrackedSourceFileSnapshot = class {
|
9207
9246
|
constructor(uri, text, version, isSaved) {
|
@@ -9215,15 +9254,15 @@ var ClientTrackedSourceFileSnapshot = class {
|
|
9215
9254
|
// source/services/workspace/CompilationController.ts
|
9216
9255
|
import {
|
9217
9256
|
Indicator,
|
9218
|
-
|
9257
|
+
TriggeringObject as TriggeringObject2,
|
9219
9258
|
ReactiveSystem as ReactiveSystem2,
|
9220
9259
|
Reentrance,
|
9221
9260
|
Transaction,
|
9222
|
-
|
9261
|
+
atomicBlock as atomicBlock2,
|
9223
9262
|
nonReactiveRun,
|
9224
9263
|
options,
|
9225
|
-
|
9226
|
-
|
9264
|
+
reaction,
|
9265
|
+
trigger as trigger2
|
9227
9266
|
} from "reactronic";
|
9228
9267
|
var highPriorityDiagnosticsCollectionIndicator = Indicator.create(
|
9229
9268
|
"HighPriorityDiagnosticsCollectionIndicator",
|
@@ -9232,7 +9271,7 @@ var highPriorityDiagnosticsCollectionIndicator = Indicator.create(
|
|
9232
9271
|
100
|
9233
9272
|
);
|
9234
9273
|
var backgroundDiagnosticsCollectionThrottleTimeMs = 3e3;
|
9235
|
-
var CompilationController = class extends
|
9274
|
+
var CompilationController = class extends TriggeringObject2 {
|
9236
9275
|
constructor(config) {
|
9237
9276
|
super();
|
9238
9277
|
this.isConfigurationsProcessingEnabled = false;
|
@@ -9714,72 +9753,72 @@ var CompilationController = class extends ObservableObject2 {
|
|
9714
9753
|
}
|
9715
9754
|
};
|
9716
9755
|
__decorateClass([
|
9717
|
-
|
9756
|
+
trigger2(false)
|
9718
9757
|
], CompilationController.prototype, "mainCompilationReloadIndicator", 2);
|
9719
9758
|
__decorateClass([
|
9720
|
-
|
9759
|
+
trigger2(false)
|
9721
9760
|
], CompilationController.prototype, "configurationControllersUpdateIndictor", 2);
|
9722
9761
|
__decorateClass([
|
9723
|
-
|
9762
|
+
trigger2(false)
|
9724
9763
|
], CompilationController.prototype, "_mainAnalyzerChangedIndicator", 2);
|
9725
9764
|
__decorateClass([
|
9726
|
-
|
9765
|
+
trigger2(false)
|
9727
9766
|
], CompilationController.prototype, "_fileSystemTree", 2);
|
9728
9767
|
__decorateClass([
|
9729
|
-
|
9768
|
+
trigger2(false)
|
9730
9769
|
], CompilationController.prototype, "config", 2);
|
9731
9770
|
__decorateClass([
|
9732
|
-
|
9771
|
+
trigger2(false)
|
9733
9772
|
], CompilationController.prototype, "_rootDirectory", 2);
|
9734
9773
|
__decorateClass([
|
9735
|
-
|
9774
|
+
trigger2(false)
|
9736
9775
|
], CompilationController.prototype, "_previousCompilationLoadResult", 2);
|
9737
9776
|
__decorateClass([
|
9738
|
-
|
9777
|
+
trigger2(false)
|
9739
9778
|
], CompilationController.prototype, "_sourceFilesForWhichDiagnosticsWereReported", 2);
|
9740
9779
|
__decorateClass([
|
9741
|
-
|
9780
|
+
trigger2(false)
|
9742
9781
|
], CompilationController.prototype, "_checkedConfigurationVersionByPackageUri", 2);
|
9743
9782
|
__decorateClass([
|
9744
|
-
|
9783
|
+
trigger2(false)
|
9745
9784
|
], CompilationController.prototype, "_tsInteropInputs", 2);
|
9746
9785
|
__decorateClass([
|
9747
|
-
|
9786
|
+
trigger2(false)
|
9748
9787
|
], CompilationController.prototype, "_tsInteropInputsKey", 2);
|
9749
9788
|
__decorateClass([
|
9750
|
-
|
9789
|
+
trigger2(false)
|
9751
9790
|
], CompilationController.prototype, "_tsProgramLoaderInputs", 2);
|
9752
9791
|
__decorateClass([
|
9753
|
-
|
9792
|
+
trigger2(false)
|
9754
9793
|
], CompilationController.prototype, "_configurationsOfPackagesOutsideProject", 2);
|
9755
9794
|
__decorateClass([
|
9756
|
-
|
9795
|
+
atomicBlock2
|
9757
9796
|
], CompilationController.prototype, "notifyReportedSourceFileDiagnostics", 1);
|
9758
9797
|
__decorateClass([
|
9759
|
-
|
9798
|
+
reaction,
|
9760
9799
|
options({ reentrance: Reentrance.cancelPrevious, order: 24 })
|
9761
9800
|
], CompilationController.prototype, "reloadMainCompilation", 1);
|
9762
9801
|
__decorateClass([
|
9763
|
-
|
9802
|
+
reaction,
|
9764
9803
|
options({ order: 25 })
|
9765
9804
|
], CompilationController.prototype, "updateState", 1);
|
9766
9805
|
__decorateClass([
|
9767
|
-
|
9806
|
+
reaction,
|
9768
9807
|
options({ order: 20 })
|
9769
9808
|
], CompilationController.prototype, "updateConfigurationControllers", 1);
|
9770
9809
|
__decorateClass([
|
9771
|
-
|
9810
|
+
reaction,
|
9772
9811
|
options({ order: 21 })
|
9773
9812
|
], CompilationController.prototype, "onConfigurationsUpdated", 1);
|
9774
9813
|
__decorateClass([
|
9775
|
-
|
9814
|
+
reaction
|
9776
9815
|
], CompilationController.prototype, "onMainAnalyzerChanged", 1);
|
9777
9816
|
__decorateClass([
|
9778
|
-
|
9817
|
+
reaction,
|
9779
9818
|
options({ reentrance: Reentrance.cancelAndWaitPrevious })
|
9780
9819
|
], CompilationController.prototype, "collectDiagnosticsInBackground", 1);
|
9781
9820
|
__decorateClass([
|
9782
|
-
|
9821
|
+
reaction,
|
9783
9822
|
options({ reentrance: Reentrance.waitAndRestart })
|
9784
9823
|
], CompilationController.prototype, "onRawPackageConfigurationsUpdated", 1);
|
9785
9824
|
var TsProgramLoaderInputs = class {
|
@@ -9841,11 +9880,11 @@ var ReadonlyCompilationState = class {
|
|
9841
9880
|
}
|
9842
9881
|
};
|
9843
9882
|
__decorateClass([
|
9844
|
-
|
9883
|
+
atomicBlock2,
|
9845
9884
|
options({ reentrance: Reentrance.runSideBySide, indicator: highPriorityDiagnosticsCollectionIndicator })
|
9846
9885
|
], ReadonlyCompilationState.prototype, "collectSourceFileDiagnosticsWithHighPriority", 1);
|
9847
9886
|
__decorateClass([
|
9848
|
-
|
9887
|
+
atomicBlock2,
|
9849
9888
|
options({ reentrance: Reentrance.runSideBySide })
|
9850
9889
|
], ReadonlyCompilationState.prototype, "collectSourceFileDiagnosticsWithLowPriority", 1);
|
9851
9890
|
var DiagnosticsCollectionSummary = class {
|
@@ -9853,7 +9892,7 @@ var DiagnosticsCollectionSummary = class {
|
|
9853
9892
|
this.hasErrors = hasErrors;
|
9854
9893
|
}
|
9855
9894
|
};
|
9856
|
-
var ConfigurationController = class extends
|
9895
|
+
var ConfigurationController = class extends TriggeringObject2 {
|
9857
9896
|
constructor(rootDirectory, packageUri, mainCompilationController) {
|
9858
9897
|
super();
|
9859
9898
|
// private _compilationState: ReadonlyCompilationState | undefined = undefined
|
@@ -9934,7 +9973,7 @@ var ConfigurationController = class extends ObservableObject2 {
|
|
9934
9973
|
this._convertedConfigurationVersion++;
|
9935
9974
|
});
|
9936
9975
|
}
|
9937
|
-
// @
|
9976
|
+
// @reaction
|
9938
9977
|
// @options({ reentrance: Reentrance.cancelPrevious, order: 21 })
|
9939
9978
|
// private async reloadCompilation(): Promise<void> {
|
9940
9979
|
// if (!this._mainCompilationController.isConfigurationsProcessingEnabled) {
|
@@ -9981,7 +10020,7 @@ var ConfigurationController = class extends ObservableObject2 {
|
|
9981
10020
|
// }
|
9982
10021
|
// }
|
9983
10022
|
// }
|
9984
|
-
// @
|
10023
|
+
// @reaction
|
9985
10024
|
// @options({ reentrance: Reentrance.cancelPrevious, order: 22 })
|
9986
10025
|
// private async analyze(): Promise<void> {
|
9987
10026
|
// if (!this._mainCompilationController.isConfigurationsProcessingEnabled) {
|
@@ -10015,11 +10054,11 @@ var ConfigurationController = class extends ObservableObject2 {
|
|
10015
10054
|
// }
|
10016
10055
|
// }
|
10017
10056
|
// }
|
10018
|
-
// @
|
10057
|
+
// @reaction
|
10019
10058
|
// private diagnosticsChanged(): void {
|
10020
10059
|
// this._configurationDiagnostics // подписка
|
10021
10060
|
// }
|
10022
|
-
// @
|
10061
|
+
// @reaction
|
10023
10062
|
// @options({ reentrance: Reentrance.cancelAndWaitPrevious })
|
10024
10063
|
// private async reportDiagnostics(): Promise<void> {
|
10025
10064
|
// if (!this._mainCompilationController.isConfigurationsProcessingEnabled) {
|
@@ -10045,7 +10084,7 @@ var ConfigurationController = class extends ObservableObject2 {
|
|
10045
10084
|
// }
|
10046
10085
|
// }
|
10047
10086
|
// }
|
10048
|
-
// @
|
10087
|
+
// @reaction
|
10049
10088
|
// @options({ reentrance: Reentrance.cancelPrevious, order: 23 })
|
10050
10089
|
// private async interpretConfiguration(): Promise<void> {
|
10051
10090
|
// if (!this._mainCompilationController.isConfigurationsProcessingEnabled) {
|
@@ -10087,23 +10126,23 @@ var ConfigurationController = class extends ObservableObject2 {
|
|
10087
10126
|
// }
|
10088
10127
|
};
|
10089
10128
|
__decorateClass([
|
10090
|
-
|
10129
|
+
trigger2(false)
|
10091
10130
|
], ConfigurationController.prototype, "packageUri", 2);
|
10092
10131
|
__decorateClass([
|
10093
|
-
|
10132
|
+
trigger2(false)
|
10094
10133
|
], ConfigurationController.prototype, "processingIndicator", 2);
|
10095
10134
|
__decorateClass([
|
10096
|
-
|
10135
|
+
trigger2(false)
|
10097
10136
|
], ConfigurationController.prototype, "rootDirectory", 2);
|
10098
10137
|
__decorateClass([
|
10099
|
-
|
10138
|
+
trigger2(false)
|
10100
10139
|
], ConfigurationController.prototype, "_mainCompilationController", 2);
|
10101
10140
|
__decorateClass([
|
10102
|
-
|
10141
|
+
reaction,
|
10103
10142
|
options({ reentrance: Reentrance.cancelPrevious, order: 21 })
|
10104
10143
|
], ConfigurationController.prototype, "updateJsonConfigurationFile", 1);
|
10105
10144
|
__decorateClass([
|
10106
|
-
|
10145
|
+
reaction,
|
10107
10146
|
options({ reentrance: Reentrance.cancelPrevious, order: 22 })
|
10108
10147
|
], ConfigurationController.prototype, "processConfiguration", 1);
|
10109
10148
|
var ConfigurationDirectory = class {
|
@@ -10165,31 +10204,31 @@ var TsInteropInputsCache = class {
|
|
10165
10204
|
|
10166
10205
|
// source/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.ts
|
10167
10206
|
import {
|
10168
|
-
|
10207
|
+
atomicBlock as atomicBlock3,
|
10169
10208
|
Indicator as Indicator2,
|
10170
10209
|
nonReactiveRun as nonReactiveRun2,
|
10171
|
-
|
10172
|
-
|
10173
|
-
|
10210
|
+
TriggeringArray,
|
10211
|
+
TriggeringMap as TriggeringMap2,
|
10212
|
+
TriggeringObject as TriggeringObject3,
|
10174
10213
|
options as options2,
|
10175
|
-
|
10214
|
+
reaction as reaction2,
|
10176
10215
|
ReactiveSystem as ReactiveSystem3,
|
10177
10216
|
Transaction as Transaction2,
|
10178
|
-
|
10217
|
+
trigger as trigger3
|
10179
10218
|
} from "reactronic";
|
10180
|
-
var FileSystemTreeProviderBasedOnWatchedFileSystem = class extends
|
10219
|
+
var FileSystemTreeProviderBasedOnWatchedFileSystem = class extends TriggeringObject3 {
|
10181
10220
|
// Используется в качестве множества.
|
10182
10221
|
constructor(fileSystem, notificationsPublisher, namesOfDirectoriesToIgnore, additionalUrisOfDirectoriesToLoad) {
|
10183
10222
|
super();
|
10184
10223
|
this.fileSystemTree = new FileSystemTree(true);
|
10185
|
-
this.loadedWorkspaceFolderByUri = new
|
10224
|
+
this.loadedWorkspaceFolderByUri = new TriggeringMap2();
|
10186
10225
|
this._workspaceFolderUris = void 0;
|
10187
10226
|
this._trackedSourceFiles = void 0;
|
10188
10227
|
this._isInitialized = false;
|
10189
10228
|
this._lastCheckedWorkspaceFolderUris = new Array();
|
10190
10229
|
this._taskQueue = new TaskQueue();
|
10191
10230
|
this._lastCheckedTrackedSourceFileInfoVersionByUri = /* @__PURE__ */ new Map();
|
10192
|
-
this._loadedDirectoryUris = new
|
10231
|
+
this._loadedDirectoryUris = new TriggeringMap2();
|
10193
10232
|
this._fileSystem = fileSystem;
|
10194
10233
|
this._notificationsPublisher = notificationsPublisher;
|
10195
10234
|
this._listener = this.onFileSystemUpdated.bind(this);
|
@@ -10557,7 +10596,7 @@ var FileSystemTreeProviderBasedOnWatchedFileSystem = class extends ObservableObj
|
|
10557
10596
|
this.fileSystemTree.deleteFileOrDirectory(uri);
|
10558
10597
|
}
|
10559
10598
|
}
|
10560
|
-
// @
|
10599
|
+
// @reaction
|
10561
10600
|
// @options({ order: 0 })
|
10562
10601
|
// protected unloadWorkspaceFoldersThatNoLongerContainArtelProject(): void {
|
10563
10602
|
// if (this.isMissingConfigurationDirectoryAllowed) {
|
@@ -10682,65 +10721,65 @@ var FileSystemTreeProviderBasedOnWatchedFileSystem = class extends ObservableObj
|
|
10682
10721
|
// }
|
10683
10722
|
};
|
10684
10723
|
__decorateClass([
|
10685
|
-
|
10724
|
+
trigger3(false)
|
10686
10725
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "fileSystemTree", 2);
|
10687
10726
|
__decorateClass([
|
10688
|
-
|
10727
|
+
trigger3(false)
|
10689
10728
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "loadedWorkspaceFolderByUri", 2);
|
10690
10729
|
__decorateClass([
|
10691
|
-
|
10730
|
+
trigger3(false)
|
10692
10731
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_fileSystem", 2);
|
10693
10732
|
__decorateClass([
|
10694
|
-
|
10733
|
+
trigger3(false)
|
10695
10734
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_notificationsPublisher", 2);
|
10696
10735
|
__decorateClass([
|
10697
|
-
|
10736
|
+
trigger3(false)
|
10698
10737
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_listener", 2);
|
10699
10738
|
__decorateClass([
|
10700
|
-
|
10739
|
+
trigger3(false)
|
10701
10740
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_lastCheckedWorkspaceFolderUris", 2);
|
10702
10741
|
__decorateClass([
|
10703
|
-
|
10742
|
+
trigger3(false)
|
10704
10743
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_taskQueue", 2);
|
10705
10744
|
__decorateClass([
|
10706
|
-
|
10745
|
+
trigger3(false)
|
10707
10746
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_namesOfDirectoriesToIgnore", 2);
|
10708
10747
|
__decorateClass([
|
10709
|
-
|
10748
|
+
trigger3(false)
|
10710
10749
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_additionalUrisOfDirectoriesToLoad", 2);
|
10711
10750
|
__decorateClass([
|
10712
|
-
|
10751
|
+
trigger3(false)
|
10713
10752
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_lastCheckedTrackedSourceFileInfoVersionByUri", 2);
|
10714
10753
|
__decorateClass([
|
10715
|
-
|
10754
|
+
trigger3(false)
|
10716
10755
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "_loadedDirectoryUris", 2);
|
10717
10756
|
__decorateClass([
|
10718
|
-
|
10757
|
+
reaction2
|
10719
10758
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "onTrackedSourceFilesUpdated", 1);
|
10720
10759
|
__decorateClass([
|
10721
|
-
|
10760
|
+
reaction2
|
10722
10761
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "onWorkspaceFolderUrisUpdated", 1);
|
10723
10762
|
__decorateClass([
|
10724
|
-
|
10763
|
+
reaction2,
|
10725
10764
|
options2({ order: 0 })
|
10726
10765
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "updateLoadedWorkspaceFolders", 1);
|
10727
10766
|
__decorateClass([
|
10728
|
-
|
10767
|
+
reaction2
|
10729
10768
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "loadAdditionalDirectories", 1);
|
10730
10769
|
__decorateClass([
|
10731
|
-
|
10770
|
+
atomicBlock3
|
10732
10771
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "addWorkspaceFoldersWorker", 1);
|
10733
10772
|
__decorateClass([
|
10734
|
-
|
10773
|
+
atomicBlock3
|
10735
10774
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "removeWorkspaceFoldersWorker", 1);
|
10736
10775
|
__decorateClass([
|
10737
|
-
|
10776
|
+
atomicBlock3
|
10738
10777
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "onFileSystemTreeUpdatedWorker", 1);
|
10739
10778
|
__decorateClass([
|
10740
|
-
|
10779
|
+
atomicBlock3
|
10741
10780
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "stopTrackingSourceFile", 1);
|
10742
10781
|
__decorateClass([
|
10743
|
-
|
10782
|
+
atomicBlock3
|
10744
10783
|
], FileSystemTreeProviderBasedOnWatchedFileSystem.prototype, "updateFileSystemTree", 1);
|
10745
10784
|
var SimpleFileSystemUpdateNotificationsPublisher = class {
|
10746
10785
|
constructor() {
|
@@ -10816,10 +10855,10 @@ var FileSystemTreeUpdate_deleteDirectory = class {
|
|
10816
10855
|
return this.uri;
|
10817
10856
|
}
|
10818
10857
|
};
|
10819
|
-
var TaskQueue = class extends
|
10858
|
+
var TaskQueue = class extends TriggeringObject3 {
|
10820
10859
|
constructor() {
|
10821
10860
|
super();
|
10822
|
-
this._tasks = new
|
10861
|
+
this._tasks = new TriggeringArray();
|
10823
10862
|
this._currentTask = void 0;
|
10824
10863
|
this._processTasksIndicator = Indicator2.create("ProcessTasks", -1, -1, 1e3);
|
10825
10864
|
ReactiveSystem3.getOperation(this.processTasks).configure({ indicator: this._processTasksIndicator });
|
@@ -10875,25 +10914,25 @@ var TaskQueue = class extends ObservableObject3 {
|
|
10875
10914
|
}
|
10876
10915
|
};
|
10877
10916
|
__decorateClass([
|
10878
|
-
|
10917
|
+
trigger3(false)
|
10879
10918
|
], TaskQueue.prototype, "_tasks", 2);
|
10880
10919
|
__decorateClass([
|
10881
|
-
|
10920
|
+
atomicBlock3
|
10882
10921
|
], TaskQueue.prototype, "addTask", 1);
|
10883
10922
|
__decorateClass([
|
10884
|
-
|
10923
|
+
reaction2
|
10885
10924
|
], TaskQueue.prototype, "processTasks", 1);
|
10886
10925
|
__decorateClass([
|
10887
|
-
|
10926
|
+
reaction2
|
10888
10927
|
], TaskQueue.prototype, "executeTask", 1);
|
10889
10928
|
|
10890
10929
|
// source/services/workspace/ManuallyUpdatedFileSystemTreeProvider.ts
|
10891
|
-
import {
|
10892
|
-
var ManuallyUpdatedFileSystemTreeProvider = class extends
|
10930
|
+
import { TriggeringMap as TriggeringMap3, TriggeringObject as TriggeringObject4, options as options3, reaction as reaction3, ReactiveSystem as ReactiveSystem4, trigger as trigger4 } from "reactronic";
|
10931
|
+
var ManuallyUpdatedFileSystemTreeProvider = class extends TriggeringObject4 {
|
10893
10932
|
constructor() {
|
10894
10933
|
super(...arguments);
|
10895
10934
|
this.fileSystemTree = new FileSystemTree(true, true);
|
10896
|
-
this.loadedWorkspaceFolderByUri = new
|
10935
|
+
this.loadedWorkspaceFolderByUri = new TriggeringMap3();
|
10897
10936
|
this._workspaceFolderUris = void 0;
|
10898
10937
|
this._trackedSourceFiles = void 0;
|
10899
10938
|
this._lastCheckedTrackedSourceFileInfoByUri = /* @__PURE__ */ new Map();
|
@@ -10992,59 +11031,59 @@ var ManuallyUpdatedFileSystemTreeProvider = class extends ObservableObject4 {
|
|
10992
11031
|
}
|
10993
11032
|
};
|
10994
11033
|
__decorateClass([
|
10995
|
-
|
11034
|
+
trigger4(false)
|
10996
11035
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "fileSystemTree", 2);
|
10997
11036
|
__decorateClass([
|
10998
|
-
|
11037
|
+
trigger4(false)
|
10999
11038
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "loadedWorkspaceFolderByUri", 2);
|
11000
11039
|
__decorateClass([
|
11001
|
-
|
11040
|
+
trigger4(false)
|
11002
11041
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "_lastCheckedTrackedSourceFileInfoByUri", 2);
|
11003
11042
|
__decorateClass([
|
11004
|
-
|
11043
|
+
trigger4(false)
|
11005
11044
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "_manuallyCreatedSourceFileTextByUri", 2);
|
11006
11045
|
__decorateClass([
|
11007
|
-
|
11046
|
+
reaction3
|
11008
11047
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "onTrackedSourceFilesUpdated", 1);
|
11009
11048
|
__decorateClass([
|
11010
|
-
|
11049
|
+
reaction3,
|
11011
11050
|
options3({ order: 0 })
|
11012
11051
|
], ManuallyUpdatedFileSystemTreeProvider.prototype, "updateLoadedWorkspaceFolderByUri", 1);
|
11013
11052
|
|
11014
11053
|
// source/services/workspace/Workspace.ts
|
11015
11054
|
import {
|
11016
|
-
|
11017
|
-
|
11018
|
-
|
11055
|
+
TriggeringArray as TriggeringArray4,
|
11056
|
+
TriggeringMap as TriggeringMap5,
|
11057
|
+
TriggeringObject as TriggeringObject6,
|
11019
11058
|
ReactiveSystem as ReactiveSystem6,
|
11020
11059
|
Reentrance as Reentrance2,
|
11021
11060
|
Transaction as Transaction3,
|
11022
|
-
|
11061
|
+
atomicBlock as atomicBlock5,
|
11023
11062
|
atomicRun,
|
11024
|
-
|
11063
|
+
cache,
|
11025
11064
|
nonReactiveRun as nonReactiveRun3,
|
11026
11065
|
options as options5,
|
11027
|
-
|
11028
|
-
|
11066
|
+
reaction as reaction5,
|
11067
|
+
trigger as trigger6
|
11029
11068
|
} from "reactronic";
|
11030
11069
|
|
11031
11070
|
// source/services/workspace/WorkspaceFiles.ts
|
11032
11071
|
import {
|
11033
|
-
|
11034
|
-
|
11035
|
-
|
11072
|
+
TriggeringArray as TriggeringArray3,
|
11073
|
+
TriggeringMap as TriggeringMap4,
|
11074
|
+
TriggeringObject as TriggeringObject5,
|
11036
11075
|
options as options4,
|
11037
|
-
|
11038
|
-
|
11076
|
+
trigger as trigger5,
|
11077
|
+
reaction as reaction4,
|
11039
11078
|
ReactiveSystem as ReactiveSystem5,
|
11040
|
-
|
11079
|
+
atomicBlock as atomicBlock4
|
11041
11080
|
} from "reactronic";
|
11042
|
-
var WorkspaceFiles = class extends
|
11081
|
+
var WorkspaceFiles = class extends TriggeringObject5 {
|
11043
11082
|
constructor(fileSystemTreeProvider) {
|
11044
11083
|
super();
|
11045
11084
|
this.trackedSourceFiles = new ClientTrackedSourceFiles();
|
11046
|
-
this.workspaceFolderUris = new
|
11047
|
-
this.workspaceFolderWithArtelProjectByUri = new
|
11085
|
+
this.workspaceFolderUris = new TriggeringArray3();
|
11086
|
+
this.workspaceFolderWithArtelProjectByUri = new TriggeringMap4();
|
11048
11087
|
this._fileSystemTreeProvider = fileSystemTreeProvider;
|
11049
11088
|
this._fileSystemTreeProvider.initialize(this.workspaceFolderUris, this.trackedSourceFiles);
|
11050
11089
|
}
|
@@ -11143,39 +11182,39 @@ var WorkspaceFiles = class extends ObservableObject5 {
|
|
11143
11182
|
}
|
11144
11183
|
};
|
11145
11184
|
__decorateClass([
|
11146
|
-
|
11185
|
+
trigger5(false)
|
11147
11186
|
], WorkspaceFiles.prototype, "workspaceFolderUris", 2);
|
11148
11187
|
__decorateClass([
|
11149
|
-
|
11188
|
+
trigger5(false)
|
11150
11189
|
], WorkspaceFiles.prototype, "workspaceFolderWithArtelProjectByUri", 2);
|
11151
11190
|
__decorateClass([
|
11152
|
-
|
11191
|
+
trigger5(false)
|
11153
11192
|
], WorkspaceFiles.prototype, "_fileSystemTreeProvider", 2);
|
11154
11193
|
__decorateClass([
|
11155
|
-
|
11194
|
+
atomicBlock4
|
11156
11195
|
], WorkspaceFiles.prototype, "addWorkspaceFolders", 1);
|
11157
11196
|
__decorateClass([
|
11158
|
-
|
11197
|
+
atomicBlock4
|
11159
11198
|
], WorkspaceFiles.prototype, "removeWorkspaceFolders", 1);
|
11160
11199
|
__decorateClass([
|
11161
|
-
|
11200
|
+
atomicBlock4
|
11162
11201
|
], WorkspaceFiles.prototype, "trackSourceFile", 1);
|
11163
11202
|
__decorateClass([
|
11164
|
-
|
11203
|
+
atomicBlock4
|
11165
11204
|
], WorkspaceFiles.prototype, "updateTrackedSourceFile", 1);
|
11166
11205
|
__decorateClass([
|
11167
|
-
|
11206
|
+
reaction4,
|
11168
11207
|
options4({ order: 1 })
|
11169
11208
|
], WorkspaceFiles.prototype, "updateWorkspaceFolderWithArtelProjectByUri", 1);
|
11170
11209
|
|
11171
11210
|
// source/services/workspace/Workspace.ts
|
11172
|
-
var _Workspace = class _Workspace extends
|
11211
|
+
var _Workspace = class _Workspace extends TriggeringObject6 {
|
11173
11212
|
constructor(config) {
|
11174
11213
|
super();
|
11175
11214
|
this.isReadyToAcceptWorkspaceDiagnostics = false;
|
11176
|
-
this._compilationControllers = new
|
11177
|
-
//
|
11178
|
-
this._controllersWithOpenedFiles = new
|
11215
|
+
this._compilationControllers = new TriggeringArray4();
|
11216
|
+
// TriggeringMap используется в качестве Set'а.
|
11217
|
+
this._controllersWithOpenedFiles = new TriggeringMap5();
|
11179
11218
|
this._atLeastOneFileOfCompilationHasBeenOpened = false;
|
11180
11219
|
this._standardPackageContents = new Cached();
|
11181
11220
|
this._tsInteropInputsCache = new TsInteropInputsCache();
|
@@ -11445,39 +11484,39 @@ var _Workspace = class _Workspace extends ObservableObject6 {
|
|
11445
11484
|
}
|
11446
11485
|
};
|
11447
11486
|
__decorateClass([
|
11448
|
-
|
11487
|
+
trigger6(false)
|
11449
11488
|
], _Workspace.prototype, "_config", 2);
|
11450
11489
|
__decorateClass([
|
11451
|
-
|
11490
|
+
trigger6(false)
|
11452
11491
|
], _Workspace.prototype, "_atLeastOneFileOfCompilationHasBeenOpened", 2);
|
11453
11492
|
__decorateClass([
|
11454
|
-
|
11493
|
+
trigger6(false)
|
11455
11494
|
], _Workspace.prototype, "_files", 2);
|
11456
11495
|
__decorateClass([
|
11457
|
-
|
11496
|
+
trigger6(false)
|
11458
11497
|
], _Workspace.prototype, "_standardPackageContents", 2);
|
11459
11498
|
__decorateClass([
|
11460
|
-
|
11499
|
+
trigger6(false)
|
11461
11500
|
], _Workspace.prototype, "_tsInteropInputsCache", 2);
|
11462
11501
|
__decorateClass([
|
11463
|
-
|
11502
|
+
cache
|
11464
11503
|
], _Workspace.prototype, "compilationControllerByUri", 1);
|
11465
11504
|
__decorateClass([
|
11466
|
-
|
11505
|
+
atomicBlock5
|
11467
11506
|
], _Workspace.prototype, "notifyClosedTextDocument", 1);
|
11468
11507
|
__decorateClass([
|
11469
|
-
|
11508
|
+
reaction5,
|
11470
11509
|
options5({ order: 10 })
|
11471
11510
|
], _Workspace.prototype, "updateCompilationControllers", 1);
|
11472
11511
|
__decorateClass([
|
11473
|
-
|
11512
|
+
reaction5,
|
11474
11513
|
options5({ reentrance: Reentrance2.cancelPrevious })
|
11475
11514
|
], _Workspace.prototype, "processControllersWithUnprocessedConfigs", 1);
|
11476
11515
|
__decorateClass([
|
11477
|
-
|
11516
|
+
reaction5
|
11478
11517
|
], _Workspace.prototype, "updateIsDiagnosticsCollectionInBackgroundEnabled", 1);
|
11479
11518
|
__decorateClass([
|
11480
|
-
|
11519
|
+
reaction5,
|
11481
11520
|
options5({ reentrance: Reentrance2.cancelPrevious })
|
11482
11521
|
], _Workspace.prototype, "updateControllersWithOpenedFiles", 1);
|
11483
11522
|
var Workspace = _Workspace;
|
@@ -11493,22 +11532,30 @@ var EntityToSyntax = class {
|
|
11493
11532
|
return this.convertPackage(this._entity);
|
11494
11533
|
}
|
11495
11534
|
convertPackage(entity) {
|
11496
|
-
const namedPackageMembers = entity.getMembers().getNamedMembers().flatMap((m) => this.convertNamedPackageMember(m
|
11535
|
+
const namedPackageMembers = entity.getMembers().getNamedMembers().flatMap((m) => this.convertNamedPackageMember(m));
|
11497
11536
|
return SyntaxFactory.sourceFile([], namedPackageMembers);
|
11498
11537
|
}
|
11499
11538
|
convertNamedPackageMember(entity) {
|
11500
11539
|
switch (entity.kind) {
|
11501
11540
|
case 0 /* Variable */:
|
11502
11541
|
return this.convertPackageVariable(entity);
|
11503
|
-
case
|
11504
|
-
return this.convertPackageVariantType(entity);
|
11505
|
-
case 5 /* Method */:
|
11542
|
+
case 1 /* Method */:
|
11506
11543
|
return this.convertPackageMethod(entity);
|
11507
|
-
case
|
11544
|
+
case 2 /* Type */:
|
11545
|
+
return this.convertPackageType(entity);
|
11546
|
+
default:
|
11547
|
+
Debug.never(entity);
|
11548
|
+
}
|
11549
|
+
}
|
11550
|
+
convertPackageType(entity) {
|
11551
|
+
switch (entity.typeEntityKind) {
|
11552
|
+
case 0 /* Method */:
|
11508
11553
|
return this.convertPackageMethodType(entity);
|
11509
|
-
case
|
11554
|
+
case 1 /* Structured */:
|
11510
11555
|
return this.convertPackageStructuredType(entity);
|
11511
|
-
case
|
11556
|
+
case 3 /* Variant */:
|
11557
|
+
return this.convertPackageVariantType(entity);
|
11558
|
+
case 4 /* Alias */:
|
11512
11559
|
return this.convertPackageAliasType(entity);
|
11513
11560
|
default:
|
11514
11561
|
Debug.never(entity);
|
@@ -11517,7 +11564,7 @@ var EntityToSyntax = class {
|
|
11517
11564
|
convertPackageVariable(entity) {
|
11518
11565
|
const commonModifiers = new Array();
|
11519
11566
|
if (entity.isConstant()) {
|
11520
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11567
|
+
commonModifiers.push(SyntaxFactory.modifier(34 /* Const */));
|
11521
11568
|
}
|
11522
11569
|
const name = this.getEntityName(entity);
|
11523
11570
|
const type = this.convertType(entity.getType());
|
@@ -11542,7 +11589,7 @@ var EntityToSyntax = class {
|
|
11542
11589
|
if (isHidden !== void 0) {
|
11543
11590
|
modifiers.push(this.createHidingModifier(isHidden));
|
11544
11591
|
}
|
11545
|
-
result.push(SyntaxFactory.packageVariableSetterDeclaration(tags, modifiers, name, void 0
|
11592
|
+
result.push(SyntaxFactory.packageVariableSetterDeclaration(tags, modifiers, name, void 0));
|
11546
11593
|
}
|
11547
11594
|
} else {
|
11548
11595
|
const tags = this.convertTags(entity.getTags());
|
@@ -11559,7 +11606,7 @@ var EntityToSyntax = class {
|
|
11559
11606
|
const tags = this.convertTags(entity.getTags());
|
11560
11607
|
const modifiers = new Array();
|
11561
11608
|
if (entity.isAsync()) {
|
11562
|
-
modifiers.push(SyntaxFactory.modifier(
|
11609
|
+
modifiers.push(SyntaxFactory.modifier(39 /* Async */));
|
11563
11610
|
}
|
11564
11611
|
const isHidden = entity.isHidden();
|
11565
11612
|
if (isHidden !== void 0) {
|
@@ -11636,21 +11683,24 @@ var EntityToSyntax = class {
|
|
11636
11683
|
return variables.concat(indexers, constructors, methods, destructors);
|
11637
11684
|
}
|
11638
11685
|
convertTypeVariable(entity) {
|
11686
|
+
if (entity.isVariant()) {
|
11687
|
+
return this.convertVariant(entity);
|
11688
|
+
}
|
11639
11689
|
const commonModifiers = new Array();
|
11640
11690
|
if (entity.isConstant()) {
|
11641
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11691
|
+
commonModifiers.push(SyntaxFactory.modifier(34 /* Const */));
|
11642
11692
|
}
|
11643
11693
|
if (entity.isStatic()) {
|
11644
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11694
|
+
commonModifiers.push(SyntaxFactory.modifier(40 /* Static */));
|
11645
11695
|
}
|
11646
11696
|
if (entity.isAbstract()) {
|
11647
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11697
|
+
commonModifiers.push(SyntaxFactory.modifier(36 /* Abstract */));
|
11648
11698
|
}
|
11649
11699
|
if (entity.isRedefinable()) {
|
11650
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11700
|
+
commonModifiers.push(SyntaxFactory.modifier(37 /* Redefinable */));
|
11651
11701
|
}
|
11652
11702
|
if (entity.isRedefined()) {
|
11653
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11703
|
+
commonModifiers.push(SyntaxFactory.modifier(38 /* Redefined */));
|
11654
11704
|
}
|
11655
11705
|
const name = this.getEntityName(entity);
|
11656
11706
|
const type = this.convertType(entity.getType());
|
@@ -11675,7 +11725,7 @@ var EntityToSyntax = class {
|
|
11675
11725
|
if (isHidden !== void 0) {
|
11676
11726
|
modifiers.push(this.createHidingModifier(isHidden));
|
11677
11727
|
}
|
11678
|
-
result.push(SyntaxFactory.typeVariableSetterDeclaration(tags, modifiers, name, void 0
|
11728
|
+
result.push(SyntaxFactory.typeVariableSetterDeclaration(tags, modifiers, name, void 0));
|
11679
11729
|
}
|
11680
11730
|
} else {
|
11681
11731
|
const tags = this.convertTags(entity.getTags());
|
@@ -11696,16 +11746,16 @@ var EntityToSyntax = class {
|
|
11696
11746
|
modifiers.push(this.createHidingModifier(isHidden));
|
11697
11747
|
}
|
11698
11748
|
if (entity.isStatic()) {
|
11699
|
-
modifiers.push(SyntaxFactory.modifier(
|
11749
|
+
modifiers.push(SyntaxFactory.modifier(40 /* Static */));
|
11700
11750
|
}
|
11701
11751
|
if (entity.isAbstract()) {
|
11702
|
-
modifiers.push(SyntaxFactory.modifier(
|
11752
|
+
modifiers.push(SyntaxFactory.modifier(36 /* Abstract */));
|
11703
11753
|
}
|
11704
11754
|
if (entity.isRedefinable()) {
|
11705
|
-
modifiers.push(SyntaxFactory.modifier(
|
11755
|
+
modifiers.push(SyntaxFactory.modifier(37 /* Redefinable */));
|
11706
11756
|
}
|
11707
11757
|
if (entity.isRedefined()) {
|
11708
|
-
modifiers.push(SyntaxFactory.modifier(
|
11758
|
+
modifiers.push(SyntaxFactory.modifier(38 /* Redefined */));
|
11709
11759
|
}
|
11710
11760
|
const name = this.getEntityName(entity);
|
11711
11761
|
const typeParameters = this.convertTypeParameters(entity.getTypeParameters());
|
@@ -11721,7 +11771,7 @@ var EntityToSyntax = class {
|
|
11721
11771
|
modifiers.push(this.createHidingModifier(isHidden));
|
11722
11772
|
}
|
11723
11773
|
if (entity.isAbstract()) {
|
11724
|
-
modifiers.push(SyntaxFactory.modifier(
|
11774
|
+
modifiers.push(SyntaxFactory.modifier(36 /* Abstract */));
|
11725
11775
|
}
|
11726
11776
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11727
11777
|
return SyntaxFactory.typeConstructorDeclaration(tags, modifiers, parameters, void 0);
|
@@ -11734,7 +11784,7 @@ var EntityToSyntax = class {
|
|
11734
11784
|
modifiers.push(this.createHidingModifier(isHidden));
|
11735
11785
|
}
|
11736
11786
|
if (entity.isAbstract()) {
|
11737
|
-
modifiers.push(SyntaxFactory.modifier(
|
11787
|
+
modifiers.push(SyntaxFactory.modifier(36 /* Abstract */));
|
11738
11788
|
}
|
11739
11789
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11740
11790
|
return SyntaxFactory.typeDestructorDeclaration(tags, modifiers, parameters, void 0);
|
@@ -11742,10 +11792,10 @@ var EntityToSyntax = class {
|
|
11742
11792
|
convertTypeIndexer(entity) {
|
11743
11793
|
const commonModifiers = new Array();
|
11744
11794
|
if (entity.isStatic()) {
|
11745
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11795
|
+
commonModifiers.push(SyntaxFactory.modifier(40 /* Static */));
|
11746
11796
|
}
|
11747
11797
|
if (entity.isAbstract()) {
|
11748
|
-
commonModifiers.push(SyntaxFactory.modifier(
|
11798
|
+
commonModifiers.push(SyntaxFactory.modifier(36 /* Abstract */));
|
11749
11799
|
}
|
11750
11800
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
11751
11801
|
const result = new Array();
|
@@ -11765,14 +11815,11 @@ var EntityToSyntax = class {
|
|
11765
11815
|
if (setterEntity !== void 0) {
|
11766
11816
|
const tags = this.convertTags(setterEntity.getTags());
|
11767
11817
|
const modifiers = Array.from(commonModifiers);
|
11768
|
-
const declaration = SyntaxFactory.typeIndexedSetterDeclaration(tags, modifiers, parameters, void 0
|
11818
|
+
const declaration = SyntaxFactory.typeIndexedSetterDeclaration(tags, modifiers, parameters, void 0);
|
11769
11819
|
result.push(declaration);
|
11770
11820
|
}
|
11771
11821
|
return result;
|
11772
11822
|
}
|
11773
|
-
convertVariants(variants) {
|
11774
|
-
return variants.get().map((v) => this.convertVariant(v));
|
11775
|
-
}
|
11776
11823
|
convertVariant(entity) {
|
11777
11824
|
const tags = this.convertTags(entity.getTags());
|
11778
11825
|
const name = this.getEntityName(entity);
|
@@ -11817,8 +11864,8 @@ var EntityToSyntax = class {
|
|
11817
11864
|
return SyntaxFactory.aliasTypeDeclarationBody(aliasedType, members);
|
11818
11865
|
}
|
11819
11866
|
createVariantTypeDeclarationBody(entity) {
|
11820
|
-
const
|
11821
|
-
return SyntaxFactory.variantTypeDeclarationBody(
|
11867
|
+
const members = this.convertTypeEntityMembers(entity.getMembers());
|
11868
|
+
return SyntaxFactory.variantTypeDeclarationBody(members);
|
11822
11869
|
}
|
11823
11870
|
createMethodTypeDeclarationBody(entity) {
|
11824
11871
|
const parameters = this.convertValueParameters(entity.getValueParameters());
|
@@ -11876,7 +11923,7 @@ var EntityToSyntax = class {
|
|
11876
11923
|
default:
|
11877
11924
|
Debug.never(hiding);
|
11878
11925
|
}
|
11879
|
-
return SyntaxFactory.modifier(
|
11926
|
+
return SyntaxFactory.modifier(35 /* Hidden */, levelKeyword);
|
11880
11927
|
}
|
11881
11928
|
convertTags(_entityTags) {
|
11882
11929
|
return [];
|
@@ -11964,13 +12011,13 @@ var EntityToSyntax = class {
|
|
11964
12011
|
};
|
11965
12012
|
|
11966
12013
|
// source/services/source-generation/SourceGenerationService.ts
|
11967
|
-
var SourceGenerationService = class extends
|
12014
|
+
var SourceGenerationService = class extends TriggeringObject7 {
|
11968
12015
|
constructor(_trackedSourceFiles, _tsLibrariesProvider, _standardPackageContentsProviders) {
|
11969
12016
|
super();
|
11970
12017
|
this._trackedSourceFiles = _trackedSourceFiles;
|
11971
12018
|
this._tsLibrariesProvider = _tsLibrariesProvider;
|
11972
12019
|
this._standardPackageContentsProviders = _standardPackageContentsProviders;
|
11973
|
-
this._generatedPackageStates = new
|
12020
|
+
this._generatedPackageStates = new TriggeringMap6();
|
11974
12021
|
}
|
11975
12022
|
get compilationControllers() {
|
11976
12023
|
return Array.from(this._generatedPackageStates.values()).map((s) => s.compilationController);
|
@@ -12126,7 +12173,7 @@ var SourceGenerationService = class extends ObservableObject7 {
|
|
12126
12173
|
} else {
|
12127
12174
|
return false;
|
12128
12175
|
}
|
12129
|
-
case
|
12176
|
+
case 1 /* Method */:
|
12130
12177
|
if (entity.subkind === "package") {
|
12131
12178
|
return true;
|
12132
12179
|
} else if (entity.subkind === "type") {
|
@@ -12134,33 +12181,37 @@ var SourceGenerationService = class extends ObservableObject7 {
|
|
12134
12181
|
} else {
|
12135
12182
|
return false;
|
12136
12183
|
}
|
12137
|
-
case
|
12138
|
-
|
12139
|
-
|
12140
|
-
|
12141
|
-
|
12142
|
-
|
12143
|
-
|
12184
|
+
case 2 /* Type */:
|
12185
|
+
switch (entity.typeEntityKind) {
|
12186
|
+
case 1 /* Structured */:
|
12187
|
+
case 3 /* Variant */:
|
12188
|
+
case 0 /* Method */: {
|
12189
|
+
if (entity.subkind === "package") {
|
12190
|
+
return true;
|
12191
|
+
}
|
12192
|
+
return true;
|
12193
|
+
}
|
12194
|
+
case 4 /* Alias */:
|
12195
|
+
return true;
|
12196
|
+
case 2 /* Parameter */:
|
12197
|
+
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getContainingEntity());
|
12198
|
+
default:
|
12199
|
+
Debug.never(entity);
|
12144
12200
|
}
|
12145
|
-
return true;
|
12146
|
-
case 14 /* AliasType */:
|
12147
|
-
return true;
|
12148
12201
|
case 3 /* Getter */:
|
12149
12202
|
case 4 /* Setter */:
|
12150
12203
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getOwningEntity());
|
12151
|
-
case
|
12152
|
-
|
12153
|
-
case 7 /*
|
12154
|
-
case 8 /*
|
12155
|
-
case 9 /*
|
12156
|
-
case 10 /* Destructor */:
|
12157
|
-
case 15 /* Operator */:
|
12204
|
+
case 5 /* Indexer */:
|
12205
|
+
case 6 /* DereferenceOperator */:
|
12206
|
+
case 7 /* Constructor */:
|
12207
|
+
case 8 /* Destructor */:
|
12208
|
+
case 9 /* Operator */:
|
12158
12209
|
return this.checkIfEntityOfKindIsPresentInGeneratedCode(entity.getContainer().getEntity());
|
12159
|
-
case
|
12210
|
+
case 10 /* PackageAlias */:
|
12160
12211
|
return false;
|
12161
|
-
case
|
12212
|
+
case 12 /* Package */:
|
12162
12213
|
return false;
|
12163
|
-
case
|
12214
|
+
case 11 /* TypeExtension */:
|
12164
12215
|
return true;
|
12165
12216
|
default:
|
12166
12217
|
Debug.never(entity);
|
@@ -12180,7 +12231,7 @@ var SourceGenerationService = class extends ObservableObject7 {
|
|
12180
12231
|
}
|
12181
12232
|
};
|
12182
12233
|
__decorateClass([
|
12183
|
-
|
12234
|
+
reaction6
|
12184
12235
|
], SourceGenerationService.prototype, "onOpenedSourceFilesChanged", 1);
|
12185
12236
|
var deleteGeneratedPackageTimeoutMs = 1e4;
|
12186
12237
|
var GeneratedPackageState = class {
|
@@ -12203,37 +12254,40 @@ var EntityFinder = class {
|
|
12203
12254
|
switch (entity.kind) {
|
12204
12255
|
case 0 /* Variable */:
|
12205
12256
|
return this.findVariableEntity(entity);
|
12206
|
-
case
|
12257
|
+
case 1 /* Method */:
|
12207
12258
|
return this.findMethodEntity(entity);
|
12208
|
-
case 2 /*
|
12209
|
-
|
12210
|
-
|
12211
|
-
|
12212
|
-
|
12259
|
+
case 2 /* Type */:
|
12260
|
+
switch (entity.typeEntityKind) {
|
12261
|
+
case 3 /* Variant */:
|
12262
|
+
case 1 /* Structured */:
|
12263
|
+
case 0 /* Method */: {
|
12264
|
+
if (entity.subkind === "package") {
|
12265
|
+
return this.findPackageTypeEntityByNameAndArity(this.getEntityName(entity), entity.getArity());
|
12266
|
+
}
|
12267
|
+
return void 0;
|
12268
|
+
}
|
12269
|
+
case 4 /* Alias */:
|
12270
|
+
return this.findPackageTypeEntityByNameAndArity(this.getEntityName(entity), entity.getArity());
|
12271
|
+
case 2 /* Parameter */:
|
12272
|
+
return this.findTypeParameterEntity(entity);
|
12273
|
+
default:
|
12274
|
+
Debug.never(entity);
|
12213
12275
|
}
|
12214
|
-
|
12215
|
-
}
|
12216
|
-
case 14 /* AliasType */:
|
12217
|
-
return this.findPackageTypeEntityByNameAndArity(this.getEntityName(entity), entity.getArity());
|
12218
|
-
case 9 /* Constructor */:
|
12276
|
+
case 7 /* Constructor */:
|
12219
12277
|
return this.findConstructorEntity(entity);
|
12220
|
-
case
|
12278
|
+
case 8 /* Destructor */:
|
12221
12279
|
return this.findDestructorEntity(entity);
|
12222
|
-
case
|
12280
|
+
case 9 /* Operator */:
|
12223
12281
|
return this.findOperatorEntity(entity);
|
12224
|
-
case
|
12282
|
+
case 5 /* Indexer */:
|
12225
12283
|
return this.findIndexerEntity(entity);
|
12226
|
-
case
|
12284
|
+
case 6 /* DereferenceOperator */:
|
12227
12285
|
return this.findDereferenceOperatorEntity(entity);
|
12228
|
-
case
|
12229
|
-
return this.findVariantEntity(entity);
|
12230
|
-
case 6 /* TypeParameter */:
|
12231
|
-
return this.findTypeParameterEntity(entity);
|
12232
|
-
case 13 /* PackageAlias */:
|
12286
|
+
case 10 /* PackageAlias */:
|
12233
12287
|
case 3 /* Getter */:
|
12234
12288
|
case 4 /* Setter */:
|
12235
|
-
case
|
12236
|
-
case
|
12289
|
+
case 12 /* Package */:
|
12290
|
+
case 11 /* TypeExtension */:
|
12237
12291
|
return void 0;
|
12238
12292
|
default:
|
12239
12293
|
Debug.never(entity);
|
@@ -12241,7 +12295,7 @@ var EntityFinder = class {
|
|
12241
12295
|
}
|
12242
12296
|
findVariableEntity(entity) {
|
12243
12297
|
if (entity.subkind === "package") {
|
12244
|
-
return this._packageEntity.getMembers().getNamedMembersByName(this.getEntityName(entity)).at(0)
|
12298
|
+
return this._packageEntity.getMembers().getNamedMembersByName(this.getEntityName(entity)).at(0);
|
12245
12299
|
} else if (entity.subkind === "type") {
|
12246
12300
|
const containingType = this.findEntity(entity.getContainer().getEntity());
|
12247
12301
|
if (containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType)) {
|
@@ -12262,7 +12316,7 @@ var EntityFinder = class {
|
|
12262
12316
|
findMethodEntity(entity) {
|
12263
12317
|
switch (entity.subkind) {
|
12264
12318
|
case "package": {
|
12265
|
-
const members = this._packageEntity.getMembers().getNamedMembersByName(this.getEntityName(entity)).filter((m) => m.kind ===
|
12319
|
+
const members = this._packageEntity.getMembers().getNamedMembersByName(this.getEntityName(entity)).filter((m) => m.kind === 1 /* Method */);
|
12266
12320
|
if (members.length === 0) {
|
12267
12321
|
return void 0;
|
12268
12322
|
} else if (members.length === 1) {
|
@@ -12282,7 +12336,7 @@ var EntityFinder = class {
|
|
12282
12336
|
if (!(containingType !== void 0 && isTypeEntity(containingType) && isTypeEntityWithMembers(containingType))) {
|
12283
12337
|
return void 0;
|
12284
12338
|
}
|
12285
|
-
const members = containingType.getMembers().getNamedMembersByName(this.getEntityName(entity)).filter((m) => m.kind ===
|
12339
|
+
const members = containingType.getMembers().getNamedMembersByName(this.getEntityName(entity)).filter((m) => m.kind === 1 /* Method */);
|
12286
12340
|
if (members.length === 0) {
|
12287
12341
|
return void 0;
|
12288
12342
|
} else if (members.length === 1) {
|
@@ -12385,13 +12439,6 @@ var EntityFinder = class {
|
|
12385
12439
|
return void 0;
|
12386
12440
|
}
|
12387
12441
|
}
|
12388
|
-
findVariantEntity(entity) {
|
12389
|
-
const containingType = this.findEntity(entity.getContainingEntity());
|
12390
|
-
if (!(containingType !== void 0 && containingType.kind === 2 /* VariantType */)) {
|
12391
|
-
return void 0;
|
12392
|
-
}
|
12393
|
-
return containingType.getVariants().getByName(this.getEntityName(entity))[0];
|
12394
|
-
}
|
12395
12442
|
findTypeParameterEntity(entity) {
|
12396
12443
|
const containingEntity = this.findEntity(entity.getContainingEntity());
|
12397
12444
|
const index = entity.getContainingEntity().getTypeParameters().indexOf(entity);
|
@@ -12402,34 +12449,33 @@ var EntityFinder = class {
|
|
12402
12449
|
}
|
12403
12450
|
}
|
12404
12451
|
findPackageTypeEntityByNameAndArity(name, arity) {
|
12405
|
-
return this._packageEntity.getMembers().getNamedMembersByName(name).filter((m) => m.kind ===
|
12452
|
+
return this._packageEntity.getMembers().getNamedMembersByName(name).filter((m) => m.kind === 2 /* Type */).find((m) => m.getArity() === arity);
|
12406
12453
|
}
|
12407
12454
|
ifEntityWithParametersThenParameters(entity) {
|
12408
12455
|
switch (entity.kind) {
|
12409
|
-
case
|
12456
|
+
case 1 /* Method */:
|
12410
12457
|
return entity.getValueParameters();
|
12411
|
-
case
|
12458
|
+
case 5 /* Indexer */:
|
12412
12459
|
return entity.getValueParameters();
|
12413
|
-
case
|
12460
|
+
case 7 /* Constructor */:
|
12414
12461
|
return entity.getValueParameters();
|
12415
|
-
case
|
12462
|
+
case 8 /* Destructor */:
|
12416
12463
|
return entity.getValueParameters();
|
12417
|
-
case
|
12418
|
-
|
12419
|
-
|
12464
|
+
case 2 /* Type */: {
|
12465
|
+
if (entity.typeEntityKind === 0 /* Method */) {
|
12466
|
+
return entity.getValueParameters();
|
12467
|
+
}
|
12468
|
+
return void 0;
|
12469
|
+
}
|
12470
|
+
case 9 /* Operator */:
|
12420
12471
|
return entity.getValueParameters();
|
12421
12472
|
case 0 /* Variable */:
|
12422
|
-
case 1 /* Variant */:
|
12423
|
-
case 2 /* VariantType */:
|
12424
12473
|
case 3 /* Getter */:
|
12425
12474
|
case 4 /* Setter */:
|
12426
|
-
case
|
12427
|
-
case 12 /*
|
12428
|
-
case
|
12429
|
-
case
|
12430
|
-
case 16 /* Package */:
|
12431
|
-
case 17 /* TypeExtension */:
|
12432
|
-
case 8 /* DereferenceOperator */:
|
12475
|
+
case 10 /* PackageAlias */:
|
12476
|
+
case 12 /* Package */:
|
12477
|
+
case 11 /* TypeExtension */:
|
12478
|
+
case 6 /* DereferenceOperator */:
|
12433
12479
|
return void 0;
|
12434
12480
|
default:
|
12435
12481
|
Debug.never(entity);
|
@@ -12437,29 +12483,25 @@ var EntityFinder = class {
|
|
12437
12483
|
}
|
12438
12484
|
ifEntityWithTypeParametersThenParameters(entity) {
|
12439
12485
|
switch (entity.kind) {
|
12440
|
-
case
|
12486
|
+
case 1 /* Method */:
|
12441
12487
|
return entity.getTypeParameters();
|
12442
|
-
case
|
12443
|
-
|
12444
|
-
|
12445
|
-
|
12446
|
-
|
12447
|
-
|
12448
|
-
case
|
12449
|
-
|
12450
|
-
case
|
12451
|
-
case
|
12452
|
-
case 7 /* Indexer */:
|
12453
|
-
case 8 /* DereferenceOperator */:
|
12488
|
+
case 2 /* Type */: {
|
12489
|
+
if (entity.typeEntityKind !== 2 /* Parameter */) {
|
12490
|
+
return entity.getTypeParameters();
|
12491
|
+
}
|
12492
|
+
return void 0;
|
12493
|
+
}
|
12494
|
+
case 8 /* Destructor */:
|
12495
|
+
case 7 /* Constructor */:
|
12496
|
+
case 5 /* Indexer */:
|
12497
|
+
case 6 /* DereferenceOperator */:
|
12454
12498
|
case 0 /* Variable */:
|
12455
|
-
case 1 /* Variant */:
|
12456
12499
|
case 3 /* Getter */:
|
12457
12500
|
case 4 /* Setter */:
|
12458
|
-
case
|
12459
|
-
case
|
12460
|
-
case
|
12461
|
-
case
|
12462
|
-
case 15 /* Operator */:
|
12501
|
+
case 10 /* PackageAlias */:
|
12502
|
+
case 12 /* Package */:
|
12503
|
+
case 11 /* TypeExtension */:
|
12504
|
+
case 9 /* Operator */:
|
12463
12505
|
return void 0;
|
12464
12506
|
default:
|
12465
12507
|
Debug.never(entity);
|
@@ -12586,7 +12628,7 @@ var LanguageServer = class {
|
|
12586
12628
|
Logger.info("\u041D\u0430\u0447\u0430\u0442\u0430 \u0438\u043D\u0438\u0446\u0438\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F \u0441\u0435\u0440\u0432\u0438\u0441\u043E\u0432.");
|
12587
12629
|
const initializeStartTime = performance.now();
|
12588
12630
|
this._clientCapabilities = params.capabilities;
|
12589
|
-
setUserLocale("
|
12631
|
+
setUserLocale(params.initializationOptions?.localeOverride ?? params.locale ?? "en");
|
12590
12632
|
let workspaceFolderUris;
|
12591
12633
|
if (params.initializationOptions?.workspaceFoldersOverride !== void 0) {
|
12592
12634
|
workspaceFolderUris = params.initializationOptions.workspaceFoldersOverride.map((f) => this.convertVscodeUriToUri(URI2.parse(f.uri)));
|
@@ -13726,7 +13768,7 @@ ${e}`);
|
|
13726
13768
|
}
|
13727
13769
|
};
|
13728
13770
|
__decorateClass([
|
13729
|
-
|
13771
|
+
atomicBlock6
|
13730
13772
|
], LanguageServer.prototype, "onDidChangeWorkspaceFolders", 1);
|
13731
13773
|
var FileSystemSynchronizationMode;
|
13732
13774
|
((FileSystemSynchronizationMode2) => {
|