@artel/artc 0.6.25270 → 0.6.25272

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 (110) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +4 -2
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +1 -1
  5. package/build/{chunk-YNG6354X.js → chunk-2SRNQ3Z6.js} +16471 -16313
  6. package/build/{chunk-EL5SZYID.js → chunk-6SPB6XSH.js} +2 -2
  7. package/build/{chunk-CIXNKLFU.js → chunk-IVVTDCLH.js} +1 -1
  8. package/build/types/analysis/AnalyzedTextTranslationPackage.d.ts +1 -2
  9. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +1 -3
  10. package/build/types/analysis/Analyzer.d.ts +1 -1
  11. package/build/types/analysis/ImportedPackageNameTree.d.ts +1 -1
  12. package/build/types/analysis/ReturnTypeInferrer.d.ts +2 -2
  13. package/build/types/analysis/SourcePackageMembersCreator.d.ts +1 -1
  14. package/build/types/analysis/{Tags.d.ts → Tag.d.ts} +3 -3
  15. package/build/types/analysis/TypeMemberConflictsValidator.d.ts +1 -1
  16. package/build/types/analysis/Utils.d.ts +1 -1
  17. package/build/types/analysis/control-flow/NarrowableReference.d.ts +1 -1
  18. package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +1 -1
  19. package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +1 -1
  20. package/build/types/api/Api.d.ts +1 -1
  21. package/build/types/emitter/EmitterContext.d.ts +50 -4
  22. package/build/types/entities/BaseAspectTypes.d.ts +26 -1
  23. package/build/types/entities/BaseEntityHidingMatcher.d.ts +1 -1
  24. package/build/types/entities/BaseObjectType.d.ts +20 -1
  25. package/build/types/entities/Entity.d.ts +104 -0
  26. package/build/types/entities/EntityHiding.d.ts +1 -1
  27. package/build/types/entities/IEntity.d.ts +1 -1
  28. package/build/types/entities/TypeEntity.d.ts +1 -1
  29. package/build/types/entities/TypeEntityMembers.d.ts +5 -5
  30. package/build/types/entities/index.d.ts +5 -123
  31. package/build/types/entities/{AliasedType.d.ts → interfaces/AliasTypeEntity.d.ts} +44 -13
  32. package/build/types/entities/interfaces/ConstructorEntity.d.ts +44 -0
  33. package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +30 -0
  34. package/build/types/entities/interfaces/DestructorEntity.d.ts +20 -0
  35. package/build/types/entities/interfaces/FunctionEntity.d.ts +56 -0
  36. package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +52 -0
  37. package/build/types/entities/interfaces/GetterEntity.d.ts +26 -0
  38. package/build/types/entities/interfaces/IndexerEntity.d.ts +33 -0
  39. package/build/types/entities/interfaces/OperatorEntity.d.ts +27 -0
  40. package/build/types/entities/interfaces/PackageAliasEntity.d.ts +21 -0
  41. package/build/types/entities/{PackageEntity.d.ts → interfaces/PackageEntity.d.ts} +8 -35
  42. package/build/types/entities/interfaces/SetterEntity.d.ts +24 -0
  43. package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +62 -0
  44. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +18 -0
  45. package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +22 -0
  46. package/build/types/entities/{TypeParameterEntity.d.ts → interfaces/TypeParameterEntity.d.ts} +6 -60
  47. package/build/types/entities/interfaces/VariableEntity.d.ts +102 -0
  48. package/build/types/entities/interfaces/VariantTypeEntity.d.ts +47 -0
  49. package/build/types/entities/interfaces/index.d.ts +18 -0
  50. package/build/types/entities/intrinsic/IntrinsicConstructorEntity.d.ts +56 -0
  51. package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +77 -0
  52. package/build/types/entities/intrinsic/IntrinsicFunctionTypeEntity.d.ts +17 -0
  53. package/build/types/entities/intrinsic/IntrinsicGetterEntity.d.ts +25 -0
  54. package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +17 -0
  55. package/build/types/entities/intrinsic/IntrinsicTypeParameterEntity.d.ts +32 -0
  56. package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +123 -0
  57. package/build/types/entities/intrinsic/index.d.ts +7 -0
  58. package/build/types/entities/source/SourceAliasTypeEntity.d.ts +36 -0
  59. package/build/types/entities/source/SourceConstructorEntity.d.ts +30 -0
  60. package/build/types/entities/source/SourceDereferenceOperatorEntity.d.ts +37 -0
  61. package/build/types/entities/source/SourceDestructorEntity.d.ts +28 -0
  62. package/build/types/entities/source/SourceFunctionEntity.d.ts +101 -0
  63. package/build/types/entities/source/SourceFunctionTypeEntity.d.ts +77 -0
  64. package/build/types/entities/{GetterEntity.d.ts → source/SourceGetterEntity.d.ts} +7 -48
  65. package/build/types/entities/source/SourceIndexerEntity.d.ts +39 -0
  66. package/build/types/entities/source/SourceOperatorEntity.d.ts +38 -0
  67. package/build/types/entities/source/SourcePackageAliasEntity.d.ts +24 -0
  68. package/build/types/entities/source/SourcePackageEntity.d.ts +34 -0
  69. package/build/types/entities/{SetterEntity.d.ts → source/SourceSetterEntity.d.ts} +6 -27
  70. package/build/types/entities/source/SourceStructuredTypeEntity.d.ts +114 -0
  71. package/build/types/entities/source/SourceTextTranslationEntity.d.ts +29 -0
  72. package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +28 -0
  73. package/build/types/entities/source/SourceTypeParameterEntity.d.ts +34 -0
  74. package/build/types/entities/{VariableEntity.d.ts → source/SourceVariableEntity.d.ts} +8 -220
  75. package/build/types/entities/source/SourceVariantTypeEntity.d.ts +69 -0
  76. package/build/types/entities/source/index.d.ts +18 -0
  77. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +5 -6
  78. package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +3 -3
  79. package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +2 -2
  80. package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +3 -3
  81. package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +6 -6
  82. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +6 -6
  83. package/build/types/entities/translated/TranslatedGetterEntity.d.ts +3 -3
  84. package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +3 -3
  85. package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +3 -3
  86. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +3 -3
  87. package/build/types/entities/translated/TranslatedSetterEntity.d.ts +3 -3
  88. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +6 -7
  89. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +3 -3
  90. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +3 -3
  91. package/build/types/entities/translated/TranslatedVariableEntity.d.ts +6 -6
  92. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +5 -5
  93. package/build/types/entities/translated/index.d.ts +16 -0
  94. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
  95. package/build/types/ts-interop/Entities.d.ts +3 -5
  96. package/build/types/ts-interop/TsInteropContext.d.ts +2 -3
  97. package/package.json +1 -1
  98. package/build/types/entities/AliasTypeEntity.d.ts +0 -61
  99. package/build/types/entities/ConstructorEntity.d.ts +0 -118
  100. package/build/types/entities/DereferenceOperatorEntity.d.ts +0 -62
  101. package/build/types/entities/DestructorEntity.d.ts +0 -44
  102. package/build/types/entities/FunctionEntity.d.ts +0 -221
  103. package/build/types/entities/FunctionTypeEntity.d.ts +0 -131
  104. package/build/types/entities/IndexerEntity.d.ts +0 -67
  105. package/build/types/entities/OperatorEntity.d.ts +0 -60
  106. package/build/types/entities/PackageAliasEntity.d.ts +0 -41
  107. package/build/types/entities/StructuredTypeEntity.d.ts +0 -226
  108. package/build/types/entities/TextTranslationEntity.d.ts +0 -45
  109. package/build/types/entities/TypeExtensionEntity.d.ts +0 -45
  110. package/build/types/entities/VariantTypeEntity.d.ts +0 -108
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Compiler
3
- } from "./chunk-CIXNKLFU.js";
3
+ } from "./chunk-IVVTDCLH.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-YNG6354X.js";
17
+ } from "./chunk-2SRNQ3Z6.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-YNG6354X.js";
13
+ } from "./chunk-2SRNQ3Z6.js";
14
14
 
15
15
  // source/executor/Compiler.ts
16
16
  var Compiler = class {
@@ -1,6 +1,5 @@
1
1
  import { PackageLocale } from '../common/index.js';
2
- import { PackageEntity } from '../entities/PackageEntity.js';
3
- import { TextTranslationEntity, TextTranslationEntityKey } from '../entities/TextTranslationEntity.js';
2
+ import { PackageEntity, TextTranslationEntity, TextTranslationEntityKey } from '../entities/index.js';
4
3
  import { PackageName, TextTranslationPackage } from '../project/index.js';
5
4
  import { Analyzer } from './Analyzer.js';
6
5
  export declare class AnalyzedTextTranslationPackage {
@@ -1,9 +1,7 @@
1
1
  import { Name, PackageLocale } from '../common/index.js';
2
2
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
3
3
  import { EntityLocalizationContext } from '../entities/EntityLocalizationContext.js';
4
- import { PackageEntity } from '../entities/PackageEntity.js';
5
- import { FieldEntity, PackageVariableEntity, ParameterEntity } from '../entities/VariableEntity.js';
6
- import { AliasTypeEntity, ConstructorEntity, DestructorEntity, FunctionEntity, FunctionTypeEntity, IndexerEntity, MethodEntity, NamedEntity, NamedPackageMemberEntity, NamedTypeMemberEntity, OperatorEntity, PackageFunctionEntity, PackageFunctionTypeEntity, PackageTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from '../entities/index.js';
4
+ import { AliasTypeEntity, ConstructorEntity, DestructorEntity, FieldEntity, FunctionEntity, FunctionTypeEntity, IndexerEntity, MethodEntity, NamedEntity, NamedPackageMemberEntity, NamedTypeMemberEntity, OperatorEntity, PackageEntity, PackageFunctionEntity, PackageFunctionTypeEntity, PackageTypeEntity, PackageVariableEntity, ParameterEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from '../entities/index.js';
7
5
  import { PackageName, TranslationPackage } from '../project/index.js';
8
6
  import * as tree from '../tree/index.js';
9
7
  import { Analyzer } from './Analyzer.js';
@@ -33,7 +33,7 @@ import * as objectExpressionMeaning from './ObjectExpressionMeaning.js';
33
33
  import { OwnAndBaseConstructorCallsCheckResult } from './OwnAndBaseConstructorCallsChecker.js';
34
34
  import { SourceFileMembers } from './SourceFileMembers.js';
35
35
  import * as tagMeaning from './TagMeaning.js';
36
- import * as tags from './Tags.js';
36
+ import * as tags from './Tag.js';
37
37
  import { TypeMemberImplementationCheckResult } from './TypeMemberImplementationChecker.js';
38
38
  import * as controlFlow from './control-flow/index.js';
39
39
  import { WellKnownDeclarations } from './index.js';
@@ -1,5 +1,5 @@
1
1
  import { Name } from '../common/index.js';
2
- import { PackageEntity } from '../entities/PackageEntity.js';
2
+ import { PackageEntity } from '../entities/index.js';
3
3
  import { PackageImportInfo } from './Analyzer.js';
4
4
  export declare class ImportedPackageNameTree {
5
5
  private readonly rootNodes_;
@@ -1,7 +1,7 @@
1
- import { Analyzer } from './Analyzer.js';
1
+ import { LocalVariableEntity } from '../entities/index.js';
2
2
  import * as tree from '../tree/index.js';
3
- import { LocalVariableEntity } from '../entities/VariableEntity.js';
4
3
  import * as types from '../types/index.js';
4
+ import { Analyzer } from './Analyzer.js';
5
5
  export declare class ReturnTypeInferrer {
6
6
  private readonly analyzer;
7
7
  private readonly block;
@@ -1,5 +1,5 @@
1
1
  import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
- import { PackageVariableEntity } from '../entities/VariableEntity.js';
2
+ import { PackageVariableEntity } from '../entities/index.js';
3
3
  import * as tree from '../tree/index.js';
4
4
  import { Analyzer } from './Analyzer.js';
5
5
  export declare class SourcePackageMembersCreator {
@@ -6,7 +6,7 @@ declare abstract class TagBase {
6
6
  readonly argumentByParameter: ReadonlyMap<ParameterEntity, TagArgument>;
7
7
  private readonly argumentByNameKey_;
8
8
  get argumentByNameKey(): ReadonlyMap<string, TagArgument>;
9
- abstract get typeOrFunctionEntity(): TypeEntity | FunctionEntity;
9
+ abstract get entity(): TypeEntity | FunctionEntity;
10
10
  constructor(argumentByParameter: ReadonlyMap<ParameterEntity, TagArgument>);
11
11
  }
12
12
  export declare class TagType extends TagBase {
@@ -14,13 +14,13 @@ export declare class TagType extends TagBase {
14
14
  readonly type: types.Type;
15
15
  readonly typeEntity: TypeEntity;
16
16
  readonly constructor_: types.Constructor;
17
- get typeOrFunctionEntity(): TypeEntity | FunctionEntity;
17
+ get entity(): TypeEntity | FunctionEntity;
18
18
  constructor(type: types.Type, typeEntity: TypeEntity, constructor_: types.Constructor, argumentByParameter: ReadonlyMap<ParameterEntity, TagArgument>);
19
19
  }
20
20
  export declare class TagFunction extends TagBase {
21
21
  readonly kind = "function";
22
22
  readonly func: AccessedFunction;
23
- get typeOrFunctionEntity(): TypeEntity | FunctionEntity;
23
+ get entity(): TypeEntity | FunctionEntity;
24
24
  constructor(func: AccessedFunction, argumentByParameter: ReadonlyMap<ParameterEntity, TagArgument>);
25
25
  }
26
26
  export type TagArgument = TagArgument_string | TagArgument_numeric | TagArgument_boolean | TagArgument_invalid;
@@ -1,5 +1,5 @@
1
1
  import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
- import { TypeEntityMembers } from '../entities/TypeEntityMembers.js';
2
+ import { TypeEntityMembers } from '../entities/index.js';
3
3
  import { Analyzer } from './Analyzer.js';
4
4
  export declare class TypeMemberConflictsValidator {
5
5
  private readonly analyzer;
@@ -2,7 +2,7 @@ import { Entity, FunctionEntity, TypeEntity, TypeParameterEntity, VariableEntity
2
2
  import * as tree from '../tree/index.js';
3
3
  import * as types from '../types/index.js';
4
4
  import { PackageNameTreeNode } from './ImportedPackageNameTree.js';
5
- import { Tag, TagFunction, TagType } from './Tags.js';
5
+ import { Tag, TagFunction, TagType } from './Tag.js';
6
6
  type TextToken = tree.Token<tree.TokenKind.TextLiteral> | tree.Token<tree.TokenKind.TextTemplateHead> | tree.Token<tree.TokenKind.TextTemplatePart> | tree.Token<tree.TokenKind.TextTemplateTail>;
7
7
  export declare function getUnescapedTextFromTextToken(token: TextToken): string;
8
8
  export declare function unwrapParenthesizedExpressions(expression: tree.Expression): tree.Expression;
@@ -1,4 +1,4 @@
1
- import { FieldEntity, LocalVariableEntity, PackageVariableEntity, ParameterEntity } from '../../entities/VariableEntity.js';
1
+ import { FieldEntity, LocalVariableEntity, PackageVariableEntity, ParameterEntity } from '../../entities/index.js';
2
2
  import * as tree from '../../tree/index.js';
3
3
  import { Analyzer } from '../Analyzer.js';
4
4
  import { NarrowableReferenceExpression } from '../control-flow/NarrowableExpression.js';
@@ -1,5 +1,5 @@
1
1
  import { BaseEntityHidingMatcher } from '../../entities/BaseEntityHidingMatcher.js';
2
- import { PackageEntity } from '../../entities/PackageEntity.js';
2
+ import { PackageEntity } from '../../entities/index.js';
3
3
  import { TypeEntity } from '../../entities/TypeEntity.js';
4
4
  import { SourceFile } from '../../project/SourceFile.js';
5
5
  import { SemanticContext } from './SemanticContext.js';
@@ -1,4 +1,4 @@
1
- import { LocalVariableEntity } from '../../entities/VariableEntity.js';
1
+ import { LocalVariableEntity } from '../../entities/index.js';
2
2
  import * as tree from '../../tree/index.js';
3
3
  import { Analyzer } from '../Analyzer.js';
4
4
  type SpecialLocalDeclarationEntity = LocalVariableEntity;
@@ -20,7 +20,7 @@ export * from '../analysis/SourceFileMembers.js';
20
20
  export * from '../analysis/SourcePackageDependencyGraph.js';
21
21
  export * from '../analysis/SubstitutedFunction.js';
22
22
  export type { Meaning as TagMeaning } from '../analysis/TagMeaning.js';
23
- export * from '../analysis/Tags.js';
23
+ export * from '../analysis/Tag.js';
24
24
  export * from '../analysis/Translation.js';
25
25
  export * from '../analysis/TypeMemberLookup.js';
26
26
  export * from '../analysis/Utils.js';
@@ -1,6 +1,5 @@
1
1
  import { Analyzer } from '../analysis/Analyzer.js';
2
- import * as analyzerEntities from '../entities/index.js';
3
- import { Type, TypeMemberEntity, TypeOrExtensionEntity } from './Entities.js';
2
+ import { FunctionEntity, PackageEntity, Type, TypeMemberEntity, TypeOrExtensionEntity, VariableEntity } from './Entities.js';
4
3
  import { EntityMap } from './EntityMap.js';
5
4
  import * as ir from './ir/index.js';
6
5
  export declare class EmitterContext {
@@ -8,12 +7,11 @@ export declare class EmitterContext {
8
7
  readonly entityMap: EntityMap;
9
8
  readonly type: TypeUtils;
10
9
  readonly standardTypes: StandardTypes;
10
+ readonly entityFinder: EntityFinder;
11
11
  private readonly integerTypeEntity_;
12
12
  private readonly jsObjectType_;
13
13
  private readonly jsSymbolType_;
14
- private readonly originalPlatformJavaScriptPackage_;
15
14
  get integerTypeEntity(): TypeOrExtensionEntity;
16
- get originalPlatformJavaScriptPackage(): analyzerEntities.PackageEntity;
17
15
  get jsObjectType(): TypeOrExtensionEntity;
18
16
  get jsSymbolType(): TypeOrExtensionEntity;
19
17
  constructor(analyzer: Analyzer, entityMap: EntityMap);
@@ -26,6 +24,29 @@ export declare class EmitterContext {
26
24
  isAspectTypeEntity(entity: TypeOrExtensionEntity): boolean;
27
25
  enumerateAllOverriddenMembers<T extends TypeMemberEntity>(entity: T): Iterable<T>;
28
26
  }
27
+ export declare class WellKnownDeclarationKeys {
28
+ static readonly jsObjectType = "Platform.JavaScript.Object";
29
+ static readonly jsSymbolType = "Platform.JavaScript.Symbol";
30
+ static readonly fieldProxyReadMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u043E\u0441\u0440\u0435\u0434\u043D\u0438\u043A\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439\u041E\u0431\u044A\u0435\u043A\u0442\u0430.\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C";
31
+ static readonly fieldProxyWriteMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u043E\u0441\u0440\u0435\u0434\u043D\u0438\u043A\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439\u041E\u0431\u044A\u0435\u043A\u0442\u0430.\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C";
32
+ static readonly referenceConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0420\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F.\u0414\u0436\u0430\u0432\u0430\u0421\u043A\u0440\u0438\u043F\u0442.\u0421\u0441\u044B\u043B\u043A\u0430";
33
+ static readonly textTemplateConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430";
34
+ static readonly textTemplateToTextMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430.\u0432-\u0442\u0435\u043A\u0441\u0442";
35
+ static readonly symbolIteratorField = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 Platform.JavaScript.Symbol.iterator";
36
+ static readonly inlineJsFunction = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0412\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.\u043F\u043E\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044C-\u0440\u043E\u0434\u043D\u043E\u0439-\u043A\u043E\u0434";
37
+ static readonly numberIsIntegerFunction = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0420\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F.\u0414\u0436\u0430\u0432\u0430\u0421\u043A\u0440\u0438\u043F\u0442.\u0447\u0438\u0441\u043B\u043E-\u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F-\u0446\u0435\u043B\u044B\u043C";
38
+ static readonly dictionaryType = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0421\u043B\u043E\u0432\u0430\u0440\u044C";
39
+ static readonly dictionaryConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0421\u043B\u043E\u0432\u0430\u0440\u044C";
40
+ static readonly dictionaryAddMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0421\u043B\u043E\u0432\u0430\u0440\u044C.\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C";
41
+ static readonly packageType = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0430\u043A\u0435\u0442";
42
+ static readonly packageConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0430\u043A\u0435\u0442";
43
+ static readonly packageThisPackageField = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 \u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0430\u043A\u0435\u0442.\u0441\u0432\u043E\u0439-\u043F\u0430\u043A\u0435\u0442";
44
+ static readonly packageMainPackageField = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 \u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0430\u043A\u0435\u0442.\u0433\u043B\u0430\u0432\u043D\u044B\u0439-\u043F\u0430\u043A\u0435\u0442";
45
+ static readonly errorConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041E\u0448\u0438\u0431\u043A\u0430";
46
+ static readonly translatorAddTranslationToLocaleMethod = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 \u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0447\u0438\u043A.\u0434\u043E\u0431\u0430\u0432\u0438\u0442\u044C-\u043F\u0435\u0440\u0435\u0432\u043E\u0434-\u043D\u0430-\u044F\u0437\u044B\u043A";
47
+ static readonly translatorTranslateTextMethod = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 \u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0447\u0438\u043A.\u043F\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438(\u043F\u0430\u043A\u0435\u0442, \u0442\u0435\u043A\u0441\u0442, \u043A\u043B\u044E\u0447)";
48
+ static readonly translatorTranslateTemplateMethod = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 \u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0447\u0438\u043A.\u043F\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438(\u043F\u0430\u043A\u0435\u0442, \u0448\u0430\u0431\u043B\u043E\u043D, \u043A\u043B\u044E\u0447)";
49
+ }
29
50
  declare class TypeUtils {
30
51
  private readonly ectx;
31
52
  constructor(ectx: EmitterContext);
@@ -61,4 +82,29 @@ declare class StandardTypes {
61
82
  get reference(): Type;
62
83
  constructor(analyzer: Analyzer, entityMap: EntityMap);
63
84
  }
85
+ declare class EntityFinder {
86
+ private readonly ectx;
87
+ private static readonly typeOrExtensionEntityNameRegExp;
88
+ private static readonly staticModifierText;
89
+ private static readonly functionNameAndParametersRegExp;
90
+ constructor(ectx: EmitterContext);
91
+ findPackageEntity(keyText: string): PackageEntity;
92
+ findTypeOrExtensionEntity(keyText: string): TypeOrExtensionEntity;
93
+ findPackageFunctionEntity(keyText: string): FunctionEntity;
94
+ findMethodEntity(keyText: string): FunctionEntity;
95
+ findConstructorEntity(keyText: string): FunctionEntity;
96
+ findFieldEntity(keyText: string): VariableEntity;
97
+ private findOriginalPackageEntityByParsedKey;
98
+ private findOriginalTypeOrExtensionEntityByParsedKey;
99
+ private findOriginalPackageFunctionEntityByParsedKey;
100
+ private findOriginalMethodEntityByParsedKey;
101
+ private findOriginalConstructorEntityByParsedKey;
102
+ private findOriginalFieldEntityByParsedKey;
103
+ private parsePackageEntityKey;
104
+ private parseTypeOrExtensionEntityKey;
105
+ private parsePackageFunctionEntityKey;
106
+ private parseMethodEntityKey;
107
+ private parseConstructorEntityKey;
108
+ private parseFieldEntityKey;
109
+ }
64
110
  export {};
@@ -1,5 +1,4 @@
1
1
  import * as types from '../types/index.js';
2
- import { CycleFreeBaseAspectTypesResolutionResult } from './StructuredTypeEntity.js';
3
2
  /**
4
3
  * Класс позволяет работать с базовыми аспектными типами, исключая циклы наследования.
5
4
  *
@@ -29,3 +28,29 @@ export declare abstract class BaseAspectTypes {
29
28
  */
30
29
  abstract resolveBaseAspectTypes(circularityTrackingStack: boolean[]): CycleFreeBaseAspectTypesResolutionResult;
31
30
  }
31
+ export declare class OriginalBaseAspectTypes extends BaseAspectTypes {
32
+ /**
33
+ * Базовые аспектные типы, указанные пользователем.
34
+ */
35
+ readonly declared: readonly types.Type[];
36
+ private state;
37
+ /**
38
+ * Базовые аспектные типы, указанные пользователем, которые не приводят к циклу.
39
+ */
40
+ get cycleFree(): readonly types.Type[];
41
+ /**
42
+ * Приводит ли хотя бы один базовый аспектный тип, указанный пользователем, к циклу?
43
+ */
44
+ get causesCycle(): boolean;
45
+ constructor(declared: readonly types.Type[]);
46
+ /**
47
+ * @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
48
+ */
49
+ resolveBaseAspectTypes(circularityTrackingStack: boolean[]): CycleFreeBaseAspectTypesResolutionResult;
50
+ private getBaseAspectTypesResolutionResult;
51
+ }
52
+ export declare class CycleFreeBaseAspectTypesResolutionResult {
53
+ readonly types: readonly types.Type[];
54
+ readonly causesCycle: boolean;
55
+ constructor(types: readonly types.Type[], causesCycle: boolean);
56
+ }
@@ -1,6 +1,6 @@
1
1
  import { SourceFile } from '../project/SourceFile.js';
2
2
  import { EntityHidingLevel, IEntityHidingMatcher } from './EntityHiding.js';
3
- import { PackageEntity } from './PackageEntity.js';
3
+ import { PackageEntity } from './interfaces/PackageEntity.js';
4
4
  import { TypeEntity } from './TypeEntity.js';
5
5
  export declare abstract class BaseEntityHidingMatcher implements IEntityHidingMatcher {
6
6
  protected abstract typeEntity: TypeEntity | undefined;
@@ -1,5 +1,4 @@
1
1
  import * as types from '../types/index.js';
2
- import { CycleFreeBaseObjectTypeResolutionResult } from './StructuredTypeEntity.js';
3
2
  /**
4
3
  * Класс позволяет работать с базовым объектным типом, исключая циклы наследования.
5
4
  *
@@ -29,3 +28,23 @@ export declare abstract class BaseObjectType {
29
28
  */
30
29
  abstract resolveBaseObjectType(circularityTrackingStack: boolean[]): CycleFreeBaseObjectTypeResolutionResult;
31
30
  }
31
+ export declare class OriginalBaseObjectType extends BaseObjectType {
32
+ /**
33
+ * Базовый объектный тип, указанный пользователем (либо базовый тип по умолчанию).
34
+ */
35
+ readonly declared: types.Type | undefined;
36
+ private state;
37
+ get cycleFree(): types.Type | undefined;
38
+ get causesCycle(): boolean;
39
+ constructor(declared: types.Type | undefined);
40
+ /**
41
+ * @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
42
+ */
43
+ resolveBaseObjectType(circularityTrackingStack: boolean[]): CycleFreeBaseObjectTypeResolutionResult;
44
+ private getBaseObjectTypeResolutionResult;
45
+ }
46
+ export declare class CycleFreeBaseObjectTypeResolutionResult {
47
+ readonly type: types.Type | undefined;
48
+ readonly causesCycle: boolean;
49
+ constructor(type: types.Type | undefined, causesCycle: boolean);
50
+ }
@@ -0,0 +1,104 @@
1
+ import { Analyzer } from '../analysis/Analyzer.js';
2
+ import { SemanticContext } from '../analysis/semantic-context/SemanticContext.js';
3
+ import { PackageDialect, PackageLocale } from '../common/index.js';
4
+ import * as types from '../types/index.js';
5
+ import { IEntityHidingMatcher } from './EntityHiding.js';
6
+ import { AliasTypeEntity } from './interfaces/AliasTypeEntity.js';
7
+ import { ConstructorEntity } from './interfaces/ConstructorEntity.js';
8
+ import { DereferenceOperatorEntity } from './interfaces/DereferenceOperatorEntity.js';
9
+ import { DestructorEntity } from './interfaces/DestructorEntity.js';
10
+ import { FunctionEntity, MethodEntity, NestedFunctionEntity, PackageFunctionEntity } from './interfaces/FunctionEntity.js';
11
+ import { FunctionTypeEntity, PackageFunctionTypeEntity } from './interfaces/FunctionTypeEntity.js';
12
+ import { GetterEntity } from './interfaces/GetterEntity.js';
13
+ import { IndexerEntity } from './interfaces/IndexerEntity.js';
14
+ import { OperatorEntity } from './interfaces/OperatorEntity.js';
15
+ import { PackageAliasEntity } from './interfaces/PackageAliasEntity.js';
16
+ import { PackageEntity } from './interfaces/PackageEntity.js';
17
+ import { SetterEntity } from './interfaces/SetterEntity.js';
18
+ import { PackageStructuredTypeEntity, StructuredTypeEntity } from './interfaces/StructuredTypeEntity.js';
19
+ import { TextTranslationEntity } from './interfaces/TextTranslationEntity.js';
20
+ import { TypeExtensionEntity } from './interfaces/TypeExtensionEntity.js';
21
+ import { TypeParameterEntity } from './interfaces/TypeParameterEntity.js';
22
+ import { FieldEntity, PackageVariableEntity, VariableEntity } from './interfaces/VariableEntity.js';
23
+ import { PackageVariantTypeEntity, VariantTypeEntity } from './interfaces/VariantTypeEntity.js';
24
+ import { TypeEntity } from './TypeEntity.js';
25
+ export declare const enum DefinitionKind {
26
+ Source = 0,
27
+ Intrinsic = 1,
28
+ TypeScript = 2
29
+ }
30
+ export declare const enum EntityKind {
31
+ Variable = 0,
32
+ Function = 1,
33
+ Type = 2,
34
+ Getter = 3,
35
+ Setter = 4,
36
+ Indexer = 5,
37
+ DereferenceOperator = 6,
38
+ Constructor = 7,
39
+ Destructor = 8,
40
+ Operator = 9,
41
+ PackageAlias = 10,
42
+ TypeExtension = 11,
43
+ Package = 12,
44
+ TextTranslation = 13
45
+ }
46
+ export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | GetterEntity | SetterEntity | FunctionEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | FunctionTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity | TextTranslationEntity;
47
+ export type PackageTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity;
48
+ export declare function isPackageTypeEntity(entity: TypeEntity): entity is PackageTypeEntity;
49
+ export type NamedTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
50
+ export type TypeEntityWithMembers = FunctionTypeEntity | StructuredTypeEntity | VariantTypeEntity | AliasTypeEntity;
51
+ export declare function isTypeEntityWithMembers(entity: TypeEntity): entity is TypeEntityWithMembers;
52
+ export type TypeOrExtensionEntity = TypeEntity | TypeExtensionEntity;
53
+ export type TypeWithMembersOrExtensionEntity = TypeEntityWithMembers | TypeExtensionEntity;
54
+ export declare namespace TypeWithMembersOrExtensionEntity {
55
+ function getContextualTypeEntity(entity: TypeWithMembersOrExtensionEntity): TypeEntity | undefined;
56
+ }
57
+ export declare function isTypeWithMembersOrExtensionEntity(entity: Entity): entity is TypeWithMembersOrExtensionEntity;
58
+ export declare function isTypeEntity(entity: Entity): entity is TypeEntity;
59
+ export declare function isNamedTypeEntity(entity: TypeEntity): entity is NamedTypeEntity;
60
+ export type PackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity | TypeExtensionEntity;
61
+ export declare function isPackageMemberEntity(entity: Entity): entity is PackageMemberEntity;
62
+ export type NamedPackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity;
63
+ export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | FunctionEntity | VariableEntity | GetterEntity | SetterEntity | TypeEntity | OperatorEntity;
64
+ export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
65
+ export type TypeMemberEntity = FieldEntity | MethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
66
+ export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
67
+ export declare namespace TypeMemberEntity {
68
+ function isAspectTypeMember(entity: TypeMemberEntity): boolean;
69
+ function isRefObjectTypeMember(entity: TypeMemberEntity): boolean;
70
+ /**
71
+ * Возвращает `true`, если объявление является всеобщим (помечено модификатором "всеобщее").
72
+ */
73
+ function isStatic(entity: TypeMemberEntity): boolean;
74
+ /**
75
+ * Возвращает `true`, если объявление помечено модификатором "базовое".
76
+ */
77
+ function markedBasic(entity: TypeMemberEntity): boolean;
78
+ /**
79
+ * Возвращает `true`, если объявление можно заменить в производном типе.
80
+ *
81
+ * Объявление можно заменить в производном типе, если оно не всеобщее, и выполняется одно из условий:
82
+ * - объявление помечено модификатором "базовое"
83
+ * - объявление помечено модификатором "абстрактное"
84
+ */
85
+ function isBasic(entity: TypeMemberEntity): boolean;
86
+ function isAbstract(entity: TypeMemberEntity): boolean;
87
+ function getOverriddenMembers(entity: TypeMemberEntity): readonly types.TypeMember[];
88
+ function instantiate(analyzer: Analyzer, entity: TypeMemberEntity, substitutions: types.Substitutions): types.TypeMember;
89
+ }
90
+ export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
91
+ export type NamedEntity = VariableEntity | PackageVariantTypeEntity | FunctionEntity | TypeParameterEntity | PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
92
+ export type PackageOrNestedFunctionEntity = PackageFunctionEntity | NestedFunctionEntity;
93
+ export declare class EntityContext {
94
+ readonly containingPackage: PackageEntity;
95
+ readonly hidingMatcher: IEntityHidingMatcher;
96
+ readonly typeExtensionLookup: SemanticContext | undefined;
97
+ get locale(): PackageLocale;
98
+ get packageDialect(): PackageDialect;
99
+ constructor(containingPackage: PackageEntity, hidingMatcher: IEntityHidingMatcher, typeExtensionLookup: SemanticContext | undefined);
100
+ static fromSemanticContext(semanticContext: SemanticContext): EntityContext;
101
+ }
102
+ export declare function entityToStringDecorator<T extends {
103
+ new (...args: any[]): Entity;
104
+ }>(constructor: T): void;
@@ -1,5 +1,5 @@
1
1
  import { SourceFile } from '../project/index.js';
2
- import { PackageEntity } from './PackageEntity.js';
2
+ import { PackageEntity } from './interfaces/PackageEntity.js';
3
3
  import { TypeEntity } from './index.js';
4
4
  export type EntityHidingLevel = EntityHidingLevel_type | EntityHidingLevel_typeHierarchy | EntityHidingLevel_file | EntityHidingLevel_package;
5
5
  export declare class EntityHidingLevel_type {
@@ -1,4 +1,4 @@
1
- import { Tag } from '../analysis/Tags.js';
1
+ import { Tag } from '../analysis/Tag.js';
2
2
  import { Translation } from '../analysis/Translation.js';
3
3
  import { PackageDialect, PackageLocale } from '../common/index.js';
4
4
  import { EntityKind, PackageEntity } from './index.js';
@@ -1,4 +1,4 @@
1
- import { Tag } from '../analysis/Tags.js';
1
+ import { Tag } from '../analysis/Tag.js';
2
2
  import { IEntity } from './IEntity.js';
3
3
  import { AliasTypeEntity, EntityContext, EntityKind, FunctionTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from './index.js';
4
4
  export type TypeEntity = StructuredTypeEntity | FunctionTypeEntity | VariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
@@ -1,9 +1,9 @@
1
1
  import { Name } from '../common/index.js';
2
- import { ConstructorEntity } from './ConstructorEntity.js';
3
- import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
4
- import { DestructorEntity } from './DestructorEntity.js';
5
- import { IndexerEntity } from './IndexerEntity.js';
6
- import { OperatorEntity } from './OperatorEntity.js';
2
+ import { ConstructorEntity } from './interfaces/ConstructorEntity.js';
3
+ import { DereferenceOperatorEntity } from './interfaces/DereferenceOperatorEntity.js';
4
+ import { DestructorEntity } from './interfaces/DestructorEntity.js';
5
+ import { IndexerEntity } from './interfaces/IndexerEntity.js';
6
+ import { OperatorEntity } from './interfaces/OperatorEntity.js';
7
7
  import { OperatorKind } from './OperatorKind.js';
8
8
  import { NamedTypeMemberEntity, TypeMemberEntity } from './index.js';
9
9
  export declare class TypeEntityMembers {
@@ -1,130 +1,12 @@
1
- import { Analyzer } from '../analysis/Analyzer.js';
2
- import { SemanticContext } from '../analysis/semantic-context/SemanticContext.js';
3
- import { PackageDialect, PackageLocale } from '../common/index.js';
4
- import * as types from '../types/index.js';
5
- import { AliasTypeEntity } from './AliasTypeEntity.js';
6
- import { ConstructorEntity } from './ConstructorEntity.js';
7
- import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
8
- import { DestructorEntity } from './DestructorEntity.js';
9
- import { IEntityHidingMatcher } from './EntityHiding.js';
10
- import { FunctionEntity, MethodEntity, NestedFunctionEntity, PackageFunctionEntity } from './FunctionEntity.js';
11
- import { FunctionTypeEntity, PackageFunctionTypeEntity } from './FunctionTypeEntity.js';
12
- import { GetterEntity } from './GetterEntity.js';
13
- import { IndexerEntity } from './IndexerEntity.js';
14
- import { TextTranslationEntity } from './TextTranslationEntity.js';
15
- import { OperatorEntity } from './OperatorEntity.js';
16
- import { PackageAliasEntity } from './PackageAliasEntity.js';
17
- import { PackageEntity } from './PackageEntity.js';
18
- import { SetterEntity } from './SetterEntity.js';
19
- import { PackageStructuredTypeEntity, StructuredTypeEntity } from './StructuredTypeEntity.js';
20
- import { TypeEntity } from './TypeEntity.js';
21
- import { TypeExtensionEntity } from './TypeExtensionEntity.js';
22
- import { TypeParameterEntity } from './TypeParameterEntity.js';
23
- import { FieldEntity, PackageVariableEntity, VariableEntity } from './VariableEntity.js';
24
- import { PackageVariantTypeEntity, VariantTypeEntity } from './VariantTypeEntity.js';
25
- export * from './AliasedType.js';
26
- export * from './AliasTypeEntity.js';
27
1
  export * from './BaseAspectTypes.js';
28
2
  export * from './BaseObjectType.js';
29
- export * from './ConstructorEntity.js';
30
- export * from './DereferenceOperatorEntity.js';
31
- export * from './DestructorEntity.js';
3
+ export * from './Entity.js';
32
4
  export * from './EntityHiding.js';
33
5
  export * from './EntityNaming.js';
34
- export * from './FunctionEntity.js';
35
- export * from './FunctionTypeEntity.js';
36
- export * from './GetterEntity.js';
37
- export * from './IndexerEntity.js';
38
- export * from './TextTranslationEntity.js';
39
- export * from './OperatorEntity.js';
6
+ export * from './interfaces/index.js';
7
+ export * from './intrinsic/index.js';
40
8
  export * from './OperatorKind.js';
41
- export * from './PackageAliasEntity.js';
42
- export * from './PackageEntity.js';
43
- export * from './SetterEntity.js';
44
- export * from './StructuredTypeEntity.js';
9
+ export * from './source/index.js';
45
10
  export * from './SubstitutionApplicationMode.js';
46
11
  export * from './TypeEntity.js';
47
- export * from './TypeExtensionEntity.js';
48
- export * from './TypeParameterEntity.js';
49
- export * from './VariableEntity.js';
50
- export * from './VariantTypeEntity.js';
51
- export declare const enum DefinitionKind {
52
- Source = 0,
53
- Intrinsic = 1,
54
- TypeScript = 2
55
- }
56
- export declare const enum EntityKind {
57
- Variable = 0,
58
- Function = 1,
59
- Type = 2,
60
- Getter = 3,
61
- Setter = 4,
62
- Indexer = 5,
63
- DereferenceOperator = 6,
64
- Constructor = 7,
65
- Destructor = 8,
66
- Operator = 9,
67
- PackageAlias = 10,
68
- TypeExtension = 11,
69
- Package = 12,
70
- TextTranslation = 13
71
- }
72
- export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | GetterEntity | SetterEntity | FunctionEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | FunctionTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity | TextTranslationEntity;
73
- export type PackageTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity;
74
- export declare function isPackageTypeEntity(entity: TypeEntity): entity is PackageTypeEntity;
75
- export type NamedTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
76
- export type TypeEntityWithMembers = FunctionTypeEntity | StructuredTypeEntity | VariantTypeEntity | AliasTypeEntity;
77
- export declare function isTypeEntityWithMembers(entity: TypeEntity): entity is TypeEntityWithMembers;
78
- export type TypeOrExtensionEntity = TypeEntity | TypeExtensionEntity;
79
- export type TypeWithMembersOrExtensionEntity = TypeEntityWithMembers | TypeExtensionEntity;
80
- export declare namespace TypeWithMembersOrExtensionEntity {
81
- function getContextualTypeEntity(entity: TypeWithMembersOrExtensionEntity): TypeEntity | undefined;
82
- }
83
- export declare function isTypeWithMembersOrExtensionEntity(entity: Entity): entity is TypeWithMembersOrExtensionEntity;
84
- export declare function isTypeEntity(entity: Entity): entity is TypeEntity;
85
- export declare function isNamedTypeEntity(entity: TypeEntity): entity is NamedTypeEntity;
86
- export type PackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity | TypeExtensionEntity;
87
- export declare function isPackageMemberEntity(entity: Entity): entity is PackageMemberEntity;
88
- export type NamedPackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity;
89
- export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | FunctionEntity | VariableEntity | GetterEntity | SetterEntity | TypeEntity | OperatorEntity;
90
- export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
91
- export type TypeMemberEntity = FieldEntity | MethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
92
- export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
93
- export declare namespace TypeMemberEntity {
94
- function isAspectTypeMember(entity: TypeMemberEntity): boolean;
95
- function isRefObjectTypeMember(entity: TypeMemberEntity): boolean;
96
- /**
97
- * Возвращает `true`, если объявление является всеобщим (помечено модификатором "всеобщее").
98
- */
99
- function isStatic(entity: TypeMemberEntity): boolean;
100
- /**
101
- * Возвращает `true`, если объявление помечено модификатором "базовое".
102
- */
103
- function markedBasic(entity: TypeMemberEntity): boolean;
104
- /**
105
- * Возвращает `true`, если объявление можно заменить в производном типе.
106
- *
107
- * Объявление можно заменить в производном типе, если оно не всеобщее, и выполняется одно из условий:
108
- * - объявление помечено модификатором "базовое"
109
- * - объявление помечено модификатором "абстрактное"
110
- */
111
- function isBasic(entity: TypeMemberEntity): boolean;
112
- function isAbstract(entity: TypeMemberEntity): boolean;
113
- function getOverriddenMembers(entity: TypeMemberEntity): readonly types.TypeMember[];
114
- function instantiate(analyzer: Analyzer, entity: TypeMemberEntity, substitutions: types.Substitutions): types.TypeMember;
115
- }
116
- export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
117
- export type NamedEntity = VariableEntity | PackageVariantTypeEntity | FunctionEntity | TypeParameterEntity | PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
118
- export type PackageOrNestedFunctionEntity = PackageFunctionEntity | NestedFunctionEntity;
119
- export declare class EntityContext {
120
- readonly containingPackage: PackageEntity;
121
- readonly hidingMatcher: IEntityHidingMatcher;
122
- readonly typeExtensionLookup: SemanticContext | undefined;
123
- get locale(): PackageLocale;
124
- get packageDialect(): PackageDialect;
125
- constructor(containingPackage: PackageEntity, hidingMatcher: IEntityHidingMatcher, typeExtensionLookup: SemanticContext | undefined);
126
- static fromSemanticContext(semanticContext: SemanticContext): EntityContext;
127
- }
128
- export declare function entityToStringDecorator<T extends {
129
- new (...args: any[]): Entity;
130
- }>(constructor: T): void;
12
+ export * from './TypeEntityMembers.js';