@artel/artc 0.6.25228 → 0.6.25230

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 (51) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +2 -4
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +85 -86
  5. package/build/{chunk-FHJJX7JY.js → chunk-3LHZOXTJ.js} +2 -2
  6. package/build/{chunk-F5OW64UA.js → chunk-WS3ILL2L.js} +1 -1
  7. package/build/{chunk-5GSDYTF6.js → chunk-ZUIGWNN5.js} +1165 -986
  8. package/build/types/analysis/Analyzer.d.ts +50 -11
  9. package/build/types/analysis/BaseExpressionMeaning.d.ts +1 -1
  10. package/build/types/analysis/DiagnosticCollector.d.ts +0 -1
  11. package/build/types/analysis/{OperationOverloadResolver.d.ts → FunctionOverloadResolver.d.ts} +2 -0
  12. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +2 -2
  13. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +4 -4
  14. package/build/types/analysis/ModifierFlags.d.ts +5 -6
  15. package/build/types/analysis/PackageMemberNameConflictsValidator.d.ts +2 -3
  16. package/build/types/analysis/control-flow/NarrowableReference.d.ts +4 -4
  17. package/build/types/analysis/control-flow/Nodes.d.ts +1 -1
  18. package/build/types/analysis/semantic-context/Declarations.d.ts +2 -2
  19. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +0 -1
  20. package/build/types/diagnostic/DiagnosticCode.d.ts +25 -26
  21. package/build/types/emitter/Entities.d.ts +7 -7
  22. package/build/types/entities/AliasTypeEntity.d.ts +1 -1
  23. package/build/types/entities/ConstructorEntity.d.ts +8 -8
  24. package/build/types/entities/DereferenceOperatorEntity.d.ts +7 -7
  25. package/build/types/entities/DestructorEntity.d.ts +3 -3
  26. package/build/types/entities/FunctionEntity.d.ts +15 -15
  27. package/build/types/entities/FunctionTypeEntity.d.ts +1 -1
  28. package/build/types/entities/GetterEntity.d.ts +4 -4
  29. package/build/types/entities/IndexerEntity.d.ts +8 -8
  30. package/build/types/entities/OperatorEntity.d.ts +7 -7
  31. package/build/types/entities/SetterEntity.d.ts +4 -4
  32. package/build/types/entities/StructuredTypeEntity.d.ts +1 -1
  33. package/build/types/entities/TypeExtensionEntity.d.ts +1 -1
  34. package/build/types/entities/VariableEntity.d.ts +28 -28
  35. package/build/types/entities/VariantTypeEntity.d.ts +1 -1
  36. package/build/types/entities/index.d.ts +28 -0
  37. package/build/types/project/SourcePackage.d.ts +3 -1
  38. package/build/types/project/configuration/ConfigurationConverter.d.ts +1 -1
  39. package/build/types/project/configuration/types/PackageConfigurationEn.d.ts +2 -0
  40. package/build/types/project/configuration/types/PackageConfigurationRu.d.ts +2 -0
  41. package/build/types/services/DisplayService.d.ts +2 -2
  42. package/build/types/services/NodeSemanticInfo.d.ts +3 -3
  43. package/build/types/tree/KeywordKind.d.ts +21 -22
  44. package/build/types/tree/green/BaseNode.d.ts +3 -1
  45. package/build/types/tree/green/Nodes.d.ts +1 -1
  46. package/build/types/tree/red/BaseNode.d.ts +2 -1
  47. package/build/types/tree/red/Nodes.d.ts +1 -1
  48. package/build/types/ts-interop/Entities.d.ts +24 -24
  49. package/build/types/ts-interop/TsTypeMembersCreator.d.ts +1 -1
  50. package/build/types/types/TypeMembers.d.ts +5 -5
  51. package/package.json +4 -4
@@ -24,6 +24,7 @@ import * as constructorOverloadResolver from './ConstructorOverloadResolver.js';
24
24
  import { DeclarationsUsageCountResult } from './DeclarationsUsageCounter.js';
25
25
  import * as dereferenceExpressionMeaning from './DereferenceExpressionMeaning.js';
26
26
  import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
27
+ import * as functionOverloadResolver from './FunctionOverloadResolver.js';
27
28
  import * as identifierExpressionResolution from './IdentifierExpressionMeaning.js';
28
29
  import { ImportedPackageNameTree, PackageNameTreeNode } from './ImportedPackageNameTree.js';
29
30
  import * as indexedAccessExpressionMeaning from './IndexedAccessExpressionMeaning.js';
@@ -34,7 +35,6 @@ import { ModifierFlags } from './ModifierFlags.js';
34
35
  import { NamedTypeSpecifierResolutionResult } from './NamedTypeSpecifierResolver.js';
35
36
  import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionTypeDeclaration, GetterDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, SetterDeclaration, StructuredTypeDeclaration, VariantTypeDeclaration } from './NodeTypeUtils.js';
36
37
  import * as objectExpressionMeaning from './ObjectExpressionMeaning.js';
37
- import * as operationOverloadResolver from './OperationOverloadResolver.js';
38
38
  import { SourceFileMembers as ActualSourceFileMembers } from './SourceFileMembers.js';
39
39
  import * as tagMeaning from './TagMeaning.js';
40
40
  import * as tags from './Tags.js';
@@ -68,6 +68,7 @@ export declare class Analyzer {
68
68
  readonly owningPlainObjectModificationCheck: OwningPlainObjectModificationCheck;
69
69
  readonly packageImports: PackageImports;
70
70
  readonly typeUtils: TypeUtils;
71
+ readonly conflictsCheck: ConflictsCheck;
71
72
  private readonly _tsInteropInputs;
72
73
  private readonly _targetType;
73
74
  private readonly _typeAssignabilityCheck;
@@ -117,8 +118,8 @@ export declare class Analyzer {
117
118
  getUnambiguousTargetFunctionType(targetType: types.Type | undefined): types.FunctionType | undefined;
118
119
  getUnambiguousTargetArrayType(targetType: types.Type | undefined): types.Type | undefined;
119
120
  getEnumeratorElementType(node: tree.Node): types.Type | undefined;
120
- resolveFunctionOverloadByCallExpression<TCandidate extends operationOverloadResolver.ICandidate<TValueParameter>, TValueParameter extends operationOverloadResolver.IValueParameter>(candidates: readonly TCandidate[], node: tree.CallExpression): readonly TCandidate[];
121
- resolveFunctionOverloadByTargetType<TCandidate extends operationOverloadResolver.ICandidate<TValueParameter>, TValueParameter extends operationOverloadResolver.IValueParameter>(candidates: readonly TCandidate[], targetType: types.FunctionType): readonly TCandidate[];
121
+ resolveFunctionOverloadByCallExpression<TCandidate extends functionOverloadResolver.ICandidate<TValueParameter>, TValueParameter extends functionOverloadResolver.IValueParameter>(candidates: readonly TCandidate[], node: tree.CallExpression): readonly TCandidate[];
122
+ resolveFunctionOverloadByTargetType<TCandidate extends functionOverloadResolver.ICandidate<TValueParameter>, TValueParameter extends functionOverloadResolver.IValueParameter>(candidates: readonly TCandidate[], targetType: types.FunctionType): readonly TCandidate[];
122
123
  resolveConstructorOverload<TCandidate extends constructorOverloadResolver.ICandidate<TValueParameter>, TValueParameter extends constructorOverloadResolver.IValueParameter>(candidates: readonly TCandidate[], args: readonly tree.Argument[]): readonly TCandidate[];
123
124
  resolveTypeOverloadByArgumentCount<TCandidate extends typeOverloadResolver.ICandidate>(candidates: readonly TCandidate[], argumentCount: number): readonly TCandidate[];
124
125
  resolveMemberAccessExpression(node: tree.MemberAccessExpression, targetTypeHint?: TargetTypeHint): memberAccessExpressionResolution.ResolutionResult;
@@ -261,9 +262,9 @@ export declare class Analyzer {
261
262
  createDiagnostic(code: DiagnosticCode, location: DiagnosticLocation | undefined, formatArguments?: readonly string[], kind?: DiagnosticKind, flags?: DiagnosticFlags): Diagnostic;
262
263
  createNodeDiagnosticLocation(node: tree.Node): DiagnosticLocation;
263
264
  getDeclaredTypeMemberEntities(node: tree.TypeMemberDeclarationBlock): DeclaredTypeMemberEntities;
264
- getRedefinableMethodOfOriginalTypeForRedefinableMethodOfAliasType(entity: e.MethodEntity): e.MethodEntity | undefined;
265
- checkBodyOfRedefinableAliasTypeMethod(node: tree.MethodDeclaration, diagnostics?: DiagnosticAcceptor): {
266
- redefinableMethodOfOriginalType: e.MethodEntity;
265
+ getBasicMethodOfOriginalTypeForBasicMethodOfAliasType(entity: e.MethodEntity): e.MethodEntity | undefined;
266
+ checkBodyOfBasicAliasTypeMethod(node: tree.MethodDeclaration, diagnostics?: DiagnosticAcceptor): {
267
+ basicMethodOfOriginalType: e.MethodEntity;
267
268
  } | undefined;
268
269
  getControlFlowGraph(sourceFile: project.SourceFile): controlFlow.GraphBuildResult;
269
270
  createAmbiguousEntityAccessDiagnostic(entities: readonly WithLocalization<e.Entity>[], lctx: LocalizationContext, node: tree.Node): Diagnostic;
@@ -482,17 +483,17 @@ declare class DefaultConstructors {
482
483
  declare class OverriddenMember {
483
484
  private readonly _analyzer;
484
485
  constructor(_analyzer: Analyzer);
485
- getOverriddenVariables(node: tree.FieldDeclaration | FieldAccessorDeclaration): types.Variable[];
486
+ getOverriddenFields(node: tree.FieldDeclaration | FieldAccessorDeclaration): types.Field[];
486
487
  getOverriddenMethods(node: tree.MethodDeclaration): types.Method[];
487
488
  getOverriddenOperators(node: tree.OperatorDeclaration): types.Operator[];
488
489
  getOverriddenIndexers(node: IndexedElementAccessorDeclaration): types.Indexer[];
489
490
  getOverriddenDereferenceOperators(node: DereferencedVariableAccessorDeclaration): types.DereferenceOperator[];
490
- private findOverriddenVariableInType;
491
+ private findOverriddenFieldInType;
491
492
  private findOverriddenMethodInType;
492
493
  private findOverriddenOperatorInType;
493
494
  private findOverriddenIndexerInType;
494
495
  private findOverriddenDereferenceOperatorInType;
495
- private checkVariableOverridesVariable;
496
+ private checkFieldOverridesField;
496
497
  private checkMethodOverridesMethod;
497
498
  private checkOperatorOverridesOperator;
498
499
  private checkIndexerOverridesIndexer;
@@ -560,7 +561,7 @@ export declare class LinkedTypeWithMembers {
560
561
  private readonly _memberLookup;
561
562
  private get memberLookup();
562
563
  constructor(analyzer: Analyzer, externalType: e.TypeEntityWithMembers, targetType: e.TypeEntityWithMembers, linkedPackage: LinkedMultiPlatformPackage);
563
- getLinkedVariable(entity: e.FieldEntity): e.FieldEntity | undefined;
564
+ getLinkedField(entity: e.FieldEntity): e.FieldEntity | undefined;
564
565
  getLinkedMethod(entity: e.MethodEntity): e.MethodEntity | undefined;
565
566
  getLinkedOperator(entity: e.OperatorEntity): e.OperatorEntity | undefined;
566
567
  getLinkedConstructor(entity: e.ConstructorEntity): e.ConstructorEntity | undefined;
@@ -616,7 +617,7 @@ export declare class PackageImportInfo {
616
617
  readonly isAliasedImport: e.PackageAliasEntity | undefined;
617
618
  constructor(entity: e.PackageEntity, translationPackage: AnalyzedTranslationPackage | undefined, isAliasedImport: e.PackageAliasEntity | undefined);
618
619
  }
619
- export declare class TypeUtils {
620
+ declare class TypeUtils {
620
621
  private readonly _analyzer;
621
622
  constructor(_analyzer: Analyzer);
622
623
  getCommonObjectAndAspectTypesOfUnion(unionType: types.UnionType): readonly types.StructuredType[];
@@ -628,6 +629,44 @@ export declare class TypeUtils {
628
629
  private getFlattenedConstituentTypesForCommonTypesSearch;
629
630
  private flattenTypeParameterConstraint;
630
631
  }
632
+ declare class ConflictsCheck {
633
+ private readonly _analyzer;
634
+ private _stubParameterTypes;
635
+ constructor(_analyzer: Analyzer);
636
+ /**
637
+ * Проверяет, конфликтуют ли две функции, т.е. могут ли такие функции находиться в одной области видимости.
638
+ * Метод не сравнивает имена.
639
+ *
640
+ * Отношение "функции конфликтуют" не является транзитивным, т.е. из того, что функция 1 конфликтует с функцией 2 и
641
+ * функция 2 конфликтует с функцией 3 не следует, что функция 1 конфликтует с функцией 3.
642
+ *
643
+ * Пример:
644
+ * ```artel
645
+ * 1. функция ф<Т1>()
646
+ * 2. функция ф<Т1, Т2>()
647
+ * 3. функция ф<Т1, Т2 = Объект>()
648
+ * ```
649
+ *
650
+ * Функции 1 и 2 не конфликтуют между собой, поскольку имеют разное количество количество параметров типа, однако
651
+ * каждая из них конфликтует с функций 3, которая может принимать от 1 до 2 параметров типа.
652
+ */
653
+ doFunctionSignaturesConflict(function1: e.FunctionEntity, function2: e.FunctionEntity): boolean;
654
+ /**
655
+ * Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
656
+ */
657
+ doSignaturesWithoutTypeParametersConflict(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature): boolean;
658
+ /**
659
+ * Проверяет, конфликтуют ли два типа, т.е. могут ли такие типы находиться в одном пакете. Метод не сравнивает имена.
660
+ *
661
+ * Отношение "типы конфликтуют" не является транзитивным (см. комментарий у метода
662
+ * {@link doFunctionSignaturesConflict}).
663
+ */
664
+ doPackageTypesConflict(type1: e.PackageTypeEntity, type2: e.PackageTypeEntity): boolean;
665
+ doTypeArgumentCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
666
+ private doParametersConflict;
667
+ private createSubstitutionMapWithStubTypes;
668
+ }
669
+ export type EntityWithoutTypeParametersInSignature = e.ConstructorEntity | e.DestructorEntity | e.OperatorEntity | e.IndexerEntity;
631
670
  export declare class ExpressionDenotesFunctionCheckResult {
632
671
  readonly candidates: readonly WithLocalization<AccessedFunction>[];
633
672
  readonly suitableFunctions: readonly WithLocalization<AccessedFunction>[];
@@ -5,7 +5,7 @@ import { Analyzer } from './Analyzer.js';
5
5
  import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
6
6
  /**
7
7
  * "основа" не является самостоятельным выражением и может использоваться только в следующих конструкциях:
8
- * 1. основа() - в конструкторе для вызова базового конструктора или в методе для вызова заменённого метода.
8
+ * 1. основа() - в конструкторе для вызова базового конструктора или в методе для вызова базового метода.
9
9
  * 2. основа.поле (основа.метод) - в любом выражении в контексте типа, имеющего базовый тип.
10
10
  * 3. основа[] - аналогично п. 2.
11
11
  */
@@ -50,7 +50,6 @@ export declare class DiagnosticCollector {
50
50
  private getPackageMemberBodyRequirementReason;
51
51
  private checkTypeMemberBodyPresence;
52
52
  private getTypeMemberBodyRequirementReason;
53
- private isRedefinableEntity;
54
53
  private checkIdentifierExpression;
55
54
  private checkLocalVariableUsedBeforeDeclaration;
56
55
  private checkLocalVariableIsUsedBeforeBeingAssigned;
@@ -11,6 +11,8 @@ export declare class Resolver<TCandidate extends ICandidate<TValueParameter>, TV
11
11
  export interface ICandidate<TValueParameter extends IValueParameter> {
12
12
  getValueParameters(): readonly TValueParameter[];
13
13
  getSignatureType(): types.Type;
14
+ getTypeParameterCount(): number;
15
+ getRequiredTypeParameterCount(): number;
14
16
  }
15
17
  export interface IValueParameter {
16
18
  getName(): Name | undefined;
@@ -90,9 +90,9 @@ export declare class AccessedVariable_entity implements IAccessedVariable {
90
90
  getType(): types.Type;
91
91
  }
92
92
  export declare class AccessedVariable_typeMember implements IAccessedVariable {
93
- readonly value: types.Variable;
93
+ readonly value: types.Field;
94
94
  readonly kind = "type-member";
95
- constructor(value: types.Variable);
95
+ constructor(value: types.Field);
96
96
  getEntity(): VariableEntity;
97
97
  getName(): Name;
98
98
  getType(): types.Type;
@@ -70,10 +70,10 @@ declare class Meaning_packageNameSegmentAccess {
70
70
  }
71
71
  declare class Meaning_staticFieldAccess {
72
72
  readonly type: types.Type;
73
- readonly variable: FoundNamedDeclaration<types.Variable>;
73
+ readonly field: FoundNamedDeclaration<types.Field>;
74
74
  readonly accessKind: AccessKind;
75
75
  readonly kind = "static-field-access";
76
- constructor(type: types.Type, variable: FoundNamedDeclaration<types.Variable>, accessKind: AccessKind);
76
+ constructor(type: types.Type, field: FoundNamedDeclaration<types.Field>, accessKind: AccessKind);
77
77
  }
78
78
  declare class Meaning_staticMethodAccess {
79
79
  readonly type: types.Type;
@@ -84,10 +84,10 @@ declare class Meaning_staticMethodAccess {
84
84
  constructor(type: types.Type, candidates: readonly FoundNamedDeclaration<AccessedFunction>[], suitableFunctions: readonly FoundNamedDeclaration<AccessedFunction>[]);
85
85
  }
86
86
  declare class Meaning_instanceFieldAccess {
87
- readonly variable: FoundNamedDeclaration<types.Variable>;
87
+ readonly field: FoundNamedDeclaration<types.Field>;
88
88
  readonly accessKind: AccessKind;
89
89
  readonly kind = "instance-field-access";
90
- constructor(variable: FoundNamedDeclaration<types.Variable>, accessKind: AccessKind);
90
+ constructor(field: FoundNamedDeclaration<types.Field>, accessKind: AccessKind);
91
91
  }
92
92
  declare class Meaning_instanceMethodAccess {
93
93
  readonly candidates: readonly FoundNamedDeclaration<AccessedFunction>[];
@@ -7,10 +7,9 @@ export declare enum ModifierFlags {
7
7
  HiddenInPackage = 16,
8
8
  Basic = 32,
9
9
  Static = 64,
10
- Redefinable = 128,
11
- Abstract = 256,
12
- Redefined = 512,
13
- Async = 1024,
14
- Const = 2048,
15
- NotComputed = 4096
10
+ Abstract = 128,
11
+ Override = 256,
12
+ Async = 512,
13
+ Const = 1024,
14
+ NotComputed = 2048
16
15
  }
@@ -9,11 +9,10 @@ export declare class PackageMemberNameConflictsValidator {
9
9
  constructor(_analyzer: Analyzer, _members: OriginalPackageMembers);
10
10
  validate(): readonly Diagnostic[];
11
11
  private validateFunctionNameConflicts;
12
- private areFunctionSignaturesEqual;
13
12
  private validateTypeNameConflicts;
14
- private typeParameterCountsIntersect;
15
13
  private createAndAddNameConflictDiagnosticsForAllEntities;
16
- private createAndAddNameConflictDiagnostic;
14
+ private shouldReportConflictWithMemberBasedOnHiding;
15
+ private reportNameConflictDiagnostic;
17
16
  private getDiagnosticLocation;
18
17
  }
19
18
  export declare class SourcePackageMemberConflictsValidator {
@@ -27,10 +27,10 @@ export declare namespace NarrowableReference {
27
27
  }
28
28
  export class InstanceField implements INarrowableReference {
29
29
  private readonly _analyzer;
30
- readonly variable: types.Variable;
30
+ readonly field: types.Field;
31
31
  readonly receiver: NarrowableReference;
32
32
  readonly kind = "instance-field";
33
- constructor(_analyzer: Analyzer, variable: types.Variable, receiver: NarrowableReference);
33
+ constructor(_analyzer: Analyzer, field: types.Field, receiver: NarrowableReference);
34
34
  equals(other: NarrowableReference): boolean;
35
35
  contains(other: NarrowableReference): boolean;
36
36
  equalsExpression(expression: NarrowableReferenceExpression): boolean;
@@ -38,9 +38,9 @@ export declare namespace NarrowableReference {
38
38
  }
39
39
  export class StaticField implements INarrowableReference {
40
40
  private readonly _analyzer;
41
- readonly variable: types.Variable;
41
+ readonly field: types.Field;
42
42
  readonly kind = "static-field";
43
- constructor(_analyzer: Analyzer, variable: types.Variable);
43
+ constructor(_analyzer: Analyzer, field: types.Field);
44
44
  equals(other: NarrowableReference): boolean;
45
45
  contains(_other: NarrowableReference): boolean;
46
46
  equalsExpression(expression: NarrowableReferenceExpression): boolean;
@@ -45,7 +45,7 @@ export declare class AssignmentNode extends ControlFlowNodeBase {
45
45
  }
46
46
  /**
47
47
  * Создаётся в местах объявления локальных переменных. Если переменной присваивается начальное значение, её тип будет
48
- * заменён на тип присваиваемого выражения.
48
+ * взят как тип присваиваемого выражения.
49
49
  */
50
50
  export declare class LocalVariableDeclarationNode extends ControlFlowNodeBase {
51
51
  readonly predecessor: Node;
@@ -77,9 +77,9 @@ export declare class NamedDeclarationVariable_entity implements INamedDeclaratio
77
77
  isHidden(): EntityHidingLevel | undefined;
78
78
  }
79
79
  export declare class NamedDeclarationVariable_typeMember implements INamedDeclarationVariable {
80
- readonly value: types.Variable;
80
+ readonly value: types.Field;
81
81
  readonly kind = "type-member";
82
- constructor(value: types.Variable);
82
+ constructor(value: types.Field);
83
83
  getName(): Name;
84
84
  getEntity(): VariableEntity;
85
85
  isHidden(): EntityHidingLevel | undefined;
@@ -33,7 +33,6 @@ export declare abstract class SemanticContextValidatingNameConflictsBase extends
33
33
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
34
34
  private getMemberEntityDictionary;
35
35
  private validateNestedFunctionsConflicts;
36
- private areNestedFunctionSignaturesEqual;
37
36
  private createNamedDeclarations;
38
37
  private createTypesOrContainerWithTypes;
39
38
  }
@@ -111,39 +111,38 @@ export declare enum DiagnosticCode {
111
111
  FunctionIsDeclaredButNotUsed = 273,
112
112
  TypeParameterIsDeclaredButNotUsed = 274,
113
113
  DefaultConstructorArgumentsMustBeNamed = 275,
114
- IncorrectBodyOfRedefinableAliasTypeMethod = 276,
114
+ IncorrectBodyOfBasicAliasTypeMethod = 276,
115
115
  TheFollowingDeclarationsAreNotTranslated0 = 277,
116
116
  TheFollowingDeclarationAreNotTranslated0And1More = 278,
117
117
  OperatorFunctionMustNotBeStatic = 279,
118
118
  OperatorFunction0MustNotHaveParameters = 280,
119
119
  OperatorFunction0MustHaveOneParameter = 281,
120
120
  OperatorFunction0MustHaveNoMoreThanOneParameter = 282,
121
- CorrespondingRedefinableTypeMemberNotFound = 283,
121
+ CorrespondingBasicTypeMemberNotFound = 283,
122
122
  ConstructorCannotBeDeclaredAsBasic = 284,
123
- ConstructorCannotBeDeclaredAsRedefinable = 285,
124
- ConstructorCannotBeDeclaredAsOverridden = 286,
125
- AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 287,
126
- TagNotFound = 288,
127
- TypeOrFunctionNameExpected = 289,
128
- PackageNameOrAliasExpected = 290,
129
- ExpressionCanBeNone = 291,
130
- TargetVariableExpressionInTheAssignmentStatementCannotContainQuestionOperator = 292,
131
- UnreachableCode = 293,
132
- RecursionOccurredWhileCalculatingTheTypeOfTheExpression = 294,
133
- RecursionOccurredWhileInferringTheTypeOfTheVariable = 295,
134
- ScopeAlreadyContainsDeclarationWithTheSameName = 296,
135
- ScopeAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 297,
136
- ParameterName0ConflictsWithAutomaticallyGeneratedVariableName = 298,
137
- PackageAlreadyContainsDeclarationWithTheSameName = 299,
138
- PackageAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 300,
139
- PackageAlreadyContainsTypeWithTheSameNameAndSameOrIntersectingTypeParameterCount = 301,
140
- PackageAliasWithTheSameNameAlreadyExits = 302,
141
- PackageCanHaveOnlyEntryPoint = 303,
142
- PackageCanHaveOnlyOneConstructor = 304,
143
- VariableIsUsedBeforeItsDeclaration = 305,
144
- VariableMayNotHasBeenAssignedBeforeUsage = 306,
145
- NotAllCodePathsReturnAValueAndResultLocalVariableMayNotHasBeenAssigned = 307,
146
- WriteFunctionHasNoCorrespondingReadFunction = 308,
123
+ ConstructorCannotBeDeclaredAsOverridden = 285,
124
+ AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 286,
125
+ TagNotFound = 287,
126
+ TypeOrFunctionNameExpected = 288,
127
+ PackageNameOrAliasExpected = 289,
128
+ ExpressionCanBeNone = 290,
129
+ TargetVariableExpressionInTheAssignmentStatementCannotContainQuestionOperator = 291,
130
+ UnreachableCode = 292,
131
+ RecursionOccurredWhileCalculatingTheTypeOfTheExpression = 293,
132
+ RecursionOccurredWhileInferringTheTypeOfTheVariable = 294,
133
+ ScopeAlreadyContainsDeclarationWithTheSameName = 295,
134
+ ScopeAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 296,
135
+ ParameterName0ConflictsWithAutomaticallyGeneratedVariableName = 297,
136
+ PackageAlreadyContainsDeclarationWithTheSameName = 298,
137
+ PackageAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 299,
138
+ PackageAlreadyContainsTypeWithTheSameNameAndSameOrIntersectingTypeParameterCount = 300,
139
+ PackageAliasWithTheSameNameAlreadyExits = 301,
140
+ PackageCanHaveOnlyEntryPoint = 302,
141
+ PackageCanHaveOnlyOneConstructor = 303,
142
+ VariableIsUsedBeforeItsDeclaration = 304,
143
+ VariableMayNotHasBeenAssignedBeforeUsage = 305,
144
+ NotAllCodePathsReturnAValueAndResultLocalVariableMayNotHasBeenAssigned = 306,
145
+ WriteFunctionHasNoCorrespondingReadFunction = 307,
147
146
  CannotFindTsLibDirectoryBaseSearchPaths0 = 401,
148
147
  SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 402,
149
148
  ProgramWithoutMainPackageCannotBeCompiled = 403,
@@ -23,12 +23,12 @@ export declare class FunctionEntityDetails implements TypeMemberEntityDetails {
23
23
  isPackageConstructor: boolean;
24
24
  isPackageEntryPoint: boolean;
25
25
  overriddenMembers: readonly FunctionEntity[];
26
- ifRedefinableAliasTypeMethodThenRealMethod: FunctionEntity | undefined;
26
+ ifBasicAliasTypeMethodThenRealMethod: FunctionEntity | undefined;
27
27
  isDefaultExport: boolean;
28
28
  isAliasTypeOrExtensionMemberThatRequiresLowering: boolean;
29
29
  isBuiltInOperator: boolean;
30
30
  hasComputedName: ComputedNameInfo | undefined;
31
- isRedefinable: boolean;
31
+ isBasic: boolean;
32
32
  isTypeExtensionMemberAddedToPrototype: boolean;
33
33
  isAbstract: boolean;
34
34
  isStatic: boolean;
@@ -44,7 +44,7 @@ export interface ComputedNameInfo {
44
44
  */
45
45
  readonly affectsDeclaration: boolean;
46
46
  /**
47
- * Должны ли члены типы, заменяющие этот член, использовать указанный символ в качестве ключа?
47
+ * Должны ли расширенные (override-) члены производных типов использовать указанный символ в качестве ключа?
48
48
  */
49
49
  readonly affectsDerivedMembers: boolean;
50
50
  }
@@ -65,7 +65,7 @@ export declare class VariableEntityDetails implements TypeMemberEntityDetails {
65
65
  isProxiedField: ProxiedFieldInfo | undefined;
66
66
  isDefaultExport: boolean;
67
67
  hasComputedName: ComputedNameInfo | undefined;
68
- isRedefinable: boolean;
68
+ isBasic: boolean;
69
69
  isAbstract: boolean;
70
70
  isTypeExtensionMemberAddedToPrototype: boolean;
71
71
  isStatic: boolean;
@@ -78,7 +78,7 @@ export type TypeMemberEntity = FunctionEntity | VariableEntity;
78
78
  interface TypeMemberEntityDetails {
79
79
  isStatic: boolean;
80
80
  isAbstract: boolean;
81
- isRedefinable: boolean;
81
+ isBasic: boolean;
82
82
  overriddenMembers: readonly TypeMemberEntity[];
83
83
  hasComputedName: ComputedNameInfo | undefined;
84
84
  isTypeExtensionMemberAddedToPrototype: boolean;
@@ -105,9 +105,9 @@ export declare class TypeOrExtensionEntityDetails {
105
105
  isDefaultExport: boolean;
106
106
  extendedType: TypeOrExtensionEntity | undefined;
107
107
  /**
108
- * Является ли имя члена типа вычисляемым (`details.hasComputedName`) может зависеть от заменённых членов типа.
108
+ * Является ли имя члена типа вычисляемым (`details.hasComputedName`) может зависеть от переопределённых членов типа.
109
109
  * Если `areOwnComputedNamesOfMembersResolved` === `true`, поля `details.hasComputedName` членов типа хранят
110
- * актуальную для них самих информацию, и анализ заменённых членов типа не требуется.
110
+ * актуальную для них самих информацию, и анализ переопределённых членов типа не требуется.
111
111
  */
112
112
  areOwnComputedNamesOfMembersResolved: boolean;
113
113
  }
@@ -72,7 +72,7 @@ export declare class PackageAliasTypeDeclarationEntity implements AliasTypeEntit
72
72
  private readonly _aliasedType;
73
73
  private readonly _typeParameters;
74
74
  private readonly _members;
75
- private readonly _modifierFlags;
75
+ private _modifierFlags;
76
76
  private get modifierFlags();
77
77
  constructor(_analyzer: Analyzer, _node: PackageAliasTypeDeclaration);
78
78
  getName(): Name;
@@ -4,7 +4,7 @@ import { Analyzer } from '../analysis/index.js';
4
4
  import { ConstructorDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import type { TypeEntityWithMembers } from './index.js';
7
- import { DefinitionKind, EntityHidingLevel, EntityKind, ParameterVariableEntity, TypeMemberEntityContainer, FieldEntity } from './index.js';
7
+ import { DefinitionKind, EntityHidingLevel, EntityKind, FieldEntity, ParameterVariableEntity, TypeMemberEntityContainer } from './index.js';
8
8
  export interface ConstructorEntity {
9
9
  readonly kind: EntityKind.Constructor;
10
10
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -12,7 +12,7 @@ export interface ConstructorEntity {
12
12
  getContainer(): TypeMemberEntityContainer;
13
13
  isDefault(): DefaultConstructorEntityInfo | undefined;
14
14
  isHidden(): EntityHidingLevel | undefined;
15
- isAbstract(): boolean;
15
+ markedAbstract(): boolean;
16
16
  getTags(): readonly Tag[];
17
17
  }
18
18
  export declare class DefaultConstructorEntityInfo {
@@ -45,7 +45,7 @@ export declare class ConstructorDeclarationEntity implements ConstructorEntity {
45
45
  private readonly _node;
46
46
  readonly kind = EntityKind.Constructor;
47
47
  private readonly _valueParameters;
48
- private readonly _modifierFlags;
48
+ private _modifierFlags;
49
49
  private get modifierFlags();
50
50
  constructor(_analyzer: Analyzer, _node: ConstructorDeclaration);
51
51
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -53,7 +53,7 @@ export declare class ConstructorDeclarationEntity implements ConstructorEntity {
53
53
  getContainer(): TypeMemberEntityContainer;
54
54
  isDefault(): DefaultConstructorEntityInfo | undefined;
55
55
  isHidden(): EntityHidingLevel | undefined;
56
- isAbstract(): boolean;
56
+ markedAbstract(): boolean;
57
57
  getTags(): readonly Tag[];
58
58
  }
59
59
  export declare class IntrinsicConstructorEntity implements ConstructorEntity {
@@ -61,15 +61,15 @@ export declare class IntrinsicConstructorEntity implements ConstructorEntity {
61
61
  private readonly _containingEntity;
62
62
  private readonly _isDefault;
63
63
  private readonly _isHidden;
64
- private readonly _isAbstract;
64
+ private readonly _markedAbstract;
65
65
  readonly kind = EntityKind.Constructor;
66
- constructor(_valueParameters: readonly ParameterVariableEntity[], _containingEntity: TypeEntityWithMembers, _isDefault: DefaultConstructorEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _isAbstract: boolean);
66
+ constructor(_valueParameters: readonly ParameterVariableEntity[], _containingEntity: TypeEntityWithMembers, _isDefault: DefaultConstructorEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _markedAbstract: boolean);
67
67
  getValueParameters(): readonly ParameterVariableEntity[];
68
68
  getDefinition(): ConstructorEntityDefinition;
69
69
  getContainer(): TypeMemberEntityContainer;
70
70
  isDefault(): DefaultConstructorEntityInfo | undefined;
71
71
  isHidden(): EntityHidingLevel | undefined;
72
- isAbstract(): boolean;
72
+ markedAbstract(): boolean;
73
73
  getTags(): readonly Tag[];
74
74
  }
75
75
  export declare class DefaultConstructorEntity implements ConstructorEntity {
@@ -85,7 +85,7 @@ export declare class DefaultConstructorEntity implements ConstructorEntity {
85
85
  getContainer(): TypeMemberEntityContainer;
86
86
  isDefault(): DefaultConstructorEntityInfo | undefined;
87
87
  isHidden(): EntityHidingLevel | undefined;
88
- isAbstract(): boolean;
88
+ markedAbstract(): boolean;
89
89
  getTags(): readonly Tag[];
90
90
  private getParametersInfo;
91
91
  private createOrderedParametersForBaseConstructor;
@@ -12,9 +12,9 @@ export interface DereferenceOperatorEntity {
12
12
  getContainer(): TypeMemberEntityContainer;
13
13
  isStatic(): boolean;
14
14
  isHidden(): EntityHidingLevel | undefined;
15
- isRedefinable(): boolean;
16
- isRedefined(): boolean;
17
- isAbstract(): boolean;
15
+ isOverride(): boolean;
16
+ markedBasic(): boolean;
17
+ markedAbstract(): boolean;
18
18
  getTags(): readonly Tag[];
19
19
  getOverriddenMembers(): readonly types.DereferenceOperator[];
20
20
  }
@@ -31,7 +31,7 @@ export declare class DereferenceOperatorDeclarationEntity implements Dereference
31
31
  private readonly _setterDeclaration;
32
32
  private readonly _getterOrSetterDeclaration;
33
33
  private readonly _overriddenMembers;
34
- private readonly _modifierFlags;
34
+ private _modifierFlags;
35
35
  private get modifierFlags();
36
36
  constructor(analyzer: Analyzer, getterDeclaration: DereferencedVariableGetterDeclaration | undefined, setterDeclaration: DereferencedVariableSetterDeclaration | undefined);
37
37
  getType(): types.Type;
@@ -41,9 +41,9 @@ export declare class DereferenceOperatorDeclarationEntity implements Dereference
41
41
  getContainer(): TypeMemberEntityContainer;
42
42
  isStatic(): boolean;
43
43
  isHidden(): EntityHidingLevel | undefined;
44
- isRedefinable(): boolean;
45
- isRedefined(): boolean;
46
- isAbstract(): boolean;
44
+ markedBasic(): boolean;
45
+ isOverride(): boolean;
46
+ markedAbstract(): boolean;
47
47
  getTags(): readonly Tag[];
48
48
  getOverriddenMembers(): readonly types.DereferenceOperator[];
49
49
  }
@@ -8,7 +8,7 @@ export interface DestructorEntity {
8
8
  getContainer(): TypeMemberEntityContainer;
9
9
  getDefinition(): DestructorEntityDefinition;
10
10
  isHidden(): EntityHidingLevel | undefined;
11
- isAbstract(): boolean;
11
+ markedAbstract(): boolean;
12
12
  getTags(): readonly Tag[];
13
13
  }
14
14
  type DestructorEntityDefinition = {
@@ -20,14 +20,14 @@ export declare class DestructorDeclarationEntity implements DestructorEntity {
20
20
  private readonly _node;
21
21
  readonly kind = EntityKind.Destructor;
22
22
  private readonly _valueParameters;
23
- private readonly _modifierFlags;
23
+ private _modifierFlags;
24
24
  private get modifierFlags();
25
25
  constructor(_analyzer: Analyzer, _node: DestructorDeclaration);
26
26
  getValueParameters(): readonly ParameterVariableEntity[];
27
27
  getContainer(): TypeMemberEntityContainer;
28
28
  getDefinition(): DestructorEntityDefinition;
29
29
  isHidden(): EntityHidingLevel | undefined;
30
- isAbstract(): boolean;
30
+ markedAbstract(): boolean;
31
31
  getTags(): readonly Tag[];
32
32
  }
33
33
  export {};
@@ -1,7 +1,7 @@
1
1
  import { Tag } from '../analysis/Tags.js';
2
2
  import { Analyzer } from '../analysis/index.js';
3
3
  import { Name } from '../common/index.js';
4
- import { NestedFunctionDeclaration, PackageFunctionDeclaration, MethodDeclaration } from '../tree/index.js';
4
+ import { MethodDeclaration, NestedFunctionDeclaration, PackageFunctionDeclaration } from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import type { PackageEntity } from './index.js';
7
7
  import { DefinitionKind, Entity, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeMemberEntityContainer, TypeParameterEntity } from './index.js';
@@ -14,9 +14,9 @@ export interface MethodEntity extends IFunctionEntity {
14
14
  readonly subkind: 'method';
15
15
  getContainer(): TypeMemberEntityContainer;
16
16
  isStatic(): boolean;
17
- isRedefinable(): boolean;
18
- isRedefined(): boolean;
19
- isAbstract(): boolean;
17
+ isOverride(): boolean;
18
+ markedBasic(): boolean;
19
+ markedAbstract(): boolean;
20
20
  isModifyingOwningPlainObject(): boolean;
21
21
  isFunctionTypeInvokeMethod(): boolean;
22
22
  getOverriddenMembers(): readonly types.Method[];
@@ -53,7 +53,7 @@ export declare class PackageFunctionDeclarationEntity implements PackageFunction
53
53
  readonly subkind = "package";
54
54
  private readonly _typeParameters;
55
55
  private readonly _valueParameters;
56
- private readonly _modifierFlags;
56
+ private _modifierFlags;
57
57
  private get modifierFlags();
58
58
  constructor(_analyzer: Analyzer, _node: PackageFunctionDeclaration);
59
59
  getName(): Name;
@@ -76,7 +76,7 @@ export declare class MethodDeclarationEntity implements MethodEntity {
76
76
  private readonly _typeParameters;
77
77
  private readonly _valueParameters;
78
78
  private readonly _overriddenMember;
79
- private readonly _modifierFlags;
79
+ private _modifierFlags;
80
80
  private get modifierFlags();
81
81
  constructor(_analyzer: Analyzer, _node: MethodDeclaration);
82
82
  getName(): Name;
@@ -91,9 +91,9 @@ export declare class MethodDeclarationEntity implements MethodEntity {
91
91
  isFunctionTypeInvokeMethod(): boolean;
92
92
  getContainer(): TypeMemberEntityContainer;
93
93
  isStatic(): boolean;
94
- isRedefinable(): boolean;
95
- isRedefined(): boolean;
96
- isAbstract(): boolean;
94
+ markedBasic(): boolean;
95
+ isOverride(): boolean;
96
+ markedAbstract(): boolean;
97
97
  isModifyingOwningPlainObject(): boolean;
98
98
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
99
99
  getOverriddenMembers(): readonly types.Method[];
@@ -153,14 +153,14 @@ export declare class IntrinsicMethodEntity implements MethodEntity {
153
153
  private readonly _isFunctionTypeInvokeMethod;
154
154
  private readonly _container;
155
155
  private readonly _isStatic;
156
- private readonly _isRedefinable;
157
- private readonly _isRedefined;
156
+ private readonly _isBasic;
157
+ private readonly _isOverride;
158
158
  private readonly _isAbstract;
159
159
  private readonly _isModifyingOwningPlainObject;
160
160
  private readonly _overriddenMembers;
161
161
  readonly kind = EntityKind.Function;
162
162
  readonly subkind = "method";
163
- constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isFunctionTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMembers: readonly types.Method[]);
163
+ constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isFunctionTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isBasic: boolean, _isOverride: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMembers: readonly types.Method[]);
164
164
  getName(): Name;
165
165
  getTypeParameters(): readonly TypeParameterEntity[];
166
166
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -173,9 +173,9 @@ export declare class IntrinsicMethodEntity implements MethodEntity {
173
173
  isFunctionTypeInvokeMethod(): boolean;
174
174
  getContainer(): TypeMemberEntityContainer;
175
175
  isStatic(): boolean;
176
- isRedefinable(): boolean;
177
- isRedefined(): boolean;
178
- isAbstract(): boolean;
176
+ markedBasic(): boolean;
177
+ isOverride(): boolean;
178
+ markedAbstract(): boolean;
179
179
  isModifyingOwningPlainObject(): boolean;
180
180
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
181
181
  getOverriddenMembers(): readonly types.Method[];