@artel/artc 0.6.25282 → 0.6.25284

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 (156) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +28 -20
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +1836 -1590
  5. package/build/{chunk-VVFLEWSA.js → chunk-CGOSDN2E.js} +18023 -15286
  6. package/build/{chunk-DURHSZYF.js → chunk-OBX375YX.js} +1 -1
  7. package/build/{chunk-3DN3M64Y.js → chunk-ZV3UW5X6.js} +2 -2
  8. package/build/types/analysis/AccessibilityCheck.d.ts +20 -0
  9. package/build/types/analysis/Analyzer.d.ts +53 -78
  10. package/build/types/analysis/BaseMemberConflictsValidator.d.ts +2 -4
  11. package/build/types/analysis/ConstructorCallResolver.d.ts +3 -4
  12. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +2 -1
  13. package/build/types/analysis/ModifierValidator.d.ts +17 -15
  14. package/build/types/analysis/NodeTypeUtils.d.ts +3 -3
  15. package/build/types/analysis/PackageMemberLookup.d.ts +11 -4
  16. package/build/types/analysis/ReachabilityChecker.d.ts +27 -0
  17. package/build/types/analysis/ReductionSourceMemberFinder.d.ts +20 -0
  18. package/build/types/analysis/ReservedNameDictionary.d.ts +14 -0
  19. package/build/types/analysis/ResolvedImplementationPackage.d.ts +48 -0
  20. package/build/types/analysis/SourceFileAnalyzer.d.ts +3 -0
  21. package/build/types/analysis/TypeArgumentInferrer.d.ts +1 -0
  22. package/build/types/analysis/TypeMemberLookup.d.ts +36 -22
  23. package/build/types/analysis/Utils.d.ts +2 -0
  24. package/build/types/analysis/WellKnownDeclarations.d.ts +11 -7
  25. package/build/types/analysis/control-flow/GraphBuilder.d.ts +4 -1
  26. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +6 -5
  27. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +8 -7
  28. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +4 -5
  29. package/build/types/analysis/semantic-context/SemanticContextWithParent.d.ts +2 -0
  30. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +11 -6
  31. package/build/types/analysis/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +5 -5
  32. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +4 -5
  33. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +18 -15
  34. package/build/types/api/Api.d.ts +1 -1
  35. package/build/types/common/HelperPhrases.d.ts +2 -1
  36. package/build/types/common/LocalizationHelper.d.ts +8 -6
  37. package/build/types/common/index.d.ts +0 -1
  38. package/build/types/diagnostic/DiagnosticCode.d.ts +154 -131
  39. package/build/types/emitter/Entities.d.ts +5 -4
  40. package/build/types/emitter/EntityMap.d.ts +5 -1
  41. package/build/types/emitter/IrBuilder.d.ts +1 -0
  42. package/build/types/emitter/ir/Nodes.d.ts +11 -2
  43. package/build/types/entities/Entity.d.ts +9 -18
  44. package/build/types/entities/EntityHiding.d.ts +1 -4
  45. package/build/types/entities/EntityLocalizationContext.d.ts +3 -3
  46. package/build/types/entities/IEntity.d.ts +2 -1
  47. package/build/types/entities/OperatorKind.d.ts +6 -3
  48. package/build/types/entities/TypeEntity.d.ts +7 -6
  49. package/build/types/entities/index.d.ts +0 -2
  50. package/build/types/entities/interfaces/AliasTypeEntity.d.ts +1 -6
  51. package/build/types/entities/interfaces/ConstructorEntity.d.ts +3 -5
  52. package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +2 -5
  53. package/build/types/entities/interfaces/DestructorEntity.d.ts +4 -5
  54. package/build/types/entities/interfaces/FunctionEntity.d.ts +3 -8
  55. package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +0 -8
  56. package/build/types/entities/interfaces/GetterEntity.d.ts +0 -4
  57. package/build/types/entities/interfaces/IndexerEntity.d.ts +2 -5
  58. package/build/types/entities/interfaces/OperatorEntity.d.ts +3 -5
  59. package/build/types/entities/interfaces/PackageAliasEntity.d.ts +0 -5
  60. package/build/types/entities/interfaces/PackageEntity.d.ts +1 -9
  61. package/build/types/entities/interfaces/ReducedTypeEntity.d.ts +99 -0
  62. package/build/types/entities/interfaces/SetterEntity.d.ts +0 -4
  63. package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +0 -8
  64. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +1 -0
  65. package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +1 -7
  66. package/build/types/entities/interfaces/TypeParameterEntity.d.ts +2 -4
  67. package/build/types/entities/interfaces/VariableEntity.d.ts +2 -11
  68. package/build/types/entities/interfaces/VariantTypeEntity.d.ts +1 -8
  69. package/build/types/entities/interfaces/index.d.ts +1 -0
  70. package/build/types/entities/intrinsic/IntrinsicConstructorEntity.d.ts +3 -1
  71. package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +2 -1
  72. package/build/types/entities/intrinsic/IntrinsicFunctionTypeEntity.d.ts +3 -3
  73. package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +3 -3
  74. package/build/types/entities/intrinsic/IntrinsicTypeParameterEntity.d.ts +2 -4
  75. package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +2 -1
  76. package/build/types/entities/source/SourceAliasTypeEntity.d.ts +1 -2
  77. package/build/types/entities/source/SourceConstructorEntity.d.ts +6 -2
  78. package/build/types/entities/source/SourceDereferenceOperatorEntity.d.ts +3 -1
  79. package/build/types/entities/source/SourceDestructorEntity.d.ts +6 -1
  80. package/build/types/entities/source/SourceFunctionEntity.d.ts +5 -1
  81. package/build/types/entities/source/SourceFunctionTypeEntity.d.ts +1 -3
  82. package/build/types/entities/source/SourceIndexerEntity.d.ts +3 -1
  83. package/build/types/entities/source/SourceOperatorEntity.d.ts +5 -1
  84. package/build/types/entities/source/SourceReducedTypeEntity.d.ts +44 -0
  85. package/build/types/entities/source/SourceStructuredTypeEntity.d.ts +1 -3
  86. package/build/types/entities/source/SourceTextTranslationEntity.d.ts +1 -0
  87. package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +1 -2
  88. package/build/types/entities/source/SourceTypeParameterEntity.d.ts +1 -2
  89. package/build/types/entities/source/SourceVariableEntity.d.ts +7 -1
  90. package/build/types/entities/source/SourceVariantTypeEntity.d.ts +1 -3
  91. package/build/types/entities/source/index.d.ts +1 -0
  92. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +1 -3
  93. package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +9 -4
  94. package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +3 -1
  95. package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +4 -1
  96. package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +3 -1
  97. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +1 -5
  98. package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +3 -1
  99. package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +3 -1
  100. package/build/types/entities/translated/TranslatedReducedTypeEntity.d.ts +59 -0
  101. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +1 -5
  102. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +1 -3
  103. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +1 -3
  104. package/build/types/entities/translated/TranslatedVariableEntity.d.ts +3 -1
  105. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +1 -5
  106. package/build/types/entities/translated/index.d.ts +1 -0
  107. package/build/types/parser/KeywordDictionary.d.ts +10 -2
  108. package/build/types/parser/TokenKind.d.ts +46 -44
  109. package/build/types/project/SourceFile.d.ts +3 -1
  110. package/build/types/services/CompletionService.d.ts +5 -4
  111. package/build/types/services/CustomRequests.d.ts +17 -6
  112. package/build/types/services/DisplayService.d.ts +78 -3
  113. package/build/types/services/LanguageServer.d.ts +3 -4
  114. package/build/types/services/ScriptEditingService.d.ts +25 -0
  115. package/build/types/services/TranslationService.d.ts +1 -1
  116. package/build/types/services/Types.d.ts +6 -0
  117. package/build/types/services/source-generation/EntityToSyntax.d.ts +16 -0
  118. package/build/types/tree/BaseNode.d.ts +56 -2
  119. package/build/types/tree/KeywordFlags.d.ts +28 -0
  120. package/build/types/tree/KeywordKind.d.ts +57 -54
  121. package/build/types/tree/NodeKind.d.ts +142 -140
  122. package/build/types/tree/Nodes.d.ts +55 -29
  123. package/build/types/tree/NodesDebug.d.ts +9 -0
  124. package/build/types/tree/OperatorKind.d.ts +6 -3
  125. package/build/types/tree/SyntaxFactory.d.ts +33 -29
  126. package/build/types/tree/SyntaxToCode.d.ts +4 -0
  127. package/build/types/tree/TokenFlags.d.ts +15 -0
  128. package/build/types/tree/TokenKind.d.ts +58 -44
  129. package/build/types/tree/Utils.d.ts +2 -2
  130. package/build/types/tree/index.d.ts +2 -1
  131. package/build/types/ts-interop/Entities.d.ts +11 -12
  132. package/build/types/ts-interop/TsInteropContext.d.ts +1 -2
  133. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +1 -1
  134. package/build/types/types/AliasType.d.ts +0 -1
  135. package/build/types/types/FunctionType.d.ts +0 -1
  136. package/build/types/types/IntersectionType.d.ts +0 -1
  137. package/build/types/types/ParameterType.d.ts +0 -1
  138. package/build/types/types/ReducedType.d.ts +24 -0
  139. package/build/types/types/StructuredType.d.ts +1 -2
  140. package/build/types/types/SubstitutionStubType.d.ts +21 -0
  141. package/build/types/types/Type.d.ts +5 -3
  142. package/build/types/types/TypeFactory.d.ts +4 -2
  143. package/build/types/types/UnionType.d.ts +0 -1
  144. package/build/types/types/UnresolvedType.d.ts +0 -1
  145. package/build/types/types/VariantType.d.ts +0 -1
  146. package/build/types/types/index.d.ts +3 -1
  147. package/package.json +1 -1
  148. package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +0 -14
  149. package/build/types/entities/BaseEntityHidingMatcher.d.ts +0 -11
  150. package/build/types/entities/EntityHidingMatcherWithinTypeEntity.d.ts +0 -10
  151. package/build/types/parser/ReservedIdentifierDictionary.d.ts +0 -11
  152. package/build/types/services/AddBlockToScriptService.d.ts +0 -17
  153. package/build/types/services/AssignFieldService.d.ts +0 -10
  154. package/build/types/services/DeleteBlockFromScriptService.d.ts +0 -6
  155. package/build/types/tree/Token.d.ts +0 -58
  156. /package/build/types/services/{ProjectItemsService.d.ts → WorkspaceItemsService.d.ts} +0 -0
@@ -1,34 +1,33 @@
1
1
  import { Name, PackageLocale } from '../common/index.js';
2
- import { IEntityHidingMatcher, OperatorKind, TypeEntity, TypeExtensionEntity, TypeOrExtensionEntity } from '../entities/index.js';
2
+ import { OperatorKind, PackageEntity, TypeEntity, TypeExtensionEntity, TypeOrExtensionEntity } from '../entities/index.js';
3
+ import { SourceFile } from '../project/SourceFile.js';
3
4
  import * as types from '../types/index.js';
4
5
  import { Analyzer } from './Analyzer.js';
5
6
  import { SemanticContext } from './semantic-context/SemanticContext.js';
6
7
  export declare class TypeMemberLookup {
7
8
  private readonly analyzer;
8
9
  private readonly typeOrExtension;
9
- private readonly contextLocale;
10
10
  private constructor();
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[];
11
+ static ofType(analyzer: Analyzer, type: types.Type): TypeMemberLookup;
12
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity): TypeMemberLookup;
13
+ static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity): TypeMemberLookup;
14
+ static ofTypeOrExtension(analyzer: Analyzer, typeOrExtension: TypeOrExtension): TypeMemberLookup;
15
+ getNamedMembers(context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.NamedTypeMember[];
16
+ getNamedMembersByName(name: Name, context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.NamedTypeMember[];
17
+ getOperators(context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.Operator[];
18
+ getOperatorsByKind(kind: OperatorKind, context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.Operator[];
19
+ getConstructors(context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.Constructor[];
20
+ getIndexers(context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.Indexer[];
21
+ getDereferenceOperators(context: TypeMemberLookupContext | undefined, options?: TypeMemberLookupOptions): readonly types.DereferenceOperator[];
22
22
  }
23
23
  export declare class BoundTypeMemberLookup {
24
24
  private readonly lookup;
25
25
  private readonly options;
26
- private readonly hidingMatcher;
27
- private readonly typeExtensionLookup;
26
+ private readonly context;
28
27
  private constructor();
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;
28
+ static ofType(analyzer: Analyzer, type: types.Type, context: TypeMemberLookupContext | undefined, options: TypeMemberLookupOptions): BoundTypeMemberLookup;
29
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, context: TypeMemberLookupContext | undefined, options: TypeMemberLookupOptions): BoundTypeMemberLookup;
30
+ static ofTypeExtension(analyzer: Analyzer, typeExtension: TypeExtensionEntity, context: TypeMemberLookupContext | undefined, options: TypeMemberLookupOptions): BoundTypeMemberLookup;
32
31
  getNamedMembers(): readonly types.NamedTypeMember[];
33
32
  getNamedMembersByName(name: Name): readonly types.NamedTypeMember[];
34
33
  getOperators(): readonly types.Operator[];
@@ -37,25 +36,40 @@ export declare class BoundTypeMemberLookup {
37
36
  getIndexers(): readonly types.Indexer[];
38
37
  getDereferenceOperators(): readonly types.DereferenceOperator[];
39
38
  }
39
+ export declare class TypeMemberLookupContext {
40
+ readonly typeOrExtensionEntity: TypeOrExtensionEntity | undefined;
41
+ readonly sourceFile: SourceFile | undefined;
42
+ readonly packageEntity: PackageEntity | undefined;
43
+ readonly locale: PackageLocale | undefined;
44
+ readonly typeExtensionLookup: SemanticContext | undefined;
45
+ constructor(typeOrExtensionEntity: TypeOrExtensionEntity | undefined, sourceFile: SourceFile | undefined, packageEntity: PackageEntity | undefined, locale: PackageLocale | undefined, typeExtensionLookup: SemanticContext | undefined);
46
+ affectsAccessibility(): boolean;
47
+ }
40
48
  export declare enum TypeMemberLookupOptions {
41
49
  None = 0,
42
50
  OnlyInstanceMembers = 1,
43
- OnlyStaticMembers = 2
51
+ OnlyStaticMembers = 2,
52
+ NoTypeExtensionMembers = 4,
53
+ /**
54
+ * Смотрите метод {@link AccessibilityCheck.isTypeMemberAccessible}.
55
+ */
56
+ CheckAccessibilityIgnoringReceiverType = 8,
57
+ OnlyInstanceOrOnlyStaticMembers = 3
44
58
  }
45
59
  type TypeOrExtension = TypeOrExtension_type | TypeOrExtension_extension;
46
60
  declare class TypeOrExtension_type implements ITypeOrExtension {
47
61
  readonly value: types.Type;
48
62
  readonly kind = "type";
49
63
  constructor(value: types.Type);
50
- getEntity(): TypeOrExtensionEntity | undefined;
64
+ getType(): types.Type | undefined;
51
65
  }
52
66
  declare class TypeOrExtension_extension implements ITypeOrExtension {
53
67
  readonly value: TypeExtensionEntity;
54
68
  readonly kind = "extension";
55
69
  constructor(value: TypeExtensionEntity);
56
- getEntity(): TypeOrExtensionEntity | undefined;
70
+ getType(): types.Type | undefined;
57
71
  }
58
72
  interface ITypeOrExtension {
59
- getEntity(): TypeOrExtensionEntity | undefined;
73
+ getType(): types.Type | undefined;
60
74
  }
61
75
  export {};
@@ -11,6 +11,8 @@ export declare function getParentGenericSpecializationExpression(expression: tre
11
11
  export declare function getGenericSpecializationExpressionOfCallee(callee: tree.Expression): tree.GenericSpecializationExpression | undefined;
12
12
  export declare function unaliasType(type: types.Type): types.Type;
13
13
  export declare function unaliasType(type: types.Type | undefined): types.Type | undefined;
14
+ export declare function unaliasTypeAndGetReductionSource(type: types.Type): types.Type;
15
+ export declare function unaliasTypeAndGetReductionSource(type: types.Type | undefined): types.Type | undefined;
14
16
  export declare function findTag(tagTypeEntity: TypeEntity, tags: readonly Tag[]): TagType | undefined;
15
17
  export declare function findTag(tagFunctionEntity: FunctionEntity, tags: readonly Tag[]): TagFunction | undefined;
16
18
  export declare function findTag(tagEntity: TypeEntity | FunctionEntity, tags: readonly Tag[]): TagType | TagFunction | undefined;
@@ -1,6 +1,6 @@
1
1
  import { PackageLocale } from '../common/PackageLocale.js';
2
2
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
- import { AliasTypeEntity, MethodEntity, StructuredTypeEntity } from '../entities/index.js';
3
+ import { AliasTypeEntity, MethodEntity, ReducedTypeEntity, StructuredTypeEntity } from '../entities/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
5
  export declare class WellKnownDeclarationsLoadError extends Error {
6
6
  readonly diagnostic: Diagnostic;
@@ -20,17 +20,18 @@ export interface WellKnownDeclarations {
20
20
  readonly enumerator: StructuredTypeEntity;
21
21
  readonly enumeratorMethod: MethodEntity;
22
22
  readonly array: StructuredTypeEntity;
23
- readonly readonlyArray: StructuredTypeEntity;
23
+ readonly readonlyArray: ReducedTypeEntity;
24
24
  readonly map: StructuredTypeEntity;
25
- readonly readonlyMap: StructuredTypeEntity;
25
+ readonly readonlyMap: ReducedTypeEntity;
26
26
  readonly set: StructuredTypeEntity;
27
- readonly readonlySet: StructuredTypeEntity;
27
+ readonly readonlySet: ReducedTypeEntity;
28
28
  readonly measure: StructuredTypeEntity;
29
29
  readonly reference: StructuredTypeEntity;
30
30
  readonly task: StructuredTypeEntity;
31
31
  readonly error: StructuredTypeEntity;
32
32
  readonly func: StructuredTypeEntity;
33
33
  readonly parameterArray: AliasTypeEntity;
34
+ readonly impossibleCase: StructuredTypeEntity;
34
35
  readonly defaultImport: StructuredTypeEntity;
35
36
  readonly realName: StructuredTypeEntity;
36
37
  readonly builtIntoPlatform: StructuredTypeEntity;
@@ -64,6 +65,7 @@ export declare class LocalizedWellKnownDeclarations implements WellKnownDeclarat
64
65
  private error_;
65
66
  private func_;
66
67
  private parameterArray_;
68
+ private impossibleCase_;
67
69
  private defaultImport_;
68
70
  private realName_;
69
71
  private builtIntoPlatform_;
@@ -83,23 +85,25 @@ export declare class LocalizedWellKnownDeclarations implements WellKnownDeclarat
83
85
  get enumerator(): StructuredTypeEntity;
84
86
  get enumeratorMethod(): MethodEntity;
85
87
  get array(): StructuredTypeEntity;
86
- get readonlyArray(): StructuredTypeEntity;
88
+ get readonlyArray(): ReducedTypeEntity;
87
89
  get map(): StructuredTypeEntity;
88
- get readonlyMap(): StructuredTypeEntity;
90
+ get readonlyMap(): ReducedTypeEntity;
89
91
  get set(): StructuredTypeEntity;
90
- get readonlySet(): StructuredTypeEntity;
92
+ get readonlySet(): ReducedTypeEntity;
91
93
  get measure(): StructuredTypeEntity;
92
94
  get reference(): StructuredTypeEntity;
93
95
  get task(): StructuredTypeEntity;
94
96
  get error(): StructuredTypeEntity;
95
97
  get func(): StructuredTypeEntity;
96
98
  get parameterArray(): AliasTypeEntity;
99
+ get impossibleCase(): StructuredTypeEntity;
97
100
  get defaultImport(): StructuredTypeEntity;
98
101
  get realName(): StructuredTypeEntity;
99
102
  get builtIntoPlatform(): StructuredTypeEntity;
100
103
  get fieldProxy(): StructuredTypeEntity;
101
104
  get javaScriptDecorator(): StructuredTypeEntity;
102
105
  private getLocalizedStructuredType;
106
+ private getLocalizedReducedType;
103
107
  private getLocalizedAliasType;
104
108
  private getLocalizedMethod;
105
109
  private getLocalizationContext;
@@ -1,11 +1,13 @@
1
1
  import { Diagnostic } from '../../diagnostic/Diagnostic.js';
2
2
  import { SourceFile } from '../../project/SourceFile.js';
3
+ import * as tree from '../../tree/index.js';
3
4
  import { SubprogramDeclarationOrLiteral } from '../NodeTypeUtils.js';
4
5
  import { NarrowableReferenceExpression } from './NarrowableExpression.js';
5
6
  import { Node } from './Nodes.js';
6
7
  export declare class GraphBuilder {
7
8
  private readonly sourceFile;
8
9
  private readonly controlFlowNodeByReference;
10
+ private readonly controlFlowNodesPrecedingErrorStatement;
9
11
  private readonly controlFlowNodesEndingSubprogram;
10
12
  private readonly unreachableCodeDiagnostics;
11
13
  private isInRebuildingFinallyClauseGraphMode;
@@ -41,7 +43,8 @@ export declare class GraphBuilder {
41
43
  }
42
44
  export declare class GraphBuildResult {
43
45
  readonly controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>;
46
+ readonly controlFlowNodesPrecedingErrorStatement: ReadonlyMap<tree.ErrorStatement, Node>;
44
47
  readonly controlFlowNodesEndingSubprogram: ReadonlyMap<SubprogramDeclarationOrLiteral, Node>;
45
48
  readonly unreachableCodeDiagnostics: readonly Diagnostic[];
46
- constructor(controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>, controlFlowNodesEndingSubprogram: ReadonlyMap<SubprogramDeclarationOrLiteral, Node>, unreachableCodeDiagnostics: readonly Diagnostic[]);
49
+ constructor(controlFlowNodeByReference: ReadonlyMap<NarrowableReferenceExpression, Node>, controlFlowNodesPrecedingErrorStatement: ReadonlyMap<tree.ErrorStatement, Node>, controlFlowNodesEndingSubprogram: ReadonlyMap<SubprogramDeclarationOrLiteral, Node>, unreachableCodeDiagnostics: readonly Diagnostic[]);
47
50
  }
@@ -1,7 +1,7 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import * as tree from '../../tree/index.js';
4
3
  import { Analyzer } from '../Analyzer.js';
4
+ import { TypeMemberLookupContext } from '../TypeMemberLookup.js';
5
5
  import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
6
6
  import { SemanticContext } from './SemanticContext.js';
7
7
  import { SemanticContextWithParent } from './SemanticContextWithParent.js';
@@ -14,8 +14,9 @@ export declare class FieldWithInitializerSemanticContext extends SemanticContext
14
14
  private readonly node;
15
15
  constructor(analyzer: Analyzer, node: tree.FieldDeclaration, outer: SemanticContextContainingTypeMember);
16
16
  isStatic(): boolean;
17
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
18
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
19
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
20
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
17
+ getTypeMemberLookupContext(): TypeMemberLookupContext;
18
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
19
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
20
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
21
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
21
22
  }
@@ -1,5 +1,4 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import { ConstructorEntity, OperatorKind, PackageEntity, TextTranslationEntity, TypeEntity, TypeEntityWithMembers, TypeExtensionEntity } from '../../entities/index.js';
4
3
  import { SourceFile } from '../../project/SourceFile.js';
5
4
  import * as tree from '../../tree/index.js';
@@ -7,7 +6,9 @@ import * as types from '../../types/index.js';
7
6
  import { Analyzer } from '../Analyzer.js';
8
7
  import { DiagnosticArgumentFactory } from '../DiagnosticArgumentFactory.js';
9
8
  import { FunctionDeclaration, GetterDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, SubprogramDeclarationOrLiteral } from '../NodeTypeUtils.js';
9
+ import { PackageMemberLookupContext } from '../PackageMemberLookup.js';
10
10
  import { TextKey } from '../TextIdentity.js';
11
+ import { TypeMemberLookupContext } from '../TypeMemberLookup.js';
11
12
  import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
12
13
  import { SemanticContext } from './SemanticContext.js';
13
14
  export declare abstract class SemanticContextBase {
@@ -15,21 +16,21 @@ export declare abstract class SemanticContextBase {
15
16
  protected static readonly emptyNamedDeclarations: readonly NamedDeclaration[];
16
17
  protected static readonly emptyOperators: readonly types.Operator[];
17
18
  protected static readonly emptyTypeExtensions: readonly TypeExtensionEntity[];
18
- private hidingMatcher;
19
19
  abstract readonly outer: SemanticContext | undefined;
20
20
  protected abstract readonly asContext: SemanticContext;
21
21
  abstract getContainingSubprogram(): SubprogramInfo | undefined;
22
22
  abstract getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
23
23
  abstract getTryStatementContext(): TryStatementContextKind | undefined;
24
24
  abstract isStatic(): boolean;
25
- abstract getOwnTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
26
- abstract getOwnTypesOrContainersWithTypesByName(name: Name, hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
27
- abstract getOwnNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
28
- abstract getOwnNamedDeclarationsByName(name: Name, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
25
+ abstract getTypeMemberLookupContext(): TypeMemberLookupContext;
26
+ abstract getOwnTypesOrContainersWithTypes(initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
27
+ abstract getOwnTypesOrContainersWithTypesByName(name: Name, initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
28
+ abstract getOwnNamedDeclarations(initialContext: SemanticContext, noInstanceMembers: boolean): readonly NamedDeclaration[];
29
+ abstract getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, noInstanceMembers: boolean): readonly NamedDeclaration[];
29
30
  getContainingSourceFile(): SourceFile;
30
31
  getContainingPackage(): PackageEntity;
31
- getHidingMatcher(): IEntityHidingMatcher;
32
32
  getDiagnosticArgumentFactory(): DiagnosticArgumentFactory;
33
+ getPackageMemberLookupContext(): PackageMemberLookupContext;
33
34
  getTypesOrContainersWithTypes(): readonly TypeOrContainerWithTypes[];
34
35
  getTypesOrContainersWithTypesByName(name: Name): readonly TypeOrContainerWithTypes[];
35
36
  getNamedDeclarations(noInstanceMembers?: boolean): readonly NamedDeclaration[];
@@ -1,6 +1,5 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import { DiagnosticAcceptor } from '../../diagnostic/Diagnostic.js';
3
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
4
3
  import { LocalVariableEntity, NestedFunctionEntity, ParameterEntity, TypeParameterEntity } from '../../entities/index.js';
5
4
  import * as tree from '../../tree/index.js';
6
5
  import { Analyzer } from '../Analyzer.js';
@@ -28,10 +27,10 @@ export declare abstract class SemanticContextValidatingNameConflictsBase extends
28
27
  constructor(analyzer: Analyzer);
29
28
  protected abstract createMemberEntities(): readonly MemberOfSemanticContextValidatingNameConflicts[];
30
29
  protected abstract createMemberEntitiesForTypeLookup(): readonly MemberOfSemanticContextValidatingNameConflictsForTypeLookup[];
31
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
32
- getOwnTypesOrContainersWithTypesByName(name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
33
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
34
- getOwnNamedDeclarationsByName(name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
30
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
31
+ getOwnTypesOrContainersWithTypesByName(name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
32
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
33
+ getOwnNamedDeclarationsByName(name: Name, _initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
35
34
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
36
35
  private getMemberEntityDictionary;
37
36
  private validateNestedFunctionsConflicts;
@@ -1,3 +1,4 @@
1
+ import { TypeMemberLookupContext } from '../TypeMemberLookup.js';
1
2
  import { SemanticContext } from './SemanticContext.js';
2
3
  import { SemanticContextBase, SubprogramInfo, TryStatementContextKind, TypeOrTypeExtension } from './SemanticContextBase.js';
3
4
  export declare abstract class SemanticContextWithParent extends SemanticContextBase {
@@ -6,4 +7,5 @@ export declare abstract class SemanticContextWithParent extends SemanticContextB
6
7
  getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
7
8
  getTryStatementContext(): TryStatementContextKind | undefined;
8
9
  isStatic(): boolean;
10
+ getTypeMemberLookupContext(): TypeMemberLookupContext;
9
11
  }
@@ -1,12 +1,13 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import { DiagnosticAcceptor } from '../../diagnostic/Diagnostic.js';
3
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
4
3
  import { PackageEntity, TextTranslationEntity, TypeEntity, TypeExtensionEntity } from '../../entities/index.js';
5
4
  import { SourceFile } from '../../project/SourceFile.js';
6
5
  import * as tree from '../../tree/index.js';
7
6
  import { Analyzer } from '../Analyzer.js';
8
7
  import { DiagnosticArgumentFactory } from '../DiagnosticArgumentFactory.js';
8
+ import { PackageMemberLookupContext } from '../PackageMemberLookup.js';
9
9
  import { TextKey } from '../TextIdentity.js';
10
+ import { TypeMemberLookupContext } from '../TypeMemberLookup.js';
10
11
  import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
11
12
  import { SemanticContext } from './SemanticContext.js';
12
13
  import { SemanticContextBase, SubprogramInfo, TryStatementContextKind, TypeOrTypeExtension } from './SemanticContextBase.js';
@@ -24,6 +25,8 @@ export declare class SourceFileSemanticContext extends SemanticContextBase {
24
25
  private readonly packageNameSegmentsByNameKey_;
25
26
  private readonly diagnosticArgumentFactory;
26
27
  private readonly primaryTextTranslationPackage_;
28
+ private readonly packageMemberLookupContext;
29
+ private readonly typeMemberLookupContext;
27
30
  private get packageAliasesByNameKey();
28
31
  private get packageNameSegmentsByNameKey();
29
32
  private get primaryTextTranslationPackage();
@@ -34,12 +37,14 @@ export declare class SourceFileSemanticContext extends SemanticContextBase {
34
37
  getPackage(): PackageEntity;
35
38
  getTryStatementContext(): TryStatementContextKind | undefined;
36
39
  isStatic(): boolean;
40
+ getPackageMemberLookupContext(): PackageMemberLookupContext;
41
+ getTypeMemberLookupContext(): TypeMemberLookupContext;
37
42
  getDiagnosticArgumentFactory(): DiagnosticArgumentFactory;
38
- getOwnTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
39
- getOwnTypesOrContainersWithTypesByName(name: Name, hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
40
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): NamedDeclaration[];
41
- getOwnNamedDeclarationsByName(name: Name, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
42
- getOwnTypeExtensionsByType(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
43
+ getOwnTypesOrContainersWithTypes(initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
44
+ getOwnTypesOrContainersWithTypesByName(name: Name, initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
45
+ getOwnNamedDeclarations(initialContext: SemanticContext, _noInstanceMembers: boolean): NamedDeclaration[];
46
+ getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
47
+ getOwnTypeExtensionsByType(type: TypeEntity, initialContext: SemanticContext): TypeExtensionEntity[];
43
48
  getTextTranslationEntityByTextKey(key: TextKey): readonly TextTranslationEntity[];
44
49
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
45
50
  private convertPackageMemberToNamedDeclaration;
@@ -1,8 +1,8 @@
1
1
  import { DiagnosticAcceptor } from '../../diagnostic/Diagnostic.js';
2
2
  import { ParameterEntity } from '../../entities/index.js';
3
- import { ReservedIdentifierKind } from '../../parser/ReservedIdentifierDictionary.js';
4
3
  import * as tree from '../../tree/index.js';
5
4
  import { Analyzer } from '../Analyzer.js';
5
+ import { ReservedNameKind } from '../ReservedNameDictionary.js';
6
6
  import { SemanticContext } from './SemanticContext.js';
7
7
  import { TryStatementContextKind } from './SemanticContextBase.js';
8
8
  import { MemberOfSemanticContextValidatingNameConflicts, MemberOfSemanticContextValidatingNameConflictsForTypeLookup, SemanticContextValidatingNameConflictsBase } from './SemanticContextValidatingNameConflicts.js';
@@ -26,7 +26,7 @@ export declare abstract class SubprogramParameterListSemanticContext extends Sem
26
26
  constructor(analyzer: Analyzer, outer: SubprogramParameterListSemanticContextParent);
27
27
  protected abstract get isSetterParameterList(): boolean;
28
28
  protected abstract getParameterEntities(): readonly ParameterEntity[];
29
- protected abstract getSpecialVariableKinds(): readonly ReservedIdentifierKind[];
29
+ protected abstract getSpecialVariableKinds(): readonly ReservedNameKind[];
30
30
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
31
31
  }
32
32
  export declare class ExplicitSubprogramParameterListSemanticContext extends SubprogramParameterListSemanticContext {
@@ -35,7 +35,7 @@ export declare class ExplicitSubprogramParameterListSemanticContext extends Subp
35
35
  constructor(analyzer: Analyzer, node: tree.ParameterList, outer: SubprogramParameterListSemanticContextParent);
36
36
  protected get isSetterParameterList(): boolean;
37
37
  protected getParameterEntities(): readonly ParameterEntity[];
38
- protected getSpecialVariableKinds(): readonly ReservedIdentifierKind[];
38
+ protected getSpecialVariableKinds(): readonly ReservedNameKind[];
39
39
  protected createMemberEntities(): readonly MemberOfSemanticContextValidatingNameConflicts[];
40
40
  protected createMemberEntitiesForTypeLookup(): readonly MemberOfSemanticContextValidatingNameConflictsForTypeLookup[];
41
41
  }
@@ -45,7 +45,7 @@ export declare class FunctionBlockLiteralParameterListSemanticContext extends Su
45
45
  constructor(analyzer: Analyzer, node: tree.FunctionBlockLiteral, outer: SubprogramParameterListSemanticContextParent);
46
46
  protected get isSetterParameterList(): boolean;
47
47
  protected getParameterEntities(): readonly ParameterEntity[];
48
- protected getSpecialVariableKinds(): readonly ReservedIdentifierKind[];
48
+ protected getSpecialVariableKinds(): readonly ReservedNameKind[];
49
49
  protected createMemberEntities(): readonly MemberOfSemanticContextValidatingNameConflicts[];
50
50
  protected createMemberEntitiesForTypeLookup(): readonly MemberOfSemanticContextValidatingNameConflictsForTypeLookup[];
51
51
  }
@@ -55,7 +55,7 @@ export declare class TranslationTextTemplateParameterListSemanticContext extends
55
55
  constructor(analyzer: Analyzer, node: tree.TranslationTextTemplate, outer: SubprogramParameterListSemanticContextParent);
56
56
  protected get isSetterParameterList(): boolean;
57
57
  protected getParameterEntities(): readonly ParameterEntity[];
58
- protected getSpecialVariableKinds(): readonly ReservedIdentifierKind[];
58
+ protected getSpecialVariableKinds(): readonly ReservedNameKind[];
59
59
  protected createMemberEntities(): readonly MemberOfSemanticContextValidatingNameConflicts[];
60
60
  protected createMemberEntitiesForTypeLookup(): readonly MemberOfSemanticContextValidatingNameConflictsForTypeLookup[];
61
61
  }
@@ -1,5 +1,4 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import * as tree from '../../tree/index.js';
4
3
  import { Analyzer } from '../Analyzer.js';
5
4
  import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral } from '../NodeTypeUtils.js';
@@ -19,10 +18,10 @@ export declare abstract class OutermostSemanticContextOfSubprogram extends Seman
19
18
  readonly kind = "outermost-of-subprogram";
20
19
  abstract getContainingSubprogram(): SubprogramInfo;
21
20
  getTryStatementContext(): TryStatementContextKind | undefined;
22
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
23
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
24
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
25
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
21
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
22
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
23
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
24
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
26
25
  }
27
26
  export declare class FunctionSemanticContext extends OutermostSemanticContextOfSubprogram {
28
27
  readonly outer: SemanticContext;
@@ -1,18 +1,17 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import { OperatorKind } from '../../entities/index.js';
4
3
  import * as tree from '../../tree/index.js';
5
4
  import * as types from '../../types/index.js';
6
5
  import { Analyzer } from '../Analyzer.js';
7
6
  import { FunctionTypeDeclaration, StructuredTypeDeclaration, VariantTypeDeclaration } from '../NodeTypeUtils.js';
8
- import { TypeMemberLookup } from '../TypeMemberLookup.js';
7
+ import { TypeMemberLookup, TypeMemberLookupContext } from '../TypeMemberLookup.js';
9
8
  import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
10
9
  import { SemanticContext } from './SemanticContext.js';
11
10
  import { SubprogramInfo, TypeOrTypeExtension } from './SemanticContextBase.js';
12
11
  import { MemberOfSemanticContextValidatingNameConflicts, MemberOfSemanticContextValidatingNameConflictsForTypeLookup, SemanticContextValidatingNameConflictsBase } from './SemanticContextValidatingNameConflicts.js';
13
12
  import { SemanticContextWithParent } from './SemanticContextWithParent.js';
14
13
  import { SourceFileSemanticContext } from './SourceFileSemanticContext.js';
15
- export type TypeDeclarationCreatingSemanticContext = StructuredTypeDeclaration | VariantTypeDeclaration | FunctionTypeDeclaration | tree.PackageAliasTypeDeclaration;
14
+ export type TypeDeclarationCreatingSemanticContext = StructuredTypeDeclaration | VariantTypeDeclaration | FunctionTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.PackageReducedTypeDeclaration;
16
15
  /**
17
16
  * Завершающий семантический контекст типа.
18
17
  * Поскольку контекст с параметрами типа является опциональным, необходим
@@ -24,17 +23,19 @@ export declare class OutermostSemanticContextOfType extends SemanticContextWithP
24
23
  protected readonly asContext: SemanticContext;
25
24
  private readonly analyzer;
26
25
  private readonly node;
26
+ private readonly typeMemberLookupContext;
27
27
  constructor(analyzer: Analyzer, node: TypeDeclarationCreatingSemanticContext, outer: SemanticContext);
28
28
  getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
29
29
  getContainingSubprogram(): SubprogramInfo | undefined;
30
30
  isStatic(): boolean;
31
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
32
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
33
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
34
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
31
+ getTypeMemberLookupContext(): TypeMemberLookupContext;
32
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
33
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
34
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
35
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers: boolean): readonly NamedDeclaration[];
35
36
  private getContainingType;
36
37
  }
37
- type TypeDeclarationWithTypeParameters = tree.PackageStructuredTypeDeclaration | tree.PackageVariantTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.PackageFunctionTypeDeclaration;
38
+ type TypeDeclarationWithTypeParameters = tree.PackageStructuredTypeDeclaration | tree.PackageVariantTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.PackageReducedTypeDeclaration | tree.PackageFunctionTypeDeclaration;
38
39
  export declare class TypeParametersOfTypeSemanticContext extends SemanticContextValidatingNameConflictsBase {
39
40
  readonly kind = "type-parameter-of-type";
40
41
  readonly outer: OutermostSemanticContextOfType;
@@ -47,15 +48,15 @@ export declare class TypeParametersOfTypeSemanticContext extends SemanticContext
47
48
  }
48
49
  declare abstract class TypeOrExtensionBodySemanticContext extends SemanticContextWithParent {
49
50
  protected abstract memberLookup: TypeMemberLookup;
50
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
51
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
52
- getOwnNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): NamedDeclaration[];
53
- getOwnNamedDeclarationsByName(name: Name, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
54
- getOwnOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly types.Operator[];
55
- getOwnOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly types.Operator[];
51
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
52
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
53
+ getOwnNamedDeclarations(initialContext: SemanticContext, noInstanceMembers: boolean): NamedDeclaration[];
54
+ getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, noInstanceMembers: boolean): readonly NamedDeclaration[];
55
+ getOwnOperators(initialContext: SemanticContext, noInstanceMembers?: boolean): readonly types.Operator[];
56
+ getOwnOperatorsByKind(kind: OperatorKind, initialContext: SemanticContext, noInstanceMembers?: boolean): readonly types.Operator[];
56
57
  private convertNamedMember;
57
58
  }
58
- export type TypeDeclarationWithMembersBody = tree.StructuredTypeDeclarationBody | tree.VariantTypeDeclarationBody | tree.AliasTypeDeclarationBody;
59
+ export type TypeDeclarationWithMembersBody = tree.StructuredTypeDeclarationBody | tree.VariantTypeDeclarationBody | tree.AliasTypeDeclarationBody | tree.ReducedTypeDeclarationBody;
59
60
  export type SemanticContextContainingTypeMember = TypeBodySemanticContext | TypeExtensionBodySemanticContext;
60
61
  export type TypeBodySemanticContextParent = TypeParametersOfTypeSemanticContext | OutermostSemanticContextOfType;
61
62
  export declare class TypeBodySemanticContext extends TypeOrExtensionBodySemanticContext {
@@ -76,9 +77,11 @@ export declare class TypeExtensionBodySemanticContext extends TypeOrExtensionBod
76
77
  private readonly analyzer;
77
78
  private readonly node;
78
79
  private readonly memberLookup_;
80
+ private readonly typeMemberLookupContext;
79
81
  protected get memberLookup(): TypeMemberLookup;
80
82
  constructor(analyzer: Analyzer, node: tree.TypeExtensionDeclaration, outer: SourceFileSemanticContext);
81
83
  getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
84
+ getTypeMemberLookupContext(): TypeMemberLookupContext;
82
85
  }
83
86
  export type ParameterOfFunctionTypeSemanticContextParent = TypeParametersOfTypeSemanticContext | OutermostSemanticContextOfType;
84
87
  export declare class ParametersOfFunctionTypeSemanticContext extends SemanticContextValidatingNameConflictsBase {
@@ -14,6 +14,7 @@ export type { Meaning as MemberAccessExpressionMeaning } from '../analysis/Membe
14
14
  export * from '../analysis/NodeTypeUtils.js';
15
15
  export type { Meaning as ObjectExpressionMeaning } from '../analysis/ObjectExpressionMeaning.js';
16
16
  export * from '../analysis/PackageMemberLookup.js';
17
+ export * from '../analysis/ReservedNameDictionary.js';
17
18
  export * as semanticContext from '../analysis/semantic-context/index.js';
18
19
  export * from '../analysis/SourceFileAnalyzer.js';
19
20
  export * from '../analysis/SourcePackageDependencyGraph.js';
@@ -36,7 +37,6 @@ export * from '../parser/CharacterCodes.js';
36
37
  export * from '../parser/KeywordDictionary.js';
37
38
  export * from '../parser/ParseNumber.js';
38
39
  export * from '../parser/Parser.js';
39
- export * from '../parser/ReservedIdentifierDictionary.js';
40
40
  export * from '../parser/Scanner.js';
41
41
  export { TokenKind as ScannerTokenKind } from '../parser/TokenKind.js';
42
42
  export * from '../parser/UnescapeText.js';
@@ -10,6 +10,7 @@ export declare const enum HelperPhraseKind {
10
10
  Overloads = 7,
11
11
  EnumeratorMethodName = 8,
12
12
  InvokeMethodName = 9,
13
- EmptyUnionType = 10
13
+ EmptyUnionType = 10,
14
+ Stub = 11
14
15
  }
15
16
  export declare function getHelperPhrase(kind: HelperPhraseKind, locale: PackageLocale): string;
@@ -1,13 +1,15 @@
1
+ import { ReservedNameKind } from '../analysis/ReservedNameDictionary.js';
1
2
  import { OperatorKind } from '../entities/OperatorKind.js';
2
- import { ReservedIdentifierKind } from '../parser/ReservedIdentifierDictionary.js';
3
+ import { Keyword } from '../parser/KeywordDictionary.js';
3
4
  import * as tree from '../tree/index.js';
4
5
  import { HelperPhraseKind } from './HelperPhrases.js';
5
6
  import { PackageDialect, PackageLocale } from './index.js';
6
7
  export declare class LocalizationHelper {
7
- static localizeKeyword(kind: tree.KeywordKind, locale: PackageLocale, dialect?: PackageDialect): readonly string[];
8
- static localizeKeywordAndTakeFirst(kind: tree.KeywordKind, locale: PackageLocale, dialect?: PackageDialect): string;
9
- static localizeReservedIdentifier(kind: ReservedIdentifierKind, locale: PackageLocale): string;
8
+ static localizeKeyword(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect): readonly Keyword[];
9
+ static localizeKeywordAndTakeFirst(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect): string;
10
+ static localizeKeywordAndTakeBest(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect, preferredFlags?: tree.KeywordFlags): string;
11
+ static localizeReservedName(kind: ReservedNameKind, locale: PackageLocale): string;
10
12
  static localizeHelperPhrase(kind: HelperPhraseKind, locale: PackageLocale): string;
11
- static localizeOperatorKind(kind: OperatorKind, locale: PackageLocale, dialect?: PackageDialect): string;
12
- static localizeSyntacticalOperatorKind(kind: tree.OperatorKind, locale: PackageLocale, dialect?: PackageDialect): string;
13
+ static localizeOperatorKind(kind: OperatorKind, locale: PackageLocale, dialect: PackageDialect): string;
14
+ static localizeSyntacticalOperatorKind(kind: tree.OperatorKind, locale: PackageLocale, dialect: PackageDialect): string;
13
15
  }
@@ -11,7 +11,6 @@ export * from './FormatString.js';
11
11
  export * from './HelperPhrases.js';
12
12
  export * from './Interner.js';
13
13
  export * from './JavaScriptIdentifier.js';
14
- export * from './L10nConfig.js';
15
14
  export * from './Lazy.js';
16
15
  export * from './LocalizationHelper.js';
17
16
  export * from './Logger.js';