@artel/artc 0.6.25222 → 0.6.25224

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 (53) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +12 -2
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +635 -532
  5. package/build/{chunk-ODWG5ZXF.js → chunk-24QZJOMF.js} +4477 -3240
  6. package/build/{chunk-MBMOAUK7.js → chunk-62KHK23H.js} +2 -2
  7. package/build/{chunk-UZK7JCND.js → chunk-Y6DODJCG.js} +1 -1
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +1 -0
  9. package/build/types/analysis/Analyzer.d.ts +17 -11
  10. package/build/types/analysis/DiagnosticCollector.d.ts +1 -1
  11. package/build/types/analysis/ImportedPackageNameTree.d.ts +1 -0
  12. package/build/types/analysis/LocalizationContext.d.ts +2 -2
  13. package/build/types/analysis/Lookup.d.ts +4 -4
  14. package/build/types/analysis/NamedTypeResolver.d.ts +5 -1
  15. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +4 -1
  16. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +9 -3
  17. package/build/types/analysis/Scope.d.ts +21 -44
  18. package/build/types/analysis/SemanticContext.d.ts +14 -1
  19. package/build/types/analysis/SemanticContextBuilder.d.ts +1 -0
  20. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +1 -0
  21. package/build/types/analysis/TagMeaning.d.ts +4 -1
  22. package/build/types/analysis/TypeMemberLookup.d.ts +39 -11
  23. package/build/types/analysis/TypeNarrower.d.ts +49 -14
  24. package/build/types/analysis/Utils.d.ts +12 -0
  25. package/build/types/analysis/control-flow/GraphBuilder.d.ts +43 -0
  26. package/build/types/analysis/{ControlFlowGraphVisualizer.d.ts → control-flow/GraphVisualizer.d.ts} +3 -3
  27. package/build/types/analysis/control-flow/NarrowableExpression.d.ts +5 -0
  28. package/build/types/analysis/control-flow/Nodes.d.ts +91 -0
  29. package/build/types/analysis/control-flow/index.d.ts +4 -0
  30. package/build/types/common/HelperPhrases.d.ts +3 -2
  31. package/build/types/diagnostic/DiagnosticCode.d.ts +5 -5
  32. package/build/types/emitter/Entities.d.ts +5 -4
  33. package/build/types/emitter/ir/Nodes.d.ts +2 -2
  34. package/build/types/entities/index.d.ts +3 -0
  35. package/build/types/parser/Scanner.d.ts +1 -2
  36. package/build/types/services/CompletionService.d.ts +0 -1
  37. package/build/types/services/DisplayService.d.ts +11 -8
  38. package/build/types/services/NodeSemanticInfo.d.ts +11 -6
  39. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -0
  40. package/build/types/tree/NodeKind.d.ts +146 -144
  41. package/build/types/tree/green/Nodes.d.ts +28 -10
  42. package/build/types/tree/green/SyntaxFactory.d.ts +1 -0
  43. package/build/types/tree/green/SyntaxToCode.d.ts +5 -1
  44. package/build/types/tree/red/Nodes.d.ts +33 -8
  45. package/build/types/ts-interop/TsInteropContext.d.ts +1 -0
  46. package/build/types/types/IntersectionType.d.ts +20 -0
  47. package/build/types/types/ParameterType.d.ts +6 -3
  48. package/build/types/types/Type.d.ts +2 -1
  49. package/build/types/types/TypeFactory.d.ts +4 -1
  50. package/build/types/types/TypeMembers.d.ts +5 -0
  51. package/build/types/types/index.d.ts +1 -0
  52. package/package.json +1 -1
  53. package/build/types/analysis/ControlFlowGraphBuilder.d.ts +0 -121
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Compiler
3
- } from "./chunk-UZK7JCND.js";
3
+ } from "./chunk-Y6DODJCG.js";
4
4
  import {
5
5
  ArtelVersion,
6
6
  Cached,
@@ -14,7 +14,7 @@ import {
14
14
  __async,
15
15
  performanceMeasurementStageNames,
16
16
  performanceMeasurementStages
17
- } from "./chunk-ODWG5ZXF.js";
17
+ } from "./chunk-24QZJOMF.js";
18
18
 
19
19
  // source/executor/FileSystemUri.ts
20
20
  import { platform } from "os";
@@ -10,7 +10,7 @@ import {
10
10
  WellKnownDeclarationsLoadError,
11
11
  __async,
12
12
  createTsInteropInputsForCompilation
13
- } from "./chunk-ODWG5ZXF.js";
13
+ } from "./chunk-24QZJOMF.js";
14
14
 
15
15
  // source/executor/Compiler.ts
16
16
  var Compiler = class {
@@ -60,6 +60,7 @@ export declare class AnalyzedTranslationPackage {
60
60
  private createTranslatedTypeSignature;
61
61
  private enumerateTranslationsDeclarations;
62
62
  private findTypeTranslation;
63
+ private createAmbiguousAccessDiagnostic;
63
64
  }
64
65
  export declare class TranslatedPackageMembers {
65
66
  private readonly _namedMembers;
@@ -21,7 +21,6 @@ import * as autotypeCallExpressionMeaning from './AutotypeCallExpressionMeaning.
21
21
  import * as baseExpressionMeaning from './BaseExpressionMeaning.js';
22
22
  import * as callExpressionMeaning from './CallExpressionMeaning.js';
23
23
  import * as constructorOverloadResolver from './ConstructorOverloadResolver.js';
24
- import { ControlFlowGraphBuildResult } from './ControlFlowGraphBuilder.js';
25
24
  import { DeclarationsUsageCountResult } from './DeclarationsUsageCounter.js';
26
25
  import * as dereferenceExpressionMeaning from './DereferenceExpressionMeaning.js';
27
26
  import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
@@ -43,6 +42,7 @@ import * as tagMeaning from './TagMeaning.js';
43
42
  import * as tags from './Tags.js';
44
43
  import { TargetTypeHint } from './TargetTypeHint.js';
45
44
  import * as typeOverloadResolver from './TypeOverloadResolver.js';
45
+ import * as controlFlow from './control-flow/index.js';
46
46
  import { WellKnownDeclarations } from './index.js';
47
47
  export declare class Analyzer {
48
48
  static readonly enumeratorMethodName = "\u043F\u0435\u0440\u0435\u0431\u043E\u0440";
@@ -161,7 +161,7 @@ export declare class Analyzer {
161
161
  */
162
162
  isExpressionOptionalChainingSyntactically(node: tree.Expression): boolean;
163
163
  isExpressionValidOutermostOptionalChaining(node: tree.Expression): boolean;
164
- makeNoneAssignableToTypeIfExpressionValidOutermostOptionalChaining(type: types.Type, node: tree.Expression): types.Type;
164
+ includeNoneToTypeIfExpressionValidOutermostOptionalChaining(type: types.Type, node: tree.Expression): types.Type;
165
165
  checkIdentifierNameIsReserved(name: string, locale: PackageLocale): ReservedIdentifierKind | undefined;
166
166
  getReservedIdentifierName(reservedIdentifierKind: ReservedIdentifierKind, locale: PackageLocale): string;
167
167
  createNameFromIdentifier(node: tree.Identifier): Name;
@@ -223,7 +223,7 @@ export declare class Analyzer {
223
223
  * - Т: Объект? -> (Т: Объект?) | Пусто (см. метод isNoneAssignableToType)
224
224
  * - Т: Объект -> (Т: Объект) | Пусто
225
225
  */
226
- makeNoneAssignableToType(type: types.Type): types.Type;
226
+ includeNoneToType(type: types.Type): types.Type;
227
227
  /**
228
228
  * Отвечает на вопрос "Совместим ли тип `Пусто` с данным типом?" (Можно ли присвоить `пусто` в переменную с данным типом?).
229
229
  * @example Для следующих типов метод вернёт:
@@ -241,7 +241,7 @@ export declare class Analyzer {
241
241
  getAnalyzedTranslationPackageIfTargetResolved(package_: project.TranslationPackage): AnalyzedTranslationPackage | undefined;
242
242
  getAnalyzedTranslationPackageForPackage(entity: e.PackageEntity, locale: PackageLocale): AnalyzedTranslationPackage | undefined;
243
243
  enumerateAnalyzedTranslationPackages(): Iterable<AnalyzedTranslationPackage>;
244
- getCommonObjectAndAspectTypesOfUnion(_unionType: types.UnionType): readonly types.StructuredType[];
244
+ getCommonObjectAndAspectTypesOfUnion(unionType: types.UnionType): readonly types.StructuredType[];
245
245
  getLinkedMultiPlatformPackagesByPlatform(entity: e.PackageEntity): ReadonlyMap<PlatformKind, LinkedMultiPlatformPackage> | undefined;
246
246
  getLinkedMultiPlatformPackage(entity: e.PackageEntity, platform: PlatformKind): LinkedMultiPlatformPackage | undefined;
247
247
  createPackageMembers(pkg: SourcePackage): OriginalPackageMembers;
@@ -263,7 +263,11 @@ export declare class Analyzer {
263
263
  checkBodyOfRedefinableAliasTypeMethod(node: tree.TypeMethodDeclaration, diagnostics?: DiagnosticAcceptor): {
264
264
  redefinableMethodOfOriginalType: e.TypeMethodEntity;
265
265
  } | undefined;
266
- getControlFlowGraph(sourceFile: project.SourceFile): ControlFlowGraphBuildResult;
266
+ getControlFlowGraph(sourceFile: project.SourceFile): controlFlow.GraphBuildResult;
267
+ createAmbiguousEntityAccessDiagnostic(entities: readonly WithLocalization<e.Entity>[], lctx: LocalizationContext, node: tree.Node): Diagnostic;
268
+ createAmbiguousMethodAccessDiagnostic(methods: readonly WithLocalization<AccessedMethod>[], lctx: LocalizationContext, node: tree.Node): Diagnostic;
269
+ createAmbiguousTypeMemberAccessDiagnostic(members: readonly WithLocalization<types.TypeMember>[], lctx: LocalizationContext, node: tree.Node): Diagnostic;
270
+ createAmbiguousNamedScopeDeclarationAccessDiagnostic(declarations: readonly WithLocalization<scope.NamedDeclaration>[], lctx: LocalizationContext, node: tree.Node): Diagnostic;
267
271
  private createTsInterop;
268
272
  }
269
273
  export declare class TsInteropInputs {
@@ -292,6 +296,7 @@ export declare const enum SyntacticAccessKind {
292
296
  declare class Type {
293
297
  private readonly _analyzer;
294
298
  private readonly _unionTypeSpecifierTypes;
299
+ private readonly _intersectionTypeSpecifierTypes;
295
300
  private readonly _methodLiteralTypes;
296
301
  private readonly _methodBlockLiteralTypes;
297
302
  constructor(_analyzer: Analyzer);
@@ -330,6 +335,7 @@ declare class Type {
330
335
  private ofParenthesizedTypeSpecifier;
331
336
  private ofNullableTypeSpecifier;
332
337
  private ofUnionTypeSpecifier;
338
+ private ofIntersectionTypeSpecifier;
333
339
  private ofInvalidTypeSpecifier;
334
340
  private getTargetlessMethodBlockLiteralType;
335
341
  private inferMethodLiteralTypeFromNodeWithFallbackToTargetType;
@@ -613,13 +619,13 @@ declare class OwningPlainObjectModificationCheck {
613
619
  private nodeBelongsToPlainObjectDeclaration;
614
620
  }
615
621
  export declare enum TypeAssignabilityFlags {
616
- NotAssignable = 1,
617
- Identity = 2,
618
- DerivedToBase = 4,
619
- MethodTypes = 8,
620
- ImplicitConversion = 16,
622
+ NotAssignable = 0,
623
+ Identity = 1,
624
+ DerivedToBase = 2,
625
+ MethodTypes = 4,
626
+ ImplicitConversion = 8,
621
627
  First = 1,
622
- Last = 16
628
+ Last = 8
623
629
  }
624
630
  declare class PackageImports {
625
631
  private readonly _analyzer;
@@ -68,7 +68,7 @@ export declare class DiagnosticCollector {
68
68
  private checkTypeSpecialization;
69
69
  private checkSpecializationOfDeclarationWithParameters;
70
70
  /**
71
- * @returns `true` если была ошибка, иначе `false`.
71
+ * @returns `true` если не было ошибки, иначе `false`.
72
72
  */
73
73
  private checkTypeArgumentCount;
74
74
  private checkParameterDeclaration;
@@ -11,6 +11,7 @@ export declare class ImportedPackageNameTree {
11
11
  export interface PackageNameTreeNode {
12
12
  readonly name: Name;
13
13
  readonly package: ImportedPackage | undefined;
14
+ readonly parent: PackageNameTreeNode | undefined;
14
15
  getChild(name: Name): PackageNameTreeNode | undefined;
15
16
  hasChild(name: Name): boolean;
16
17
  getChildren(): Iterable<PackageNameTreeNode>;
@@ -1,5 +1,5 @@
1
1
  import { Name, PackageLocale } from '../common/index.js';
2
- import { AliasTypeEntity, MethodEntity, PackageAliasEntity, PackageEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageVariantTypeEntity, TypeEntity, TypeParameterEntity, VariableEntity } from '../entities/index.js';
2
+ import { AliasTypeEntity, MethodEntity, PackageAliasEntity, PackageEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageVariantTypeEntity, TypeOrExtensionEntity, TypeParameterEntity, VariableEntity } from '../entities/index.js';
3
3
  import { AnalyzedTranslationPackage, TranslatedTypeEntityMembers } from './AnalyzedTranslationPackage.js';
4
4
  export declare class LocalizationContext {
5
5
  readonly originalLocale: PackageLocale;
@@ -8,7 +8,7 @@ export declare class LocalizationContext {
8
8
  constructor(translationPackages: readonly AnalyzedTranslationPackage[], originalLocale: PackageLocale);
9
9
  getTranslationPackage(packageEntity: PackageEntity): AnalyzedTranslationPackage | undefined;
10
10
  getTranslationLocale(packageEntity: PackageEntity): PackageLocale;
11
- getTranslatedTypeEntityMembers(typeEntity: TypeEntity): TranslatedTypeEntityMembers | undefined;
11
+ getTranslatedTypeOrExtensionEntityMembers(entity: TypeOrExtensionEntity): TranslatedTypeEntityMembers | undefined;
12
12
  getEntityName(entity: NamedEntity): Name;
13
13
  }
14
14
  export type NamedEntity = VariableEntity | PackageVariantTypeEntity | MethodEntity | TypeParameterEntity | PackageMethodTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
@@ -9,10 +9,10 @@ export declare class Lookup {
9
9
  constructor(_scopeChain: ScopeChain, _hidingMatcher: IEntityHidingMatcher);
10
10
  getTypesOrContainersWithTypes(): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
11
11
  getTypesOrContainersWithTypesByName(name: SearchName): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
12
- getNamedDeclarations(): readonly FoundNamedDeclaration<NamedDeclaration>[];
13
- getNamedDeclarationsByName(name: SearchName): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
- getOperators(): readonly FoundAnonymousDeclaration<types.Operator>[];
15
- getOperatorsByKind(kind: OperatorKind): readonly FoundAnonymousDeclaration<types.Operator>[];
12
+ getNamedDeclarations(noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
13
+ getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
+ getOperators(noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
15
+ getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean): readonly FoundAnonymousDeclaration<types.Operator>[];
16
16
  getTypeExtensionsByType(type: TypeEntity): readonly TypeExtensionEntity[];
17
17
  private checkTypeOrPackageDeclarationShadowing;
18
18
  private checkNamedDeclarationShadowing;
@@ -4,6 +4,8 @@ import { QualifiedName } from '../tree/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
5
  import { FoundNamedDeclaration } from './FoundDeclaration.js';
6
6
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
7
+ import { WithLocalization } from './Localization.js';
8
+ import { EntityOrPackageNameTreeNode } from './Utils.js';
7
9
  export declare class NamedTypeResolver {
8
10
  private readonly _analyzer;
9
11
  private readonly _node;
@@ -16,12 +18,14 @@ export declare class NamedTypeResolver {
16
18
  private findTypesOrContainersWithTypesInPackageAccessedViaAlias;
17
19
  private findTypesOrContainersWithTypesInPackageNameSegment;
18
20
  private convertPackageMember;
21
+ private createAmbiguousAccessDiagnostic;
19
22
  }
20
23
  export declare class NamedTypeResolutionResult {
21
24
  readonly types: readonly FoundNamedDeclaration<NamedTypeEntity>[];
22
25
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
23
26
  readonly diagnostics: readonly Diagnostic[];
24
- constructor(types: readonly FoundNamedDeclaration<NamedTypeEntity>[], resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[]);
27
+ readonly ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
28
+ constructor(types: readonly FoundNamedDeclaration<NamedTypeEntity>[], resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[], ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
25
29
  }
26
30
  export type ResolvedQualifier = ResolvedQualifier_packageNameSegment | ResolvedQualifier_packageAlias | ResolvedQualifier_type;
27
31
  export declare class ResolvedQualifier_packageNameSegment {
@@ -3,7 +3,9 @@ import { NamedTypeSpecifier } from '../tree/index.js';
3
3
  import * as types from '../types/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
5
  import { FoundNamedDeclaration } from './FoundDeclaration.js';
6
+ import { WithLocalization } from './Localization.js';
6
7
  import { ResolvedQualifier } from './NamedTypeResolver.js';
8
+ import { EntityOrPackageNameTreeNode } from './Utils.js';
7
9
  export declare class NamedTypeSpecifierResolver {
8
10
  private readonly _analyzer;
9
11
  private readonly _node;
@@ -15,5 +17,6 @@ export declare class NamedTypeSpecifierResolutionResult {
15
17
  readonly type: FoundNamedDeclaration<types.Type> | undefined;
16
18
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
17
19
  readonly diagnostics: readonly Diagnostic[];
18
- constructor(type: FoundNamedDeclaration<types.Type> | undefined, resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[]);
20
+ readonly ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
21
+ constructor(type: FoundNamedDeclaration<types.Type> | undefined, resolvedQualifiers: readonly ResolvedQualifier[], diagnostics: readonly Diagnostic[], ambiguousDeclarations: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
19
22
  }
@@ -1,11 +1,12 @@
1
1
  import { AccessKind } from '../common/index.js';
2
2
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
- import { PackageTypeEntity, PackageVariableEntity } from '../entities/index.js';
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 { AccessedMethod } from './AccessedMethod.js';
7
7
  import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
8
8
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
9
+ import { WithLocalization } from './Localization.js';
9
10
  import { Analyzer, TargetTypeHint } from './index.js';
10
11
  export declare class Resolver {
11
12
  private readonly _semanticContext;
@@ -24,7 +25,7 @@ export declare class Resolver {
24
25
  private resolveStaticMemberOrVariantAccessMeaning;
25
26
  private createAccessedMethodFromTypeMember;
26
27
  private resolveInstanceMemberAccessMeaning;
27
- private tryResolveOperatorAccessMeaning;
28
+ private tryResolveInstanceOperatorAccessMeaning;
28
29
  private resolveMethodOverload;
29
30
  private convertSyntacticAccessKind;
30
31
  }
@@ -41,7 +42,7 @@ export declare class ResolutionResult {
41
42
  */
42
43
  dependsOnTargetType?: boolean);
43
44
  }
44
- export type Meaning = Meaning_packageVariableAccess | Meaning_packageMethodAccess | Meaning_packageTypeAccess | Meaning_packageNameSegmentAccess | Meaning_staticVariableAccess | Meaning_staticMethodAccess | Meaning_instanceVariableAccess | Meaning_instanceMethodAccess | Meaning_operatorAccess | Meaning_unresolved;
45
+ export type Meaning = Meaning_packageVariableAccess | Meaning_packageMethodAccess | Meaning_packageTypeAccess | Meaning_packageNameSegmentAccess | Meaning_staticVariableAccess | Meaning_staticMethodAccess | Meaning_instanceVariableAccess | Meaning_instanceMethodAccess | Meaning_operatorAccess | Meaning_mixedAmbiguousAccess | Meaning_unresolved;
45
46
  declare class Meaning_packageVariableAccess {
46
47
  readonly variable: FoundNamedDeclaration<PackageVariableEntity>;
47
48
  readonly accessKind: AccessKind;
@@ -102,6 +103,11 @@ declare class Meaning_operatorAccess {
102
103
  get singleSuitableOperator(): FoundAnonymousDeclaration<types.Operator> | undefined;
103
104
  constructor(candidates: readonly FoundAnonymousDeclaration<types.Operator>[], suitableOperators: readonly FoundAnonymousDeclaration<types.Operator>[]);
104
105
  }
106
+ declare class Meaning_mixedAmbiguousAccess {
107
+ readonly entities: readonly WithLocalization<Entity>[];
108
+ readonly kind = "mixed-ambiguous-access";
109
+ constructor(entities: readonly WithLocalization<Entity>[]);
110
+ }
105
111
  declare class Meaning_unresolved {
106
112
  readonly kind = "unresolved";
107
113
  }
@@ -10,10 +10,10 @@ import { TypeMemberLookup } from './TypeMemberLookup.js';
10
10
  export interface IScope {
11
11
  getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
12
12
  getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<TypeOrContainerWithTypes>[];
13
- getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
- getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
15
- getOperators(hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
16
- getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
13
+ getNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
14
+ getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundNamedDeclaration<NamedDeclaration>[];
15
+ getOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
16
+ getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
17
17
  getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): readonly TypeExtensionEntity[];
18
18
  }
19
19
  export type TypeOrContainerWithTypes = NamedDeclaration_type | NamedDeclaration_packageAlias | NamedDeclaration_packageNameSegment;
@@ -139,10 +139,10 @@ export declare class SourceFileScope implements IScope {
139
139
  constructor(analyzer: Analyzer, node: tree.SourceFile);
140
140
  getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
141
141
  getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
142
- getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
143
- getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
144
- getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
145
- getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
142
+ getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
143
+ getNamedDeclarationsByName(name: SearchName, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
144
+ getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
145
+ getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
146
146
  getTypeExtensionsByType(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
147
147
  private convertPackageMemberToNamedDeclaration;
148
148
  private convertPackageAliasToTypeOrContainerWithTypes;
@@ -163,10 +163,10 @@ export declare class GenericScope implements IScope {
163
163
  constructor(namedDeclarations: readonly NamedDeclaration[], typeExtensionEntities: readonly TypeExtensionEntity[], locale: PackageLocale);
164
164
  getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
165
165
  getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
166
- getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
167
- getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
168
- getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
169
- getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
166
+ getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
167
+ getNamedDeclarationsByName(name: SearchName, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
168
+ getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
169
+ getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
170
170
  getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
171
171
  private checkHiding;
172
172
  }
@@ -182,47 +182,24 @@ export declare class ParameterDeclarationsScope implements IScope {
182
182
  constructor(analyzer: Analyzer, node: tree.ParameterList);
183
183
  getTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
184
184
  getTypesOrContainersWithTypesByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
185
- getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
186
- getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
187
- getOperators(_hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
188
- getOperatorsByKind(_kind: OperatorKind, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
185
+ getNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
186
+ getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
187
+ getOperators(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
188
+ getOperatorsByKind(_kind: OperatorKind, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
189
189
  getTypeExtensionsByType(typeEntity: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
190
190
  private checkHiding;
191
191
  }
192
- export declare class TypeWithMembersBodyScope implements IScope {
192
+ export declare class TypeWithMembersOrExtensionBodyScope implements IScope {
193
193
  private readonly _memberLookup;
194
194
  private readonly _typeExtensionsLookup;
195
195
  constructor(_memberLookup: TypeMemberLookup, _typeExtensionsLookup: Lookup);
196
196
  getTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
197
197
  getTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
198
- getNamedDeclarations(hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
199
- getNamedDeclarationsByName(name: SearchName, hidingMatcher: IEntityHidingMatcher | undefined): FoundNamedDeclaration<NamedDeclaration>[];
200
- getOperators(hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
201
- getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
198
+ getNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
199
+ getNamedDeclarationsByName(name: SearchName, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
200
+ getOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
201
+ getOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
202
202
  getTypeExtensionsByType(_typeEntity: TypeEntity, _hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
203
203
  private convertNamedMember;
204
204
  }
205
- export declare class TypeExtensionBodyScope implements IScope {
206
- private readonly _analyzer;
207
- private readonly _extendedTypeMemberLookup;
208
- private readonly _extendedType;
209
- private readonly _typeExtensionEntity;
210
- private readonly _typeExtensionsLookup;
211
- private readonly _locale;
212
- private readonly _substitutions;
213
- private get substitutions();
214
- constructor(_analyzer: Analyzer, _extendedTypeMemberLookup: TypeMemberLookup | undefined, _extendedType: NamedTypeEntity | undefined, _typeExtensionEntity: TypeExtensionEntity, _typeExtensionsLookup: Lookup, _locale: PackageLocale);
215
- getTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
216
- getTypesOrContainersWithTypesByName(_name: SearchName, _hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<TypeOrContainerWithTypes>[];
217
- getNamedDeclarations(hidingMatcher: IEntityHidingMatcher | undefined): FoundNamedDeclaration<NamedDeclaration>[];
218
- getNamedDeclarationsByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher): FoundNamedDeclaration<NamedDeclaration>[];
219
- getOperators(hidingMatcher?: IEntityHidingMatcher): FoundAnonymousDeclaration<types.Operator>[];
220
- getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher): readonly FoundAnonymousDeclaration<types.Operator>[];
221
- getTypeExtensionsByType(_typeEntity: TypeEntity, _hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
222
- private convertNamedTypeExtensionMember;
223
- private convertTypeExtensionOperator;
224
- private convertExtendedTypeMember;
225
- private checkOperatorShadowing;
226
- private checkNamedDeclarationShadowing;
227
- }
228
205
  export {};
@@ -25,6 +25,7 @@ export interface SemanticContext {
25
25
  isInFinallyClause(): boolean;
26
26
  getScopeLookup(): Lookup;
27
27
  getHidingMatcher(): IEntityHidingMatcher;
28
+ isStatic(): boolean;
28
29
  }
29
30
  export type SubprogramInfo = SubprogramInfo.Method | SubprogramInfo.Operator | SubprogramInfo.Constructor | SubprogramInfo.Destructor | SubprogramInfo.Getter | SubprogramInfo.Setter | SubprogramInfo.PackageConstructor | SubprogramInfo.PackageEntryPoint | SubprogramInfo.MethodLiteral;
30
31
  export declare namespace SubprogramInfo {
@@ -161,6 +162,7 @@ declare abstract class SemanticContextWithParent implements SemanticContext {
161
162
  isInFinallyClause(): boolean;
162
163
  getScopeLookup(): Lookup;
163
164
  getHidingMatcher(): IEntityHidingMatcher;
165
+ isStatic(): boolean;
164
166
  }
165
167
  export declare class SourceFileSemanticContext implements SemanticContext {
166
168
  private readonly _analyzer;
@@ -177,6 +179,7 @@ export declare class SourceFileSemanticContext implements SemanticContext {
177
179
  isInFinallyClause(): boolean;
178
180
  getScopeLookup(): Lookup;
179
181
  getLocalizationContext(): LocalizationContext;
182
+ isStatic(): boolean;
180
183
  }
181
184
  export type TypeDeclarationCreatingSemanticContext = StructuredTypeDeclaration | VariantTypeDeclaration | MethodTypeDeclaration | tree.PackageAliasTypeDeclaration;
182
185
  /**
@@ -192,6 +195,7 @@ export declare class LastSemanticContextOfType extends SemanticContextWithParent
192
195
  getContainingSubprogram(): SubprogramInfo | undefined;
193
196
  isInTryStatement(): TryStatementClausesInfo | undefined;
194
197
  isInFinallyClause(): boolean;
198
+ isStatic(): boolean;
195
199
  private getContainingType;
196
200
  }
197
201
  type TypeDeclarationWithTypeParameters = tree.PackageStructuredTypeDeclaration | tree.PackageVariantTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.PackageMethodTypeDeclaration;
@@ -231,6 +235,7 @@ export declare class LastSemanticContextOfMethod extends SemanticContextWithPare
231
235
  getContainingSubprogram(): SubprogramInfo | undefined;
232
236
  isInTryStatement(): TryStatementClausesInfo | undefined;
233
237
  isInFinallyClause(): boolean;
238
+ isStatic(): boolean;
234
239
  }
235
240
  export declare class MethodTypeParameterSemanticContext extends SemanticContextWithParent {
236
241
  private readonly _analyzer;
@@ -268,6 +273,7 @@ export declare class OperatorSemanticContext extends SemanticContextWithParent {
268
273
  constructor(analyzer: Analyzer, node: tree.OperatorDeclaration, parentContext: SemanticContext);
269
274
  getScopeChain(): ScopeChain;
270
275
  getContainingSubprogram(): SubprogramInfo | undefined;
276
+ isStatic(): boolean;
271
277
  }
272
278
  export declare class ConstructorSemanticContext extends SemanticContextWithParent {
273
279
  private readonly _analyzer;
@@ -298,11 +304,11 @@ export declare class IndexerSemanticContext extends SemanticContextWithParent {
298
304
  export declare class GetterSemanticContext extends SemanticContextWithParent {
299
305
  private readonly _analyzer;
300
306
  private readonly _node;
301
- private readonly _scopeChain;
302
307
  private readonly _subprogramInfo;
303
308
  constructor(analyzer: Analyzer, node: GetterDeclaration, parentContext: SemanticContext);
304
309
  getScopeChain(): ScopeChain;
305
310
  getContainingSubprogram(): SubprogramInfo | undefined;
311
+ isStatic(): boolean;
306
312
  }
307
313
  export declare class SetterSemanticContext extends SemanticContextWithParent {
308
314
  private readonly _analyzer;
@@ -310,6 +316,7 @@ export declare class SetterSemanticContext extends SemanticContextWithParent {
310
316
  private readonly _subprogramInfo;
311
317
  constructor(analyzer: Analyzer, node: SetterDeclaration, parentContext: SemanticContext);
312
318
  getContainingSubprogram(): SubprogramInfo | undefined;
319
+ isStatic(): boolean;
313
320
  }
314
321
  export declare class StatementBlockSemanticContext extends SemanticContextWithParent {
315
322
  private readonly _analyzer;
@@ -351,4 +358,10 @@ export declare class CatchClauseSemanticContext extends SemanticContextWithParen
351
358
  constructor(analyzer: Analyzer, node: tree.CatchClause, parentContext: SemanticContext);
352
359
  getScopeChain(): ScopeChain;
353
360
  }
361
+ export declare class TypeVariableWithInitializerSemanticContext extends SemanticContextWithParent {
362
+ private readonly _analyzer;
363
+ private readonly _node;
364
+ constructor(analyzer: Analyzer, node: tree.TypeVariableDeclaration, parentContext: SemanticContext);
365
+ isStatic(): boolean;
366
+ }
354
367
  export {};
@@ -40,6 +40,7 @@ export declare class SemanticContextBuilder {
40
40
  ofTypeIndexedGetterDeclaration(node: tree.TypeIndexedGetterDeclaration, hint: 'body' | 'parameters'): SemanticContext;
41
41
  ofTypeIndexedSetterDeclaration(node: tree.TypeIndexedSetterDeclaration, hint: 'body' | 'parameters'): SemanticContext;
42
42
  ofCatchClause(node: tree.CatchClause): SemanticContext;
43
+ ofTypeVariableDeclarationWithInitializer(node: tree.TypeVariableDeclaration): SemanticContext;
43
44
  private containingInternal;
44
45
  private ofChildOfMethodDeclaration;
45
46
  private ofChildOfTypeDeclarationWithMemberBlock;
@@ -21,5 +21,6 @@ export declare class StatementBlockScopeBuilder {
21
21
  static buildScopeForTypeConstructorDeclaration(analyzer: Analyzer, node: tree.FunctionBlock, parent: tree.TypeConstructorDeclaration): IScope;
22
22
  static buildScopeForTypeMethodDeclaration(analyzer: Analyzer, node: tree.FunctionBlock, parent: tree.TypeMethodDeclaration): IScope;
23
23
  static buildScopeForOperatorDeclaration(analyzer: Analyzer, node: tree.FunctionBlock, parent: tree.OperatorDeclaration): IScope;
24
+ private static getLocalNamedDeclarationsOfFunctionBlock;
24
25
  private static getLocalNamedDeclarations;
25
26
  }
@@ -6,6 +6,8 @@ import { AccessedMethod } from './AccessedMethod.js';
6
6
  import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
7
7
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
8
8
  import { Analyzer } from './index.js';
9
+ import { WithLocalization } from './Localization.js';
10
+ import { EntityOrPackageNameTreeNode } from './Utils.js';
9
11
  export declare class Resolver {
10
12
  private readonly _analyzer;
11
13
  private readonly _node;
@@ -25,7 +27,8 @@ export declare class ResolutionResult {
25
27
  readonly meaning: Meaning;
26
28
  readonly resolvedQualifiers: readonly ResolvedQualifier[];
27
29
  readonly diagnostic?: Diagnostic | undefined;
28
- constructor(meaning: Meaning, resolvedQualifiers: readonly ResolvedQualifier[], diagnostic?: Diagnostic | undefined);
30
+ readonly ambiguousDeclarations?: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined;
31
+ constructor(meaning: Meaning, resolvedQualifiers: readonly ResolvedQualifier[], diagnostic?: Diagnostic | undefined, ambiguousDeclarations?: readonly WithLocalization<EntityOrPackageNameTreeNode>[] | undefined);
29
32
  }
30
33
  export type Meaning = Meaning_tagType | Meaning_tagMethod | Meaning_unresolved;
31
34
  declare class Meaning_tagType {
@@ -1,5 +1,5 @@
1
1
  import { PackageLocale, SearchName } from '../common/index.js';
2
- import { IEntityHidingMatcher, OperatorKind, TypeEntity } from '../entities/index.js';
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
5
  import { FoundAnonymousDeclaration, FoundNamedDeclaration } from './FoundDeclaration.js';
@@ -7,30 +7,36 @@ import { LocalizationContext } from './LocalizationContext.js';
7
7
  import { Lookup } from './Lookup.js';
8
8
  export declare class TypeMemberLookup {
9
9
  private readonly _analyzer;
10
- private readonly _type;
10
+ private readonly _typeOrExtension;
11
11
  private readonly _localizationContext;
12
12
  private readonly _searchLocale;
13
13
  /**
14
14
  * Язык, на котором будет осуществляться поиск членов типа.
15
15
  */
16
16
  get searchLocale(): PackageLocale;
17
- constructor(_analyzer: Analyzer, _type: types.Type, _localizationContext: LocalizationContext | undefined);
17
+ private constructor();
18
+ static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
18
19
  static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined): TypeMemberLookup;
19
- getNamedMembers(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
20
- getNamedMembersByName(name: SearchName, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
21
- getOperators(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Operator>[];
22
- getOperatorsByKind(kind: OperatorKind, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Operator>[];
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, typeExtensionsLookup?: Lookup): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
23
+ getNamedMembersByName(name: SearchName, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
24
+ getOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Operator>[];
25
+ getOperatorsByKind(kind: OperatorKind, options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Operator>[];
23
26
  getConstructors(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Constructor>[];
24
- getIndexers(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Indexer>[];
25
- getDereferenceOperators(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
27
+ getIndexers(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.Indexer>[];
28
+ getDereferenceOperators(options?: TypeMemberLookupOptions, hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
26
29
  private getLocaleOfTypeEntity;
27
30
  }
28
31
  export declare class BoundTypeMemberLookup {
29
32
  private readonly _lookup;
33
+ private readonly _options;
30
34
  private readonly _hidingMatcher;
31
35
  private readonly _typeExtensionLookup;
32
- constructor(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined);
33
- static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined): BoundTypeMemberLookup;
36
+ private constructor();
37
+ static ofType(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined): BoundTypeMemberLookup;
38
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined): BoundTypeMemberLookup;
39
+ static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, localizationContext: LocalizationContext | undefined, options: TypeMemberLookupOptions | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined): BoundTypeMemberLookup;
34
40
  getNamedMembers(): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
35
41
  getNamedMembersByName(name: SearchName): readonly FoundNamedDeclaration<types.NamedTypeMember>[];
36
42
  getOperators(): readonly FoundAnonymousDeclaration<types.Operator>[];
@@ -39,3 +45,25 @@ export declare class BoundTypeMemberLookup {
39
45
  getIndexers(): readonly FoundAnonymousDeclaration<types.Indexer>[];
40
46
  getDereferenceOperators(): readonly FoundAnonymousDeclaration<types.DereferenceOperator>[];
41
47
  }
48
+ export declare enum TypeMemberLookupOptions {
49
+ None = 0,
50
+ OnlyInstanceMembers = 1,
51
+ OnlyStaticMembers = 2
52
+ }
53
+ type TypeOrExtension = TypeOrExtension_type | TypeOrExtension_extension;
54
+ declare class TypeOrExtension_type implements ITypeOrExtension {
55
+ readonly value: types.Type;
56
+ readonly kind = "type";
57
+ constructor(value: types.Type);
58
+ getEntity(): TypeOrExtensionEntity | undefined;
59
+ }
60
+ declare class TypeOrExtension_extension implements ITypeOrExtension {
61
+ readonly value: TypeExtensionEntity;
62
+ readonly kind = "extension";
63
+ constructor(value: TypeExtensionEntity);
64
+ getEntity(): TypeOrExtensionEntity | undefined;
65
+ }
66
+ interface ITypeOrExtension {
67
+ getEntity(): TypeOrExtensionEntity | undefined;
68
+ }
69
+ export {};