@artel/artc 0.6.25244 → 0.6.25246

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 (136) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +36 -22
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +651 -1065
  5. package/build/{chunk-V7EU2U6Y.js → chunk-BGCXIMTW.js} +2 -2
  6. package/build/{chunk-C7RKXERX.js → chunk-CNAUD5P6.js} +1 -1
  7. package/build/{chunk-BAAUJYMH.js → chunk-RIWU6SF4.js} +24430 -21532
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +49 -81
  9. package/build/types/analysis/Analyzer.d.ts +82 -91
  10. package/build/types/analysis/ArgumentToParameterMatchResult.d.ts +8 -10
  11. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +3 -4
  12. package/build/types/analysis/BaseExpressionMeaning.d.ts +12 -8
  13. package/build/types/analysis/BaseMemberConflictsValidator.d.ts +8 -10
  14. package/build/types/analysis/CallExpressionMeaning.d.ts +8 -9
  15. package/build/types/analysis/ConstructorOverloadResolver.d.ts +4 -7
  16. package/build/types/analysis/DeclarationsUsageCounter.d.ts +1 -2
  17. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +2 -3
  18. package/build/types/analysis/DiagnosticArgumentFactory.d.ts +18 -0
  19. package/build/types/analysis/DiagnosticCollector.d.ts +3 -3
  20. package/build/types/analysis/DisplayableEntity.d.ts +46 -0
  21. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +19 -20
  22. package/build/types/analysis/ImportedPackageNameTree.d.ts +1 -7
  23. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +7 -8
  24. package/build/types/analysis/InstanceFieldsInitializationValidator.d.ts +18 -0
  25. package/build/types/analysis/Localization.d.ts +19 -25
  26. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +32 -34
  27. package/build/types/analysis/NamedTypeResolver.d.ts +7 -10
  28. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +4 -7
  29. package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
  30. package/build/types/analysis/ObjectExpressionMeaning.d.ts +12 -8
  31. package/build/types/analysis/OwnAndBaseConstructorCallsChecker.d.ts +23 -0
  32. package/build/types/analysis/PackageAndStaticVariablesInitializationValidator.d.ts +17 -0
  33. package/build/types/analysis/PackageMemberLookup.d.ts +4 -9
  34. package/build/types/analysis/PackageMemberNameConflictsValidator.d.ts +2 -2
  35. package/build/types/analysis/SourceFileMembers.d.ts +3 -3
  36. package/build/types/analysis/TagMeaning.d.ts +19 -22
  37. package/build/types/analysis/Tags.d.ts +1 -1
  38. package/build/types/analysis/TypeMemberConflictsValidator.d.ts +2 -2
  39. package/build/types/analysis/TypeMemberLookup.d.ts +23 -31
  40. package/build/types/analysis/TypeNarrower.d.ts +1 -0
  41. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +1 -2
  42. package/build/types/analysis/UserDefinableUnaryOperatorResolver.d.ts +1 -2
  43. package/build/types/analysis/WellKnownDeclarations.d.ts +100 -31
  44. package/build/types/analysis/control-flow/NarrowableReference.d.ts +5 -6
  45. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +5 -6
  46. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +13 -14
  47. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +5 -6
  48. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +8 -9
  49. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +5 -6
  50. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +11 -12
  51. package/build/types/api/Api.d.ts +0 -3
  52. package/build/types/common/Displayable.d.ts +13 -0
  53. package/build/types/common/FormatString.d.ts +2 -1
  54. package/build/types/common/HelperPhrases.d.ts +2 -1
  55. package/build/types/common/Name.d.ts +9 -14
  56. package/build/types/common/TreeQuery.d.ts +6 -4
  57. package/build/types/common/WithDiagnostics.d.ts +3 -4
  58. package/build/types/common/index.d.ts +1 -1
  59. package/build/types/diagnostic/DiagnosticCode.d.ts +131 -125
  60. package/build/types/diagnostic/DiagnosticData.d.ts +7 -3
  61. package/build/types/emitter/EntityMap.d.ts +1 -0
  62. package/build/types/emitter/Transformer.d.ts +4 -2
  63. package/build/types/emitter/ir/EmitOptions.d.ts +14 -0
  64. package/build/types/emitter/ir/Nodes.d.ts +41 -25
  65. package/build/types/emitter/ir/types.d.ts +1 -1
  66. package/build/types/entities/AliasTypeEntity.d.ts +9 -41
  67. package/build/types/entities/AliasedType.d.ts +62 -0
  68. package/build/types/entities/BaseEntityHidingMatcher.d.ts +1 -1
  69. package/build/types/entities/ConstructorEntity.d.ts +10 -2
  70. package/build/types/entities/DereferenceOperatorEntity.d.ts +5 -0
  71. package/build/types/entities/DestructorEntity.d.ts +6 -2
  72. package/build/types/entities/EntityHiding.d.ts +1 -1
  73. package/build/types/entities/EntityLocalizationContext.d.ts +53 -0
  74. package/build/types/entities/FunctionEntity.d.ts +20 -0
  75. package/build/types/entities/FunctionTypeEntity.d.ts +15 -4
  76. package/build/types/entities/GetterEntity.d.ts +15 -2
  77. package/build/types/entities/IndexerEntity.d.ts +5 -0
  78. package/build/types/entities/OperatorEntity.d.ts +9 -3
  79. package/build/types/entities/PackageAliasEntity.d.ts +5 -0
  80. package/build/types/entities/PackageEntity.d.ts +8 -3
  81. package/build/types/entities/PackageMembers.d.ts +3 -2
  82. package/build/types/entities/SetterEntity.d.ts +15 -2
  83. package/build/types/entities/StructuredTypeEntity.d.ts +64 -15
  84. package/build/types/entities/TypeEntityMembers.d.ts +2 -5
  85. package/build/types/entities/TypeExtensionEntity.d.ts +9 -5
  86. package/build/types/entities/TypeMemberContainer.d.ts +2 -2
  87. package/build/types/entities/TypeParameterEntity.d.ts +26 -8
  88. package/build/types/entities/VariableEntity.d.ts +41 -1
  89. package/build/types/entities/VariantTypeEntity.d.ts +13 -4
  90. package/build/types/entities/index.d.ts +5 -4
  91. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +54 -0
  92. package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +25 -0
  93. package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +34 -0
  94. package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +24 -0
  95. package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +75 -0
  96. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +83 -0
  97. package/build/types/entities/translated/TranslatedGetterEntity.d.ts +25 -0
  98. package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +37 -0
  99. package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +35 -0
  100. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +28 -0
  101. package/build/types/entities/translated/TranslatedSetterEntity.d.ts +22 -0
  102. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +107 -0
  103. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +28 -0
  104. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +46 -0
  105. package/build/types/entities/translated/TranslatedVariableEntity.d.ts +97 -0
  106. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +76 -0
  107. package/build/types/project/FileSystemTree.d.ts +2 -2
  108. package/build/types/project/SourcePackage.d.ts +1 -0
  109. package/build/types/services/DefinitionService.d.ts +0 -1
  110. package/build/types/services/DisplayService.d.ts +39 -134
  111. package/build/types/services/NodeSemanticInfo.d.ts +7 -7
  112. package/build/types/services/ReferencesService.d.ts +5 -3
  113. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +7 -10
  114. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -3
  115. package/build/types/services/source-generation/SourceGenerationService.d.ts +3 -4
  116. package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +5 -5
  117. package/build/types/services/workspace/CompilationController.d.ts +3 -3
  118. package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +4 -4
  119. package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +4 -4
  120. package/build/types/services/workspace/Workspace.d.ts +3 -3
  121. package/build/types/services/workspace/WorkspaceFiles.d.ts +7 -7
  122. package/build/types/tree/green/Token.d.ts +6 -7
  123. package/build/types/ts-interop/Entities.d.ts +64 -13
  124. package/build/types/ts-interop/TsInteropContext.d.ts +17 -5
  125. package/build/types/ts-interop/TsPackageContents.d.ts +2 -2
  126. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +3 -3
  127. package/build/types/ts-interop/TsTypeMembersCreator.d.ts +4 -4
  128. package/build/types/types/StandardTypes.d.ts +3 -2
  129. package/build/types/types/Substitutions.d.ts +3 -0
  130. package/build/types/types/Type.d.ts +3 -0
  131. package/package.json +2 -2
  132. package/build/types/analysis/EntityLocalizationHelper.d.ts +0 -17
  133. package/build/types/analysis/FoundDeclaration.d.ts +0 -19
  134. package/build/types/analysis/LocalizationContext.d.ts +0 -15
  135. package/build/types/common/SearchName.d.ts +0 -14
  136. package/build/types/types/Internal.d.ts +0 -1
@@ -1,19 +1,17 @@
1
- import { AccessKind, MaybeLazy } from '../common/index.js';
1
+ import { AccessKind } from '../common/index.js';
2
2
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
3
  import { Entity, PackageTypeEntity, PackageVariableEntity } from '../entities/index.js';
4
4
  import * as tree from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import { AccessedFunction } from './AccessedFunction.js';
7
- import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
8
7
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
9
8
  import { Analyzer, TargetTypeHint } from './index.js';
10
- import { WithLocalization } from './Localization.js';
11
9
  export declare class Resolver {
12
10
  private readonly _semanticContext;
13
11
  private readonly _analyzer;
14
12
  private readonly _node;
15
13
  private readonly _targetTypeHint;
16
- private get memberSearchName();
14
+ private get memberName();
17
15
  private get semanticContext();
18
16
  private get receiver();
19
17
  constructor(analyzer: Analyzer, node: tree.MemberAccessExpression, targetTypeHint: TargetTypeHint | undefined);
@@ -31,12 +29,12 @@ export declare class Resolver {
31
29
  }
32
30
  export declare class ResolutionResult {
33
31
  readonly meaning: Meaning;
34
- readonly diagnostic?: MaybeLazy<Diagnostic> | undefined;
32
+ readonly diagnostic?: Diagnostic | undefined;
35
33
  /**
36
34
  * Может ли измениться результат, если посчитать его с другим целевым типом?
37
35
  */
38
36
  readonly dependsOnTargetType: boolean;
39
- constructor(meaning: Meaning, diagnostic?: MaybeLazy<Diagnostic> | undefined,
37
+ constructor(meaning: Meaning, diagnostic?: Diagnostic | undefined,
40
38
  /**
41
39
  * Может ли измениться результат, если посчитать его с другим целевым типом?
42
40
  */
@@ -44,24 +42,24 @@ export declare class ResolutionResult {
44
42
  }
45
43
  export type Meaning = Meaning_packageVariableAccess | Meaning_packageFunctionAccess | Meaning_packageTypeAccess | Meaning_packageNameSegmentAccess | Meaning_staticFieldAccess | Meaning_staticMethodAccess | Meaning_instanceFieldAccess | Meaning_instanceMethodAccess | Meaning_operatorAccess | Meaning_mixedAmbiguousAccess | Meaning_unresolved;
46
44
  declare class Meaning_packageVariableAccess {
47
- readonly variable: FoundNamedDeclaration<PackageVariableEntity>;
45
+ readonly variable: PackageVariableEntity;
48
46
  readonly accessKind: AccessKind;
49
47
  readonly kind = "package-variable-access";
50
- constructor(variable: FoundNamedDeclaration<PackageVariableEntity>, accessKind: AccessKind);
48
+ constructor(variable: PackageVariableEntity, accessKind: AccessKind);
51
49
  }
52
50
  declare class Meaning_packageFunctionAccess {
53
- readonly candidates: readonly FoundNamedDeclaration<AccessedFunction>[];
54
- readonly suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[];
51
+ readonly candidates: readonly AccessedFunction[];
52
+ readonly suitableFunctions: readonly AccessedFunction[];
55
53
  readonly kind = "package-function-access";
56
- get singleSuitableFunction(): FoundNamedDeclaration<AccessedFunction> | undefined;
57
- constructor(candidates: readonly FoundNamedDeclaration<AccessedFunction>[], suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[]);
54
+ get singleSuitableFunction(): AccessedFunction | undefined;
55
+ constructor(candidates: readonly AccessedFunction[], suitableFunctions: readonly AccessedFunction[]);
58
56
  }
59
57
  declare class Meaning_packageTypeAccess {
60
- readonly candidates: readonly FoundNamedDeclaration<PackageTypeEntity>[];
61
- readonly suitableTypes: readonly FoundNamedDeclaration<types.Type>[];
58
+ readonly candidates: readonly PackageTypeEntity[];
59
+ readonly suitableTypes: readonly types.Type[];
62
60
  readonly kind = "package-type-access";
63
- get singleSuitableType(): FoundNamedDeclaration<types.Type> | undefined;
64
- constructor(candidates: readonly FoundNamedDeclaration<PackageTypeEntity>[], suitableTypes: readonly FoundNamedDeclaration<types.Type>[]);
61
+ get singleSuitableType(): types.Type | undefined;
62
+ constructor(candidates: readonly PackageTypeEntity[], suitableTypes: readonly types.Type[]);
65
63
  }
66
64
  declare class Meaning_packageNameSegmentAccess {
67
65
  readonly packageTreeNode: PackageNameTreeNode;
@@ -70,43 +68,43 @@ declare class Meaning_packageNameSegmentAccess {
70
68
  }
71
69
  declare class Meaning_staticFieldAccess {
72
70
  readonly type: types.Type;
73
- readonly field: FoundNamedDeclaration<types.Field>;
71
+ readonly field: types.Field;
74
72
  readonly accessKind: AccessKind;
75
73
  readonly kind = "static-field-access";
76
- constructor(type: types.Type, field: FoundNamedDeclaration<types.Field>, accessKind: AccessKind);
74
+ constructor(type: types.Type, field: types.Field, accessKind: AccessKind);
77
75
  }
78
76
  declare class Meaning_staticMethodAccess {
79
77
  readonly type: types.Type;
80
- readonly candidates: readonly FoundNamedDeclaration<AccessedFunction>[];
81
- readonly suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[];
78
+ readonly candidates: readonly AccessedFunction[];
79
+ readonly suitableFunctions: readonly AccessedFunction[];
82
80
  readonly kind = "static-method-access";
83
- get singleSuitableFunction(): FoundNamedDeclaration<AccessedFunction> | undefined;
84
- constructor(type: types.Type, candidates: readonly FoundNamedDeclaration<AccessedFunction>[], suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[]);
81
+ get singleSuitableFunction(): AccessedFunction | undefined;
82
+ constructor(type: types.Type, candidates: readonly AccessedFunction[], suitableFunctions: readonly AccessedFunction[]);
85
83
  }
86
84
  declare class Meaning_instanceFieldAccess {
87
- readonly field: FoundNamedDeclaration<types.Field>;
85
+ readonly field: types.Field;
88
86
  readonly accessKind: AccessKind;
89
87
  readonly kind = "instance-field-access";
90
- constructor(field: FoundNamedDeclaration<types.Field>, accessKind: AccessKind);
88
+ constructor(field: types.Field, accessKind: AccessKind);
91
89
  }
92
90
  declare class Meaning_instanceMethodAccess {
93
- readonly candidates: readonly FoundNamedDeclaration<AccessedFunction>[];
94
- readonly suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[];
91
+ readonly candidates: readonly AccessedFunction[];
92
+ readonly suitableFunctions: readonly AccessedFunction[];
95
93
  readonly kind = "instance-method-access";
96
- get singleSuitableFunction(): FoundNamedDeclaration<AccessedFunction> | undefined;
97
- constructor(candidates: readonly FoundNamedDeclaration<AccessedFunction>[], suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[]);
94
+ get singleSuitableFunction(): AccessedFunction | undefined;
95
+ constructor(candidates: readonly AccessedFunction[], suitableFunctions: readonly AccessedFunction[]);
98
96
  }
99
97
  declare class Meaning_operatorAccess {
100
- readonly candidates: readonly FoundAnonymousDeclaration<types.Operator>[];
101
- readonly suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[];
98
+ readonly candidates: readonly types.Operator[];
99
+ readonly suitableOperators: readonly types.Operator[];
102
100
  readonly kind = "operator-access";
103
- get singleSuitableOperator(): FoundAnonymousDeclaration<types.Operator> | undefined;
104
- constructor(candidates: readonly FoundAnonymousDeclaration<types.Operator>[], suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[]);
101
+ get singleSuitableOperator(): types.Operator | undefined;
102
+ constructor(candidates: readonly types.Operator[], suitableOperators: readonly types.Operator[]);
105
103
  }
106
104
  declare class Meaning_mixedAmbiguousAccess {
107
- readonly entities: readonly WithLocalization<Entity>[];
105
+ readonly entities: readonly Entity[];
108
106
  readonly kind = "mixed-ambiguous-access";
109
- constructor(entities: readonly WithLocalization<Entity>[]);
107
+ constructor(entities: readonly Entity[]);
110
108
  }
111
109
  declare class Meaning_unresolved {
112
110
  readonly kind = "unresolved";
@@ -1,11 +1,8 @@
1
- import { MaybeLazy } from '../common/index.js';
2
1
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
2
  import { NamedTypeEntity, PackageAliasEntity } from '../entities/index.js';
4
3
  import { QualifiedName } from '../tree/index.js';
5
4
  import { Analyzer } from './Analyzer.js';
6
- import { FoundNamedDeclaration } from './FoundDeclaration.js';
7
5
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
8
- import { WithLocalization } from './Localization.js';
9
6
  import { EntityOrPackageNameTreeNode } from './Utils.js';
10
7
  export declare class NamedTypeResolver {
11
8
  private readonly _analyzer;
@@ -22,11 +19,11 @@ export declare class NamedTypeResolver {
22
19
  private createAmbiguousAccessDiagnostic;
23
20
  }
24
21
  export declare class NamedTypeResolutionResult {
25
- readonly types: readonly FoundNamedDeclaration<NamedTypeEntity>[];
22
+ readonly types: readonly NamedTypeEntity[];
26
23
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
27
- readonly diagnostics: readonly MaybeLazy<Diagnostic>[];
28
- readonly ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
29
- constructor(types: readonly FoundNamedDeclaration<NamedTypeEntity>[], resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly MaybeLazy<Diagnostic>[], ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
24
+ readonly diagnostics: readonly Diagnostic[];
25
+ readonly ambiguousDeclarations: readonly EntityOrPackageNameTreeNode[] | undefined;
26
+ constructor(types: readonly NamedTypeEntity[], resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[], ambiguousDeclarations: readonly EntityOrPackageNameTreeNode[] | undefined);
30
27
  }
31
28
  export type ResolvedQualifier = ResolvedQualifier_packageNameSegment | ResolvedQualifier_packageAlias | ResolvedQualifier_type;
32
29
  export declare class ResolvedQualifier_packageNameSegment {
@@ -40,8 +37,8 @@ export declare class ResolvedQualifier_packageAlias {
40
37
  constructor(packageAlias: PackageAliasEntity);
41
38
  }
42
39
  export declare class ResolvedQualifier_type {
43
- readonly candidates: readonly FoundNamedDeclaration<NamedTypeEntity>[];
44
- readonly suitableTypes: readonly FoundNamedDeclaration<NamedTypeEntity>[];
40
+ readonly candidates: readonly NamedTypeEntity[];
41
+ readonly suitableTypes: readonly NamedTypeEntity[];
45
42
  readonly kind = "type";
46
- constructor(candidates: readonly FoundNamedDeclaration<NamedTypeEntity>[], suitableTypes: readonly FoundNamedDeclaration<NamedTypeEntity>[]);
43
+ constructor(candidates: readonly NamedTypeEntity[], suitableTypes: readonly NamedTypeEntity[]);
47
44
  }
@@ -1,10 +1,7 @@
1
- import { MaybeLazy } from '../common/index.js';
2
1
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
2
  import { NamedTypeSpecifier } from '../tree/index.js';
4
3
  import * as types from '../types/index.js';
5
4
  import { Analyzer } from './Analyzer.js';
6
- import { FoundNamedDeclaration } from './FoundDeclaration.js';
7
- import { WithLocalization } from './Localization.js';
8
5
  import { ResolvedQualifier } from './NamedTypeResolver.js';
9
6
  import { EntityOrPackageNameTreeNode } from './Utils.js';
10
7
  export declare class NamedTypeSpecifierResolver {
@@ -15,9 +12,9 @@ export declare class NamedTypeSpecifierResolver {
15
12
  private resolveTypeOverload;
16
13
  }
17
14
  export declare class NamedTypeSpecifierResolutionResult {
18
- readonly type: FoundNamedDeclaration<types.Type> | undefined;
15
+ readonly type: types.Type | undefined;
19
16
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
20
- readonly diagnostics: readonly MaybeLazy<Diagnostic>[];
21
- readonly ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
22
- constructor(type: FoundNamedDeclaration<types.Type> | undefined, resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly MaybeLazy<Diagnostic>[], ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
17
+ readonly diagnostics: readonly Diagnostic[];
18
+ readonly ambiguousDeclarations: readonly EntityOrPackageNameTreeNode[] | undefined;
19
+ constructor(type: types.Type | undefined, resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[], ambiguousDeclarations: readonly EntityOrPackageNameTreeNode[] | undefined);
23
20
  }
@@ -22,6 +22,7 @@ export type FunctionTypeDeclaration = tree.PackageFunctionTypeDeclaration | tree
22
22
  export type FunctionDeclaration = tree.PackageFunctionDeclaration | tree.NestedFunctionDeclaration | tree.MethodDeclaration;
23
23
  export type TypeDeclaration = StructuredTypeDeclaration | VariantTypeDeclaration | FunctionTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.TypeParameterDeclaration;
24
24
  export type NamedTypeDeclaration = tree.PackageStructuredTypeDeclaration | tree.PackageVariantTypeDeclaration | tree.PackageFunctionTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.TypeParameterDeclaration;
25
+ export type TypeWithMembersDeclaration = StructuredTypeDeclaration | VariantTypeDeclaration | tree.PackageAliasTypeDeclaration;
25
26
  export type VariableDeclaration = tree.EnumerationVariableDeclaration | tree.PackageVariableDeclaration | tree.LocalVariableDeclaration | tree.ParameterDeclaration | tree.FieldDeclaration | tree.VariantDeclaration;
26
27
  export type GetterDeclaration = tree.PackageVariableGetterDeclaration | tree.FieldGetterDeclaration | tree.IndexedElementGetterDeclaration | tree.DereferencedVariableGetterDeclaration;
27
28
  export type SetterDeclaration = tree.PackageVariableSetterDeclaration | tree.FieldSetterDeclaration | tree.IndexedElementSetterDeclaration | tree.DereferencedVariableSetterDeclaration;
@@ -2,7 +2,6 @@ import { Diagnostic } 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 { Analyzer } from './Analyzer.js';
5
- import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
6
5
  /**
7
6
  * "объект" может использоваться только в следующих конструкциях:
8
7
  * 1. объект() - в конструкторе для вызова другого собственного конструктора.
@@ -12,12 +11,18 @@ export declare class Resolver {
12
11
  private readonly _analyzer;
13
12
  private readonly _node;
14
13
  constructor(analyzer: Analyzer, node: tree.ObjectExpression);
15
- resolve(): Meaning;
14
+ resolve(): ResolutionResult;
16
15
  private resolveOwnConstructorAccess;
17
16
  private resolveContextAccess;
18
- private invalidContextMeaning;
17
+ private invalidContextDiagnostic;
19
18
  private findContainingConstructor;
20
19
  }
20
+ export declare class ResolutionResult {
21
+ readonly meaning: Meaning;
22
+ readonly diagnostics?: readonly Diagnostic[] | undefined;
23
+ constructor(meaning: Meaning, diagnostics?: readonly Diagnostic[] | undefined);
24
+ static unresolved(diagnostics?: readonly Diagnostic[]): ResolutionResult;
25
+ }
21
26
  export type Meaning = Meaning_ownConstructorAccess | Meaning_objectAccess | Meaning_unresolved;
22
27
  declare class Meaning_ownConstructorAccess {
23
28
  /**
@@ -28,9 +33,10 @@ declare class Meaning_ownConstructorAccess {
28
33
  * с ним совместим.
29
34
  */
30
35
  readonly type: types.Type;
31
- readonly candidates: readonly FoundAnonymousDeclaration<types.Constructor>[];
32
- readonly suitableConstructors: readonly FoundAnonymousDeclaration<types.Constructor>[];
36
+ readonly candidates: readonly types.Constructor[];
37
+ readonly suitableConstructors: readonly types.Constructor[];
33
38
  readonly kind = "own-constructor-access";
39
+ get singleSuitableConstructor(): types.Constructor | undefined;
34
40
  constructor(
35
41
  /**
36
42
  * Тип объекта, получаемого в результате вызова конструктора.
@@ -39,7 +45,7 @@ declare class Meaning_ownConstructorAccess {
39
45
  * создаваемый найденным конструктором, будет отличаться от результирующего типа, хранимого в этом поле, но будет
40
46
  * с ним совместим.
41
47
  */
42
- type: types.Type, candidates: readonly FoundAnonymousDeclaration<types.Constructor>[], suitableConstructors: readonly FoundAnonymousDeclaration<types.Constructor>[]);
48
+ type: types.Type, candidates: readonly types.Constructor[], suitableConstructors: readonly types.Constructor[]);
43
49
  }
44
50
  declare class Meaning_objectAccess {
45
51
  readonly type: types.Type;
@@ -47,8 +53,6 @@ declare class Meaning_objectAccess {
47
53
  constructor(type: types.Type);
48
54
  }
49
55
  declare class Meaning_unresolved {
50
- readonly diagnostic: Diagnostic | undefined;
51
56
  readonly kind = "unresolved";
52
- constructor(diagnostic: Diagnostic | undefined);
53
57
  }
54
58
  export {};
@@ -0,0 +1,23 @@
1
+ import { Diagnostic } from '../diagnostic/Diagnostic.js';
2
+ import { ConstructorEntity, TypeEntityWithMembers } from '../entities/index.js';
3
+ import * as tree from '../tree/index.js';
4
+ import * as types from '../types/index.js';
5
+ import { Analyzer } from './Analyzer.js';
6
+ import { SemanticContext } from './semantic-context/SemanticContext.js';
7
+ export declare class OwnAndBaseConstructorCallsChecker {
8
+ private readonly _analyzer;
9
+ private readonly _constructorDeclarations;
10
+ private readonly _typeEntity;
11
+ private readonly _semanticContext;
12
+ constructor(_analyzer: Analyzer, _constructorDeclarations: readonly tree.ConstructorDeclaration[], _typeEntity: TypeEntityWithMembers, _semanticContext: SemanticContext);
13
+ check(): OwnAndBaseConstructorCallsCheckResult;
14
+ private addOwnConstructorCallOrReportCycleDiagnostic;
15
+ private getUnaliasedBaseObjectType;
16
+ private findAccessibleConstructorWithoutParameters;
17
+ }
18
+ export declare class OwnAndBaseConstructorCallsCheckResult {
19
+ readonly ownConstructorCalls: ReadonlyMap<ConstructorEntity, ConstructorEntity>;
20
+ readonly baseConstructorCalls: ReadonlyMap<ConstructorEntity, types.Constructor>;
21
+ readonly diagnostics: readonly Diagnostic[];
22
+ constructor(ownConstructorCalls: ReadonlyMap<ConstructorEntity, ConstructorEntity>, baseConstructorCalls: ReadonlyMap<ConstructorEntity, types.Constructor>, diagnostics: readonly Diagnostic[]);
23
+ }
@@ -0,0 +1,17 @@
1
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
+ import { SourcePackage } from '../project/SourcePackage.js';
3
+ import { Analyzer } from './Analyzer.js';
4
+ import { DeclarationsUsageCountResult } from './DeclarationsUsageCounter.js';
5
+ export declare class PackageAndStaticVariablesInitializationValidator {
6
+ private readonly _analyzer;
7
+ private readonly _package;
8
+ private readonly _declarationsUsageCountResults;
9
+ private readonly _diagnostics;
10
+ constructor(_analyzer: Analyzer, _package: SourcePackage, _declarationsUsageCountResults: readonly DeclarationsUsageCountResult[], _diagnostics: DiagnosticAcceptor);
11
+ validate(): void;
12
+ private getVariablesThatNeedToBeInitializedInConstructor;
13
+ private collectStaticFieldsThatNeedToBeInitializedInConstructor;
14
+ private excludeVariablesInitializedInConstructor;
15
+ private reportNotInitialedVariableDiagnostic;
16
+ private getVariableDiagnosticLocationWithFallback;
17
+ }
@@ -1,14 +1,9 @@
1
- import { SearchName } from '../common/index.js';
1
+ import { Name } from '../common/index.js';
2
2
  import { IEntityHidingMatcher, NamedPackageMemberEntity, PackageEntity, TypeEntity, TypeExtensionEntity } from '../entities/index.js';
3
- import { FoundNamedDeclaration } from './FoundDeclaration.js';
4
- import { LocalizationContext } from './LocalizationContext.js';
5
3
  export declare class PackageMemberLookup {
6
4
  private readonly _package;
7
- private readonly _localizationContext;
8
- private readonly _translatedMembers;
9
- private get translatedMembers();
10
- constructor(_package: PackageEntity, _localizationContext: LocalizationContext | undefined);
11
- getNamedMembers(hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedPackageMemberEntity>[];
12
- getNamedMembersByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedPackageMemberEntity>[];
5
+ constructor(_package: PackageEntity);
6
+ getNamedMembers(hidingMatcher?: IEntityHidingMatcher): readonly NamedPackageMemberEntity[];
7
+ getNamedMembersByName(name: Name, hidingMatcher?: IEntityHidingMatcher): readonly NamedPackageMemberEntity[];
13
8
  getTypeExtensions(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): readonly TypeExtensionEntity[];
14
9
  }
@@ -1,12 +1,12 @@
1
1
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
2
- import { OriginalPackageMembers } from '../entities/PackageMembers.js';
2
+ import { PackageEntityMembers } from '../entities/PackageMembers.js';
3
3
  import { ProgramPackage } from '../project/SourcePackage.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
5
  export declare class PackageMemberNameConflictsValidator {
6
6
  private readonly _analyzer;
7
7
  private readonly _members;
8
8
  private readonly _diagnostics;
9
- constructor(_analyzer: Analyzer, _members: OriginalPackageMembers);
9
+ constructor(_analyzer: Analyzer, _members: PackageEntityMembers);
10
10
  validate(): readonly Diagnostic[];
11
11
  private validateFunctionNameConflicts;
12
12
  private validateTypeNameConflicts;
@@ -1,4 +1,4 @@
1
- import { SearchName } from '../common/index.js';
1
+ import { Name } from '../common/index.js';
2
2
  import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
3
3
  import { PackageAliasEntity, PackageFunctionEntity, PackageTypeEntity, PackageVariableEntity, TypeExtensionEntity } from '../entities/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
@@ -10,9 +10,9 @@ export declare class SourceFileMembers {
10
10
  get declarationsByName(): ReadonlyMap<string, readonly NamedSourceFileMemberEntity[]>;
11
11
  constructor(analyzer: Analyzer, namedMembers: readonly NamedSourceFileMemberEntity[], typeExtensions: readonly TypeExtensionEntity[]);
12
12
  getNamedDeclarations(): readonly NamedSourceFileMemberEntity[];
13
- getNamedDeclarationsByName(name: SearchName): readonly NamedSourceFileMemberEntity[];
13
+ getNamedDeclarationsByName(name: Name): readonly NamedSourceFileMemberEntity[];
14
14
  getPackageAliases(): readonly PackageAliasEntity[];
15
- getPackageAliasesByName(name: SearchName): readonly PackageAliasEntity[];
15
+ getPackageAliasesByName(name: Name): readonly PackageAliasEntity[];
16
16
  getTypeExtensions(): readonly TypeExtensionEntity[];
17
17
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
18
18
  private getDiagnosticLocation;
@@ -1,13 +1,10 @@
1
- import { MaybeLazy } from '../common/index.js';
2
1
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
2
  import { FunctionEntity, NamedTypeEntity, PackageAliasEntity } from '../entities/index.js';
4
3
  import { Tag } from '../tree/index.js';
5
4
  import * as types from '../types/index.js';
6
5
  import { AccessedFunction } from './AccessedFunction.js';
7
- import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
8
6
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
9
7
  import { Analyzer } from './index.js';
10
- import { WithLocalization } from './Localization.js';
11
8
  import { EntityOrPackageNameTreeNode } from './Utils.js';
12
9
  export declare class Resolver {
13
10
  private readonly _analyzer;
@@ -27,25 +24,25 @@ export declare class Resolver {
27
24
  export declare class ResolutionResult {
28
25
  readonly meaning: Meaning;
29
26
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
30
- readonly diagnostic?: MaybeLazy<Diagnostic> | undefined;
31
- readonly ambiguousDeclarations?: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
32
- constructor(meaning: Meaning, resolvedQualifiers: readonly ResolvedQualifier[], diagnostic?: MaybeLazy<Diagnostic> | undefined, ambiguousDeclarations?: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
27
+ readonly diagnostic?: Diagnostic | undefined;
28
+ readonly ambiguousDeclarations?: readonly EntityOrPackageNameTreeNode[] | undefined;
29
+ constructor(meaning: Meaning, resolvedQualifiers: readonly ResolvedQualifier[], diagnostic?: Diagnostic | undefined, ambiguousDeclarations?: readonly EntityOrPackageNameTreeNode[] | undefined);
33
30
  }
34
31
  export type Meaning = Meaning_tagType | Meaning_tagFunction | Meaning_unresolved;
35
32
  declare class Meaning_tagType {
36
33
  readonly type: types.Type;
37
- readonly candidates: readonly FoundAnonymousDeclaration<types.Constructor>[];
38
- readonly suitableConstructors: readonly FoundAnonymousDeclaration<types.Constructor>[];
34
+ readonly candidates: readonly types.Constructor[];
35
+ readonly suitableConstructors: readonly types.Constructor[];
39
36
  readonly kind = "tag-type";
40
- get singleSuitableConstructor(): FoundAnonymousDeclaration<types.Constructor> | undefined;
41
- constructor(type: types.Type, candidates: readonly FoundAnonymousDeclaration<types.Constructor>[], suitableConstructors: readonly FoundAnonymousDeclaration<types.Constructor>[]);
37
+ get singleSuitableConstructor(): types.Constructor | undefined;
38
+ constructor(type: types.Type, candidates: readonly types.Constructor[], suitableConstructors: readonly types.Constructor[]);
42
39
  }
43
40
  declare class Meaning_tagFunction {
44
- readonly candidates: readonly FoundNamedDeclaration<AccessedFunction>[];
45
- readonly suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[];
41
+ readonly candidates: readonly AccessedFunction[];
42
+ readonly suitableFunctions: readonly AccessedFunction[];
46
43
  readonly kind = "tag-function";
47
- get singleSuitableFunction(): FoundNamedDeclaration<AccessedFunction> | undefined;
48
- constructor(candidates: readonly FoundNamedDeclaration<AccessedFunction>[], suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[]);
44
+ get singleSuitableFunction(): AccessedFunction | undefined;
45
+ constructor(candidates: readonly AccessedFunction[], suitableFunctions: readonly AccessedFunction[]);
49
46
  }
50
47
  declare class Meaning_unresolved {
51
48
  readonly kind = "unresolved";
@@ -62,17 +59,17 @@ export declare class ResolvedQualifier_packageAlias {
62
59
  constructor(packageAlias: PackageAliasEntity);
63
60
  }
64
61
  export declare class ResolvedQualifier_type {
65
- readonly candidates: readonly FoundNamedDeclaration<NamedTypeEntity>[];
66
- readonly suitableTypes: readonly FoundNamedDeclaration<NamedTypeEntity>[];
62
+ readonly candidates: readonly NamedTypeEntity[];
63
+ readonly suitableTypes: readonly NamedTypeEntity[];
67
64
  readonly kind = "type";
68
- get singleSuitableType(): FoundNamedDeclaration<NamedTypeEntity> | undefined;
69
- constructor(candidates: readonly FoundNamedDeclaration<NamedTypeEntity>[], suitableTypes: readonly FoundNamedDeclaration<NamedTypeEntity>[]);
65
+ get singleSuitableType(): NamedTypeEntity | undefined;
66
+ constructor(candidates: readonly NamedTypeEntity[], suitableTypes: readonly NamedTypeEntity[]);
70
67
  }
71
68
  export declare class ResolvedQualifier_function {
72
- readonly candidates: readonly FoundNamedDeclaration<FunctionEntity>[];
73
- readonly suitableFunctions: readonly FoundNamedDeclaration<FunctionEntity>[];
69
+ readonly candidates: readonly FunctionEntity[];
70
+ readonly suitableFunctions: readonly FunctionEntity[];
74
71
  readonly kind = "function";
75
- get singleSuitableFunction(): FoundNamedDeclaration<FunctionEntity> | undefined;
76
- constructor(candidates: readonly FoundNamedDeclaration<FunctionEntity>[], suitableFunctions: readonly FoundNamedDeclaration<FunctionEntity>[]);
72
+ get singleSuitableFunction(): FunctionEntity | undefined;
73
+ constructor(candidates: readonly FunctionEntity[], suitableFunctions: readonly FunctionEntity[]);
77
74
  }
78
75
  export {};
@@ -5,7 +5,7 @@ export type Tag = TagType | TagFunction;
5
5
  declare abstract class TagBase {
6
6
  readonly argumentByParameter: ReadonlyMap<ParameterVariableEntity, TagArgument>;
7
7
  private readonly _argumentByName;
8
- get argumentByName(): ReadonlyMap<string, TagArgument>;
8
+ get argumentByOriginalName(): ReadonlyMap<string, TagArgument>;
9
9
  constructor(argumentByParameter: ReadonlyMap<ParameterVariableEntity, TagArgument>);
10
10
  }
11
11
  export declare class TagType extends TagBase {
@@ -1,11 +1,11 @@
1
1
  import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
- import { OriginalTypeEntityMembers } from '../entities/TypeEntityMembers.js';
2
+ import { TypeEntityMembers } from '../entities/TypeEntityMembers.js';
3
3
  import { Analyzer } from './Analyzer.js';
4
4
  export declare class TypeMemberConflictsValidator {
5
5
  private readonly _analyzer;
6
6
  private readonly _members;
7
7
  private readonly _diagnostics;
8
- constructor(_analyzer: Analyzer, _members: OriginalTypeEntityMembers, _diagnostics: DiagnosticAcceptor);
8
+ constructor(_analyzer: Analyzer, _members: TypeEntityMembers, _diagnostics: DiagnosticAcceptor);
9
9
  validate(): void;
10
10
  private validateNamedMembers;
11
11
  private validateNamedMembersWithoutIsStaticCheck;
@@ -1,32 +1,24 @@
1
- import { PackageLocale, SearchName } from '../common/index.js';
1
+ import { Name, PackageLocale } from '../common/index.js';
2
2
  import { IEntityHidingMatcher, OperatorKind, TypeEntity, TypeExtensionEntity, TypeOrExtensionEntity } from '../entities/index.js';
3
3
  import * as types from '../types/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
- import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
6
- import { LocalizationContext } from './LocalizationContext.js';
7
5
  import { SemanticContext } from './semantic-context/SemanticContext.js';
8
6
  export declare class TypeMemberLookup {
9
7
  private readonly _analyzer;
10
8
  private readonly _typeOrExtension;
11
- private readonly _localizationContext;
12
- private readonly _searchLocale;
13
- /**
14
- * Язык, на котором будет осуществляться поиск членов типа.
15
- */
16
- get searchLocale(): PackageLocale;
9
+ private readonly _contextLocale;
17
10
  private constructor();
18
- static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
19
- static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
20
- static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
21
- static ofTypeOrExtension(analyzer: Analyzer, typeOrExtension: TypeOrExtension, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
22
- getNamedMembers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
23
- getNamedMembersByName(name: SearchName, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
24
- getOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Operator>[];
25
- getOperatorsByKind(kind: OperatorKind, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Operator>[];
26
- getConstructors(hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Constructor>[];
27
- getIndexers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.Indexer>[];
28
- getDereferenceOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
29
- private getLocaleOfTypeEntity;
11
+ static ofType(analyzer: Analyzer, type: types.Type, contextLocale: PackageLocale | undefined): TypeMemberLookup;
12
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, contextLocale: PackageLocale | undefined): TypeMemberLookup;
13
+ static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, contextLocale: PackageLocale | undefined): TypeMemberLookup;
14
+ static ofTypeOrExtension(analyzer: Analyzer, typeOrExtension: TypeOrExtension, contextLocale: PackageLocale | undefined): TypeMemberLookup;
15
+ getNamedMembers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.NamedTypeMember[];
16
+ getNamedMembersByName(name: Name, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.NamedTypeMember[];
17
+ getOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.Operator[];
18
+ getOperatorsByKind(kind: OperatorKind, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.Operator[];
19
+ getConstructors(hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.Constructor[];
20
+ getIndexers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.Indexer[];
21
+ getDereferenceOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionLookup?: SemanticContext): readonly types.DereferenceOperator[];
30
22
  }
31
23
  export declare class BoundTypeMemberLookup {
32
24
  private readonly _lookup;
@@ -34,16 +26,16 @@ export declare class BoundTypeMemberLookup {
34
26
  private readonly _hidingMatcher;
35
27
  private readonly _typeExtensionLookup;
36
28
  private constructor();
37
- static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
38
- static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
39
- static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
40
- getNamedMembers(): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
41
- getNamedMembersByName(name: SearchName): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
42
- getOperators(): readonly FoundAnonymousDeclaration<types.Operator>[];
43
- getOperatorsByKind(kind: OperatorKind): readonly FoundAnonymousDeclaration<types.Operator>[];
44
- getConstructors(): readonly FoundAnonymousDeclaration<types.Constructor>[];
45
- getIndexers(): readonly FoundAnonymousDeclaration<types.Indexer>[];
46
- getDereferenceOperators(): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
29
+ static ofType(analyzer: Analyzer, type: types.Type, contextLocale: PackageLocale | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
30
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, contextLocale: PackageLocale | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
31
+ static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, contextLocale: PackageLocale | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: SemanticContext | undefined): BoundTypeMemberLookup;
32
+ getNamedMembers(): readonly types.NamedTypeMember[];
33
+ getNamedMembersByName(name: Name): readonly types.NamedTypeMember[];
34
+ getOperators(): readonly types.Operator[];
35
+ getOperatorsByKind(kind: OperatorKind): readonly types.Operator[];
36
+ getConstructors(): readonly types.Constructor[];
37
+ getIndexers(): readonly types.Indexer[];
38
+ getDereferenceOperators(): readonly types.DereferenceOperator[];
47
39
  }
48
40
  export declare enum TypeMemberLookupOptions {
49
41
  None = 0,
@@ -9,6 +9,7 @@ export declare class TypeNarrower {
9
9
  private _reference;
10
10
  private readonly _typeByNode;
11
11
  private readonly _isVariableAssignedInLoopCheckResults;
12
+ private get locale();
12
13
  constructor(analyzer: Analyzer, referenceExpression: controlFlow.NarrowableReferenceExpression, initialType: types.Type, controlFlowNode: controlFlow.Node);
13
14
  getType(): types.Type;
14
15
  private getTypeAtControlFlowNode;
@@ -2,7 +2,6 @@ import { WithDiagnostics } from '../common/index.js';
2
2
  import { BinaryOperatorKind } from '../entities/OperatorKind.js';
3
3
  import { Expression, Node } from '../tree/index.js';
4
4
  import * as types from '../types/index.js';
5
- import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
6
5
  import { Analyzer } from './index.js';
7
6
  /**
8
7
  * Определяет подходящую двухместную операцию, определённую пользователем (+, *, == и др.).
@@ -32,6 +31,6 @@ export declare class UserDefinableBinaryOperatorResolver {
32
31
  private get leftType();
33
32
  private get rightType();
34
33
  constructor(_analyzer: Analyzer, _left: Expression, _right: Expression, _operatorKind: BinaryOperatorKind, _operatorNodeForDiagnostic: Node);
35
- resolve(): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
34
+ resolve(): WithDiagnostics<types.Operator>;
36
35
  private chooseSuitableOperators;
37
36
  }
@@ -1,7 +1,6 @@
1
1
  import { WithDiagnostics } from '../common/index.js';
2
2
  import { PrefixUnaryExpression } from '../tree/index.js';
3
3
  import * as types from '../types/index.js';
4
- import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
5
4
  import { Analyzer } from './index.js';
6
5
  /**
7
6
  * Определяет подходящую одноместную операцию, определённую пользователем (+, -, не).
@@ -19,5 +18,5 @@ export declare class UserDefinableUnaryOperatorResolver {
19
18
  private readonly _node;
20
19
  private get operatorKind();
21
20
  constructor(_analyzer: Analyzer, _node: PrefixUnaryExpression);
22
- resolve(): WithDiagnostics<FoundAnonymousDeclaration<types.Operator>>;
21
+ resolve(): WithDiagnostics<types.Operator>;
23
22
  }