@artel/artc 0.6.25281 → 0.6.25283

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 (137) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +18 -16
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +1182 -979
  5. package/build/{chunk-TIWNEKIS.js → chunk-2Q4QKW7T.js} +9266 -8683
  6. package/build/{chunk-7OXU5662.js → chunk-7RAZAZE6.js} +3 -3
  7. package/build/{chunk-NVHCHE3R.js → chunk-MJ2ZVHII.js} +3 -3
  8. package/build/types/analysis/AccessedFunction.d.ts +4 -0
  9. package/build/types/analysis/Analyzer.d.ts +68 -109
  10. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +5 -5
  11. package/build/types/analysis/BaseExpressionMeaning.d.ts +8 -18
  12. package/build/types/analysis/CallExpressionMeaning.d.ts +4 -9
  13. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +3 -4
  14. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +8 -16
  15. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +4 -8
  16. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +8 -16
  17. package/build/types/analysis/NamedTypeResolver.d.ts +4 -4
  18. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +4 -4
  19. package/build/types/analysis/NodeTypeUtils.d.ts +1 -1
  20. package/build/types/analysis/ObjectExpressionMeaning.d.ts +4 -9
  21. package/build/types/analysis/PackageMemberConflictsValidator.d.ts +1 -1
  22. package/build/types/analysis/ResolvedImplementationPackage.d.ts +48 -0
  23. package/build/types/analysis/SourceFileAnalyzer.d.ts +1 -0
  24. package/build/types/analysis/SubstitutedFunction.d.ts +3 -0
  25. package/build/types/analysis/TagMeaning.d.ts +4 -4
  26. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +4 -3
  27. package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +4 -3
  28. package/build/types/analysis/Utils.d.ts +1 -0
  29. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +4 -5
  30. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +4 -4
  31. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +4 -5
  32. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +11 -7
  33. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +4 -5
  34. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +8 -8
  35. package/build/types/api/Api.d.ts +4 -5
  36. package/build/types/common/ArrayUtils.d.ts +3 -1
  37. package/build/types/common/Displayable.d.ts +4 -4
  38. package/build/types/common/FormatString.d.ts +1 -1
  39. package/build/types/common/HelperPhrases.d.ts +2 -1
  40. package/build/types/common/LocalizationHelper.d.ts +6 -4
  41. package/build/types/common/index.d.ts +3 -0
  42. package/build/types/diagnostic/DiagnosticCode.d.ts +248 -238
  43. package/build/types/diagnostic/DiagnosticData.d.ts +2 -2
  44. package/build/types/emitter/EntityMap.d.ts +1 -1
  45. package/build/types/emitter/IrBuilder.d.ts +3 -1
  46. package/build/types/emitter/IrFactory.d.ts +2 -2
  47. package/build/types/emitter/Transformer.d.ts +3 -3
  48. package/build/types/emitter/ir/Nodes.d.ts +17 -8
  49. package/build/types/emitter/ir/types.d.ts +2 -2
  50. package/build/types/entities/Entity.d.ts +0 -12
  51. package/build/types/entities/EntityLocalizationContext.d.ts +1 -2
  52. package/build/types/entities/IEntity.d.ts +2 -1
  53. package/build/types/entities/OperatorKind.d.ts +6 -3
  54. package/build/types/entities/{PackageMembers.d.ts → PackageEntityMembers.d.ts} +1 -1
  55. package/build/types/entities/TypeEntity.d.ts +4 -4
  56. package/build/types/entities/index.d.ts +1 -1
  57. package/build/types/entities/interfaces/AliasTypeEntity.d.ts +3 -8
  58. package/build/types/entities/interfaces/ConstructorEntity.d.ts +0 -4
  59. package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +0 -4
  60. package/build/types/entities/interfaces/DestructorEntity.d.ts +0 -4
  61. package/build/types/entities/interfaces/FunctionEntity.d.ts +1 -8
  62. package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +0 -8
  63. package/build/types/entities/interfaces/GetterEntity.d.ts +0 -4
  64. package/build/types/entities/interfaces/IndexerEntity.d.ts +0 -4
  65. package/build/types/entities/interfaces/OperatorEntity.d.ts +0 -4
  66. package/build/types/entities/interfaces/PackageAliasEntity.d.ts +0 -5
  67. package/build/types/entities/interfaces/PackageEntity.d.ts +2 -11
  68. package/build/types/entities/interfaces/SetterEntity.d.ts +0 -4
  69. package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +0 -8
  70. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +1 -0
  71. package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +1 -7
  72. package/build/types/entities/interfaces/TypeParameterEntity.d.ts +0 -2
  73. package/build/types/entities/interfaces/VariableEntity.d.ts +2 -12
  74. package/build/types/entities/interfaces/VariantTypeEntity.d.ts +1 -8
  75. package/build/types/entities/intrinsic/IntrinsicFunctionTypeEntity.d.ts +3 -3
  76. package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +3 -3
  77. package/build/types/entities/intrinsic/IntrinsicTypeParameterEntity.d.ts +2 -4
  78. package/build/types/entities/source/SourceAliasTypeEntity.d.ts +1 -2
  79. package/build/types/entities/source/SourceFunctionTypeEntity.d.ts +1 -3
  80. package/build/types/entities/source/SourcePackageEntity.d.ts +1 -2
  81. package/build/types/entities/source/SourceStructuredTypeEntity.d.ts +1 -3
  82. package/build/types/entities/source/SourceTextTranslationEntity.d.ts +1 -0
  83. package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +1 -2
  84. package/build/types/entities/source/SourceTypeParameterEntity.d.ts +1 -2
  85. package/build/types/entities/source/SourceVariableEntity.d.ts +2 -2
  86. package/build/types/entities/source/SourceVariantTypeEntity.d.ts +1 -3
  87. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +1 -3
  88. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +1 -5
  89. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +2 -3
  90. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +1 -5
  91. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +1 -3
  92. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +1 -3
  93. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +1 -5
  94. package/build/types/parser/KeywordDictionary.d.ts +10 -2
  95. package/build/types/parser/TokenKind.d.ts +46 -44
  96. package/build/types/services/CustomRequests.d.ts +24 -4
  97. package/build/types/services/DisplayService.d.ts +10 -3
  98. package/build/types/services/LanguageServer.d.ts +4 -3
  99. package/build/types/services/ScriptEditingService.d.ts +25 -0
  100. package/build/types/services/SourceFileItemsService.d.ts +1 -1
  101. package/build/types/services/Types.d.ts +6 -0
  102. package/build/types/services/source-generation/EntityToSyntax.d.ts +12 -0
  103. package/build/types/tree/BaseNode.d.ts +56 -2
  104. package/build/types/tree/KeywordFlags.d.ts +28 -0
  105. package/build/types/tree/KeywordKind.d.ts +3 -1
  106. package/build/types/tree/NodeKind.d.ts +1 -1
  107. package/build/types/tree/Nodes.d.ts +10 -24
  108. package/build/types/tree/NodesDebug.d.ts +9 -0
  109. package/build/types/tree/OperatorKind.d.ts +6 -3
  110. package/build/types/tree/SyntaxFactory.d.ts +31 -29
  111. package/build/types/tree/SyntaxToCode.d.ts +4 -1
  112. package/build/types/tree/TokenFlags.d.ts +15 -0
  113. package/build/types/tree/TokenKind.d.ts +63 -51
  114. package/build/types/tree/Utils.d.ts +2 -2
  115. package/build/types/tree/index.d.ts +2 -1
  116. package/build/types/ts-interop/Entities.d.ts +1 -11
  117. package/build/types/ts-interop/TsInteropContext.d.ts +1 -2
  118. package/build/types/types/AliasType.d.ts +1 -2
  119. package/build/types/types/FunctionType.d.ts +2 -3
  120. package/build/types/types/IntersectionType.d.ts +1 -2
  121. package/build/types/types/ParameterType.d.ts +1 -2
  122. package/build/types/types/StructuredType.d.ts +1 -2
  123. package/build/types/types/SubstitutionStubType.d.ts +21 -0
  124. package/build/types/types/Substitutions.d.ts +1 -1
  125. package/build/types/types/Type.d.ts +5 -7
  126. package/build/types/types/TypeFactory.d.ts +2 -1
  127. package/build/types/types/TypeMembers.d.ts +8 -8
  128. package/build/types/types/UnionType.d.ts +1 -2
  129. package/build/types/types/UnresolvedType.d.ts +0 -1
  130. package/build/types/types/VariantType.d.ts +1 -2
  131. package/build/types/types/index.d.ts +2 -1
  132. package/package.json +1 -1
  133. package/build/types/analysis/SourceFileMembers.d.ts +0 -29
  134. package/build/types/services/AssignFieldService.d.ts +0 -10
  135. package/build/types/services/DeleteBlockFromScriptService.d.ts +0 -6
  136. package/build/types/tree/Token.d.ts +0 -57
  137. /package/build/types/services/{ProjectItemsService.d.ts → WorkspaceItemsService.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Compiler
3
- } from "./chunk-NVHCHE3R.js";
3
+ } from "./chunk-MJ2ZVHII.js";
4
4
  import {
5
5
  ArtelVersion,
6
6
  Cached,
@@ -15,7 +15,7 @@ import {
15
15
  __async,
16
16
  performanceMeasurementStageNames,
17
17
  performanceMeasurementStages
18
- } from "./chunk-TIWNEKIS.js";
18
+ } from "./chunk-2Q4QKW7T.js";
19
19
 
20
20
  // source/executor/FileSystemUri.ts
21
21
  import { platform } from "os";
@@ -217,7 +217,7 @@ var NodeCompiler = class {
217
217
  const standardLibraryUri = yield this.findStandardTypeScriptLibrary(nodeModulesSearchPaths, defaultTsLibraryPath);
218
218
  if (standardLibraryUri === void 0) {
219
219
  const diagnostic = new Diagnostic(DiagnosticData.withCode(
220
- 401 /* CannotFindTsLibDirectoryBaseSearchPaths0 */,
220
+ 3e3 /* CannotFindTsLibDirectoryBaseSearchPaths0 */,
221
221
  [nodeModulesSearchPaths.map((p) => `'${p}'`).join(", ")]
222
222
  ), void 0);
223
223
  diagnostics?.addDiagnostic(diagnostic);
@@ -10,7 +10,7 @@ import {
10
10
  WellKnownDeclarationsLoadError,
11
11
  __async,
12
12
  createTsInteropInputsForCompilation
13
- } from "./chunk-TIWNEKIS.js";
13
+ } from "./chunk-2Q4QKW7T.js";
14
14
 
15
15
  // source/executor/Compiler.ts
16
16
  var Compiler = class {
@@ -71,7 +71,7 @@ var Compiler = class {
71
71
  return __async(this, null, function* () {
72
72
  if (analyzer.compilation.mainPackage === void 0) {
73
73
  diagnostics?.addDiagnostic(new Diagnostic(DiagnosticData.withCode(
74
- 403 /* ProgramWithoutMainPackageCannotBeCompiled */
74
+ 3002 /* ProgramWithoutMainPackageCannotBeCompiled */
75
75
  ), void 0));
76
76
  return void 0;
77
77
  }
@@ -85,7 +85,7 @@ var Compiler = class {
85
85
  return __async(this, null, function* () {
86
86
  if (analyzer.compilation.mainPackage === void 0) {
87
87
  _diagnostics?.addDiagnostic(new Diagnostic(DiagnosticData.withCode(
88
- 403 /* ProgramWithoutMainPackageCannotBeCompiled */
88
+ 3002 /* ProgramWithoutMainPackageCannotBeCompiled */
89
89
  ), void 0));
90
90
  return "";
91
91
  }
@@ -20,6 +20,7 @@ export declare class AccessedFunction_entity implements IAccessedFunction {
20
20
  getSignatureType(analyzer: Analyzer): types.FunctionType;
21
21
  applySubstitutions(substitutions: types.Substitutions): AccessedFunction;
22
22
  getOuterSubstitutions(): types.Substitutions | undefined;
23
+ equals(other: AccessedFunction, considerLocale?: boolean): boolean;
23
24
  }
24
25
  export declare class AccessedFunction_typeMember implements IAccessedFunction {
25
26
  readonly value: types.Method;
@@ -35,6 +36,7 @@ export declare class AccessedFunction_typeMember implements IAccessedFunction {
35
36
  getSignatureType(_analyzer: Analyzer): types.FunctionType;
36
37
  applySubstitutions(substitutions: types.Substitutions): AccessedFunction;
37
38
  getOuterSubstitutions(): types.Substitutions | undefined;
39
+ equals(other: AccessedFunction, considerLocale?: boolean): boolean;
38
40
  }
39
41
  export declare class AccessedFunction_substitutedFunction implements IAccessedFunction {
40
42
  readonly value: SubstitutedFunction;
@@ -48,6 +50,7 @@ export declare class AccessedFunction_substitutedFunction implements IAccessedFu
48
50
  getName(): Name;
49
51
  getSignatureType(analyzer: Analyzer): types.FunctionType;
50
52
  getOuterSubstitutions(): types.Substitutions | undefined;
53
+ equals(other: AccessedFunction, considerLocale?: boolean): boolean;
51
54
  }
52
55
  export declare class AccessedFunctionParameter {
53
56
  readonly entity: ParameterEntity;
@@ -62,5 +65,6 @@ interface IAccessedFunction {
62
65
  getName(): Name;
63
66
  getSignatureType(analyzer: Analyzer): types.FunctionType;
64
67
  getOuterSubstitutions(): types.Substitutions | undefined;
68
+ equals(other: AccessedFunction, considerLocale: boolean): boolean;
65
69
  }
66
70
  export {};
@@ -3,6 +3,7 @@ import { DisplayableOrPrimitive, Name, PackageLocale, Query, Range, TaskControll
3
3
  import { Diagnostic, DiagnosticAcceptor, DiagnosticLocation } from '../diagnostic/Diagnostic.js';
4
4
  import { DiagnosticCode } from '../diagnostic/DiagnosticCode.js';
5
5
  import { DiagnosticFlags, DiagnosticKind } from '../diagnostic/DiagnosticData.js';
6
+ import { WithDiagnostics } from '../diagnostic/WithDiagnostics.js';
6
7
  import { BinaryOperatorKind } from '../entities/OperatorKind.js';
7
8
  import * as e from '../entities/index.js';
8
9
  import { ReservedIdentifierKind } from '../parser/ReservedIdentifierDictionary.js';
@@ -13,7 +14,6 @@ import { TsInteropContext, TsProgramState } from '../ts-interop/TsInteropContext
13
14
  import * as types from '../types/index.js';
14
15
  import { TypeFactory } from '../types/index.js';
15
16
  import { AccessedFunction } from './AccessedFunction.js';
16
- import { ResolvedTextTranslationPackage } from './ResolvedTextTranslationPackage.js';
17
17
  import { AnalyzedTranslationPackage } from './AnalyzedTranslationPackage.js';
18
18
  import { ArgumentToParameterMatchResult, MatchResultParameter } from './ArgumentToParameterMatchResult.js';
19
19
  import * as autotypeCallExpressionMeaning from './AutotypeCallExpressionMeaning.js';
@@ -28,18 +28,18 @@ import * as indexedAccessExpressionMeaning from './IndexedAccessExpressionMeanin
28
28
  import * as memberAccessExpressionResolution from './MemberAccessExpressionMeaning.js';
29
29
  import { ModifierFlags } from './ModifierFlags.js';
30
30
  import { NamedTypeSpecifierResolutionResult } from './NamedTypeSpecifierResolver.js';
31
- import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, FunctionTypeDeclaration, GetterDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, StructuredTypeDeclaration, TypeDeclaration, TypeWithMembersDeclaration, VariantTypeDeclaration } from './NodeTypeUtils.js';
31
+ import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, FunctionTypeDeclaration, GetterDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, StructuredTypeDeclaration, TypeWithMembersDeclaration, VariantTypeDeclaration } from './NodeTypeUtils.js';
32
32
  import * as objectExpressionMeaning from './ObjectExpressionMeaning.js';
33
33
  import { OwnAndBaseConstructorCallsCheckResult } from './OwnAndBaseConstructorCallsChecker.js';
34
- import { SourceFileMembers } from './SourceFileMembers.js';
34
+ import { ResolvedImplementationPackage } from './ResolvedImplementationPackage.js';
35
+ import { ResolvedTextTranslationPackage } from './ResolvedTextTranslationPackage.js';
35
36
  import * as tags from './Tag.js';
36
37
  import * as tagMeaning from './TagMeaning.js';
38
+ import { TypeWithMembersOrTypeExtensionDeclaration } from './TreeQuery.js';
37
39
  import { TypeMemberImplementationCheckResult } from './TypeMemberImplementationChecker.js';
38
40
  import * as controlFlow from './control-flow/index.js';
39
41
  import { WellKnownDeclarations } from './index.js';
40
42
  import * as semanticContext from './semantic-context/index.js';
41
- import { TypeWithMembersOrTypeExtensionDeclaration } from './TreeQuery.js';
42
- import { WithDiagnostics } from '../diagnostic/WithDiagnostics.js';
43
43
  export declare class Analyzer {
44
44
  readonly compilation: project.Compilation;
45
45
  /**
@@ -66,7 +66,7 @@ export declare class Analyzer {
66
66
  readonly argumentToParameterMatchResult: ArgumentToParameterMatchResult;
67
67
  readonly overriddenMember: OverriddenMember;
68
68
  readonly tags: Tags;
69
- readonly linkedEntity: LinkedEntity;
69
+ readonly implementation: ImplementationEntity;
70
70
  readonly owningPlainObjectModificationCheck: OwningPlainObjectModificationCheck;
71
71
  readonly packageImports: PackageImports;
72
72
  readonly typeUtils: TypeUtils;
@@ -78,7 +78,6 @@ export declare class Analyzer {
78
78
  private readonly tsInterop_;
79
79
  private readonly memberAccessExpressionResolutionResults;
80
80
  private readonly memberAccessExpressionResolutionResultsFirstStage;
81
- private readonly sourceFileMembers;
82
81
  private readonly callExpressionResolutionResults;
83
82
  private readonly indexedAccessExpressionResolutionResults;
84
83
  private readonly dereferenceExpressionMeanings;
@@ -98,13 +97,14 @@ export declare class Analyzer {
98
97
  private textTranslationPackagesByTargetPackage;
99
98
  private primaryTextTranslationPackageByTargetPackage;
100
99
  private resolvedLocalizableTexts;
101
- private readonly linkedMultiPlatformPackagesByPlatform;
100
+ private readonly resolvedImplementationPackagesByPlatform;
102
101
  private readonly isFunctionGeneratorCheckResults;
103
102
  private readonly namedDeclarationsUsageCountResults;
104
103
  private readonly packageAndStaticVariablesInitializationDiagnostics;
105
104
  private readonly controlFlowGraphs;
106
- private readonly diagnosticsComputedLazily;
107
- private readonly diagnosticsComputedLazilyAcceptor;
105
+ private sideDiagnosticAcceptor;
106
+ private readonly sideDiagnosticsByFile;
107
+ private readonly sideDiagnosticsWithoutFile;
108
108
  private readonly sourcePackageMemberConflictsDiagnostics;
109
109
  private readonly notExplicitlyImplementedAbstractTypeMembers;
110
110
  private readonly typeMemberImplementationCheckResults;
@@ -135,21 +135,19 @@ export declare class Analyzer {
135
135
  getUnambiguousTargetFunctionType(targetType: types.Type | undefined): types.FunctionType | undefined;
136
136
  getUnambiguousTargetArrayType(targetType: types.Type | undefined): types.Type | undefined;
137
137
  getUnambiguousTargetReferenceType(targetType: types.Type | undefined): types.Type | undefined;
138
- resolveMemberAccessExpressionFirstStage(node: tree.MemberAccessExpression): memberAccessExpressionResolution.FirstStageResolutionResult;
139
- resolveMemberAccessExpression(node: tree.MemberAccessExpression, analysisOptions?: ExpressionAnalysisOptions): memberAccessExpressionResolution.ResolutionResult;
140
- getPackageImportsOfDirective(packageImportDirectives: Iterable<tree.PackageImportDirective>): Iterable<tree.PackageImport>;
141
- getSourceFileMembers(node: tree.SourceFile): SourceFileMembers;
142
- resolveCallExpression(node: tree.CallExpression, analysisOptions?: ExpressionAnalysisOptions): callExpressionMeaning.ResolutionResult;
138
+ resolveMemberAccessExpressionFirstStage(node: tree.MemberAccessExpression): memberAccessExpressionResolution.MeaningStage1;
139
+ resolveMemberAccessExpression(node: tree.MemberAccessExpression, analysisOptions?: ExpressionAnalysisOptions): memberAccessExpressionResolution.Meaning;
140
+ resolveCallExpression(node: tree.CallExpression, analysisOptions?: ExpressionAnalysisOptions): callExpressionMeaning.Meaning;
143
141
  getRespectiveParameter(node: tree.Argument): MatchResultParameter | undefined;
144
- resolveIndexedAccessExpression(node: tree.IndexedAccessExpression): indexedAccessExpressionMeaning.ResolutionResult;
142
+ resolveIndexedAccessExpression(node: tree.IndexedAccessExpression): indexedAccessExpressionMeaning.Meaning;
145
143
  getDereferenceExpressionMeaning(node: tree.DereferenceExpression): dereferenceExpressionMeaning.Meaning;
146
144
  resolveAutotypeCallExpression(node: tree.AutotypeCallExpression, analysisOptions?: ExpressionAnalysisOptions): autotypeCallExpressionMeaning.ResolutionResult;
147
- resolveIdentifierExpressionFirstStage(node: tree.IdentifierExpression): identifierExpressionResolution.FirstStageResolutionResult;
148
- resolveIdentifierExpression(node: tree.IdentifierExpression, analysisOptions?: ExpressionAnalysisOptions): identifierExpressionResolution.ResolutionResult;
145
+ resolveIdentifierExpressionFirstStage(node: tree.IdentifierExpression): identifierExpressionResolution.MeaningStage1;
146
+ resolveIdentifierExpression(node: tree.IdentifierExpression, analysisOptions?: ExpressionAnalysisOptions): identifierExpressionResolution.Meaning;
149
147
  resolveTag(node: tree.Tag): tagMeaning.ResolutionResult;
150
- resolveObjectExpression(node: tree.ObjectExpression): objectExpressionMeaning.ResolutionResult;
151
- resolveBaseExpressionFirstStage(node: tree.BaseExpression): baseExpressionMeaning.FirstStageResolutionsResult;
152
- resolveBaseExpression(node: tree.BaseExpression): baseExpressionMeaning.ResolutionResult;
148
+ resolveObjectExpression(node: tree.ObjectExpression): objectExpressionMeaning.Meaning;
149
+ resolveBaseExpressionFirstStage(node: tree.BaseExpression): baseExpressionMeaning.MeaningStage1;
150
+ resolveBaseExpression(node: tree.BaseExpression): baseExpressionMeaning.Meaning;
153
151
  /**
154
152
  * Проверяет, является ли выражение цепочкой доступов через `?`, заканчивающейся выражением, тип которого допускает
155
153
  * `пусто`.
@@ -205,9 +203,9 @@ export declare class Analyzer {
205
203
  isFunctionGenerator(node: FunctionDeclaration): boolean;
206
204
  allAspectsOfType(type: types.Type): Iterable<types.StructuredType>;
207
205
  checkTypeIsBasedOnAspect(type: types.Type, aspectEntity: e.StructuredTypeEntity): boolean;
208
- resolvePrefixUnaryExpressionUserDefinableOperator(node: tree.PrefixUnaryExpression): WithDiagnostics<types.Operator>;
209
- resolveBinaryExpressionUserDefinableOperator(node: tree.BinaryExpression, operatorKind: BinaryOperatorKind): WithDiagnostics<types.Operator>;
210
- resolveCompoundAssignmentStatementOperator(node: tree.AssignmentStatement, operatorKind: BinaryOperatorKind): WithDiagnostics<types.Operator>;
206
+ resolvePrefixUnaryExpressionUserDefinableOperator(node: tree.PrefixUnaryExpression): types.Operator | undefined;
207
+ resolveBinaryExpressionUserDefinableOperator(node: tree.BinaryExpression, operatorKind: BinaryOperatorKind): types.Operator | undefined;
208
+ resolveCompoundAssignmentStatementOperator(node: tree.AssignmentStatement, operatorKind: BinaryOperatorKind): types.Operator | undefined;
211
209
  classifyBinaryExpressionOperator(operator: tree.BinaryExpressionOperator): BinaryExpressionOperatorClassificationResult;
212
210
  getBinaryOperatorKindIfCompoundAssignmentOperator(operator: tree.AssignmentStatementOperator): BinaryOperatorKind | undefined;
213
211
  getOriginalPackageEntities(): readonly e.PackageEntity[];
@@ -265,12 +263,13 @@ export declare class Analyzer {
265
263
  getLocalizedPackageWithLocale(originalPackageEntity: e.PackageEntity, locale: PackageLocale): e.PackageEntity | undefined;
266
264
  enumerateAnalyzedTranslationPackages(): Query<AnalyzedTranslationPackage>;
267
265
  enumerateResolvedTextTranslationPackages(): Query<ResolvedTextTranslationPackage>;
268
- getLinkedMultiPlatformPackagesByPlatform(entity: e.PackageEntity): ReadonlyMap<PlatformKind, LinkedMultiPlatformPackage> | undefined;
269
- getLinkedMultiPlatformPackage(entity: e.PackageEntity, platform: PlatformKind): LinkedMultiPlatformPackage | undefined;
266
+ getResolvedImplementationPackagesByPlatform(interfacePackage: e.PackageEntity): ReadonlyMap<PlatformKind, ResolvedImplementationPackage> | undefined;
267
+ getResolvedImplementationPackageForInterfacePackage(interfacePackage: e.PackageEntity, platform: PlatformKind): ResolvedImplementationPackage | undefined;
268
+ getResolvedImplementationPackage(implementationPackage: e.PackageEntity): ResolvedImplementationPackage | undefined;
270
269
  getTextTranslationPackagesMap(): ReadonlyMap<e.PackageEntity, ResolvedTextTranslationPackage[]>;
271
270
  getTextTranslationPackagesOfTargetPackage(targetPackage: e.PackageEntity): ResolvedTextTranslationPackage[] | undefined;
272
271
  getPrimaryTextTranslationPackageOfTargetPackage(targetPackage: e.PackageEntity): ResolvedTextTranslationPackage | undefined;
273
- resolveLocalizableTextOrTextTemplate(node: tree.LocalizableTextLiteral | tree.LocalizableTextTemplateLiteral): WithDiagnostics<e.TextTranslationEntity>;
272
+ resolveLocalizableTextOrTextTemplate(node: tree.LocalizableTextLiteral | tree.LocalizableTextTemplateLiteral): e.TextTranslationEntity | undefined;
274
273
  instantiateType(entity: e.TypeEntity, typeArguments: readonly types.Type[] | undefined): types.Type;
275
274
  instantiateTypeWithSubstitutions(entity: e.TypeEntity, substitutions: types.Substitutions): types.Type;
276
275
  instantiateTypeByIdentitySubstitution(entity: e.TypeEntity): types.Type;
@@ -286,7 +285,7 @@ export declare class Analyzer {
286
285
  getDeclarationsUsageOfSourceFile(sourceFile: tree.SourceFile, taskController: TaskController): Promise<DeclarationsUsageMap>;
287
286
  getPackageAndStaticVariablesInitializationDiagnostics(pkg: SourcePackage, taskController: TaskController): Promise<readonly Diagnostic[]>;
288
287
  createDefaultConstructors(typeEntity: e.StructuredTypeEntity, fields: readonly e.FieldEntity[]): readonly e.ConstructorEntity[];
289
- createBackingPackageVariables(declaredMembers: readonly (e.NamedPackageMemberEntity | e.PackageAliasEntity)[], pkg: e.PackageEntity): e.PackageVariableEntity[];
288
+ createBackingPackageVariables(declaredPackageMembers: readonly e.NamedPackageMemberEntity[], pkg: e.PackageEntity): e.PackageVariableEntity[];
290
289
  createBackingFields(declaredMembers: readonly e.NamedTypeMemberEntity[], type: e.TypeEntity): e.FieldEntity[];
291
290
  createNodeDiagnostic(code: DiagnosticCode, node: tree.Node, formatArguments?: readonly DisplayableOrPrimitive[], kind?: DiagnosticKind, flags?: DiagnosticFlags): Diagnostic;
292
291
  createSourceFileRangeDiagnostic(code: DiagnosticCode, range: Range, nodeOrSourceFile: tree.Node | project.SourceFile, formatArguments?: readonly DisplayableOrPrimitive[], kind?: DiagnosticKind, flags?: DiagnosticFlags): Diagnostic;
@@ -302,13 +301,12 @@ export declare class Analyzer {
302
301
  createAmbiguousFunctionAccessDiagnostic(functions: readonly AccessedFunction[], node: tree.Node): Diagnostic;
303
302
  createAmbiguousTypeMemberAccessDiagnostic(members: readonly types.TypeMember[], node: tree.Node): Diagnostic;
304
303
  createAmbiguousNamedScopeDeclarationAccessDiagnostic(declarations: readonly semanticContext.NamedDeclaration[], node: tree.Node): Diagnostic;
305
- addDiagnosticComputedLazily(diagnostic: Diagnostic): void;
306
- getAcceptorForDiagnosticsComputedLazily(): DiagnosticAcceptor;
307
- accumulateSourceFileDiagnosticsComputedLazily(sourceFile: project.SourceFile, diagnostics: DiagnosticAcceptor): void;
304
+ addSideDiagnostic(diagnostic: Diagnostic): void;
305
+ getSideDiagnosticAcceptor(): DiagnosticAcceptor;
306
+ accumulateSideDiagnosticForSourceFile(sourceFile: project.SourceFile, diagnostics: DiagnosticAcceptor): void;
308
307
  validateSourcePackageMemberConflicts(pkg: project.ProgramOrTextTranslationPackage): readonly Diagnostic[];
309
308
  getNotExplicitlyImplementedAbstractMembers(typeEntity: e.TypeEntityWithMembers): readonly types.TypeMember[];
310
309
  getTypeMemberImplementationCheckResult(typeEntity: e.TypeEntityWithMembers): TypeMemberImplementationCheckResult;
311
- createEntityContextForTypeDeclaration(node: TypeDeclaration): e.EntityContext;
312
310
  isFunctionBlockWithImplicitlyReturnedExpression(node: tree.FunctionBlock): boolean;
313
311
  getLocalizedWellKnownDeclarations(locale: PackageLocale): WellKnownDeclarations;
314
312
  getLocalizedStandardTypes(locale: PackageLocale): types.StandardTypes;
@@ -322,6 +320,10 @@ export declare class Analyzer {
322
320
  checkTypeArgumentCount(typeArgumentCount: number, typeParameters: readonly e.TypeParameterEntity[], diagnostics?: DiagnosticAcceptor, nodeForDiagnostic?: tree.Node): boolean;
323
321
  checkTypeCanBeUsedAsValue(typeAccess: tree.Expression): boolean;
324
322
  getEntityDiagnosticLocation(entity: e.Entity, chooseSetter?: boolean): DiagnosticLocation | undefined;
323
+ createTypeMemberLookupContextWithinType(type: e.TypeEntity): {
324
+ hidingMatcher: e.IEntityHidingMatcher;
325
+ typeExtensionLookup: semanticContext.SemanticContext | undefined;
326
+ };
325
327
  private createTsInterop;
326
328
  }
327
329
  export declare class TsInteropInputs {
@@ -355,6 +357,9 @@ export declare namespace BinaryExpressionOperatorClassificationResult {
355
357
  const bitwiseAnd: BinaryExpressionOperatorClassificationResult;
356
358
  const bitwiseOr: BinaryExpressionOperatorClassificationResult;
357
359
  const bitwiseXor: BinaryExpressionOperatorClassificationResult;
360
+ const leftShift: BinaryExpressionOperatorClassificationResult;
361
+ const signedRightShift: BinaryExpressionOperatorClassificationResult;
362
+ const unsignedRightShift: BinaryExpressionOperatorClassificationResult;
358
363
  const and: BinaryExpressionOperatorClassificationResult;
359
364
  const or: BinaryExpressionOperatorClassificationResult;
360
365
  const xor: BinaryExpressionOperatorClassificationResult;
@@ -379,10 +384,12 @@ declare class Type {
379
384
  private readonly intersectionTypeSpecifierTypes;
380
385
  private readonly functionLiteralTypes;
381
386
  private readonly nodesForWhichReturnTypeInferenceDiagnosticHasBeenReported;
387
+ private recursionDepth;
382
388
  constructor(analyzer: Analyzer);
383
389
  ofExpression(node: tree.Expression, analysisOptions?: ExpressionAnalysisOptions): types.Type;
384
390
  ofTypeSpecifier(node: tree.TypeSpecifier): types.Type;
385
391
  ofAccessedOperator(operator: types.Operator): types.Type;
392
+ private ofExpressionWithoutGuard;
386
393
  private ofFunctionBlockLiteral;
387
394
  private ofFunctionLiteral;
388
395
  private ofRegularOrBlockFunctionLiteral;
@@ -517,7 +524,7 @@ declare class Entity {
517
524
  ofSetterDeclaration(node: SetterDeclaration): e.SetterEntity;
518
525
  ofConstructorDeclaration(node: tree.ConstructorDeclaration): e.ConstructorEntity;
519
526
  ofDestructorDeclaration(node: tree.DestructorDeclaration): e.DestructorEntity;
520
- ofVariantDeclaration(node: tree.VariantDeclaration): e.FieldEntity;
527
+ ofVariantValueDeclaration(node: tree.VariantValueDeclaration): e.FieldEntity;
521
528
  ofTypeExtensionDeclaration(node: tree.TypeExtensionDeclaration): e.TypeExtensionEntity;
522
529
  ofPackageImport(node: tree.PackageImport): e.PackageAliasEntity;
523
530
  ofTypeWithMembersDeclaration(node: TypeWithMembersDeclaration): e.TypeEntityWithMembers;
@@ -565,8 +572,30 @@ declare class ValueLocalVariableEntity {
565
572
  ofDereferencedVariableSetterDeclaration(node: tree.DereferencedVariableSetterDeclaration): e.LocalVariableEntity;
566
573
  private createValueLocalVariableEntity;
567
574
  }
575
+ export declare enum SignatureComparisonOptions {
576
+ None = 0,
577
+ CompareNames = 1,
578
+ CompareReturnTypes = 2,
579
+ CheckTypeParameterCountIntersection = 4
580
+ }
581
+ type TypeComparer = (t1: types.Type, t2: types.Type) => boolean;
582
+ declare class SignatureComparer {
583
+ private readonly analyzer;
584
+ private readonly substitutionStubTypes;
585
+ constructor(analyzer: Analyzer);
586
+ areEqualFunctionEntities(function1: e.FunctionEntity, function2: e.FunctionEntity, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
587
+ areEqualMethods(method1: types.Method, method2: types.Method, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
588
+ areEqualSignaturesWithoutTypeParameters(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
589
+ areEqualTypeMemberSignaturesWithoutTypeParameters(member1: TypeMemberWithoutTypeParametersInSignature, member2: TypeMemberWithoutTypeParametersInSignature, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
590
+ doTypeParameterCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
591
+ private areEqualParameters;
592
+ private areEqualTypeMemberParameters;
593
+ private areEqualTypes;
594
+ private createSubstitutionsWithStubTypes;
595
+ }
568
596
  declare class OverriddenMember {
569
597
  private readonly analyzer;
598
+ static readonly signatureComparisonOptions = SignatureComparisonOptions.None;
570
599
  private readonly namedMemberFinder;
571
600
  private readonly operatorFinder;
572
601
  private readonly indexerFinder;
@@ -589,7 +618,6 @@ declare class OverriddenMember {
589
618
  getOverriddenAndShadowedDereferenceOperators(node: DereferencedVariableAccessorDeclaration): OverriddenAndShadowedMembers<types.DereferenceOperator>;
590
619
  entityCanBeOverridden(entity: OverridableTypeMemberEntity): boolean;
591
620
  getMemberTypeOrReturnType(member: types.TypeMember): types.Type;
592
- findMatchingMembersInType(member: types.TypeMember, type: types.Type): readonly types.TypeMember[];
593
621
  private findOverriddenMembers;
594
622
  private findOverriddenOrShadowedNamedMembersInType;
595
623
  private findOverriddenOrShadowedOperatorsInType;
@@ -633,10 +661,10 @@ declare class Tags {
633
661
  private createTagFromNode;
634
662
  private argumentToTagArgument;
635
663
  }
636
- declare class LinkedEntity {
664
+ declare class ImplementationEntity {
637
665
  private readonly analyzer;
638
666
  constructor(analyzer: Analyzer);
639
- entityCanBeLinked(entity: e.Entity): boolean;
667
+ entityCanHaveImplementation(entity: e.Entity): boolean;
640
668
  ofType(entity: e.TypeEntity, platform: PlatformKind): e.TypeEntity | undefined;
641
669
  ofTypeWithMembers(entity: e.TypeEntityWithMembers, platform: PlatformKind): e.TypeEntityWithMembers | undefined;
642
670
  ofParameterType(entity: e.TypeParameterEntity, platform: PlatformKind): e.TypeParameterEntity | undefined;
@@ -646,49 +674,12 @@ declare class LinkedEntity {
646
674
  ofMethod(entity: e.MethodEntity, platform: PlatformKind): e.MethodEntity | undefined;
647
675
  ofOperator(entity: e.OperatorEntity, platform: PlatformKind): e.OperatorEntity | undefined;
648
676
  ofConstructor(entity: e.ConstructorEntity, platform: PlatformKind): e.ConstructorEntity | undefined;
677
+ ofDestructor(entity: e.DestructorEntity, platform: PlatformKind): e.DestructorEntity | undefined;
649
678
  ofIndexer(entity: e.IndexerEntity, platform: PlatformKind): e.IndexerEntity | undefined;
650
679
  ofDereferenceOperator(entity: e.DereferenceOperatorEntity, platform: PlatformKind): e.DereferenceOperatorEntity | undefined;
651
680
  ofGetter(entity: e.GetterEntity, platform: PlatformKind): e.GetterEntity | undefined;
652
681
  ofSetter(entity: e.SetterEntity, platform: PlatformKind): e.SetterEntity | undefined;
653
682
  }
654
- export declare class LinkedMultiPlatformPackage {
655
- readonly analyzer: Analyzer;
656
- readonly pkg: e.PackageEntity;
657
- readonly implementationPackage: e.PackageEntity;
658
- readonly targetPlatform: PlatformKind;
659
- private readonly memberLookup_;
660
- private readonly linkedTypesWithMembers;
661
- private readonly linkedParameterTypes;
662
- private get memberLookup();
663
- constructor(analyzer: Analyzer, pkg: e.PackageEntity, implementationPackage: e.PackageEntity, targetPlatform: PlatformKind);
664
- getLinkedVariable(entity: e.PackageVariableEntity): e.PackageVariableEntity | undefined;
665
- getLinkedMethod(entity: e.PackageFunctionEntity): e.PackageFunctionEntity | undefined;
666
- getLinkedTypeWithMembers(entity: e.TypeEntityWithMembers): LinkedTypeWithMembers | undefined;
667
- getLinkedParameterType(entity: e.TypeParameterEntity): e.TypeParameterEntity | undefined;
668
- /**
669
- * Используется для сравнения типов при связывании объявления из многоплатформенного пакета с объявлением из
670
- * реализационного пакета. В частности, при сравнении типов параметров для выбора правильной перегрузки
671
- * метода (конструктора, индексатора).
672
- */
673
- compareTypesDuringLinking(type1: types.Type, type2: types.Type): boolean;
674
- private findPackageType;
675
- private compareSubstitutionsDuringLinking;
676
- }
677
- export declare class LinkedTypeWithMembers {
678
- readonly analyzer: Analyzer;
679
- readonly externalType: e.TypeEntityWithMembers;
680
- readonly targetType: e.TypeEntityWithMembers;
681
- readonly linkedPackage: LinkedMultiPlatformPackage;
682
- private readonly memberLookup_;
683
- private get memberLookup();
684
- constructor(analyzer: Analyzer, externalType: e.TypeEntityWithMembers, targetType: e.TypeEntityWithMembers, linkedPackage: LinkedMultiPlatformPackage);
685
- getLinkedField(entity: e.FieldEntity): e.FieldEntity | undefined;
686
- getLinkedMethod(entity: e.MethodEntity): e.MethodEntity | undefined;
687
- getLinkedOperator(entity: e.OperatorEntity): e.OperatorEntity | undefined;
688
- getLinkedConstructor(entity: e.ConstructorEntity): e.ConstructorEntity | undefined;
689
- getLinkedIndexer(entity: e.IndexerEntity): e.IndexerEntity | undefined;
690
- getLinkedDereferenceOperator(entity: e.DereferenceOperatorEntity): e.DereferenceOperatorEntity | undefined;
691
- }
692
683
  declare class OwningPlainObjectModificationCheck {
693
684
  private analyzer;
694
685
  private readonly owningPlainObjectModificationCheckResult;
@@ -740,27 +731,22 @@ export declare enum TypeAssignabilityFlags {
740
731
  declare class PackageImports {
741
732
  private readonly analyzer;
742
733
  private readonly packagesAvailableForImport;
743
- private readonly analyzedPackageImports;
734
+ private readonly resolvedPackageImports;
744
735
  private readonly importedPackages;
745
736
  private readonly automaticallyImportedPackages;
746
737
  private readonly importedPackageNameTrees;
747
738
  constructor(analyzer: Analyzer);
748
- analyzeExplicitPackageImports(sourceFile: project.SourceFile): AnalyzedPackageImports;
739
+ resolvePackageImports(sourceFile: project.SourceFile): ReadonlyMap<tree.PackageImport, ResolvedPackageImport>;
749
740
  getPackagesAvailableForImport(pkg: project.SourcePackage): readonly e.PackageEntity[];
750
741
  getUniqueImportedPackages(sourceFile: project.SourceFile): readonly PackageImportInfo[];
751
742
  getImportedPackageNameTree(node: tree.SourceFile): ImportedPackageNameTree;
752
743
  private getAutomaticallyImportedPackages;
753
744
  }
754
- export declare class AnalyzedPackageImport {
745
+ export declare class ResolvedPackageImport {
755
746
  readonly entity: e.PackageEntity | undefined;
756
747
  readonly isAliasedImport: e.PackageAliasEntity | undefined;
757
748
  constructor(entity: e.PackageEntity | undefined, isAliasedImport: e.PackageAliasEntity | undefined);
758
749
  }
759
- export declare class AnalyzedPackageImports {
760
- readonly packageImportInfos: Map<tree.PackageImport, AnalyzedPackageImport>;
761
- readonly diagnostics: readonly Diagnostic[];
762
- constructor(packageImportInfos: Map<tree.PackageImport, AnalyzedPackageImport>, diagnostics: readonly Diagnostic[]);
763
- }
764
750
  export declare class PackageImportInfo {
765
751
  readonly entity: e.PackageEntity;
766
752
  readonly aliasEntity: e.PackageAliasEntity | undefined;
@@ -785,33 +771,6 @@ declare class TypeUtils {
785
771
  private getFlattenedConstituentTypesForCommonTypesSearch;
786
772
  private flattenTypeParameterConstraint;
787
773
  }
788
- declare class SignatureComparer {
789
- private readonly analyzer;
790
- private readonly stubParameterTypes;
791
- constructor(analyzer: Analyzer);
792
- areEqualFunctionEntities(function1: e.FunctionEntity, function2: e.FunctionEntity, options: SignatureComparisonOptions): boolean;
793
- /**
794
- * Метод аналогичен методу {@link areEqualFunctionEntities}.
795
- */
796
- areEqualMethods(method1: types.Method, method2: types.Method, options: SignatureComparisonOptions): boolean;
797
- /**
798
- * Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
799
- *
800
- * Отношение "сущности, имеющие только параметры, конфликтуют" является транзитивным.
801
- */
802
- areEqualSignaturesWithoutTypeParameters(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature): boolean;
803
- areEqualTypeMemberSignaturesWithoutTypeParameters(member1: TypeMemberWithoutTypeParametersInSignature, member2: TypeMemberWithoutTypeParametersInSignature): boolean;
804
- doTypeParameterCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
805
- private areEqualParameters;
806
- private areEqualTypeMemberParameters;
807
- private createSubstitutionsWithStubTypes;
808
- }
809
- export declare enum SignatureComparisonOptions {
810
- None = 0,
811
- CompareNames = 1,
812
- CompareReturnTypes = 2,
813
- CheckTypeParameterCountIntersection = 4
814
- }
815
774
  declare class ConflictsCheck {
816
775
  private readonly analyzer;
817
776
  private static readonly signatureComparisonOptions;
@@ -1,4 +1,4 @@
1
- import { Diagnostic } from '../diagnostic/Diagnostic.js';
1
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
2
  import { AutotypeCallExpression } from '../tree/index.js';
3
3
  import * as types from '../types/index.js';
4
4
  import { Analyzer, ExpressionAnalysisOptions } from './index.js';
@@ -6,16 +6,16 @@ export declare class Resolver {
6
6
  private readonly analyzer;
7
7
  private readonly node;
8
8
  private readonly analysisOptions;
9
- constructor(analyzer: Analyzer, node: AutotypeCallExpression, analysisOptions: ExpressionAnalysisOptions | undefined);
9
+ private readonly diagnostics;
10
+ constructor(analyzer: Analyzer, node: AutotypeCallExpression, analysisOptions: ExpressionAnalysisOptions | undefined, diagnostics: DiagnosticAcceptor | undefined);
10
11
  resolve(): ResolutionResult;
11
12
  private isAutotypeExpressionInValidPosition;
12
13
  }
13
14
  export declare class ResolutionResult {
14
15
  readonly meaning: Meaning;
15
- readonly diagnostics?: readonly Diagnostic[] | undefined;
16
16
  readonly dependsOnTargetType: boolean;
17
- constructor(meaning: Meaning, diagnostics?: readonly Diagnostic[] | undefined, dependsOnTargetType?: boolean);
18
- static unresolved(diagnostics: readonly Diagnostic[] | undefined, dependsOnTargetType?: boolean): ResolutionResult;
17
+ constructor(meaning: Meaning, dependsOnTargetType?: boolean);
18
+ static unresolved(dependsOnTargetType?: boolean): ResolutionResult;
19
19
  }
20
20
  export type Meaning = Meaning_constructorCall | Meaning_unresolved;
21
21
  declare class Meaning_constructorCall {
@@ -1,4 +1,4 @@
1
- import { Diagnostic } from '../diagnostic/Diagnostic.js';
1
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
2
  import * as tree from '../tree/index.js';
3
3
  import * as types from '../types/index.js';
4
4
  import { AccessedFunction } from './AccessedFunction.js';
@@ -6,8 +6,9 @@ import { Analyzer } from './Analyzer.js';
6
6
  export declare class FirstStageResolver {
7
7
  private readonly analyzer;
8
8
  private readonly node;
9
- constructor(analyzer: Analyzer, node: tree.BaseExpression);
10
- resolve(): FirstStageResolutionsResult;
9
+ private readonly diagnostics;
10
+ constructor(analyzer: Analyzer, node: tree.BaseExpression, diagnostics: DiagnosticAcceptor | undefined);
11
+ resolve(): MeaningStage1;
11
12
  private resolveBaseConstructorOrMethodAccess;
12
13
  private resolveBaseConstructorAccess;
13
14
  private resolveBaseMethodAccess;
@@ -29,18 +30,13 @@ export declare class FirstStageResolver {
29
30
  export declare class SecondStageResolver {
30
31
  private readonly analyzer;
31
32
  private readonly node;
32
- private readonly firstStageResolutionResult;
33
- constructor(analyzer: Analyzer, node: tree.BaseExpression, firstStageResolutionResult: FirstStageResolutionsResult);
34
- resolve(): ResolutionResult;
33
+ private readonly firstStageMeaning;
34
+ private readonly diagnostics;
35
+ constructor(analyzer: Analyzer, node: tree.BaseExpression, firstStageMeaning: MeaningStage1, diagnostics: DiagnosticAcceptor | undefined);
36
+ resolve(): Meaning;
35
37
  private resolveOverriddenMethodAccess;
36
38
  private resolveOverriddenOperatorAccess;
37
39
  }
38
- export declare class ResolutionResult {
39
- readonly meaning: Meaning;
40
- readonly diagnostics?: readonly Diagnostic[] | undefined;
41
- constructor(meaning: Meaning, diagnostics?: readonly Diagnostic[] | undefined);
42
- static unresolved(diagnostics?: readonly Diagnostic[]): ResolutionResult;
43
- }
44
40
  export type Meaning = Meaning_baseObjectAccess | Meaning_baseConstructorAccess | Meaning_overriddenMethodAccess | Meaning_overriddenOperatorAccess | Meaning_unresolved;
45
41
  declare class Meaning_baseObjectAccess {
46
42
  readonly type: types.Type;
@@ -84,12 +80,6 @@ declare class Meaning_overriddenOperatorAccess {
84
80
  declare class Meaning_unresolved {
85
81
  readonly kind = "unresolved";
86
82
  }
87
- export declare class FirstStageResolutionsResult {
88
- readonly meaning: MeaningStage1;
89
- readonly diagnostics?: readonly Diagnostic[] | undefined;
90
- constructor(meaning: MeaningStage1, diagnostics?: readonly Diagnostic[] | undefined);
91
- static unresolved(diagnostics?: readonly Diagnostic[]): FirstStageResolutionsResult;
92
- }
93
83
  export type MeaningStage1 = Meaning_baseObjectAccess | Meaning_baseConstructorAccess | MeaningStage1_overriddenMethodAccess | MeaningStage1_overriddenOperatorAccess | Meaning_unresolved;
94
84
  declare class MeaningStage1_overriddenMethodAccess {
95
85
  readonly method: types.Method;
@@ -1,4 +1,4 @@
1
- import { Diagnostic } from '../diagnostic/Diagnostic.js';
1
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
2
  import { NamedTypeEntity } from '../entities/index.js';
3
3
  import * as tree from '../tree/index.js';
4
4
  import * as types from '../types/index.js';
@@ -8,8 +8,9 @@ export declare class Resolver {
8
8
  private readonly analyzer;
9
9
  private readonly node;
10
10
  private readonly analysisOptions;
11
- constructor(analyzer: Analyzer, node: tree.CallExpression, analysisOptions: ExpressionAnalysisOptions | undefined);
12
- resolve(): ResolutionResult;
11
+ private readonly diagnostics;
12
+ constructor(analyzer: Analyzer, node: tree.CallExpression, analysisOptions: ExpressionAnalysisOptions | undefined, diagnostics: DiagnosticAcceptor | undefined);
13
+ resolve(): Meaning;
13
14
  private checkExpressionDenotesType;
14
15
  private checkExpressionDenotesFunction;
15
16
  private checkExpressionDenotesOperator;
@@ -18,12 +19,6 @@ export declare class Resolver {
18
19
  private resolveConstructorCallExpression;
19
20
  private resolveObjectFunctionCallExpression;
20
21
  }
21
- export declare class ResolutionResult {
22
- readonly meaning: Meaning;
23
- readonly diagnostics?: readonly Diagnostic[] | undefined;
24
- constructor(meaning: Meaning, diagnostics?: readonly Diagnostic[] | undefined);
25
- static unresolved(diagnostics: readonly Diagnostic[] | undefined): ResolutionResult;
26
- }
27
22
  export type Meaning = Meaning_functionCall | Meaning_operatorCall | Meaning_objectFunctionCall | Meaning_constructorCall | Meaning_unresolved;
28
23
  export declare class Meaning_functionCall {
29
24
  readonly candidates: readonly NotSubstitutedAccessedFunction[];
@@ -1,14 +1,15 @@
1
1
  import { AccessKind } from '../common/index.js';
2
- import { Diagnostic } from '../diagnostic/Diagnostic.js';
2
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
3
3
  import { DereferenceExpression } from '../tree/index.js';
4
4
  import * as types from '../types/index.js';
5
5
  import { Analyzer } from './index.js';
6
6
  export declare class Resolver {
7
7
  private readonly analyzer;
8
8
  private readonly node;
9
+ private readonly diagnostics;
9
10
  private readonly semanticContext_;
10
11
  private get semanticContext();
11
- constructor(analyzer: Analyzer, node: DereferenceExpression);
12
+ constructor(analyzer: Analyzer, node: DereferenceExpression, diagnostics: DiagnosticAcceptor | undefined);
12
13
  resolve(): Meaning;
13
14
  private convertSyntacticAccessKind;
14
15
  }
@@ -20,8 +21,6 @@ declare class Meaning_resolved {
20
21
  constructor(operator: types.DereferenceOperator, accessKind: AccessKind);
21
22
  }
22
23
  declare class Meaning_unresolved {
23
- readonly diagnostic: Diagnostic | undefined;
24
24
  readonly kind = "unresolved";
25
- constructor(diagnostic: Diagnostic | undefined);
26
25
  }
27
26
  export {};