@artel/artc 0.6.25216 → 0.6.25218

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 (108) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +12 -50
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +1056 -1060
  5. package/build/{chunk-6RYP5SET.js → chunk-FI6LW2RD.js} +5 -4
  6. package/build/{chunk-TJG64G2K.js → chunk-SK7ZBC3X.js} +16737 -15766
  7. package/build/{chunk-O7AXOZXA.js → chunk-TQDMVKTN.js} +13 -5
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +4 -26
  9. package/build/types/analysis/Analyzer.d.ts +162 -200
  10. package/build/types/analysis/{CallArgumentToParameterMatchResult.d.ts → ArgumentToParameterMatchResult.d.ts} +6 -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 +3 -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/IndexedAccessExpressionMeaning.d.ts +12 -7
  18. package/build/types/analysis/LocalizationContext.d.ts +4 -5
  19. package/build/types/analysis/Lookup.d.ts +8 -7
  20. package/build/types/analysis/ModifierFlags.d.ts +16 -0
  21. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +0 -1
  22. package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
  23. package/build/types/analysis/OperationOverloadResolver.d.ts +2 -2
  24. package/build/types/analysis/OverloadResolver.d.ts +4 -4
  25. package/build/types/analysis/PackageMemberLookup.d.ts +5 -6
  26. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +18 -16
  27. package/build/types/analysis/Scope.d.ts +21 -116
  28. package/build/types/analysis/SemanticContext.d.ts +16 -6
  29. package/build/types/analysis/SemanticContextBuilder.d.ts +1 -1
  30. package/build/types/analysis/SourceFileMembers.d.ts +12 -89
  31. package/build/types/analysis/TagMeaning.d.ts +57 -9
  32. package/build/types/analysis/Tags.d.ts +2 -2
  33. package/build/types/analysis/TypeMemberLookup.d.ts +15 -15
  34. package/build/types/analysis/TypeOverloadResolver.d.ts +1 -1
  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 +111 -103
  39. package/build/types/emitter/{EmitterGeneratedDeclarationKind.d.ts → EmitPhaseName.d.ts} +1 -44
  40. package/build/types/emitter/EmitterContext.d.ts +13 -1
  41. package/build/types/emitter/Entities.d.ts +58 -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 +5 -5
  45. package/build/types/emitter/Transformer.d.ts +20 -13
  46. package/build/types/emitter/ir/EmitOptions.d.ts +163 -0
  47. package/build/types/emitter/ir/Nodes.d.ts +213 -185
  48. package/build/types/emitter/ir/index.d.ts +1 -2
  49. package/build/types/emitter/ir/types.d.ts +4 -3
  50. package/build/types/entities/AliasTypeEntity.d.ts +9 -5
  51. package/build/types/entities/ConstructorEntity.d.ts +2 -0
  52. package/build/types/entities/DereferenceOperatorEntity.d.ts +9 -0
  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 +9 -0
  56. package/build/types/entities/MethodEntity.d.ts +9 -5
  57. package/build/types/entities/MethodTypeEntity.d.ts +18 -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 +22 -9
  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 +12 -7
  66. package/build/types/entities/VariableEntity.d.ts +50 -41
  67. package/build/types/entities/VariantTypeEntity.d.ts +18 -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/parser/Scanner.d.ts +0 -6
  74. package/build/types/parser/UnescapeText.d.ts +1 -1
  75. package/build/types/project/FileSystemTree.d.ts +2 -2
  76. package/build/types/services/CompletionService.d.ts +4 -1
  77. package/build/types/services/DisplayService.d.ts +218 -163
  78. package/build/types/services/NodeSemanticInfo.d.ts +7 -5
  79. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +8 -24
  80. package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +1 -0
  81. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
  82. package/build/types/services/source-generation/SourceGenerationService.d.ts +2 -2
  83. package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +5 -5
  84. package/build/types/services/workspace/CompilationController.d.ts +3 -3
  85. package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +4 -4
  86. package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +4 -4
  87. package/build/types/services/workspace/Workspace.d.ts +3 -3
  88. package/build/types/services/workspace/WorkspaceFiles.d.ts +7 -7
  89. package/build/types/tree/KeywordKind.d.ts +37 -37
  90. package/build/types/tree/NodeKind.d.ts +37 -39
  91. package/build/types/tree/green/Nodes.d.ts +57 -80
  92. package/build/types/tree/green/SyntaxFactory.d.ts +4 -5
  93. package/build/types/tree/green/SyntaxToCode.d.ts +1 -2
  94. package/build/types/tree/red/Nodes.d.ts +65 -93
  95. package/build/types/ts-interop/Entities.d.ts +77 -34
  96. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +0 -1
  97. package/build/types/types/MethodType.d.ts +2 -2
  98. package/build/types/types/TypeMembers.d.ts +9 -0
  99. package/build/types/types/VariantType.d.ts +2 -2
  100. package/package.json +2 -2
  101. package/build/types/analysis/DereferencedVariableAccess.d.ts +0 -14
  102. package/build/types/analysis/IndexedAccess.d.ts +0 -14
  103. package/build/types/analysis/VariableAccess.d.ts +0 -14
  104. package/build/types/analysis/VariantLookup.d.ts +0 -20
  105. package/build/types/emitter/ir/LoweringOptions.d.ts +0 -34
  106. package/build/types/emitter/ir/LoweringState.d.ts +0 -25
  107. package/build/types/entities/VariantEntity.d.ts +0 -31
  108. package/build/types/entities/Variants.d.ts +0 -10
@@ -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,13 +1,15 @@
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
- * При повторных вызовах метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
12
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
11
13
  */
12
14
  getConstraint(): TypeParameterConstraint;
13
15
  getDefaultType(): types.Type | undefined;
@@ -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
  }
@@ -1,10 +1,10 @@
1
1
  import { Tag } from '../analysis/Tags.js';
2
2
  import { Analyzer } from '../analysis/index.js';
3
3
  import { Lazy, Name } from '../common/index.js';
4
- import { EnumerationVariableDeclaration, ErrorVariableDeclaration, LocalVariableDeclaration, MethodLiteral, PackageVariableDeclaration, PackageVariableGetterDeclaration, PackageVariableSetterDeclaration, ParameterDeclaration, SetterParameterDeclaration, TypeVariableDeclaration, TypeVariableGetterDeclaration, TypeVariableSetterDeclaration } from '../tree/index.js';
4
+ import { EnumerationVariableDeclaration, ErrorVariableDeclaration, LocalVariableDeclaration, MethodLiteral, PackageVariableDeclaration, PackageVariableGetterDeclaration, PackageVariableSetterDeclaration, ParameterDeclaration, TypeVariableDeclaration, TypeVariableGetterDeclaration, TypeVariableSetterDeclaration, VariantDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
- import type { Entity, IndexerEntity, OperatorEntity, PackageEntity } from './index.js';
7
- import { Entity as ActualEntity, ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, GetterEntity, MethodEntity, MethodTypeEntity, SetterEntity, TypeMemberEntityContainer } from './index.js';
6
+ import type { Entity, IndexerEntity, PackageEntity } from './index.js';
7
+ import { Entity as ActualEntity, ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, GetterEntity, MethodEntity, MethodTypeEntity, OperatorEntity, SetterEntity, TypeMemberEntityContainer } from './index.js';
8
8
  export type VariableEntity = PackageVariableEntity | TypeVariableEntity | ParameterVariableEntity | LocalVariableEntity;
9
9
  export interface PackageVariableEntity extends IVariableEntity {
10
10
  readonly subkind: 'package';
@@ -17,7 +17,8 @@ export interface TypeVariableEntity extends IVariableEntity {
17
17
  isRedefinable(): boolean;
18
18
  isRedefined(): boolean;
19
19
  isAbstract(): boolean;
20
- getOverriddenMember(): types.Variable | undefined;
20
+ getOverriddenMembers(): readonly types.Variable[];
21
+ isVariant(): boolean;
21
22
  }
22
23
  export interface ParameterVariableEntity extends IVariableEntity {
23
24
  readonly subkind: 'parameter';
@@ -55,7 +56,6 @@ export declare namespace ParameterVariableEntityContainer {
55
56
  }
56
57
  }
57
58
  export type EntityContainingValueParameter = MethodEntity | IndexerEntity | ConstructorEntity | DestructorEntity | MethodTypeEntity | SetterEntity | OperatorEntity;
58
- export declare function isEntityContainingValueParameter(entity: Entity): entity is EntityContainingValueParameter;
59
59
  export type VariableEntityDefinition = {
60
60
  kind: DefinitionKind.Source;
61
61
  value: SourceVariableEntityDefinition;
@@ -67,7 +67,7 @@ export type VariableEntityDefinition = {
67
67
  export type SourceVariableEntityDefinition = SingleSourceVariableEntityDefinition | MultiSourceVariableEntityDefinition;
68
68
  export type SingleSourceVariableEntityDefinition = {
69
69
  kind: 'single';
70
- node: PackageVariableDeclaration | TypeVariableDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ErrorVariableDeclaration | ParameterDeclaration | SetterParameterDeclaration;
70
+ node: PackageVariableDeclaration | TypeVariableDeclaration | LocalVariableDeclaration | EnumerationVariableDeclaration | ErrorVariableDeclaration | ParameterDeclaration | VariantDeclaration;
71
71
  };
72
72
  export type MultiSourceVariableEntityDefinition = {
73
73
  kind: 'multi';
@@ -78,13 +78,10 @@ export declare class ImplicitMethodBlockParameterSpecialVariableEntityInfo {
78
78
  readonly kind = "implicit-method-block-parameter";
79
79
  constructor(targetTypeParameter: types.ValueParameter);
80
80
  }
81
- export type SpecialVariableEntityInfo = ResultSpecialVariableEntityInfo | ParamSpecialVariableEntityInfo | ValueSpecialVariableEntityInfo | BackingSpecialVariableEntityInfo | ParamObjectMemberSpecialVariableEntityInfo | ImplicitMethodBlockParameterSpecialVariableEntityInfo;
81
+ export type SpecialVariableEntityInfo = ResultSpecialVariableEntityInfo | ValueSpecialVariableEntityInfo | BackingSpecialVariableEntityInfo | ImplicitMethodBlockParameterSpecialVariableEntityInfo;
82
82
  export declare class ResultSpecialVariableEntityInfo {
83
83
  readonly kind = "result";
84
84
  }
85
- export declare class ParamSpecialVariableEntityInfo {
86
- readonly kind = "param";
87
- }
88
85
  export declare class ValueSpecialVariableEntityInfo {
89
86
  readonly kind = "value";
90
87
  }
@@ -93,17 +90,14 @@ export declare class BackingSpecialVariableEntityInfo {
93
90
  readonly kind = "backing";
94
91
  constructor(computedVariable: PackageVariableEntity | TypeVariableEntity);
95
92
  }
96
- export declare class ParamObjectMemberSpecialVariableEntityInfo {
97
- readonly correspondingParameter: VariableEntity;
98
- readonly kind = "param-object-member";
99
- constructor(correspondingParameter: VariableEntity);
100
- }
101
93
  export declare class PackageVariableDeclarationEntity implements PackageVariableEntity {
102
94
  private readonly _analyzer;
103
95
  private readonly _node;
104
96
  readonly kind = EntityKind.Variable;
105
97
  readonly subkind = "package";
106
98
  private readonly _typeInferrer;
99
+ private readonly _modifierFlags;
100
+ private get modifierFlags();
107
101
  constructor(_analyzer: Analyzer, _node: PackageVariableDeclaration);
108
102
  getName(): Name;
109
103
  getContainingPackage(): PackageEntity;
@@ -123,6 +117,8 @@ export declare class ComputedPackageVariableDeclarationEntity implements Package
123
117
  private readonly _getterDeclaration;
124
118
  private readonly _setterDeclaration;
125
119
  private readonly _getterOrSetterDeclaration;
120
+ private readonly _modifierFlags;
121
+ private get modifierFlags();
126
122
  constructor(analyzer: Analyzer, getterDeclaration: PackageVariableGetterDeclaration | undefined, setterDeclaration: PackageVariableSetterDeclaration | undefined);
127
123
  getName(): Name;
128
124
  getType(): types.Type;
@@ -141,7 +137,9 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
141
137
  private readonly _analyzer;
142
138
  private readonly _node;
143
139
  private readonly _typeInferrer;
144
- private readonly _overriddenMember;
140
+ private readonly _overriddenMembers;
141
+ private readonly _modifierFlags;
142
+ private get modifierFlags();
145
143
  constructor(analyzer: Analyzer, node: TypeVariableDeclaration);
146
144
  getName(): Name;
147
145
  getType(): types.Type;
@@ -157,7 +155,8 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
157
155
  isRedefinable(): boolean;
158
156
  isRedefined(): boolean;
159
157
  isAbstract(): boolean;
160
- getOverriddenMember(): types.Variable | undefined;
158
+ getOverriddenMembers(): readonly types.Variable[];
159
+ isVariant(): boolean;
161
160
  }
162
161
  export declare class ComputedTypeVariableDeclarationEntity implements TypeVariableEntity {
163
162
  readonly kind = EntityKind.Variable;
@@ -166,7 +165,9 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
166
165
  private readonly _getterDeclaration;
167
166
  private readonly _setterDeclaration;
168
167
  private readonly _getterOrSetterDeclaration;
169
- private readonly _overriddenMember;
168
+ private readonly _overriddenMembers;
169
+ private readonly _modifierFlags;
170
+ private get modifierFlags();
170
171
  constructor(analyzer: Analyzer, getterDeclaration: TypeVariableGetterDeclaration | undefined, setterDeclaration: TypeVariableSetterDeclaration | undefined);
171
172
  getName(): Name;
172
173
  getType(): types.Type;
@@ -182,7 +183,33 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
182
183
  getSetter(): SetterEntity | undefined;
183
184
  isSpecial(): SpecialVariableEntityInfo | undefined;
184
185
  getTags(): readonly Tag[];
185
- getOverriddenMember(): types.Variable | undefined;
186
+ getOverriddenMembers(): readonly types.Variable[];
187
+ isVariant(): boolean;
188
+ }
189
+ export declare class VariantDeclarationEntity implements TypeVariableEntity {
190
+ readonly kind = EntityKind.Variable;
191
+ readonly subkind = "type";
192
+ private readonly _analyzer;
193
+ private readonly _node;
194
+ private readonly _variantTypeDeclaration;
195
+ private readonly _type;
196
+ constructor(analyzer: Analyzer, node: VariantDeclaration);
197
+ getName(): Name;
198
+ getType(): types.Type;
199
+ getDefinition(): VariableEntityDefinition;
200
+ getGetter(): GetterEntity | undefined;
201
+ getSetter(): SetterEntity | undefined;
202
+ isConstant(): boolean;
203
+ isHidden(): EntityHidingLevel | undefined;
204
+ isSpecial(): SpecialVariableEntityInfo | undefined;
205
+ getTags(): readonly Tag[];
206
+ getContainer(): TypeMemberEntityContainer;
207
+ isStatic(): boolean;
208
+ isRedefinable(): boolean;
209
+ isRedefined(): boolean;
210
+ isAbstract(): boolean;
211
+ getOverriddenMembers(): readonly types.Variable[];
212
+ isVariant(): boolean;
186
213
  }
187
214
  export declare class LocalVariableDeclarationEntity implements LocalVariableEntity {
188
215
  private readonly _analyzer;
@@ -301,25 +328,6 @@ export declare class MethodLiteralParameterDeclarationEntity implements Paramete
301
328
  isOptional(): boolean;
302
329
  isVariadic(): boolean;
303
330
  }
304
- export declare class SetterParameterDeclarationEntity implements ParameterVariableEntity {
305
- private readonly _analyzer;
306
- private readonly _node;
307
- readonly kind = EntityKind.Variable;
308
- readonly subkind = "parameter";
309
- constructor(_analyzer: Analyzer, _node: SetterParameterDeclaration);
310
- getName(): Name;
311
- getType(): types.Type;
312
- getDefinition(): VariableEntityDefinition;
313
- getGetter(): GetterEntity | undefined;
314
- getSetter(): SetterEntity | undefined;
315
- isConstant(): boolean;
316
- isHidden(): EntityHidingLevel | undefined;
317
- isSpecial(): SpecialVariableEntityInfo | undefined;
318
- getTags(): readonly Tag[];
319
- getContainer(): ParameterVariableEntityContainer;
320
- isOptional(): boolean;
321
- isVariadic(): boolean;
322
- }
323
331
  export declare class IntrinsicPackageVariableEntity implements PackageVariableEntity {
324
332
  private readonly _name;
325
333
  private readonly _type;
@@ -354,10 +362,10 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
354
362
  private readonly _isHidden;
355
363
  private readonly _getter;
356
364
  private readonly _setter;
357
- private readonly _overriddenMember;
365
+ private readonly _overriddenMembers;
358
366
  readonly kind = EntityKind.Variable;
359
367
  readonly subkind = "type";
360
- constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined, _overriddenMember: types.Variable | undefined);
368
+ constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined, _overriddenMembers: readonly types.Variable[]);
361
369
  getName(): Name;
362
370
  getType(): types.Type;
363
371
  getDefinition(): VariableEntityDefinition;
@@ -372,7 +380,8 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
372
380
  isRedefinable(): boolean;
373
381
  isRedefined(): boolean;
374
382
  isAbstract(): boolean;
375
- getOverriddenMember(): types.Variable | undefined;
383
+ getOverriddenMembers(): readonly types.Variable[];
384
+ isVariant(): boolean;
376
385
  }
377
386
  export declare class IntrinsicParameterVariableEntity implements ParameterVariableEntity {
378
387
  private readonly _name;
@@ -5,8 +5,7 @@ import { AnonymousVariantTypeDeclaration, PackageVariantTypeDeclaration } from '
5
5
  import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
- import { OriginalVariants } from './Variants.js';
9
- import { DefinitionKind, EntityHidingLevel, EntityKind, PackageEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
8
+ import { BaseObjectType, DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, PackageEntity, SubstitutionApplicationMode, TypeEntityKind, TypeParameterEntity } from './index.js';
10
9
  export type VariantTypeEntity = PackageVariantTypeEntity | AnonymousVariantTypeEntity;
11
10
  export interface PackageVariantTypeEntity extends IVariantTypeEntity {
12
11
  readonly subkind: 'package';
@@ -17,9 +16,9 @@ export interface AnonymousVariantTypeEntity extends IVariantTypeEntity {
17
16
  readonly subkind: 'anonymous';
18
17
  getContainingPackage(): PackageEntity;
19
18
  }
20
- interface IVariantTypeEntity {
21
- readonly kind: EntityKind.VariantType;
22
- getVariants(): OriginalVariants;
19
+ interface IVariantTypeEntity extends ITypeEntity {
20
+ readonly kind: EntityKind.Type;
21
+ readonly typeEntityKind: TypeEntityKind.Variant;
23
22
  getMembers(): OriginalTypeEntityMembers;
24
23
  getUnderlyingType(): types.Type;
25
24
  getDefinition(): VariantTypeEntityDefinition;
@@ -29,6 +28,10 @@ interface IVariantTypeEntity {
29
28
  isHidden(): EntityHidingLevel | undefined;
30
29
  getTags(): readonly Tag[];
31
30
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
31
+ /**
32
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса BaseObjectType.
33
+ */
34
+ getBaseObjectType(): BaseObjectType;
32
35
  }
33
36
  export type VariantTypeEntityDefinition = {
34
37
  kind: DefinitionKind.Source;
@@ -39,17 +42,19 @@ export type VariantTypeEntityDefinition = {
39
42
  export declare class PackageVariantTypeDeclarationEntity implements PackageVariantTypeEntity {
40
43
  private readonly _analyzer;
41
44
  private readonly _node;
42
- readonly kind = EntityKind.VariantType;
45
+ readonly kind = EntityKind.Type;
46
+ readonly typeEntityKind = TypeEntityKind.Variant;
43
47
  readonly subkind = "package";
44
48
  private readonly _typeParameters;
45
- private readonly _variants;
46
49
  private readonly _members;
47
50
  private readonly _underlyingType;
51
+ private readonly _baseObjectType;
52
+ private readonly _modifierFlags;
53
+ private get modifierFlags();
48
54
  constructor(_analyzer: Analyzer, _node: PackageVariantTypeDeclaration);
49
55
  getNaming(): EntityNaming;
50
56
  getName(): Name;
51
57
  getContainingPackage(): PackageEntity;
52
- getVariants(): OriginalVariants;
53
58
  getMembers(): OriginalTypeEntityMembers;
54
59
  getUnderlyingType(): types.Type;
55
60
  getDefinition(): VariantTypeEntityDefinition;
@@ -58,17 +63,18 @@ export declare class PackageVariantTypeDeclarationEntity implements PackageVaria
58
63
  isHidden(): EntityHidingLevel | undefined;
59
64
  getTags(): readonly Tag[];
60
65
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
66
+ getBaseObjectType(): BaseObjectType;
61
67
  }
62
68
  export declare class AnonymousVariantTypeDeclarationEntity implements AnonymousVariantTypeEntity {
63
69
  private readonly _analyzer;
64
70
  private readonly _node;
65
- readonly kind = EntityKind.VariantType;
71
+ readonly kind = EntityKind.Type;
72
+ readonly typeEntityKind = TypeEntityKind.Variant;
66
73
  readonly subkind = "anonymous";
67
- private readonly _variants;
68
74
  private readonly _underlyingType;
69
75
  private readonly _members;
76
+ private readonly _baseObjectType;
70
77
  constructor(_analyzer: Analyzer, _node: AnonymousVariantTypeDeclaration);
71
- getVariants(): OriginalVariants;
72
78
  getMembers(): OriginalTypeEntityMembers;
73
79
  getUnderlyingType(): types.Type;
74
80
  getDefinition(): VariantTypeEntityDefinition;
@@ -79,5 +85,6 @@ export declare class AnonymousVariantTypeDeclarationEntity implements AnonymousV
79
85
  getTags(): readonly Tag[];
80
86
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
81
87
  getContainingPackage(): PackageEntity;
88
+ getBaseObjectType(): BaseObjectType;
82
89
  }
83
90
  export {};
@@ -5,17 +5,17 @@ import { DestructorEntity } from './DestructorEntity.js';
5
5
  import { GetterEntity } from './GetterEntity.js';
6
6
  import { IndexerEntity } from './IndexerEntity.js';
7
7
  import { MethodEntity, PackageMethodEntity, TypeMethodEntity } from './MethodEntity.js';
8
- import { AnonymousMethodTypeEntity, MethodTypeEntity, PackageMethodTypeEntity } from './MethodTypeEntity.js';
8
+ import { MethodTypeEntity, PackageMethodTypeEntity } from './MethodTypeEntity.js';
9
9
  import { OperatorEntity } from './OperatorEntity.js';
10
10
  import { PackageAliasEntity } from './PackageAliasEntity.js';
11
11
  import { PackageEntity } from './PackageEntity.js';
12
12
  import { SetterEntity } from './SetterEntity.js';
13
- import { AnonymousStructuredTypeEntity, PackageStructuredTypeEntity, StructuredTypeEntity } from './StructuredTypeEntity.js';
13
+ import { PackageStructuredTypeEntity, StructuredTypeEntity } from './StructuredTypeEntity.js';
14
+ import { TypeEntity } from './TypeEntity.js';
14
15
  import { TypeExtensionEntity } from './TypeExtensionEntity.js';
15
16
  import { TypeParameterEntity } from './TypeParameterEntity.js';
16
17
  import { PackageVariableEntity, TypeVariableEntity, VariableEntity } from './VariableEntity.js';
17
- import { VariantEntity } from './VariantEntity.js';
18
- import { AnonymousVariantTypeEntity, PackageVariantTypeEntity, VariantTypeEntity } from './VariantTypeEntity.js';
18
+ import { PackageVariantTypeEntity, VariantTypeEntity } from './VariantTypeEntity.js';
19
19
  export * from './AliasTypeEntity.js';
20
20
  export * from './ConstructorEntity.js';
21
21
  export * from './DereferenceOperatorEntity.js';
@@ -33,11 +33,11 @@ export * from './PackageEntity.js';
33
33
  export * from './SetterEntity.js';
34
34
  export * from './StructuredTypeEntity.js';
35
35
  export * from './SubstitutionApplicationMode.js';
36
+ export * from './TypeEntity.js';
36
37
  export * from './TypeExtensionEntity.js';
37
38
  export * from './TypeMemberContainer.js';
38
39
  export * from './TypeParameterEntity.js';
39
40
  export * from './VariableEntity.js';
40
- export * from './VariantEntity.js';
41
41
  export * from './VariantTypeEntity.js';
42
42
  export declare const enum DefinitionKind {
43
43
  Source = 0,
@@ -46,26 +46,20 @@ export declare const enum DefinitionKind {
46
46
  }
47
47
  export declare const enum EntityKind {
48
48
  Variable = 0,
49
- Variant = 1,
50
- VariantType = 2,
49
+ Method = 1,
50
+ Type = 2,
51
51
  Getter = 3,
52
52
  Setter = 4,
53
- Method = 5,
54
- TypeParameter = 6,
55
- Indexer = 7,
56
- DereferenceOperator = 8,
57
- Constructor = 9,
58
- Destructor = 10,
59
- MethodType = 11,
60
- StructuredType = 12,
61
- PackageAlias = 13,
62
- AliasType = 14,
63
- Operator = 15,
64
- Package = 16,
65
- TypeExtension = 17
53
+ Indexer = 5,
54
+ DereferenceOperator = 6,
55
+ Constructor = 7,
56
+ Destructor = 8,
57
+ Operator = 9,
58
+ PackageAlias = 10,
59
+ TypeExtension = 11,
60
+ Package = 12
66
61
  }
67
- export type Entity = PackageEntity | VariableEntity | VariantEntity | VariantTypeEntity | GetterEntity | SetterEntity | MethodEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | MethodTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity;
68
- export type TypeEntity = MethodTypeEntity | StructuredTypeEntity | TypeParameterEntity | VariantTypeEntity | AliasTypeEntity;
62
+ export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | GetterEntity | SetterEntity | MethodEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | MethodTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity;
69
63
  export type PackageTypeEntity = PackageMethodTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity;
70
64
  export declare function isPackageTypeEntity(entity: TypeEntity): entity is PackageTypeEntity;
71
65
  export type NamedTypeEntity = PackageMethodTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
@@ -76,12 +70,10 @@ export declare function isNamedTypeEntity(entity: TypeEntity): entity is NamedTy
76
70
  export type PackageMemberEntity = PackageVariableEntity | PackageMethodEntity | PackageTypeEntity | TypeExtensionEntity;
77
71
  export declare function isPackageMemberEntity(entity: Entity): entity is PackageMemberEntity;
78
72
  export type NamedPackageMemberEntity = PackageVariableEntity | PackageMethodEntity | PackageTypeEntity;
79
- export type EntityWithTags = AliasTypeEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | MethodEntity | MethodTypeEntity | StructuredTypeEntity | VariableEntity | VariantEntity | VariantTypeEntity | GetterEntity | SetterEntity;
73
+ export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | MethodEntity | VariableEntity | GetterEntity | SetterEntity | TypeEntity | OperatorEntity;
80
74
  export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
81
75
  export type TypeMemberEntity = TypeVariableEntity | TypeMethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
82
76
  export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
83
- export type AnonymousTypeEntity = AnonymousStructuredTypeEntity | AnonymousMethodTypeEntity | AnonymousVariantTypeEntity;
84
- export declare function isAnonymousTypeEntity(entity: Entity): entity is AnonymousTypeEntity;
85
77
  export declare function entityToStringDecorator<T extends {
86
78
  new (...args: any[]): Entity;
87
79
  }>(constructor: T): void;
@@ -17,4 +17,5 @@ export interface LoadCompilationOptions {
17
17
  workspaceUri?: Uri;
18
18
  builtInsStandardPackagesUri?: Uri;
19
19
  userStandardPackagesUri?: Uri;
20
+ enableLogging?: boolean;
20
21
  }
@@ -20,6 +20,7 @@ export interface NodeCompilerLoadCompilationOptions {
20
20
  workspacePath?: string;
21
21
  builtInsStandardPackagesPath?: string;
22
22
  userStandardPackagesPath?: string;
23
+ enableLogging?: boolean;
23
24
  }
24
25
  export interface NodeCompilerTask {
25
26
  nodeModulesWithTypeScriptSearchPaths: readonly string[];
@@ -13,9 +13,17 @@ export declare const enum CharacterCodes {
13
13
  Ё = 1025,
14
14
  ё = 1105,
15
15
  А = 1040,
16
+ Б = 1041,
17
+ Д = 1044,
16
18
  Е = 1045,
19
+ Ф = 1060,
20
+ Ц = 1062,
17
21
  Я = 1071,
18
22
  а = 1072,
23
+ б = 1073,
24
+ д = 1076,
19
25
  е = 1077,
26
+ ф = 1092,
27
+ ц = 1094,
20
28
  я = 1103
21
29
  }
@@ -1,8 +1,7 @@
1
1
  import { PackageLocale } from '../common/index.js';
2
2
  export declare const enum ReservedIdentifierKind {
3
3
  Result = 0,
4
- Param = 1,
5
- Value = 2
4
+ Value = 1
6
5
  }
7
6
  export declare const reservedIdentifiersByLocale: {
8
7
  [T in PackageLocale]: {
@@ -1,10 +1,5 @@
1
1
  import { TokenKind } from './TokenKind.js';
2
- export declare const enum Notation {
3
- Artel = 0,
4
- Nzon = 1
5
- }
6
2
  export interface ScannerOptions {
7
- notation?: Notation;
8
3
  startPosition?: number;
9
4
  length?: number;
10
5
  skipWhitespace?: boolean;
@@ -19,7 +14,6 @@ export declare class Token {
19
14
  export declare class Scanner {
20
15
  readonly text: string;
21
16
  private token;
22
- private notation;
23
17
  private skipWhitespace;
24
18
  private endPosition;
25
19
  private currentPosition;
@@ -1,3 +1,3 @@
1
1
  export declare function withoutQuotes(text: string): string;
2
- export declare function withoutTextTemplateQuotes(text: string): string;
2
+ export declare function withoutTemplateQuotes(text: string): string;
3
3
  export declare function unescapeText(text: string, normalizeCRLF?: boolean): string;
@@ -1,6 +1,6 @@
1
- import { ObservableObject } from 'reactronic';
1
+ import { TriggeringObject } from 'reactronic';
2
2
  import { Uri } from '../common/index.js';
3
- export declare class FileSystemTree extends ObservableObject implements ReadonlyFileSystemTree {
3
+ export declare class FileSystemTree extends TriggeringObject implements ReadonlyFileSystemTree {
4
4
  private readonly _handleInconsistentRequestsWithoutErrors;
5
5
  private readonly _deleteEmptyDirectories;
6
6
  private readonly _rootsByScheme;
@@ -30,7 +30,6 @@ export declare class CompletionService {
30
30
  private isCaseKeywordContext;
31
31
  private getExpressionCompletionItemInfos;
32
32
  private prioritizeItemsFromUnionType;
33
- private getTargetVariantType;
34
33
  private getCompletionItemInfosForTargetSignaturesValueParameters;
35
34
  private getScopeCompletionItemInfos;
36
35
  private getTypeCompletionItemInfos;
@@ -38,6 +37,10 @@ export declare class CompletionService {
38
37
  private getTypeCompletionItemInfosFromPackage;
39
38
  private getTypeCompletionItemInfosFromPackageNameSegment;
40
39
  private getTypeCompletionItemInfosFromScope;
40
+ private getTagCompletionItemInfos;
41
+ private getTagCompletionItemInfosFromPackage;
42
+ private getTagCompletionItemInfosFromPackageNameSegment;
43
+ private getTagCompletionItemInfosFromScope;
41
44
  private getPackageAliasMemberCompletionItemInfos;
42
45
  private getPackageNameSegmentCompletionItemInfos;
43
46
  private packageMemberToCompletionItemInfo;