@artel/artc 0.6.25217 → 0.6.25219

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 (104) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +16 -66
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +930 -888
  5. package/build/{chunk-HN3XZZQX.js → chunk-AIY75NR5.js} +5 -4
  6. package/build/{chunk-TXAEJ2GI.js → chunk-IYSH7MAQ.js} +10562 -10629
  7. package/build/{chunk-CMPXXHBQ.js → chunk-QLTGS2V2.js} +13 -5
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +4 -26
  9. package/build/types/analysis/Analyzer.d.ts +27 -69
  10. package/build/types/analysis/{CallArgumentToParameterMatchResult.d.ts → ArgumentToParameterMatchResult.d.ts} +7 -7
  11. package/build/types/analysis/{CallArgumentsToParametersMatcher.d.ts → ArgumentsToParametersMatcher.d.ts} +14 -14
  12. package/build/types/analysis/ConstructorOverloadResolver.d.ts +1 -1
  13. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +3 -3
  14. package/build/types/analysis/DiagnosticCollector.d.ts +2 -0
  15. package/build/types/analysis/FindModifier.d.ts +2 -0
  16. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +14 -12
  17. package/build/types/analysis/LocalizationContext.d.ts +4 -5
  18. package/build/types/analysis/Lookup.d.ts +8 -7
  19. package/build/types/analysis/ModifierFlags.d.ts +16 -0
  20. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +0 -1
  21. package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
  22. package/build/types/analysis/OperationOverloadResolver.d.ts +2 -2
  23. package/build/types/analysis/OverloadResolver.d.ts +4 -4
  24. package/build/types/analysis/PackageMemberLookup.d.ts +5 -6
  25. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +18 -16
  26. package/build/types/analysis/Scope.d.ts +21 -116
  27. package/build/types/analysis/SemanticContext.d.ts +23 -13
  28. package/build/types/analysis/SemanticContextBuilder.d.ts +1 -1
  29. package/build/types/analysis/SourceFileMembers.d.ts +12 -99
  30. package/build/types/analysis/TagMeaning.d.ts +57 -9
  31. package/build/types/analysis/Tags.d.ts +18 -6
  32. package/build/types/analysis/TypeMemberLookup.d.ts +15 -15
  33. package/build/types/analysis/TypeOverloadResolver.d.ts +1 -1
  34. package/build/types/analysis/Utils.d.ts +4 -3
  35. package/build/types/analysis/WellKnownDeclarations.d.ts +1 -0
  36. package/build/types/analysis/index.d.ts +1 -1
  37. package/build/types/api/Api.d.ts +2 -6
  38. package/build/types/diagnostic/DiagnosticCode.d.ts +21 -17
  39. package/build/types/emitter/{EmitterGeneratedDeclarationKind.d.ts → EmitPhaseName.d.ts} +1 -44
  40. package/build/types/emitter/EmitterContext.d.ts +4 -1
  41. package/build/types/emitter/Entities.d.ts +52 -16
  42. package/build/types/emitter/EntityMap.d.ts +1 -3
  43. package/build/types/emitter/IrBuilder.d.ts +6 -2
  44. package/build/types/emitter/IrToJs.d.ts +6 -5
  45. package/build/types/emitter/Transformer.d.ts +20 -12
  46. package/build/types/emitter/ir/EmitOptions.d.ts +163 -0
  47. package/build/types/emitter/ir/Nodes.d.ts +215 -179
  48. package/build/types/emitter/ir/index.d.ts +1 -2
  49. package/build/types/emitter/ir/types.d.ts +4 -4
  50. package/build/types/entities/AliasTypeEntity.d.ts +8 -4
  51. package/build/types/entities/ConstructorEntity.d.ts +2 -0
  52. package/build/types/entities/DereferenceOperatorEntity.d.ts +5 -3
  53. package/build/types/entities/DestructorEntity.d.ts +2 -0
  54. package/build/types/entities/GetterEntity.d.ts +8 -0
  55. package/build/types/entities/IndexerEntity.d.ts +5 -3
  56. package/build/types/entities/MethodEntity.d.ts +9 -5
  57. package/build/types/entities/MethodTypeEntity.d.ts +10 -5
  58. package/build/types/entities/OperatorEntity.d.ts +5 -3
  59. package/build/types/entities/PackageEntity.d.ts +3 -3
  60. package/build/types/entities/PackageMembers.d.ts +4 -90
  61. package/build/types/entities/SetterEntity.d.ts +8 -0
  62. package/build/types/entities/StructuredTypeEntity.d.ts +11 -6
  63. package/build/types/entities/TypeEntity.d.ts +15 -0
  64. package/build/types/entities/TypeExtensionEntity.d.ts +2 -0
  65. package/build/types/entities/TypeParameterEntity.d.ts +11 -6
  66. package/build/types/entities/VariableEntity.d.ts +50 -41
  67. package/build/types/entities/VariantTypeEntity.d.ts +10 -11
  68. package/build/types/entities/index.d.ts +17 -25
  69. package/build/types/executor/Compiler.d.ts +1 -0
  70. package/build/types/executor/NodeCompiler.d.ts +1 -0
  71. package/build/types/parser/CharacterCodes.d.ts +8 -0
  72. package/build/types/parser/ReservedIdentifierDictionary.d.ts +1 -2
  73. package/build/types/project/FileSystemTree.d.ts +2 -2
  74. package/build/types/services/CompletionService.d.ts +4 -1
  75. package/build/types/services/DisplayService.d.ts +18 -2
  76. package/build/types/services/NodeSemanticInfo.d.ts +7 -5
  77. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +7 -21
  78. package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +1 -0
  79. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
  80. package/build/types/services/source-generation/SourceGenerationService.d.ts +2 -2
  81. package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +5 -5
  82. package/build/types/services/workspace/CompilationController.d.ts +3 -3
  83. package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +4 -4
  84. package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +4 -4
  85. package/build/types/services/workspace/Workspace.d.ts +3 -3
  86. package/build/types/services/workspace/WorkspaceFiles.d.ts +7 -7
  87. package/build/types/tree/KeywordKind.d.ts +37 -37
  88. package/build/types/tree/NodeKind.d.ts +10 -12
  89. package/build/types/tree/green/Nodes.d.ts +57 -84
  90. package/build/types/tree/green/SyntaxFactory.d.ts +4 -5
  91. package/build/types/tree/green/SyntaxToCode.d.ts +1 -2
  92. package/build/types/tree/red/Nodes.d.ts +67 -97
  93. package/build/types/ts-interop/Entities.d.ts +51 -28
  94. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +0 -1
  95. package/build/types/types/TypeMembers.d.ts +9 -0
  96. package/package.json +2 -2
  97. package/build/types/analysis/DereferencedVariableAccess.d.ts +0 -14
  98. package/build/types/analysis/IndexedAccess.d.ts +0 -14
  99. package/build/types/analysis/VariableAccess.d.ts +0 -14
  100. package/build/types/analysis/VariantLookup.d.ts +0 -20
  101. package/build/types/emitter/ir/LoweringOptions.d.ts +0 -36
  102. package/build/types/emitter/ir/LoweringState.d.ts +0 -49
  103. package/build/types/entities/VariantEntity.d.ts +0 -31
  104. package/build/types/entities/Variants.d.ts +0 -10
@@ -1,7 +1,6 @@
1
1
  export * from './AccessedEntities.js';
2
2
  export * from './ComputedAccess.js';
3
- export * from './LoweringOptions.js';
4
- export * from './LoweringState.js';
3
+ export * from './EmitOptions.js';
5
4
  export * from './Nodes.js';
6
5
  export * from './SourceLocation.js';
7
6
  export * from './types.js';
@@ -1,9 +1,9 @@
1
1
  import * as ir from './Nodes.js';
2
- export type Node = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.AssignmentStatement | ir.BaseConstructorCallExpression | ir.BinaryExpression | ir.BlockStatement | ir.BooleanLiteral | ir.BreakLoopStatement | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.NoneLiteral | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.FinallyClause | ir.ForStatement | ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.IfStatement | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.JsIndexedAccessExpression | ir.NestedMethodDeclaration | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclaration | ir.LocalVariableDeclarationStatement | ir.NumericLiteral | ir.OnErrorClause | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.LoopStatement | ir.Package | ir.ReturnStatement | ir.TextLiteral | ir.TextTemplateLiteral | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.SwitchStatement | ir.TernaryExpression | ir.ThisExpression | ir.TryCatchFinallyStatement | ir.TypeAccessExpression | ir.ValueParameterDeclaration | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.VariantDeclaration | ir.WhileStatement | ir.YieldStatement | ir.JsObjectLiteral | ir.JsObjectLiteralProperty | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.DereferenceExpression | ir.BaseExpression | ir.OwnConstructorCallExpression | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
2
+ export type Node = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.AssignmentStatement | ir.BaseConstructorCallExpression | ir.BinaryExpression | ir.BlockStatement | ir.BooleanLiteral | ir.BreakLoopStatement | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.TryStatement | ir.NoneLiteral | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.FinallyClause | ir.ForStatement | ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.IfStatement | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.JsIndexedAccessExpression | ir.NestedMethodDeclaration | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclaration | ir.LocalVariableDeclarationStatement | ir.NumericLiteral | ir.CatchClause | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.LoopStatement | ir.Package | ir.ReturnStatement | ir.TextLiteral | ir.TextTemplateLiteral | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.ComputedTypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.SwitchStatement | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.ValueParameterDeclaration | ir.VariableAccessExpression | ir.VariantDeclaration | ir.WhileStatement | ir.YieldStatement | ir.JsObjectLiteral | ir.NamedJsObjectLiteralProperty | ir.SpreadJsObjectLiteralProperty | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.DereferenceExpression | ir.BaseExpression | ir.OwnConstructorCallExpression | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration | ir.TextWithEntityName | ir.Argument | ir.Arguments | ir.Decorator;
3
3
  export type Declaration = ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.NestedMethodDeclaration | ir.LocalVariableDeclaration | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.ValueParameterDeclaration | ir.VariantDeclaration | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
4
- export type Statement = ir.AssignmentStatement | ir.BlockStatement | ir.BreakLoopStatement | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.ForStatement | ir.IfStatement | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclarationStatement | ir.LoopStatement | ir.ReturnStatement | ir.SwitchStatement | ir.TryCatchFinallyStatement | ir.WhileStatement | ir.YieldStatement | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement;
5
- export type Expression = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.BinaryExpression | ir.BooleanLiteral | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.NoneLiteral | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.NumericLiteral | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.DereferenceExpression | ir.TextLiteral | ir.TextTemplateLiteral | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.BaseConstructorCallExpression | ir.JsIndexedAccessExpression | ir.JsObjectLiteral | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.BaseExpression | ir.OwnConstructorCallExpression;
6
- export type TypeMemberDeclaration = ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
4
+ export type Statement = ir.AssignmentStatement | ir.BlockStatement | ir.BreakLoopStatement | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.TryStatement | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.ForStatement | ir.IfStatement | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclarationStatement | ir.LoopStatement | ir.ReturnStatement | ir.SwitchStatement | ir.WhileStatement | ir.YieldStatement | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement;
5
+ export type Expression = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.BinaryExpression | ir.BooleanLiteral | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.NoneLiteral | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.NumericLiteral | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.DereferenceExpression | ir.TextLiteral | ir.TextWithEntityName | ir.TextTemplateLiteral | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.VariableAccessExpression | ir.BaseConstructorCallExpression | ir.JsIndexedAccessExpression | ir.JsObjectLiteral | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.BaseExpression | ir.OwnConstructorCallExpression;
6
+ export type TypeMemberDeclaration = ir.TypeVariableDeclaration | ir.ComputedTypeVariableDeclaration | ir.TypeMethodDeclaration | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
7
7
  export type PackageMemberDeclaration = ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration;
8
8
  export type LocalDeclaration = ir.LocalVariableDeclaration | ir.NestedMethodDeclaration;
9
9
  export type LValueExpression = ir.VariableAccessExpression | ir.TypeVariableAccessExpression | ir.IndexedAccessExpression | ir.JsIndexedAccessExpression | ir.JsPropertyAccessExpression | ir.ThisExpression | ir.DereferenceExpression;
@@ -4,9 +4,10 @@ import { Name } from '../common/index.js';
4
4
  import { PackageAliasTypeDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
7
- import { DefinitionKind, EntityHidingLevel, EntityKind, PackageEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
8
- export interface AliasTypeEntity {
9
- readonly kind: EntityKind.AliasType;
7
+ import { DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, PackageEntity, SubstitutionApplicationMode, TypeEntityKind, TypeParameterEntity } from './index.js';
8
+ export interface AliasTypeEntity extends ITypeEntity {
9
+ readonly kind: EntityKind.Type;
10
+ readonly typeEntityKind: TypeEntityKind.Alias;
10
11
  getName(): Name;
11
12
  getContainingPackage(): PackageEntity;
12
13
  /**
@@ -66,10 +67,13 @@ export declare class AliasedType {
66
67
  export declare class PackageAliasTypeDeclarationEntity implements AliasTypeEntity {
67
68
  private readonly _analyzer;
68
69
  private readonly _node;
69
- readonly kind = EntityKind.AliasType;
70
+ readonly kind = EntityKind.Type;
71
+ readonly typeEntityKind = TypeEntityKind.Alias;
70
72
  private readonly _aliasedType;
71
73
  private readonly _typeParameters;
72
74
  private readonly _members;
75
+ private readonly _modifierFlags;
76
+ private get modifierFlags();
73
77
  constructor(_analyzer: Analyzer, _node: PackageAliasTypeDeclaration);
74
78
  getName(): Name;
75
79
  getContainingPackage(): PackageEntity;
@@ -45,6 +45,8 @@ export declare class TypeConstructorDeclarationEntity implements ConstructorEnti
45
45
  private readonly _node;
46
46
  readonly kind = EntityKind.Constructor;
47
47
  private readonly _valueParameters;
48
+ private readonly _modifierFlags;
49
+ private get modifierFlags();
48
50
  constructor(_analyzer: Analyzer, _node: TypeConstructorDeclaration);
49
51
  getValueParameters(): readonly ParameterVariableEntity[];
50
52
  getDefinition(): ConstructorEntityDefinition;
@@ -16,7 +16,7 @@ export interface DereferenceOperatorEntity {
16
16
  isRedefined(): boolean;
17
17
  isAbstract(): boolean;
18
18
  getTags(): readonly Tag[];
19
- getOverriddenMember(): types.DereferenceOperator | undefined;
19
+ getOverriddenMembers(): readonly types.DereferenceOperator[];
20
20
  }
21
21
  export type DereferenceOperatorEntityDefinition = {
22
22
  kind: DefinitionKind.Source;
@@ -30,7 +30,9 @@ export declare class TypeDereferenceOperatorDeclarationEntity implements Derefer
30
30
  private readonly _getterDeclaration;
31
31
  private readonly _setterDeclaration;
32
32
  private readonly _getterOrSetterDeclaration;
33
- private readonly _overriddenMember;
33
+ private readonly _overriddenMembers;
34
+ private readonly _modifierFlags;
35
+ private get modifierFlags();
34
36
  constructor(analyzer: Analyzer, getterDeclaration: TypeDereferencedVariableGetterDeclaration | undefined, setterDeclaration: TypeDereferencedVariableSetterDeclaration | undefined);
35
37
  getType(): types.Type;
36
38
  getGetter(): GetterEntity | undefined;
@@ -43,5 +45,5 @@ export declare class TypeDereferenceOperatorDeclarationEntity implements Derefer
43
45
  isRedefined(): boolean;
44
46
  isAbstract(): boolean;
45
47
  getTags(): readonly Tag[];
46
- getOverriddenMember(): types.DereferenceOperator | undefined;
48
+ getOverriddenMembers(): readonly types.DereferenceOperator[];
47
49
  }
@@ -20,6 +20,8 @@ export declare class TypeDestructorDeclarationEntity implements DestructorEntity
20
20
  private readonly _node;
21
21
  readonly kind = EntityKind.Destructor;
22
22
  private readonly _valueParameters;
23
+ private readonly _modifierFlags;
24
+ private get modifierFlags();
23
25
  constructor(_analyzer: Analyzer, _node: TypeDestructorDeclaration);
24
26
  getValueParameters(): readonly ParameterVariableEntity[];
25
27
  getContainer(): TypeMemberEntityContainer;
@@ -26,6 +26,8 @@ export declare class PackageVariableGetterDeclarationEntity implements GetterEnt
26
26
  private readonly _analyzer;
27
27
  private readonly _node;
28
28
  readonly kind = EntityKind.Getter;
29
+ private readonly _modifierFlags;
30
+ private get modifierFlags();
29
31
  constructor(_analyzer: Analyzer, _node: PackageVariableGetterDeclaration);
30
32
  getReturnType(): types.Type;
31
33
  getDefinition(): GetterEntityDefinition;
@@ -38,6 +40,8 @@ export declare class TypeVariableGetterDeclarationEntity implements GetterEntity
38
40
  private readonly _analyzer;
39
41
  private readonly _node;
40
42
  readonly kind = EntityKind.Getter;
43
+ private readonly _modifierFlags;
44
+ private get modifierFlags();
41
45
  constructor(_analyzer: Analyzer, _node: TypeVariableGetterDeclaration);
42
46
  getReturnType(): types.Type;
43
47
  getDefinition(): GetterEntityDefinition;
@@ -50,6 +54,8 @@ export declare class TypeIndexedGetterDeclarationEntity implements GetterEntity
50
54
  private readonly _analyzer;
51
55
  private readonly _node;
52
56
  readonly kind = EntityKind.Getter;
57
+ private readonly _modifierFlags;
58
+ private get modifierFlags();
53
59
  constructor(_analyzer: Analyzer, _node: TypeIndexedGetterDeclaration);
54
60
  getReturnType(): types.Type;
55
61
  getDefinition(): GetterEntityDefinition;
@@ -62,6 +68,8 @@ export declare class TypeDereferencedVariableGetterDeclarationEntity implements
62
68
  private readonly _analyzer;
63
69
  private readonly _node;
64
70
  readonly kind = EntityKind.Getter;
71
+ private readonly _modifierFlags;
72
+ private get modifierFlags();
65
73
  constructor(_analyzer: Analyzer, _node: TypeDereferencedVariableGetterDeclaration);
66
74
  getReturnType(): types.Type;
67
75
  getDefinition(): GetterEntityDefinition;
@@ -17,7 +17,7 @@ export interface IndexerEntity {
17
17
  isRedefined(): boolean;
18
18
  isAbstract(): boolean;
19
19
  getTags(): readonly Tag[];
20
- getOverriddenMember(): types.Indexer | undefined;
20
+ getOverriddenMembers(): readonly types.Indexer[];
21
21
  }
22
22
  export type IndexerEntityDefinition = {
23
23
  kind: DefinitionKind.Source;
@@ -37,8 +37,10 @@ export declare class TypeIndexerDeclarationEntity implements SourceIndexerEntity
37
37
  private readonly _setterDeclaration;
38
38
  private readonly _getterOrSetterDeclaration;
39
39
  private readonly _parameters;
40
- private readonly _overriddenMember;
40
+ private readonly _overriddenMembers;
41
+ private readonly _modifierFlags;
41
42
  private get parameters();
43
+ private get modifierFlags();
42
44
  constructor(analyzer: Analyzer, getterDeclaration: TypeIndexedGetterDeclaration | undefined, setterDeclaration: TypeIndexedSetterDeclaration | undefined);
43
45
  getParameter(node: ParameterDeclaration): ParameterVariableEntity;
44
46
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -53,6 +55,6 @@ export declare class TypeIndexerDeclarationEntity implements SourceIndexerEntity
53
55
  isRedefined(): boolean;
54
56
  isAbstract(): boolean;
55
57
  getTags(): readonly Tag[];
56
- getOverriddenMember(): types.Indexer | undefined;
58
+ getOverriddenMembers(): readonly types.Indexer[];
57
59
  private createParameters;
58
60
  }
@@ -19,7 +19,7 @@ export interface TypeMethodEntity extends IMethodEntity {
19
19
  isAbstract(): boolean;
20
20
  isModifyingOwningPlainObject(): boolean;
21
21
  isMethodTypeInvokeMethod(): boolean;
22
- getOverriddenMember(): types.Method | undefined;
22
+ getOverriddenMembers(): readonly types.Method[];
23
23
  }
24
24
  export interface NestedMethodEntity extends IMethodEntity {
25
25
  readonly subkind: 'nested';
@@ -53,6 +53,8 @@ export declare class PackageMethodDeclarationEntity implements PackageMethodEnti
53
53
  readonly subkind = "package";
54
54
  private readonly _typeParameters;
55
55
  private readonly _valueParameters;
56
+ private readonly _modifierFlags;
57
+ private get modifierFlags();
56
58
  constructor(_analyzer: Analyzer, _node: PackageMethodDeclaration);
57
59
  getName(): Name;
58
60
  getContainingPackage(): PackageEntity;
@@ -74,6 +76,8 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
74
76
  private readonly _typeParameters;
75
77
  private readonly _valueParameters;
76
78
  private readonly _overriddenMember;
79
+ private readonly _modifierFlags;
80
+ private get modifierFlags();
77
81
  constructor(_analyzer: Analyzer, _node: TypeMethodDeclaration);
78
82
  getName(): Name;
79
83
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -92,7 +96,7 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
92
96
  isAbstract(): boolean;
93
97
  isModifyingOwningPlainObject(): boolean;
94
98
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
95
- getOverriddenMember(): types.Method | undefined;
99
+ getOverriddenMembers(): readonly types.Method[];
96
100
  }
97
101
  export declare class NestedMethodDeclarationEntity implements NestedMethodEntity {
98
102
  private readonly _analyzer;
@@ -153,10 +157,10 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
153
157
  private readonly _isRedefined;
154
158
  private readonly _isAbstract;
155
159
  private readonly _isModifyingOwningPlainObject;
156
- private readonly _overriddenMember;
160
+ private readonly _overriddenMembers;
157
161
  readonly kind = EntityKind.Method;
158
162
  readonly subkind = "type";
159
- constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMember: types.Method | undefined);
163
+ constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMembers: readonly types.Method[]);
160
164
  getName(): Name;
161
165
  getTypeParameters(): readonly TypeParameterEntity[];
162
166
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -174,6 +178,6 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
174
178
  isAbstract(): boolean;
175
179
  isModifyingOwningPlainObject(): boolean;
176
180
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
177
- getOverriddenMember(): types.Method | undefined;
181
+ getOverriddenMembers(): readonly types.Method[];
178
182
  }
179
183
  export {};
@@ -6,7 +6,7 @@ import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
8
  import type { PackageEntity } from './index.js';
9
- import { BaseObjectType, DefinitionKind, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
9
+ import { BaseObjectType, DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, ParameterVariableEntity, SubstitutionApplicationMode, TypeEntityKind, TypeParameterEntity } from './index.js';
10
10
  export type MethodTypeEntity = PackageMethodTypeEntity | AnonymousMethodTypeEntity;
11
11
  export interface PackageMethodTypeEntity extends IMethodTypeEntity {
12
12
  readonly subkind: 'package';
@@ -17,8 +17,9 @@ export interface AnonymousMethodTypeEntity extends IMethodTypeEntity {
17
17
  readonly subkind: 'anonymous';
18
18
  getContainingPackage(): PackageEntity;
19
19
  }
20
- interface IMethodTypeEntity {
21
- readonly kind: EntityKind.MethodType;
20
+ interface IMethodTypeEntity extends ITypeEntity {
21
+ readonly kind: EntityKind.Type;
22
+ readonly typeEntityKind: TypeEntityKind.Method;
22
23
  getNaming(): EntityNaming;
23
24
  getTypeParameters(): readonly TypeParameterEntity[];
24
25
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -46,12 +47,15 @@ export type MethodTypeEntityDefinition = {
46
47
  export declare class PackageMethodTypeDeclarationEntity implements PackageMethodTypeEntity {
47
48
  private readonly _analyzer;
48
49
  private readonly _node;
49
- readonly kind = EntityKind.MethodType;
50
+ readonly kind = EntityKind.Type;
51
+ readonly typeEntityKind = TypeEntityKind.Method;
50
52
  readonly subkind = "package";
51
53
  private readonly _typeParameters;
52
54
  private readonly _valueParameters;
53
55
  private readonly _members;
54
56
  private readonly _baseObjectType;
57
+ private readonly _modifierFlags;
58
+ private get modifierFlags();
55
59
  constructor(_analyzer: Analyzer, _node: PackageMethodTypeDeclaration);
56
60
  getNaming(): EntityNaming;
57
61
  getName(): Name;
@@ -71,7 +75,8 @@ export declare class PackageMethodTypeDeclarationEntity implements PackageMethod
71
75
  export declare class AnonymousMethodTypeDeclarationEntity implements AnonymousMethodTypeEntity {
72
76
  private readonly _analyzer;
73
77
  private readonly _node;
74
- readonly kind = EntityKind.MethodType;
78
+ readonly kind = EntityKind.Type;
79
+ readonly typeEntityKind = TypeEntityKind.Method;
75
80
  readonly subkind = "anonymous";
76
81
  private readonly _valueParameters;
77
82
  private readonly _members;
@@ -16,7 +16,7 @@ export interface OperatorEntity {
16
16
  isAbstract(): boolean;
17
17
  isHidden(): EntityHidingLevel | undefined;
18
18
  getTags(): readonly Tag[];
19
- getOverriddenMember(): types.Operator | undefined;
19
+ getOverriddenMembers(): readonly types.Operator[];
20
20
  }
21
21
  export type OperatorDefinition = {
22
22
  kind: DefinitionKind.Source;
@@ -28,7 +28,9 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
28
28
  readonly kind = EntityKind.Operator;
29
29
  private readonly _operatorKind;
30
30
  private readonly _valueParameters;
31
- private readonly _overriddenMember;
31
+ private readonly _overriddenMembers;
32
+ private readonly _modifierFlags;
33
+ private get modifierFlags();
32
34
  constructor(_analyzer: Analyzer, _node: tree.OperatorDeclaration);
33
35
  getOperatorKind(): OperatorKind;
34
36
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -41,6 +43,6 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
41
43
  isAbstract(): boolean;
42
44
  isHidden(): EntityHidingLevel | undefined;
43
45
  getTags(): readonly Tag[];
44
- getOverriddenMember(): types.Operator | undefined;
46
+ getOverriddenMembers(): readonly types.Operator[];
45
47
  private convertSyntaxOperatorKind;
46
48
  }
@@ -1,14 +1,14 @@
1
1
  import { Analyzer } from '../analysis/index.js';
2
2
  import { PackageLocale } from '../common/index.js';
3
- import * as packageMembers from '../entities/PackageMembers.js';
4
3
  import type { JavaScriptImplementationConfig, SourcePackage } from '../project/index.js';
5
4
  import { PackageName, PlatformKind } from '../project/index.js';
6
5
  import { DefinitionKind, EntityKind } from './index.js';
6
+ import { OriginalPackageMembers } from './PackageMembers.js';
7
7
  export interface PackageEntity {
8
8
  readonly kind: EntityKind.Package;
9
9
  getName(): PackageName;
10
10
  getLocale(): PackageLocale;
11
- getMembers(): packageMembers.OriginalPackageMembers;
11
+ getMembers(): OriginalPackageMembers;
12
12
  isInterface(): InterfacePackageEntityInfo | undefined;
13
13
  getImplementedInterfacePackage(): PackageEntity | undefined;
14
14
  getSupportedPlatforms(): readonly PlatformKind[];
@@ -48,7 +48,7 @@ export declare class SourcePackageEntity implements PackageEntity {
48
48
  constructor(_analyzer: Analyzer, _package: SourcePackage);
49
49
  getName(): PackageName;
50
50
  getLocale(): PackageLocale;
51
- getMembers(): packageMembers.OriginalPackageMembers;
51
+ getMembers(): OriginalPackageMembers;
52
52
  isInterface(): InterfacePackageEntityInfo | undefined;
53
53
  getImplementedInterfacePackage(): PackageEntity | undefined;
54
54
  getSupportedPlatforms(): readonly PlatformKind[];
@@ -1,98 +1,12 @@
1
- import { Analyzer } from '../analysis/index.js';
2
1
  import { Name } from '../common/index.js';
3
- import { AliasTypeEntity, EntityHidingLevel, PackageMethodEntity, PackageMethodTypeEntity, PackageStructuredTypeEntity, PackageTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, TypeEntity, TypeExtensionEntity, TypeParameterEntity } from '../entities/index.js';
4
- import * as types from '../types/index.js';
2
+ import { NamedPackageMemberEntity, TypeEntity, TypeExtensionEntity } from '../entities/index.js';
5
3
  export declare class OriginalPackageMembers {
6
4
  private readonly _namedMembers;
7
5
  private readonly _typeExtensions;
8
6
  private readonly _membersByNameKey;
9
7
  private get membersByNameKey();
10
- constructor(_namedMembers: readonly NamedMember[], _typeExtensions: readonly TypeExtensionEntity[]);
11
- getNamedMembers(): readonly NamedMember[];
12
- getNamedMembersByName(name: Name): readonly NamedMember[];
8
+ constructor(_namedMembers: readonly NamedPackageMemberEntity[], _typeExtensions: readonly TypeExtensionEntity[]);
9
+ getNamedMembers(): readonly NamedPackageMemberEntity[];
10
+ getNamedMembersByName(name: Name): readonly NamedPackageMemberEntity[];
13
11
  getTypeExtensions(type: TypeEntity): readonly TypeExtensionEntity[];
14
12
  }
15
- export type TypeDeclaration = TypeDeclaration_structured | TypeDeclaration_variant | TypeDeclaration_method | TypeDeclaration_alias;
16
- export declare class TypeDeclaration_structured implements ITypeDeclaration {
17
- readonly value: PackageStructuredTypeEntity;
18
- readonly kind = "structured";
19
- constructor(value: PackageStructuredTypeEntity);
20
- getName(): Name;
21
- getArity(): number;
22
- getTypeParameters(): readonly TypeParameterEntity[];
23
- isHidden(): EntityHidingLevel | undefined;
24
- getEntity(): PackageTypeEntity;
25
- instantiate(analyzer: Analyzer, typeArguments: readonly types.Type[]): types.Type;
26
- }
27
- export declare class TypeDeclaration_variant implements ITypeDeclaration {
28
- readonly value: PackageVariantTypeEntity;
29
- readonly kind = "variant";
30
- constructor(value: PackageVariantTypeEntity);
31
- getName(): Name;
32
- getArity(): number;
33
- getTypeParameters(): readonly TypeParameterEntity[];
34
- isHidden(): EntityHidingLevel | undefined;
35
- getEntity(): PackageTypeEntity;
36
- instantiate(analyzer: Analyzer, typeArguments: readonly types.Type[]): types.Type;
37
- }
38
- export declare class TypeDeclaration_method implements ITypeDeclaration {
39
- readonly value: PackageMethodTypeEntity;
40
- readonly kind = "method";
41
- constructor(value: PackageMethodTypeEntity);
42
- getName(): Name;
43
- getArity(): number;
44
- getTypeParameters(): readonly TypeParameterEntity[];
45
- isHidden(): EntityHidingLevel | undefined;
46
- getEntity(): PackageTypeEntity;
47
- instantiate(analyzer: Analyzer, typeArguments: readonly types.Type[]): types.Type;
48
- }
49
- export declare class TypeDeclaration_alias implements ITypeDeclaration {
50
- readonly value: AliasTypeEntity;
51
- readonly kind = "alias";
52
- constructor(value: AliasTypeEntity);
53
- getName(): Name;
54
- getArity(): number;
55
- getTypeParameters(): readonly TypeParameterEntity[];
56
- isHidden(): EntityHidingLevel | undefined;
57
- getEntity(): PackageTypeEntity;
58
- instantiate(analyzer: Analyzer, typeArguments: readonly types.Type[]): types.Type;
59
- }
60
- interface ITypeDeclaration {
61
- getName(): Name;
62
- getTypeParameters(): readonly TypeParameterEntity[];
63
- isHidden(): EntityHidingLevel | undefined;
64
- getEntity(): PackageTypeEntity;
65
- instantiate(analyzer: Analyzer, typeArguments: readonly types.Type[]): types.Type;
66
- }
67
- export type NamedMember = NamedMember_variable | NamedMember_method | NamedMember_type;
68
- export declare class NamedMember_variable implements INamedMember {
69
- readonly value: PackageVariableEntity;
70
- readonly kind = "variable";
71
- constructor(value: PackageVariableEntity);
72
- getName(): Name;
73
- isHidden(): EntityHidingLevel | undefined;
74
- getEntity(): PackageVariableEntity;
75
- }
76
- export declare class NamedMember_method implements INamedMember {
77
- readonly value: PackageMethodEntity;
78
- readonly kind = "method";
79
- constructor(value: PackageMethodEntity);
80
- getName(): Name;
81
- isHidden(): EntityHidingLevel | undefined;
82
- getEntity(): PackageMethodEntity;
83
- }
84
- export declare class NamedMember_type implements INamedMember {
85
- readonly value: TypeDeclaration;
86
- readonly kind = "type";
87
- constructor(value: TypeDeclaration);
88
- getName(): Name;
89
- isHidden(): EntityHidingLevel | undefined;
90
- getEntity(): PackageTypeEntity;
91
- }
92
- interface INamedMember {
93
- getName(): Name;
94
- isHidden(): EntityHidingLevel | undefined;
95
- getEntity(): NamedPackageMemberEntity;
96
- }
97
- export type NamedPackageMemberEntity = PackageVariableEntity | PackageMethodEntity | PackageTypeEntity;
98
- export {};
@@ -24,6 +24,8 @@ export declare class PackageVariableSetterDeclarationEntity implements SetterEnt
24
24
  private readonly _analyzer;
25
25
  private readonly _node;
26
26
  readonly kind = EntityKind.Setter;
27
+ private readonly _modifierFlags;
28
+ private get modifierFlags();
27
29
  constructor(_analyzer: Analyzer, _node: PackageVariableSetterDeclaration);
28
30
  getDefinition(): SetterEntityDefinition;
29
31
  isModifyingOwningPlainObject(): boolean;
@@ -35,6 +37,8 @@ export declare class TypeVariableSetterDeclarationEntity implements SetterEntity
35
37
  private readonly _analyzer;
36
38
  private readonly _node;
37
39
  readonly kind = EntityKind.Setter;
40
+ private readonly _modifierFlags;
41
+ private get modifierFlags();
38
42
  constructor(_analyzer: Analyzer, _node: TypeVariableSetterDeclaration);
39
43
  getDefinition(): SetterEntityDefinition;
40
44
  isModifyingOwningPlainObject(): boolean;
@@ -46,6 +50,8 @@ export declare class TypeIndexedSetterDeclarationEntity implements SetterEntity
46
50
  private readonly _analyzer;
47
51
  private readonly _node;
48
52
  readonly kind = EntityKind.Setter;
53
+ private readonly _modifierFlags;
54
+ private get modifierFlags();
49
55
  constructor(_analyzer: Analyzer, _node: TypeIndexedSetterDeclaration);
50
56
  getDefinition(): SetterEntityDefinition;
51
57
  isModifyingOwningPlainObject(): boolean;
@@ -57,6 +63,8 @@ export declare class TypeDereferencedVariableSetterDeclarationEntity implements
57
63
  private readonly _analyzer;
58
64
  private readonly _node;
59
65
  readonly kind = EntityKind.Setter;
66
+ private readonly _modifierFlags;
67
+ private get modifierFlags();
60
68
  constructor(_analyzer: Analyzer, _node: TypeDereferencedVariableSetterDeclaration);
61
69
  getDefinition(): SetterEntityDefinition;
62
70
  isModifyingOwningPlainObject(): boolean;
@@ -5,8 +5,8 @@ import { AnonymousStructuredTypeDeclaration, PackageStructuredTypeDeclaration }
5
5
  import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { NamedTypeMemberEntity, OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
- import type { DereferenceOperatorEntity, OperatorEntity, PackageEntity } from './index.js';
9
- import { ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, IndexerEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
8
+ import type { PackageEntity } from './index.js';
9
+ import { ConstructorEntity, DefinitionKind, DereferenceOperatorEntity, DestructorEntity, EntityHidingLevel, EntityKind, IndexerEntity, ITypeEntity, OperatorEntity, SubstitutionApplicationMode, TypeEntityKind, TypeParameterEntity } from './index.js';
10
10
  export type StructuredTypeEntity = PackageStructuredTypeEntity | AnonymousStructuredTypeEntity;
11
11
  export interface PackageStructuredTypeEntity extends IStructuredTypeEntity {
12
12
  readonly subkind: 'package';
@@ -17,8 +17,9 @@ export interface AnonymousStructuredTypeEntity extends IStructuredTypeEntity {
17
17
  readonly subkind: 'anonymous';
18
18
  getContainingPackage(): PackageEntity;
19
19
  }
20
- interface IStructuredTypeEntity {
21
- readonly kind: EntityKind.StructuredType;
20
+ interface IStructuredTypeEntity extends ITypeEntity {
21
+ readonly kind: EntityKind.Type;
22
+ readonly typeEntityKind: TypeEntityKind.Structured;
22
23
  getNaming(): EntityNaming;
23
24
  getTypeParameters(): readonly TypeParameterEntity[];
24
25
  getMembers(): OriginalTypeEntityMembers;
@@ -115,7 +116,8 @@ export declare class BaseAspectTypes {
115
116
  private resolveBaseAspectTypes;
116
117
  }
117
118
  export declare class PackageStructuredTypeDeclarationEntity implements PackageStructuredTypeEntity {
118
- readonly kind = EntityKind.StructuredType;
119
+ readonly kind = EntityKind.Type;
120
+ readonly typeEntityKind = TypeEntityKind.Structured;
119
121
  readonly subkind = "package";
120
122
  private readonly _analyzer;
121
123
  private readonly _node;
@@ -147,6 +149,8 @@ export declare class SourcePackageStructuredTypeDeclarationData {
147
149
  private readonly _baseObjectType;
148
150
  private readonly _baseAspectTypes;
149
151
  private readonly _members;
152
+ private readonly _modifierFlags;
153
+ private get modifierFlags();
150
154
  constructor(analyzer: Analyzer, node: PackageStructuredTypeDeclaration, entity: PackageStructuredTypeEntity);
151
155
  getNaming(): EntityNaming;
152
156
  getName(): Name;
@@ -169,7 +173,8 @@ export declare class SourcePackageStructuredTypeDeclarationData {
169
173
  export declare class AnonymousStructuredTypeDeclarationEntity implements AnonymousStructuredTypeEntity {
170
174
  private readonly _analyzer;
171
175
  private readonly _node;
172
- readonly kind = EntityKind.StructuredType;
176
+ readonly kind = EntityKind.Type;
177
+ readonly typeEntityKind = TypeEntityKind.Structured;
173
178
  readonly subkind = "anonymous";
174
179
  private readonly _baseObjectType;
175
180
  private readonly _baseAspectTypes;
@@ -0,0 +1,15 @@
1
+ import { Tag } from '../analysis/Tags.js';
2
+ import { AliasTypeEntity, EntityKind, MethodTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from './index.js';
3
+ export type TypeEntity = StructuredTypeEntity | MethodTypeEntity | VariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
4
+ export interface ITypeEntity {
5
+ readonly kind: EntityKind.Type;
6
+ readonly typeEntityKind: TypeEntityKind;
7
+ getTags(): readonly Tag[];
8
+ }
9
+ export declare enum TypeEntityKind {
10
+ Method = 0,
11
+ Structured = 1,
12
+ Parameter = 2,
13
+ Variant = 3,
14
+ Alias = 4
15
+ }
@@ -21,6 +21,8 @@ export declare class SourceTypeExtensionEntity implements TypeExtensionEntity {
21
21
  private readonly _analyzer;
22
22
  private readonly _node;
23
23
  private readonly _members;
24
+ private readonly _modifierFlags;
25
+ private get modifierFlags();
24
26
  constructor(analyzer: Analyzer, node: TypeExtensionDeclaration);
25
27
  getMembers(): OriginalTypeEntityMembers;
26
28
  getContainingPackage(): PackageEntity;
@@ -1,10 +1,12 @@
1
1
  import { Analyzer } from '../analysis/index.js';
2
+ import { Tag } from '../analysis/Tags.js';
2
3
  import { Name } from '../common/index.js';
3
4
  import { TypeParameterDeclaration } from '../tree/index.js';
4
5
  import * as types from '../types/index.js';
5
- import { AliasTypeEntity, DefinitionKind, Entity, EntityHidingLevel, EntityKind, MethodEntity, MethodTypeEntity, StructuredTypeEntity, VariantTypeEntity } from './index.js';
6
- export interface TypeParameterEntity {
7
- readonly kind: EntityKind.TypeParameter;
6
+ import { AliasTypeEntity, DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, MethodEntity, MethodTypeEntity, StructuredTypeEntity, TypeEntityKind, VariantTypeEntity } from './index.js';
7
+ export interface TypeParameterEntity extends ITypeEntity {
8
+ readonly kind: EntityKind.Type;
9
+ readonly typeEntityKind: TypeEntityKind.Parameter;
8
10
  getName(): Name;
9
11
  /**
10
12
  * При каждом вызове метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
@@ -26,7 +28,6 @@ export type TypeParameterEntityDefinition = {
26
28
  kind: DefinitionKind.TypeScript;
27
29
  };
28
30
  export type EntityContainingTypeParameter = VariantTypeEntity | MethodEntity | MethodTypeEntity | StructuredTypeEntity | AliasTypeEntity;
29
- export declare function isEntityContainingTypeParameter(entity: Entity): entity is EntityContainingTypeParameter;
30
31
  /**
31
32
  * Класс позволяет работать с ограничением параметра шаблона, исключая циклы.
32
33
  *
@@ -61,7 +62,8 @@ export declare class TypeParameterConstraint {
61
62
  export declare class SourceTypeParameterEntity implements TypeParameterEntity {
62
63
  private readonly _analyzer;
63
64
  private readonly _node;
64
- readonly kind = EntityKind.TypeParameter;
65
+ readonly kind = EntityKind.Type;
66
+ readonly typeEntityKind = TypeEntityKind.Parameter;
65
67
  private readonly _definition;
66
68
  private readonly _constraint;
67
69
  private readonly _default;
@@ -74,13 +76,15 @@ export declare class SourceTypeParameterEntity implements TypeParameterEntity {
74
76
  getTypeParameters(): readonly TypeParameterEntity[];
75
77
  getContainingEntity(): EntityContainingTypeParameter;
76
78
  isHidden(): EntityHidingLevel | undefined;
79
+ getTags(): readonly Tag[];
77
80
  }
78
81
  export declare class IntrinsicTypeParameterEntity implements TypeParameterEntity {
79
82
  private readonly _name;
80
83
  private readonly _constraint;
81
84
  private readonly _defaultValue;
82
85
  private readonly _containingEntity;
83
- readonly kind = EntityKind.TypeParameter;
86
+ readonly kind = EntityKind.Type;
87
+ readonly typeEntityKind = TypeEntityKind.Parameter;
84
88
  private readonly _typeParameterConstraint;
85
89
  constructor(_name: Name, _constraint: types.Type | undefined, _defaultValue: types.Type | undefined, _containingEntity: EntityContainingTypeParameter);
86
90
  getName(): Name;
@@ -91,4 +95,5 @@ export declare class IntrinsicTypeParameterEntity implements TypeParameterEntity
91
95
  getTypeParameters(): readonly TypeParameterEntity[];
92
96
  getContainingEntity(): EntityContainingTypeParameter;
93
97
  isHidden(): EntityHidingLevel | undefined;
98
+ getTags(): readonly Tag[];
94
99
  }