@artel/artc 0.6.26038 → 0.6.26039
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 +2 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +84 -52
- package/build/{chunk-NDVIUVPP.js → chunk-5VVFNKOH.js} +2 -2
- package/build/{chunk-VICRYDHJ.js → chunk-AEW4TILW.js} +1 -1
- package/build/{chunk-FT6HME2Z.js → chunk-LTJPPRSR.js} +17 -6
- package/build/types/analysis/a/Analyzer.d.ts +1 -0
- package/build/types/common/Name.d.ts +2 -2
- package/build/types/services/a/NodeSemanticInfo.d.ts +7 -0
- package/build/types/services/common/node-semantic-info/Types.d.ts +2 -7
- package/package.json +1 -1
package/build/Cli.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
CommandLineCompiler
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-5VVFNKOH.js";
|
|
5
|
+
import "./chunk-AEW4TILW.js";
|
|
6
6
|
import {
|
|
7
7
|
__async
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-LTJPPRSR.js";
|
|
9
9
|
|
|
10
10
|
// source/Cli.ts
|
|
11
11
|
function main() {
|
package/build/api/Api.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Compiler
|
|
3
|
-
} from "../chunk-
|
|
3
|
+
} from "../chunk-AEW4TILW.js";
|
|
4
4
|
import {
|
|
5
5
|
AccessKind,
|
|
6
6
|
AccessedFunction_entity,
|
|
@@ -310,7 +310,7 @@ import {
|
|
|
310
310
|
withoutQuotes,
|
|
311
311
|
withoutTemplateQuotes,
|
|
312
312
|
yieldTask
|
|
313
|
-
} from "../chunk-
|
|
313
|
+
} from "../chunk-LTJPPRSR.js";
|
|
314
314
|
export {
|
|
315
315
|
AccessKind,
|
|
316
316
|
AccessedFunction_entity,
|
package/build/api/ApiNodeJS.js
CHANGED
|
@@ -6,9 +6,9 @@ import {
|
|
|
6
6
|
PhysicalFileSystem,
|
|
7
7
|
PhysicalTypeScriptLibrariesProvider,
|
|
8
8
|
PrintingDiagnosticAcceptor
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-5VVFNKOH.js";
|
|
10
|
+
import "../chunk-AEW4TILW.js";
|
|
11
|
+
import "../chunk-LTJPPRSR.js";
|
|
12
12
|
export {
|
|
13
13
|
CommandLineCompiler,
|
|
14
14
|
FileSystemUri,
|
package/build/api/ApiServices.js
CHANGED
|
@@ -107,7 +107,7 @@ import {
|
|
|
107
107
|
sortModifiers,
|
|
108
108
|
traverseTreeAsync,
|
|
109
109
|
yieldTask
|
|
110
|
-
} from "../chunk-
|
|
110
|
+
} from "../chunk-LTJPPRSR.js";
|
|
111
111
|
|
|
112
112
|
// source/services/common/Types.ts
|
|
113
113
|
import * as ls from "vscode-languageserver";
|
|
@@ -3618,12 +3618,6 @@ var MatchResultParameterReferenceTarget = class {
|
|
|
3618
3618
|
this.kind = "match-result-value-parameter";
|
|
3619
3619
|
}
|
|
3620
3620
|
};
|
|
3621
|
-
var PackageReferenceTarget = class {
|
|
3622
|
-
constructor(package_) {
|
|
3623
|
-
this.package_ = package_;
|
|
3624
|
-
this.kind = "package";
|
|
3625
|
-
}
|
|
3626
|
-
};
|
|
3627
3621
|
var PackageNameTreeNodeReferenceTarget = class {
|
|
3628
3622
|
constructor(node) {
|
|
3629
3623
|
this.node = node;
|
|
@@ -3821,7 +3815,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3821
3815
|
result = new DefinitionNodeSemanticInfo(analyzer.entity.ofPackageImport(parent));
|
|
3822
3816
|
break;
|
|
3823
3817
|
case 9 /* PackageName */:
|
|
3824
|
-
result =
|
|
3818
|
+
result = this.ofPackageNameQualifier(analyzer, parent, node, options7);
|
|
3825
3819
|
break;
|
|
3826
3820
|
case 73 /* MemberAccessExpression */:
|
|
3827
3821
|
result = this.ofMember(analyzer, parent, options7);
|
|
@@ -3857,6 +3851,20 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3857
3851
|
}
|
|
3858
3852
|
return result;
|
|
3859
3853
|
}
|
|
3854
|
+
static ofPackageNameQualifier(analyzer, node, qualifier, options7) {
|
|
3855
|
+
let result;
|
|
3856
|
+
if (!options7.isForReferencesSearch || qualifier === node.segments.last()) {
|
|
3857
|
+
const packageImportInfo = analyzer.packageImports.getImportedPackage(node.parent);
|
|
3858
|
+
if (packageImportInfo?.entity !== void 0) {
|
|
3859
|
+
const target = new EntityReferenceTarget(packageImportInfo.entity, 0 /* Get */);
|
|
3860
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
|
3861
|
+
}
|
|
3862
|
+
}
|
|
3863
|
+
if (result !== void 0 && options7.includeBetterReferenceTargets) {
|
|
3864
|
+
result = this.getBetterReferenceTargetsOrPreserve(result);
|
|
3865
|
+
}
|
|
3866
|
+
return result;
|
|
3867
|
+
}
|
|
3860
3868
|
static ofMember(analyzer, node, options7) {
|
|
3861
3869
|
let result;
|
|
3862
3870
|
const meaning = analyzer.resolveMemberAccessExpression(node);
|
|
@@ -3953,7 +3961,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
3953
3961
|
break;
|
|
3954
3962
|
}
|
|
3955
3963
|
case "package-name-segment-access":
|
|
3956
|
-
result = this.ofPackageNameSegmentAccess(analyzer, meaning.packageTreeNode, node);
|
|
3964
|
+
result = this.ofPackageNameSegmentAccess(analyzer, meaning.packageTreeNode, node, options7);
|
|
3957
3965
|
break;
|
|
3958
3966
|
case "mixed-ambiguous-access": {
|
|
3959
3967
|
const targets = Query.from(meaning.entities).mapAndFilter((d) => new EntityReferenceTarget(d, 0 /* Get */)).toArray();
|
|
@@ -4002,14 +4010,18 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4002
4010
|
result = new ReferenceNodeSemanticInfo(createNonEmptyArray(targets), true);
|
|
4003
4011
|
}
|
|
4004
4012
|
} else if (resolvedQualifier.kind === "package-name-segment") {
|
|
4005
|
-
|
|
4006
|
-
|
|
4007
|
-
currentIndex
|
|
4008
|
-
|
|
4009
|
-
|
|
4010
|
-
|
|
4011
|
-
|
|
4012
|
-
|
|
4013
|
+
if (!options7.isForReferencesSearch || qualifierIndex === resolutionResult.resolvedQualifiers.length - 1) {
|
|
4014
|
+
let currentIndex = qualifierIndex;
|
|
4015
|
+
while (currentIndex + 1 < resolutionResult.resolvedQualifiers.length && resolutionResult.resolvedQualifiers[currentIndex + 1].kind === "package-name-segment") {
|
|
4016
|
+
currentIndex++;
|
|
4017
|
+
}
|
|
4018
|
+
const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
|
|
4019
|
+
if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
|
|
4020
|
+
const target = new EntityReferenceTarget(qualifier2.packageTreeNode.package, 0 /* Get */);
|
|
4021
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
|
4022
|
+
} else {
|
|
4023
|
+
result = void 0;
|
|
4024
|
+
}
|
|
4013
4025
|
} else {
|
|
4014
4026
|
result = void 0;
|
|
4015
4027
|
}
|
|
@@ -4078,14 +4090,18 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4078
4090
|
break;
|
|
4079
4091
|
}
|
|
4080
4092
|
case "package-name-segment": {
|
|
4081
|
-
|
|
4082
|
-
|
|
4083
|
-
currentIndex
|
|
4084
|
-
|
|
4085
|
-
|
|
4086
|
-
|
|
4087
|
-
|
|
4088
|
-
|
|
4093
|
+
if (!options7.isForReferencesSearch || qualifierIndex === resolutionResult.resolvedQualifiers.length - 1) {
|
|
4094
|
+
let currentIndex = qualifierIndex;
|
|
4095
|
+
while (currentIndex + 1 < resolutionResult.resolvedQualifiers.length && resolutionResult.resolvedQualifiers[currentIndex + 1].kind === "package-name-segment") {
|
|
4096
|
+
currentIndex++;
|
|
4097
|
+
}
|
|
4098
|
+
const qualifier2 = resolutionResult.resolvedQualifiers[currentIndex];
|
|
4099
|
+
if (qualifier2.kind === "package-name-segment" && qualifier2.packageTreeNode.package !== void 0) {
|
|
4100
|
+
const target = new EntityReferenceTarget(qualifier2.packageTreeNode.package, 0 /* Get */);
|
|
4101
|
+
result = new ReferenceNodeSemanticInfo([target], false);
|
|
4102
|
+
} else {
|
|
4103
|
+
result = void 0;
|
|
4104
|
+
}
|
|
4089
4105
|
} else {
|
|
4090
4106
|
result = void 0;
|
|
4091
4107
|
}
|
|
@@ -4186,7 +4202,7 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4186
4202
|
break;
|
|
4187
4203
|
}
|
|
4188
4204
|
case "package-name-segment-access": {
|
|
4189
|
-
result = this.ofPackageNameSegmentAccess(analyzer, meaning.packageTreeNode, node);
|
|
4205
|
+
result = this.ofPackageNameSegmentAccess(analyzer, meaning.packageTreeNode, node, options7);
|
|
4190
4206
|
break;
|
|
4191
4207
|
}
|
|
4192
4208
|
case "mixed-ambiguous-access": {
|
|
@@ -4470,21 +4486,28 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4470
4486
|
static ofOjectParameterDeclaration(analyzer, node, _objectKeyword) {
|
|
4471
4487
|
return new DefinitionNodeSemanticInfo(analyzer.entity.ofParameterDeclaration(node));
|
|
4472
4488
|
}
|
|
4473
|
-
static ofPackageNameSegmentAccess(analyzer, packageTreeNode, node) {
|
|
4489
|
+
static ofPackageNameSegmentAccess(analyzer, packageTreeNode, node, options7) {
|
|
4474
4490
|
let parent = node.getParentSkippingParenthesizedExpressions();
|
|
4491
|
+
let outermostPackageTreeNode = packageTreeNode;
|
|
4475
4492
|
while (parent.kind === 73 /* MemberAccessExpression */) {
|
|
4476
4493
|
const meaning = analyzer.resolveMemberAccessExpression(parent);
|
|
4477
4494
|
if (meaning.kind === "package-name-segment-access") {
|
|
4478
|
-
|
|
4495
|
+
outermostPackageTreeNode = meaning.packageTreeNode;
|
|
4479
4496
|
parent = parent.getParentSkippingParenthesizedExpressions();
|
|
4480
4497
|
} else {
|
|
4481
4498
|
break;
|
|
4482
4499
|
}
|
|
4483
4500
|
}
|
|
4484
|
-
if (
|
|
4501
|
+
if (outermostPackageTreeNode.package === void 0) {
|
|
4502
|
+
return void 0;
|
|
4503
|
+
}
|
|
4504
|
+
if (options7.isForReferencesSearch && outermostPackageTreeNode !== packageTreeNode) {
|
|
4485
4505
|
return void 0;
|
|
4486
4506
|
}
|
|
4487
|
-
return new ReferenceNodeSemanticInfo(
|
|
4507
|
+
return new ReferenceNodeSemanticInfo(
|
|
4508
|
+
[new EntityReferenceTarget(outermostPackageTreeNode.package, 0 /* Get */)],
|
|
4509
|
+
false
|
|
4510
|
+
);
|
|
4488
4511
|
}
|
|
4489
4512
|
static ofConstructorCallWithTypeAccess(analyzer, suitableType, typeCandidates, suitableOrSingleConstructor, candidates, options7) {
|
|
4490
4513
|
if (options7.preferredTargetOfExplicitConstructorCall === "type-declaration") {
|
|
@@ -4732,7 +4755,11 @@ var NodeSemanticInfoServiceA = class {
|
|
|
4732
4755
|
// source/services/common/Utils.ts
|
|
4733
4756
|
function getEntitySourceLocations(analyzer, entity) {
|
|
4734
4757
|
if (entity.kind === 7 /* Package */) {
|
|
4735
|
-
|
|
4758
|
+
const definition = entity.getDefinition();
|
|
4759
|
+
if (definition.kind !== 0 /* Source */) {
|
|
4760
|
+
return void 0;
|
|
4761
|
+
}
|
|
4762
|
+
return definition.package.sourceFiles.map((f) => new SourceLocation(f, Range.empty(0)));
|
|
4736
4763
|
}
|
|
4737
4764
|
let result;
|
|
4738
4765
|
if (entity.kind === 0 /* Variable */) {
|
|
@@ -5001,11 +5028,9 @@ var DefinitionService = class {
|
|
|
5001
5028
|
return this.getSourceLocationsOfVariableEntity(analyzer, target.parameter.entity);
|
|
5002
5029
|
case "type-value-parameter":
|
|
5003
5030
|
return this.getSourceLocationsOfVariableEntity(analyzer, target.parameter.getEntity());
|
|
5004
|
-
case "package":
|
|
5005
|
-
return [new SourceLocation(sourceFile, range)];
|
|
5006
5031
|
case "package-name-tree-node":
|
|
5007
5032
|
if (target.node.package !== void 0) {
|
|
5008
|
-
return
|
|
5033
|
+
return getEntitySourceLocations(analyzer, target.node.package);
|
|
5009
5034
|
}
|
|
5010
5035
|
return void 0;
|
|
5011
5036
|
case "type-context": {
|
|
@@ -5035,8 +5060,6 @@ var DefinitionService = class {
|
|
|
5035
5060
|
return target.func.getEntity();
|
|
5036
5061
|
case "match-result-value-parameter":
|
|
5037
5062
|
return target.parameter.entity;
|
|
5038
|
-
case "package":
|
|
5039
|
-
return target.package_;
|
|
5040
5063
|
case "package-name-tree-node":
|
|
5041
5064
|
return target.node.package;
|
|
5042
5065
|
case "type-context":
|
|
@@ -5099,7 +5122,6 @@ var DefinitionService = class {
|
|
|
5099
5122
|
case "type-dereference-operator":
|
|
5100
5123
|
case "accessed-function":
|
|
5101
5124
|
case "type-indexer":
|
|
5102
|
-
case "package":
|
|
5103
5125
|
case "package-name-tree-node":
|
|
5104
5126
|
break;
|
|
5105
5127
|
default:
|
|
@@ -5152,7 +5174,8 @@ var DefinitionServiceA = class extends DefinitionService {
|
|
|
5152
5174
|
}
|
|
5153
5175
|
const options7 = {
|
|
5154
5176
|
includeBetterReferenceTargets: true,
|
|
5155
|
-
preferredTargetOfExplicitConstructorCall: "constructor-declaration"
|
|
5177
|
+
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5178
|
+
isForReferencesSearch: false
|
|
5156
5179
|
};
|
|
5157
5180
|
const semanticInfo = NodeSemanticInfoServiceA.ofTokenOrKeyword(analyzer.dialectA, tokenOrKeyword, options7);
|
|
5158
5181
|
if (semanticInfo === void 0) {
|
|
@@ -5387,8 +5410,6 @@ var HoverService = class {
|
|
|
5387
5410
|
const declaration = new ParameterDeclaration_typeMember(firstTarget.parameter);
|
|
5388
5411
|
return new Hover(this.displayService.displayParameterDeclaration(declaration), range);
|
|
5389
5412
|
}
|
|
5390
|
-
case "package":
|
|
5391
|
-
return new Hover(this.displayService.displayPackage(firstTarget.package_), range);
|
|
5392
5413
|
case "package-name-tree-node":
|
|
5393
5414
|
return new Hover(this.displayService.displayPackageNameTreeNode(firstTarget.node), range);
|
|
5394
5415
|
case "type-context": {
|
|
@@ -5437,7 +5458,8 @@ var HoverServiceA = class extends HoverService {
|
|
|
5437
5458
|
}
|
|
5438
5459
|
const options7 = {
|
|
5439
5460
|
includeBetterReferenceTargets: false,
|
|
5440
|
-
preferredTargetOfExplicitConstructorCall: "constructor-declaration"
|
|
5461
|
+
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5462
|
+
isForReferencesSearch: false
|
|
5441
5463
|
};
|
|
5442
5464
|
const semanticInfo = NodeSemanticInfoServiceA.ofTokenOrKeyword(analyzer.dialectA, tokenOrKeyword, options7);
|
|
5443
5465
|
if (semanticInfo === void 0) {
|
|
@@ -5518,8 +5540,6 @@ var ReferencesSearchUtils = class {
|
|
|
5518
5540
|
return new DefinitionInfo(t.func.getEntity(), 0 /* Read */);
|
|
5519
5541
|
case "match-result-value-parameter":
|
|
5520
5542
|
return new DefinitionInfo(t.parameter.entity, 0 /* Read */);
|
|
5521
|
-
case "package":
|
|
5522
|
-
return new DefinitionInfo(t.package_, 0 /* Read */);
|
|
5523
5543
|
case "type-context": {
|
|
5524
5544
|
const entity = t.type.getEntity();
|
|
5525
5545
|
if (entity !== void 0) {
|
|
@@ -5561,12 +5581,14 @@ var DefinitionInfoFinderA = class {
|
|
|
5561
5581
|
if (options7.onlyNamed) {
|
|
5562
5582
|
semanticInfoOptions = {
|
|
5563
5583
|
includeBetterReferenceTargets: true,
|
|
5564
|
-
preferredTargetOfExplicitConstructorCall: "type-declaration"
|
|
5584
|
+
preferredTargetOfExplicitConstructorCall: "type-declaration",
|
|
5585
|
+
isForReferencesSearch: false
|
|
5565
5586
|
};
|
|
5566
5587
|
} else {
|
|
5567
5588
|
semanticInfoOptions = {
|
|
5568
5589
|
includeBetterReferenceTargets: true,
|
|
5569
|
-
preferredTargetOfExplicitConstructorCall: "constructor-declaration"
|
|
5590
|
+
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5591
|
+
isForReferencesSearch: false
|
|
5570
5592
|
};
|
|
5571
5593
|
}
|
|
5572
5594
|
const semanticInfo = NodeSemanticInfoServiceA.ofTokenOrKeyword(
|
|
@@ -5656,12 +5678,14 @@ var ReferencesFinderA = class extends ReferencesFinder {
|
|
|
5656
5678
|
if (TypeMemberEntity.isConstructor(firstDefinition)) {
|
|
5657
5679
|
semanticInfoOptions = {
|
|
5658
5680
|
preferredTargetOfExplicitConstructorCall: "constructor-declaration",
|
|
5659
|
-
includeBetterReferenceTargets: true
|
|
5681
|
+
includeBetterReferenceTargets: true,
|
|
5682
|
+
isForReferencesSearch: true
|
|
5660
5683
|
};
|
|
5661
5684
|
} else {
|
|
5662
5685
|
semanticInfoOptions = {
|
|
5663
5686
|
preferredTargetOfExplicitConstructorCall: "type-declaration",
|
|
5664
|
-
includeBetterReferenceTargets: true
|
|
5687
|
+
includeBetterReferenceTargets: true,
|
|
5688
|
+
isForReferencesSearch: true
|
|
5665
5689
|
};
|
|
5666
5690
|
}
|
|
5667
5691
|
yield traverseTreeAsync(
|
|
@@ -6017,6 +6041,9 @@ var ReferencesService = class {
|
|
|
6017
6041
|
}
|
|
6018
6042
|
}
|
|
6019
6043
|
}
|
|
6044
|
+
if (definition.value.kind === 7 /* Package */) {
|
|
6045
|
+
result.canBeIdentifier = true;
|
|
6046
|
+
}
|
|
6020
6047
|
return result;
|
|
6021
6048
|
}
|
|
6022
6049
|
// TODO: вынести эту логику в сервис, зависящий от диалекта. В диалекта А конструктор нельзя переименовать,
|
|
@@ -6160,7 +6187,6 @@ var RenameService = class {
|
|
|
6160
6187
|
canBeRenamed = this.entityCanBeRenamed(analyzer, target.parameter.entity);
|
|
6161
6188
|
break;
|
|
6162
6189
|
case "type-dereference-operator":
|
|
6163
|
-
case "package":
|
|
6164
6190
|
case "type-context":
|
|
6165
6191
|
case "type-indexer":
|
|
6166
6192
|
case "package-name-tree-node":
|
|
@@ -6178,6 +6204,9 @@ var RenameService = class {
|
|
|
6178
6204
|
}
|
|
6179
6205
|
}
|
|
6180
6206
|
entityCanBeRenamed(analyzer, entity) {
|
|
6207
|
+
if (entity.kind === 7 /* Package */) {
|
|
6208
|
+
return false;
|
|
6209
|
+
}
|
|
6181
6210
|
const sourceLocations = getEntitySourceLocations(analyzer, entity);
|
|
6182
6211
|
if (sourceLocations === void 0 || sourceLocations.length === 0) {
|
|
6183
6212
|
return false;
|
|
@@ -6200,13 +6229,15 @@ var RenameServiceA = class extends RenameService {
|
|
|
6200
6229
|
if (isIdentifier(tokenOrKeyword.value)) {
|
|
6201
6230
|
const options7 = {
|
|
6202
6231
|
includeBetterReferenceTargets: false,
|
|
6203
|
-
preferredTargetOfExplicitConstructorCall: "type-declaration"
|
|
6232
|
+
preferredTargetOfExplicitConstructorCall: "type-declaration",
|
|
6233
|
+
isForReferencesSearch: false
|
|
6204
6234
|
};
|
|
6205
6235
|
semanticInfo = NodeSemanticInfoServiceA.ofNonKeywordIdentifier(analyzer.dialectA, tokenOrKeyword.value, options7);
|
|
6206
6236
|
} else if (tokenOrKeyword.isKeyword(7 /* Object */) && tokenOrKeyword.parent.kind === 84 /* ObjectExpression */) {
|
|
6207
6237
|
const options7 = {
|
|
6208
6238
|
includeBetterReferenceTargets: false,
|
|
6209
|
-
preferredTargetOfExplicitConstructorCall: "type-declaration"
|
|
6239
|
+
preferredTargetOfExplicitConstructorCall: "type-declaration",
|
|
6240
|
+
isForReferencesSearch: false
|
|
6210
6241
|
};
|
|
6211
6242
|
semanticInfo = NodeSemanticInfoServiceA.ofObjectExpression(analyzer.dialectA, tokenOrKeyword.parent, options7);
|
|
6212
6243
|
}
|
|
@@ -10600,7 +10631,7 @@ var SourceGenerationService = class extends RxObject7 {
|
|
|
10600
10631
|
case 5 /* PackageAlias */:
|
|
10601
10632
|
return false;
|
|
10602
10633
|
case 7 /* Package */:
|
|
10603
|
-
return
|
|
10634
|
+
return true;
|
|
10604
10635
|
case 6 /* TypeExtension */:
|
|
10605
10636
|
return true;
|
|
10606
10637
|
case 8 /* TextTranslation */:
|
|
@@ -10698,8 +10729,9 @@ var EntityFinder = class {
|
|
|
10698
10729
|
return this.findIndexerEntity(entity);
|
|
10699
10730
|
case 4 /* DereferenceOperator */:
|
|
10700
10731
|
return this.findDereferenceOperatorEntity(entity);
|
|
10701
|
-
case 5 /* PackageAlias */:
|
|
10702
10732
|
case 7 /* Package */:
|
|
10733
|
+
return this.packageEntity;
|
|
10734
|
+
case 5 /* PackageAlias */:
|
|
10703
10735
|
case 6 /* TypeExtension */:
|
|
10704
10736
|
return void 0;
|
|
10705
10737
|
case 8 /* TextTranslation */:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Compiler
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-AEW4TILW.js";
|
|
4
4
|
import {
|
|
5
5
|
ArtelVersion,
|
|
6
6
|
Cached,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
__async,
|
|
17
17
|
performanceMeasurementStageNames,
|
|
18
18
|
performanceMeasurementStages
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LTJPPRSR.js";
|
|
20
20
|
|
|
21
21
|
// source/executor/FileSystemUri.ts
|
|
22
22
|
import { platform } from "os";
|
|
@@ -780,7 +780,7 @@ var UniqueWithComparatorQuery = class extends Query {
|
|
|
780
780
|
};
|
|
781
781
|
|
|
782
782
|
// source/common/Constants.ts
|
|
783
|
-
var ArtelVersion = true ? "0.6.
|
|
783
|
+
var ArtelVersion = true ? "0.6.26039" : "";
|
|
784
784
|
var ArtelSourceFileExtensions = [".\u0430\u0440\u0442", ".\u0430\u0440\u0442\u0435\u043B\u044C", ".art", ".artel", ".\u0430\u0440\u0442\u043C", ".\u0430\u0440\u0442\u0435\u043B\u044C\u043C", ".artm", ".artelm"];
|
|
785
785
|
var ArtelSourceFileExtensionSet = new Set(ArtelSourceFileExtensions);
|
|
786
786
|
var ArtelSourceAndConfigurationFileExtensionSet = new Set(ArtelSourceFileExtensionSet).add(".json");
|
|
@@ -2632,9 +2632,12 @@ var Name = class _Name {
|
|
|
2632
2632
|
* @param unescapedOriginalWithoutQuotes Исходное имя без апострофов, одиночных кавычек и экранирования.
|
|
2633
2633
|
* @param flags Флаги имени (`NameFlags`). `NameFlags.None` по умолчанию.
|
|
2634
2634
|
*/
|
|
2635
|
-
constructor(unescapedOriginalWithoutQuotes, flags = 0 /* None
|
|
2635
|
+
constructor(unescapedOriginalWithoutQuotes, flags = 0 /* None */, specialKey) {
|
|
2636
2636
|
this.unescapedOriginalWithoutQuotes = unescapedOriginalWithoutQuotes;
|
|
2637
|
-
if (
|
|
2637
|
+
if (specialKey !== void 0) {
|
|
2638
|
+
this.key = specialKey;
|
|
2639
|
+
flags |= 8 /* SpecialName */;
|
|
2640
|
+
} else if ((flags & 8 /* SpecialName */) !== 0) {
|
|
2638
2641
|
this.key = unescapedOriginalWithoutQuotes;
|
|
2639
2642
|
} else {
|
|
2640
2643
|
const isPlainIdentifier = Scanner.isPlainIdentifier(unescapedOriginalWithoutQuotes);
|
|
@@ -2670,7 +2673,7 @@ var Name = class _Name {
|
|
|
2670
2673
|
getDisplayText() {
|
|
2671
2674
|
return this.unescapedOriginal;
|
|
2672
2675
|
}
|
|
2673
|
-
static parse(original, initialFlags = 0 /* None
|
|
2676
|
+
static parse(original, initialFlags = 0 /* None */, specialKey) {
|
|
2674
2677
|
let flags = initialFlags;
|
|
2675
2678
|
let firstCharIndex = 0;
|
|
2676
2679
|
let lastCharIndex = original.length - 1;
|
|
@@ -2685,7 +2688,7 @@ var Name = class _Name {
|
|
|
2685
2688
|
if ((flags & 2 /* QuotedName */) !== 0) {
|
|
2686
2689
|
unescapedOriginalWithoutQuotes = unescapeText(unescapedOriginalWithoutQuotes);
|
|
2687
2690
|
}
|
|
2688
|
-
return new _Name(unescapedOriginalWithoutQuotes, flags);
|
|
2691
|
+
return new _Name(unescapedOriginalWithoutQuotes, flags, specialKey);
|
|
2689
2692
|
}
|
|
2690
2693
|
static toUnescapedOriginal(unescapedOriginalWithoutQuotes, flags) {
|
|
2691
2694
|
let result = unescapedOriginalWithoutQuotes;
|
|
@@ -43531,6 +43534,9 @@ var TranslatedParameterEntity = class {
|
|
|
43531
43534
|
);
|
|
43532
43535
|
this.originalEntity = originalEntity;
|
|
43533
43536
|
this.translation = translation;
|
|
43537
|
+
if (this.isObjectParameter() && name.key !== specialNameKeys.objectParameter) {
|
|
43538
|
+
name = new Name(name.unescapedOriginal, name.flags, specialNameKeys.objectParameter);
|
|
43539
|
+
}
|
|
43534
43540
|
this.name = name;
|
|
43535
43541
|
this.containingEntity = translatedContainingEntity;
|
|
43536
43542
|
}
|
|
@@ -75850,7 +75856,7 @@ var Analyzer3 = class extends Analyzer {
|
|
|
75850
75856
|
let result = this.nameByIdentifierText.get(node.value);
|
|
75851
75857
|
if (result === void 0) {
|
|
75852
75858
|
if ((node.flags & 512 /* ObjectParameterName */) !== 0) {
|
|
75853
|
-
result = Name.parse(
|
|
75859
|
+
result = Name.parse(node.value, 8 /* SpecialName */, specialNameKeys.objectParameter);
|
|
75854
75860
|
} else {
|
|
75855
75861
|
result = Name.parse(node.value, 0 /* None */);
|
|
75856
75862
|
}
|
|
@@ -78921,6 +78927,11 @@ var PackageImports = class {
|
|
|
78921
78927
|
}
|
|
78922
78928
|
return result;
|
|
78923
78929
|
}
|
|
78930
|
+
getImportedPackage(node) {
|
|
78931
|
+
const sourceFile = this.analyzer.getProjectSourceFileA(node.sourceFile);
|
|
78932
|
+
const resolvedImports = this.resolvePackageImports(sourceFile);
|
|
78933
|
+
return resolvedImports.get(node);
|
|
78934
|
+
}
|
|
78924
78935
|
getPackagesAvailableForImport(pkg2) {
|
|
78925
78936
|
let result = this.packagesAvailableForImport.get(pkg2);
|
|
78926
78937
|
if (result === void 0) {
|
|
@@ -451,6 +451,7 @@ declare class PackageImports {
|
|
|
451
451
|
private readonly importedPackageNameTrees;
|
|
452
452
|
constructor(analyzer: Analyzer);
|
|
453
453
|
resolvePackageImports(sourceFile: project.SourceFileA): ReadonlyMap<tree.PackageImport, ResolvedPackageImport>;
|
|
454
|
+
getImportedPackage(node: tree.PackageImport): ResolvedPackageImport | undefined;
|
|
454
455
|
getPackagesAvailableForImport(pkg: project.SourcePackageA): readonly e.PackageEntity[];
|
|
455
456
|
getUniqueImportedPackages(sourceFile: project.SourceFileA): readonly PackageImportInfo[];
|
|
456
457
|
getImportedPackageNameTree(node: tree.SourceFile): ImportedPackageNameTree;
|
|
@@ -46,12 +46,12 @@ export declare class Name implements Displayable {
|
|
|
46
46
|
* @param unescapedOriginalWithoutQuotes Исходное имя без апострофов, одиночных кавычек и экранирования.
|
|
47
47
|
* @param flags Флаги имени (`NameFlags`). `NameFlags.None` по умолчанию.
|
|
48
48
|
*/
|
|
49
|
-
constructor(unescapedOriginalWithoutQuotes: string, flags?: NameFlags);
|
|
49
|
+
constructor(unescapedOriginalWithoutQuotes: string, flags?: NameFlags, specialKey?: string);
|
|
50
50
|
toBackingVariableName(): Name;
|
|
51
51
|
considerEqual(other: Name): boolean;
|
|
52
52
|
toString(): string;
|
|
53
53
|
getPreferredUnescapedOriginal(requiresQuotes?: boolean): string;
|
|
54
54
|
getDisplayText(): string;
|
|
55
|
-
static parse(original: string, initialFlags?: NameFlags): Name;
|
|
55
|
+
static parse(original: string, initialFlags?: NameFlags, specialKey?: string): Name;
|
|
56
56
|
private static toUnescapedOriginal;
|
|
57
57
|
}
|
|
@@ -7,6 +7,7 @@ export declare class NodeSemanticInfoServiceA {
|
|
|
7
7
|
static ofRegularOrBlockFunctionLiteral(analyzer: Analyzer, node: tree.RegularOrBlockFunctionLiteral): NodeSemanticInfo | undefined;
|
|
8
8
|
static ofDefaultMatchExpression(analyzer: Analyzer, node: tree.DefaultMatchExpression): NodeSemanticInfo | undefined;
|
|
9
9
|
static ofNonKeywordIdentifier(analyzer: Analyzer, node: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
|
|
10
|
+
static ofPackageNameQualifier(analyzer: Analyzer, node: tree.PackageName, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
|
|
10
11
|
static ofMember(analyzer: Analyzer, node: tree.MemberAccessExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
|
|
11
12
|
static ofQualifiedNameQualifier(analyzer: Analyzer, node: tree.QualifiedName, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
|
|
12
13
|
static ofNamedTypeSpecifierNameQualifier(analyzer: Analyzer, node: tree.NamedTypeSpecifier, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
|
|
@@ -42,4 +43,10 @@ export declare class NodeSemanticInfoServiceA {
|
|
|
42
43
|
export type NodeSemanticInfoServiceOptions = {
|
|
43
44
|
readonly preferredTargetOfExplicitConstructorCall: 'type-declaration' | 'constructor-declaration';
|
|
44
45
|
readonly includeBetterReferenceTargets: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* Для всех сегментов имени пакета `NodeSemanticInfoService` возвращает одинаковую семантическую информацию - ссылку
|
|
48
|
+
* на пакет (`PackageEntity`). Если флаг установлен, сервис вернёт семантическую информацию только для последнего
|
|
49
|
+
* сегмента, чтобы учесть имя при поиске ссылок только один раз.
|
|
50
|
+
*/
|
|
51
|
+
readonly isForReferencesSearch: boolean;
|
|
45
52
|
};
|
|
@@ -2,7 +2,7 @@ import { MatchResultParameter } from '../../../analysis/a/ArgumentToParameterMat
|
|
|
2
2
|
import { AccessedFunction } from '../../../analysis/AccessedFunction.js';
|
|
3
3
|
import { PackageNameTreeNode } from '../../../analysis/ImportedPackageNameTree.js';
|
|
4
4
|
import { AccessKind, ReadonlyNonEmptyArray } from '../../../common/index.js';
|
|
5
|
-
import { AliasTypeEntity, Entity, FunctionEntity, FunctionTypeEntity,
|
|
5
|
+
import { AliasTypeEntity, Entity, FunctionEntity, FunctionTypeEntity, StructuredTypeEntity, Translation, TypeParameterEntity, VariableEntity, VariantTypeEntity } from '../../../entities/index.js';
|
|
6
6
|
import * as types from '../../../types/index.js';
|
|
7
7
|
export type NodeSemanticInfo = DefinitionNodeSemanticInfo | ReferenceNodeSemanticInfo | DefaultSwitchMatchNodeSemanticInfo;
|
|
8
8
|
export declare class DefinitionNodeSemanticInfo {
|
|
@@ -19,7 +19,7 @@ export declare class ReferenceNodeSemanticInfo {
|
|
|
19
19
|
get firstBetterTargetWithFallback(): ReferenceTarget;
|
|
20
20
|
constructor(targets: ReadonlyNonEmptyArray<ReferenceTarget>, isAmbiguous: boolean, betterTargets?: ReadonlyNonEmptyArray<ReferenceTarget> | undefined);
|
|
21
21
|
}
|
|
22
|
-
export type ReferenceTarget = EntityReferenceTarget | FieldReferenceTarget | TypeParameterReferenceTarget | DereferenceOperatorReferenceTarget | AccessedFunctionReferenceTarget | IndexerReferenceTarget | MatchResultParameterReferenceTarget |
|
|
22
|
+
export type ReferenceTarget = EntityReferenceTarget | FieldReferenceTarget | TypeParameterReferenceTarget | DereferenceOperatorReferenceTarget | AccessedFunctionReferenceTarget | IndexerReferenceTarget | MatchResultParameterReferenceTarget | PackageNameTreeNodeReferenceTarget | TypeContextReferenceTarget;
|
|
23
23
|
export declare class EntityReferenceTarget {
|
|
24
24
|
readonly entity: Entity;
|
|
25
25
|
readonly accessKind: AccessKind;
|
|
@@ -57,11 +57,6 @@ export declare class MatchResultParameterReferenceTarget {
|
|
|
57
57
|
readonly kind = "match-result-value-parameter";
|
|
58
58
|
constructor(parameter: MatchResultParameter, accessKind: AccessKind);
|
|
59
59
|
}
|
|
60
|
-
export declare class PackageReferenceTarget {
|
|
61
|
-
readonly package_: PackageEntity;
|
|
62
|
-
readonly kind = "package";
|
|
63
|
-
constructor(package_: PackageEntity);
|
|
64
|
-
}
|
|
65
60
|
export declare class PackageNameTreeNodeReferenceTarget {
|
|
66
61
|
readonly node: PackageNameTreeNode;
|
|
67
62
|
readonly kind = "package-name-tree-node";
|