@artel/artc 0.6.25255 → 0.6.25256

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.
Files changed (41) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +10 -6
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +42 -27
  5. package/build/{chunk-R2AFVF7W.js → chunk-CTEZ5IHI.js} +2 -2
  6. package/build/{chunk-Y23FSWAN.js → chunk-ER3TEZSN.js} +1239 -1066
  7. package/build/{chunk-SSG7MY2R.js → chunk-IHZZGWNS.js} +1 -1
  8. package/build/types/analysis/AccessedFunction.d.ts +10 -3
  9. package/build/types/analysis/Analyzer.d.ts +20 -24
  10. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +4 -4
  11. package/build/types/analysis/CallExpressionMeaning.d.ts +3 -3
  12. package/build/types/analysis/ConstructorCallResolver.d.ts +2 -2
  13. package/build/types/analysis/DiagnosticArgumentFactory.d.ts +3 -1
  14. package/build/types/analysis/DisplayableEntity.d.ts +12 -6
  15. package/build/types/analysis/FunctionAccessResolver.d.ts +4 -4
  16. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +3 -3
  17. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +3 -3
  18. package/build/types/analysis/OverloadResolver.d.ts +7 -7
  19. package/build/types/analysis/SourceFileMembers.d.ts +2 -0
  20. package/build/types/analysis/SubstitutedFunction.d.ts +18 -22
  21. package/build/types/analysis/TypeArgumentInferrer.d.ts +3 -3
  22. package/build/types/analysis/Visitor.d.ts +2 -2
  23. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +4 -0
  24. package/build/types/common/ArrayUtils.d.ts +2 -0
  25. package/build/types/common/Cached.d.ts +2 -0
  26. package/build/types/common/Lazy.d.ts +2 -0
  27. package/build/types/common/TreeQuery.d.ts +14 -47
  28. package/build/types/common/TreeTraversal.d.ts +1 -1
  29. package/build/types/common/index.d.ts +0 -1
  30. package/build/types/entities/PackageMembers.d.ts +1 -0
  31. package/build/types/entities/TypeEntityMembers.d.ts +2 -0
  32. package/build/types/entities/index.d.ts +1 -1
  33. package/build/types/services/DisplayService.d.ts +16 -10
  34. package/build/types/tree/BaseNode.d.ts +6 -0
  35. package/build/types/tree/Nodes.d.ts +3 -3
  36. package/build/types/types/IntersectionType.d.ts +1 -1
  37. package/build/types/types/Substitutions.d.ts +16 -4
  38. package/build/types/types/TypeMembers.d.ts +1 -1
  39. package/build/types/types/UnionType.d.ts +1 -1
  40. package/package.json +7 -1
  41. package/build/types/common/Errors.d.ts +0 -2
package/build/Cli.js CHANGED
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  CommandLineCompiler
4
- } from "./chunk-R2AFVF7W.js";
5
- import "./chunk-SSG7MY2R.js";
4
+ } from "./chunk-CTEZ5IHI.js";
5
+ import "./chunk-IHZZGWNS.js";
6
6
  import {
7
7
  __async
8
- } from "./chunk-Y23FSWAN.js";
8
+ } from "./chunk-ER3TEZSN.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-SSG7MY2R.js";
3
+ } from "../chunk-IHZZGWNS.js";
4
4
  import {
5
5
  AccessKind,
6
6
  AccessedFunctionValueParameter,
@@ -85,6 +85,7 @@ import {
85
85
  EntityOrPackageNameTreeNode_node,
86
86
  EnumerationVariableDeclarationEntity,
87
87
  ErrorVariableDeclarationEntity,
88
+ ExpressionAnalysisOptions,
88
89
  ExpressionCanBeUsedInForLoopCheckResult,
89
90
  ExpressionDenotesFunctionCheckResult,
90
91
  ExpressionDenotesOperatorCheckResult,
@@ -105,7 +106,6 @@ import {
105
106
  IndexedElementGetterDeclarationEntity,
106
107
  IndexedElementSetterDeclarationEntity,
107
108
  IndexerDeclarationEntity,
108
- InferenceOptions,
109
109
  InterfacePackageEntityInfo,
110
110
  Interner,
111
111
  IntrinsicConstructorEntity,
@@ -185,7 +185,8 @@ import {
185
185
  ProgramPackageConfiguration,
186
186
  Query,
187
187
  Range,
188
- RecursiveAnalysisError,
188
+ RecursiveCachedValueEvaluationError,
189
+ RecursiveLazyValueEvaluationError,
189
190
  RequiredJsLibraryConfig,
190
191
  RequiredJsLibraryConfigs,
191
192
  RequiredPackageConfig,
@@ -248,6 +249,7 @@ import {
248
249
  TypeMemberEntityContainer,
249
250
  TypeMemberLookup,
250
251
  TypeMemberLookupOptions,
252
+ TypeMemberQuery,
251
253
  TypeParameterConstraint,
252
254
  UnfinishedIntrinsicAnonymousFunctionTypeEntity,
253
255
  UnfinishedIntrinsicAnonymousStructuredTypeEntity,
@@ -338,7 +340,7 @@ import {
338
340
  withoutQuotes,
339
341
  withoutTemplateQuotes,
340
342
  yieldExecution
341
- } from "../chunk-Y23FSWAN.js";
343
+ } from "../chunk-ER3TEZSN.js";
342
344
  export {
343
345
  AccessKind,
344
346
  AccessedFunctionValueParameter,
@@ -424,6 +426,7 @@ export {
424
426
  EntityOrPackageNameTreeNode_node,
425
427
  EnumerationVariableDeclarationEntity,
426
428
  ErrorVariableDeclarationEntity,
429
+ ExpressionAnalysisOptions,
427
430
  ExpressionCanBeUsedInForLoopCheckResult,
428
431
  ExpressionDenotesFunctionCheckResult,
429
432
  ExpressionDenotesOperatorCheckResult,
@@ -443,7 +446,6 @@ export {
443
446
  IndexedElementGetterDeclarationEntity,
444
447
  IndexedElementSetterDeclarationEntity,
445
448
  IndexerDeclarationEntity,
446
- InferenceOptions,
447
449
  InterfacePackageEntityInfo,
448
450
  Interner,
449
451
  IntrinsicConstructorEntity,
@@ -520,7 +522,8 @@ export {
520
522
  ProgramPackageConfiguration,
521
523
  Query,
522
524
  Range,
523
- RecursiveAnalysisError,
525
+ RecursiveCachedValueEvaluationError,
526
+ RecursiveLazyValueEvaluationError,
524
527
  RequiredJsLibraryConfig,
525
528
  RequiredJsLibraryConfigs,
526
529
  RequiredPackageConfig,
@@ -583,6 +586,7 @@ export {
583
586
  TypeMemberEntityContainer,
584
587
  TypeMemberLookup,
585
588
  TypeMemberLookupOptions,
589
+ TypeMemberQuery,
586
590
  TypeParameterConstraint,
587
591
  UnfinishedIntrinsicAnonymousFunctionTypeEntity,
588
592
  UnfinishedIntrinsicAnonymousStructuredTypeEntity,
@@ -6,9 +6,9 @@ import {
6
6
  PhysicalFileSystem,
7
7
  PhysicalTypeScriptLibrariesProvider,
8
8
  PrintingDiagnosticAcceptor
9
- } from "../chunk-R2AFVF7W.js";
10
- import "../chunk-SSG7MY2R.js";
11
- import "../chunk-Y23FSWAN.js";
9
+ } from "../chunk-CTEZ5IHI.js";
10
+ import "../chunk-IHZZGWNS.js";
11
+ import "../chunk-ER3TEZSN.js";
12
12
  export {
13
13
  CommandLineCompiler,
14
14
  FileSystemUri,
@@ -29,6 +29,7 @@ import {
29
29
  DiagnosticCollector,
30
30
  DisplayService,
31
31
  Emitter,
32
+ ExpressionAnalysisOptions,
32
33
  FieldDeclaration,
33
34
  FieldGetterDeclaration,
34
35
  FieldOrVariantTranslation,
@@ -51,7 +52,6 @@ import {
51
52
  IndexerDeclaration_entity,
52
53
  IndexerDeclaration_typeMember,
53
54
  IndexerTranslation,
54
- InferenceOptions,
55
55
  IntersectionTypeSpecifier,
56
56
  JavaScriptInterfacePackageImplementationConfig,
57
57
  JsonConfigurationFileNameSet,
@@ -181,7 +181,7 @@ import {
181
181
  unwrapParenthesizedExpressions,
182
182
  visitChildren,
183
183
  yieldExecution
184
- } from "../chunk-Y23FSWAN.js";
184
+ } from "../chunk-ER3TEZSN.js";
185
185
 
186
186
  // source/services/CustomCommand.ts
187
187
  import * as ls from "vscode-languageserver";
@@ -2208,14 +2208,14 @@ function getTokenAtOffset(sourceFile, offset, searchInTrivia) {
2208
2208
  if (node.kind === 0 /* Token */) {
2209
2209
  result = node;
2210
2210
  } else {
2211
- visitChildren(node, cb);
2211
+ visitChildren(node, true, cb);
2212
2212
  }
2213
2213
  } else if (node === sourceFile.endOfFileToken && offset === node.rangeWithTrivia.end) {
2214
2214
  result = node;
2215
2215
  }
2216
2216
  }
2217
2217
  }
2218
- visitChildren(sourceFile, cb);
2218
+ visitChildren(sourceFile, true, cb);
2219
2219
  return result;
2220
2220
  }
2221
2221
  function getTokenOrKeywordsTouchingOffset(sourceFile, offset) {
@@ -2255,12 +2255,12 @@ function getFirstTokenTouchingOffset(sourceFile, offset) {
2255
2255
  if (node.kind === 0 /* Token */) {
2256
2256
  result = node;
2257
2257
  } else {
2258
- visitChildren(node, cb);
2258
+ visitChildren(node, true, cb);
2259
2259
  }
2260
2260
  }
2261
2261
  }
2262
2262
  }
2263
- visitChildren(sourceFile, cb);
2263
+ visitChildren(sourceFile, true, cb);
2264
2264
  return result;
2265
2265
  }
2266
2266
  var TokenOrKeyword = class {
@@ -3053,7 +3053,7 @@ var SimplifiedOverloadResolver = class _SimplifiedOverloadResolver {
3053
3053
  const targetParameterType = targetParameter.getType();
3054
3054
  const argumentType = analyzer.type.ofExpression(
3055
3055
  argument.expression,
3056
- new InferenceOptions(targetParameterType, false, false)
3056
+ new ExpressionAnalysisOptions(targetParameterType, false, false)
3057
3057
  );
3058
3058
  if (analyzer.isTypeAssignableTo(argumentType, targetParameterType)) {
3059
3059
  continue;
@@ -3170,7 +3170,7 @@ var CompletionService = class {
3170
3170
  get completionItemInfoContext() {
3171
3171
  return this._completionItemInfoContext.getOrInsertWith(
3172
3172
  () => new CompletionItemInfoContext(
3173
- new DisplayService(this._analyzer, this._locale, this._dialect),
3173
+ new DisplayService(this._analyzer, this._locale, this._dialect, this._sourceFile),
3174
3174
  this._locale,
3175
3175
  Query.from(getOrCreateKeywordDictionary(this._locale, this._dialect).values()).mapAndFilter((k) => k.keywordKind !== 0 /* Unknown */ ? k.value : void 0).uniqueToSet()
3176
3176
  )
@@ -3413,7 +3413,7 @@ var CompletionService = class {
3413
3413
  return { kind: "none" };
3414
3414
  }
3415
3415
  tryGetTopLevelTranslationCompletionContext(syntaxContext, tokenOrKeyword, semanticContext) {
3416
- const package_ = TreeQuery.fromNode(this._sourceFile.getSyntaxNode()).projectSourceFile(this._analyzer).package;
3416
+ const package_ = TreeQuery.getSourcePackage(this._sourceFile.getSyntaxNode(), this._analyzer);
3417
3417
  let translationPackage;
3418
3418
  if (package_.kind === "translation") {
3419
3419
  translationPackage = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(package_);
@@ -3467,7 +3467,7 @@ var CompletionService = class {
3467
3467
  return void 0;
3468
3468
  }
3469
3469
  tryGetTypeMemberTranslationCompletionContext(syntaxContext, tokenOrKeyword, semanticContext) {
3470
- const package_ = TreeQuery.fromNode(this._sourceFile.getSyntaxNode()).projectSourceFile(this._analyzer).package;
3470
+ const package_ = TreeQuery.getSourcePackage(this._sourceFile.getSyntaxNode(), this._analyzer);
3471
3471
  let translationPackage;
3472
3472
  if (package_.kind === "translation") {
3473
3473
  translationPackage = this._analyzer.getAnalyzedTranslationPackageIfTargetResolved(package_);
@@ -3574,7 +3574,7 @@ var CompletionService = class {
3574
3574
  }
3575
3575
  if (role.kind === "error-value") {
3576
3576
  const standardTypes = this._analyzer.getLocalizedStandardTypes(
3577
- TreeQuery.fromNode(role.errorStatement).locale(this._analyzer)
3577
+ TreeQuery.getLocale(role.errorStatement, this._analyzer)
3578
3578
  );
3579
3579
  return { targetTypes: [standardTypes.error, standardTypes.text], targetSignaturesParameters: void 0 };
3580
3580
  }
@@ -4031,7 +4031,12 @@ var CompletionService = class {
4031
4031
  }
4032
4032
  getTopLevelAliasListCompletionItemInfos(ctx) {
4033
4033
  let result;
4034
- const displayService_ = new DisplayService(this._analyzer, ctx.sourceLocale, this._dialect);
4034
+ const displayService_ = new DisplayService(
4035
+ this._analyzer,
4036
+ ctx.sourceLocale,
4037
+ this._dialect,
4038
+ this._sourceFile
4039
+ );
4035
4040
  if (ctx.translationKind === 1 /* PackageImport */) {
4036
4041
  let items;
4037
4042
  if (this._sourceFile.package.kind === "translation") {
@@ -4123,7 +4128,12 @@ var CompletionService = class {
4123
4128
  getTypeAliasMemberListItemInfos(ctx) {
4124
4129
  let result = Query.empty();
4125
4130
  if (ctx.typeEntity !== void 0) {
4126
- const displayService_ = new DisplayService(this._analyzer, ctx.sourceLocale, this._dialect);
4131
+ const displayService_ = new DisplayService(
4132
+ this._analyzer,
4133
+ ctx.sourceLocale,
4134
+ this._dialect,
4135
+ this._sourceFile
4136
+ );
4127
4137
  if (ctx.translationKind === 1 /* Method */) {
4128
4138
  result = Query.from(ctx.typeEntity.getMembers().getNamedMembers()).mapAndFilter((m) => {
4129
4139
  if (m.kind === 1 /* Function */) {
@@ -6620,7 +6630,7 @@ var NodeSemanticInfoService = class {
6620
6630
  return result;
6621
6631
  }
6622
6632
  static getContainingTranslationPackage(analyzer, node) {
6623
- const package_ = TreeQuery.fromNode(node).projectSourceFile(analyzer).package;
6633
+ const package_ = TreeQuery.getSourcePackage(node, analyzer);
6624
6634
  if (package_.kind === "translation") {
6625
6635
  return analyzer.getAnalyzedTranslationPackageIfTargetResolved(package_);
6626
6636
  }
@@ -6778,12 +6788,12 @@ function getEntitySourceLocations(analyzer, entity) {
6778
6788
  if (definition.kind === 0 /* Source */) {
6779
6789
  if (definition.value.kind === "single") {
6780
6790
  const range = definition.value.node.name.rangeWithoutTrivia;
6781
- const sourceFile = TreeQuery.fromNode(definition.value.node).projectSourceFile(analyzer);
6791
+ const sourceFile = TreeQuery.getSourceFile(definition.value.node, analyzer);
6782
6792
  result = [new SourceLocation(sourceFile, range)];
6783
6793
  } else if (definition.value.kind === "multi") {
6784
6794
  result = definition.value.nodes.map((d) => {
6785
6795
  const range = d.name.rangeWithoutTrivia;
6786
- const sourceFile = TreeQuery.fromNode(d).projectSourceFile(analyzer);
6796
+ const sourceFile = TreeQuery.getSourceFile(d, analyzer);
6787
6797
  return new SourceLocation(sourceFile, range);
6788
6798
  });
6789
6799
  } else {
@@ -6795,7 +6805,7 @@ function getEntitySourceLocations(analyzer, entity) {
6795
6805
  if (definition.kind === 0 /* Source */) {
6796
6806
  result = definition.nodes.map((d) => {
6797
6807
  const range = d.parameterClause.rangeWithoutTrivia;
6798
- const sourceFile = TreeQuery.fromNode(d).projectSourceFile(analyzer);
6808
+ const sourceFile = TreeQuery.getSourceFile(d, analyzer);
6799
6809
  return new SourceLocation(sourceFile, range);
6800
6810
  });
6801
6811
  }
@@ -6804,7 +6814,7 @@ function getEntitySourceLocations(analyzer, entity) {
6804
6814
  if (definition.kind === 0 /* Source */) {
6805
6815
  result = definition.nodes.map((d) => {
6806
6816
  const range = d.caretToken.rangeWithoutTrivia;
6807
- const sourceFile = TreeQuery.fromNode(d).projectSourceFile(analyzer);
6817
+ const sourceFile = TreeQuery.getSourceFile(d, analyzer);
6808
6818
  return new SourceLocation(sourceFile, range);
6809
6819
  });
6810
6820
  }
@@ -6813,7 +6823,7 @@ function getEntitySourceLocations(analyzer, entity) {
6813
6823
  if (definition.kind === 0 /* Source */) {
6814
6824
  result = definition.nodes.map((d) => {
6815
6825
  const range = d.rangeWithoutTrivia;
6816
- const sourceFile = TreeQuery.fromNode(d).projectSourceFile(analyzer);
6826
+ const sourceFile = TreeQuery.getSourceFile(d, analyzer);
6817
6827
  return new SourceLocation(sourceFile, range);
6818
6828
  });
6819
6829
  }
@@ -6879,7 +6889,7 @@ function getEntitySourceLocations(analyzer, entity) {
6879
6889
  default:
6880
6890
  Debug.never(node);
6881
6891
  }
6882
- const sourceFile = TreeQuery.fromNode(node).projectSourceFile(analyzer);
6892
+ const sourceFile = TreeQuery.getSourceFile(node, analyzer);
6883
6893
  result = [new SourceLocation(sourceFile, range)];
6884
6894
  }
6885
6895
  }
@@ -7118,7 +7128,7 @@ var DefinitionService = class {
7118
7128
  default:
7119
7129
  Debug.never(node);
7120
7130
  }
7121
- const sourceFile = TreeQuery.fromNode(node).projectSourceFile(analyzer);
7131
+ const sourceFile = TreeQuery.getSourceFile(node, analyzer);
7122
7132
  return new SourceLocation(sourceFile, range);
7123
7133
  }
7124
7134
  };
@@ -7171,6 +7181,7 @@ var ReferencesService = class {
7171
7181
  sourceFile2.getSyntaxNode(),
7172
7182
  cancellationToken,
7173
7183
  LanguageServer.DefaultCancellationTokenThrottleTime,
7184
+ true,
7174
7185
  (node) => {
7175
7186
  if (isIdentifier(node) && restrictions.canBeIdentifier && node.parent.kind !== 3 /* Keyword */) {
7176
7187
  const semanticInfo = NodeSemanticInfoService.ofNonKeywordIdentifier(analyzer, node, semanticInfoOptions);
@@ -7840,7 +7851,8 @@ var HoverService = class {
7840
7851
  this._displayService = new DisplayService(
7841
7852
  analyzer,
7842
7853
  sourceFile.package.locale,
7843
- sourceFile.package.dialect
7854
+ sourceFile.package.dialect,
7855
+ sourceFile
7844
7856
  );
7845
7857
  switch (semanticInfo.kind) {
7846
7858
  case "definition":
@@ -7894,11 +7906,11 @@ var HoverService = class {
7894
7906
  const declaration = new ValueParameterDeclaration_matchResultValueParameter(
7895
7907
  firstTarget.parameter
7896
7908
  );
7897
- return new Hover(this._displayService.displayValueParameterDeclaration(declaration), range);
7909
+ return new Hover(this._displayService.displayValueParameterDeclaration(declaration, void 0), range);
7898
7910
  }
7899
7911
  case "type-value-parameter": {
7900
7912
  const declaration = new ValueParameterDeclaration_typeMember(firstTarget.parameter);
7901
- return new Hover(this._displayService.displayValueParameterDeclaration(declaration), range);
7913
+ return new Hover(this._displayService.displayValueParameterDeclaration(declaration, void 0), range);
7902
7914
  }
7903
7915
  case "package":
7904
7916
  return new Hover(this._displayService.displayPackage(firstTarget.package_), range);
@@ -7969,7 +7981,7 @@ var SourceFileItemsService = class {
7969
7981
  }
7970
7982
  getChildItems(node) {
7971
7983
  const result = new Array();
7972
- visitChildren(node, (node2) => {
7984
+ visitChildren(node, false, (node2) => {
7973
7985
  const items = this.getChildItems(node2);
7974
7986
  switch (node2.kind) {
7975
7987
  case 8 /* PackageImport */: {
@@ -8486,6 +8498,7 @@ var SemanticTokensService = class {
8486
8498
  sourceFile.getSyntaxNode(),
8487
8499
  cancellationToken,
8488
8500
  LanguageServer.DefaultCancellationTokenThrottleTime,
8501
+ false,
8489
8502
  (node, controller) => {
8490
8503
  if (!this.rangesOverlap(range, node.rangeWithoutTrivia)) {
8491
8504
  controller.stopChildrenTraverse();
@@ -8743,7 +8756,8 @@ var TypeParameterSignatureHelpProvider = class {
8743
8756
  return this._signatureContext.getOrInsertWith(() => new SignatureContext(new DisplayService(
8744
8757
  this._analyzer,
8745
8758
  this._sourceFile.package.locale,
8746
- this._sourceFile.package.dialect
8759
+ this._sourceFile.package.dialect,
8760
+ this._sourceFile
8747
8761
  )));
8748
8762
  }
8749
8763
  provideSignatureHelp() {
@@ -9078,7 +9092,8 @@ var ValueParametersSignatureHelpProvider = class {
9078
9092
  return this._signatureContext.getOrInsertWith(() => new SignatureContext2(new DisplayService(
9079
9093
  this._analyzer,
9080
9094
  this._sourceFile.package.locale,
9081
- this._sourceFile.package.dialect
9095
+ this._sourceFile.package.dialect,
9096
+ this._sourceFile
9082
9097
  )));
9083
9098
  }
9084
9099
  provideSignatureHelp() {
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Compiler
3
- } from "./chunk-SSG7MY2R.js";
3
+ } from "./chunk-IHZZGWNS.js";
4
4
  import {
5
5
  ArtelVersion,
6
6
  Cached,
@@ -14,7 +14,7 @@ import {
14
14
  __async,
15
15
  performanceMeasurementStageNames,
16
16
  performanceMeasurementStages
17
- } from "./chunk-Y23FSWAN.js";
17
+ } from "./chunk-ER3TEZSN.js";
18
18
 
19
19
  // source/executor/FileSystemUri.ts
20
20
  import { platform } from "os";