@artel/artc 0.6.25230 → 0.6.25231

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 (29) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +6 -2
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +12 -12
  5. package/build/{chunk-3LHZOXTJ.js → chunk-BG2YEIQO.js} +2 -2
  6. package/build/{chunk-ZUIGWNN5.js → chunk-S7CAJWX2.js} +1676 -396
  7. package/build/{chunk-WS3ILL2L.js → chunk-VQ5GGKF7.js} +1 -1
  8. package/build/types/analysis/Analyzer.d.ts +4 -3
  9. package/build/types/analysis/DiagnosticCollector.d.ts +1 -0
  10. package/build/types/analysis/FindModifier.d.ts +1 -0
  11. package/build/types/analysis/MemberAccessExpressionMeaning.d.ts +1 -1
  12. package/build/types/analysis/ModifierFlags.d.ts +6 -1
  13. package/build/types/analysis/ModifierValidator.d.ts +83 -0
  14. package/build/types/analysis/TypeMemberConflictsValidator.d.ts +22 -0
  15. package/build/types/common/ArrayUtils.d.ts +8 -0
  16. package/build/types/common/index.d.ts +1 -0
  17. package/build/types/diagnostic/DiagnosticCode.d.ts +57 -29
  18. package/build/types/entities/DereferenceOperatorEntity.d.ts +3 -0
  19. package/build/types/entities/IndexerEntity.d.ts +3 -0
  20. package/build/types/entities/StructuredTypeEntity.d.ts +13 -13
  21. package/build/types/entities/VariableEntity.d.ts +4 -0
  22. package/build/types/entities/index.d.ts +2 -1
  23. package/build/types/project/SourcePackage.d.ts +7 -7
  24. package/build/types/services/NodeSemanticInfo.d.ts +1 -1
  25. package/build/types/tree/green/Nodes.d.ts +2 -2
  26. package/build/types/tree/red/Nodes.d.ts +1 -1
  27. package/build/types/ts-interop/Entities.d.ts +5 -5
  28. package/build/types/types/StructuredType.d.ts +2 -0
  29. package/package.json +1 -1
@@ -10,7 +10,7 @@ import {
10
10
  WellKnownDeclarationsLoadError,
11
11
  __async,
12
12
  createTsInteropInputsForCompilation
13
- } from "./chunk-ZUIGWNN5.js";
13
+ } from "./chunk-S7CAJWX2.js";
14
14
 
15
15
  // source/executor/Compiler.ts
16
16
  var Compiler = class {
@@ -171,8 +171,6 @@ export declare class Analyzer {
171
171
  createNameFromIdentifier(node: tree.Identifier): Name;
172
172
  createSearchNameFromIdentifier(identifier: tree.Identifier): SearchName;
173
173
  createLocalizationContext(sourceFile: project.SourceFile): LocalizationContext;
174
- typeIsValidBaseObjectType(type: types.Type): boolean;
175
- typeIsValidBaseAspectType(type: types.Type): boolean;
176
174
  getImplicitBaseTypeForStructuredType(entity: e.StructuredTypeEntity): types.StructuredType | undefined;
177
175
  getImplicitBaseTypeForVariantType(): types.StructuredType;
178
176
  getImplicitBaseTypeForFunctionType(): types.StructuredType;
@@ -277,7 +275,8 @@ export declare class Analyzer {
277
275
  createAmbiguousNamedScopeDeclarationAccessLazyDiagnostic(declarations: readonly WithLocalization<semanticContext.NamedDeclaration>[], lctx: LocalizationContext, node: tree.Node): Lazy<Diagnostic>;
278
276
  addDiagnosticComputedLazily(diagnostic: Diagnostic): void;
279
277
  getAcceptorForDiagnosticsComputedLazily(): DiagnosticAcceptor;
280
- getDiagnosticsComputedLazily(sourceFile: project.SourceFile): readonly Diagnostic[];
278
+ getSourceFileDiagnosticsComputedLazily(sourceFile: project.SourceFile): readonly Diagnostic[];
279
+ getDiagnosticsWithoutLocationComputedLazily(): readonly Diagnostic[];
281
280
  validateSourcePackageMemberConflicts(pkg: project.ProgramPackage): readonly Diagnostic[];
282
281
  private createTsInterop;
283
282
  }
@@ -653,6 +652,8 @@ declare class ConflictsCheck {
653
652
  doFunctionSignaturesConflict(function1: e.FunctionEntity, function2: e.FunctionEntity): boolean;
654
653
  /**
655
654
  * Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
655
+ *
656
+ * Отношение "сущности, имеющие только параметры, конфликтуют" является транзитивным.
656
657
  */
657
658
  doSignaturesWithoutTypeParametersConflict(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature): boolean;
658
659
  /**
@@ -12,6 +12,7 @@ export declare class DiagnosticCollector {
12
12
  private readonly _diagnostics;
13
13
  private readonly _diagnosticAcceptor;
14
14
  private _namedDeclarationsCountResult;
15
+ private readonly _modifierValidator;
15
16
  private get node();
16
17
  private get translationPackage();
17
18
  private get isInterfacePackageFile();
@@ -3,4 +3,5 @@ import { ModifierFlags } from './ModifierFlags.js';
3
3
  type NodeWithModifiers = tree.PackageMemberDeclaration | tree.TypeMemberDeclaration;
4
4
  export declare function findModifier(node: NodeWithModifiers, modifierKeywordKind: tree.ModifierKeywordKind): tree.Modifier | undefined;
5
5
  export declare function createDeclaredModifierFlags(node: NodeWithModifiers): ModifierFlags;
6
+ export declare function modifierToModifierFlag(modifier: tree.Modifier): ModifierFlags;
6
7
  export {};
@@ -13,7 +13,7 @@ export declare class Resolver {
13
13
  private readonly _analyzer;
14
14
  private readonly _node;
15
15
  private readonly _targetTypeHint;
16
- private get propertySearchName();
16
+ private get memberSearchName();
17
17
  private get semanticContext();
18
18
  private get receiver();
19
19
  constructor(analyzer: Analyzer, node: tree.MemberAccessExpression, targetTypeHint: TargetTypeHint | undefined);
@@ -11,5 +11,10 @@ export declare enum ModifierFlags {
11
11
  Override = 256,
12
12
  Async = 512,
13
13
  Const = 1024,
14
- NotComputed = 2048
14
+ First = 1,
15
+ Last = 1024,
16
+ NotComputed = 2048,
17
+ AnyHiddenModifier = 31,
18
+ HiddenInPackageOrWithoutLevel = 17,
19
+ HiddenInTypeOrWithoutLevel = 3
15
20
  }
@@ -0,0 +1,83 @@
1
+ import { PackageDialect, PackageLocale } from '../common/index.js';
2
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
3
+ import * as tree from '../tree/index.js';
4
+ import { Analyzer } from './Analyzer.js';
5
+ import { ModifierFlags } from './ModifierFlags.js';
6
+ declare enum PackageMemberDeclarationKind {
7
+ TranslationsDeclaration = 0,
8
+ AliasTypeDeclaration = 1,
9
+ MemberGroupDeclaration = 2,
10
+ TypeExtensionDeclaration = 3,
11
+ ConstructorDeclaration = 4,
12
+ EntryPointDeclaration = 5,
13
+ FunctionDeclaration = 6,
14
+ FunctionTypeDeclaration = 7,
15
+ ObjectTypeDeclaration = 8,
16
+ PlainObjectTypeDeclaration = 9,
17
+ AspectTypeDeclaration = 10,
18
+ VariableDeclaration = 11,
19
+ VariableGetterDeclaration = 12,
20
+ VariableSetterDeclaration = 13,
21
+ VariantTypeDeclaration = 14,
22
+ InvalidDeclaration = 15
23
+ }
24
+ type TypeMemberDeclarationKind = tree.TypeMemberDeclaration['kind'];
25
+ export declare enum DeclarationWithTypeMembersKind {
26
+ ObjectType = 0,
27
+ PlainObjectType = 1,
28
+ AspectType = 2,
29
+ VariantType = 3,
30
+ AliasType = 4,
31
+ TypeExtension = 5
32
+ }
33
+ export declare class ModifierValidator {
34
+ private readonly _analyzer;
35
+ private readonly _diagnostics;
36
+ private readonly _locale;
37
+ private readonly _dialect;
38
+ static readonly allowedPackageMemberHidingModifiers: number;
39
+ static readonly allowedPackageMemberModifiers: number;
40
+ static readonly allowedModifiersByPackageMemberDeclarationKind: {
41
+ [T in PackageMemberDeclarationKind]: ModifierFlags;
42
+ };
43
+ static readonly allowedTypeMemberHidingModifiers: number;
44
+ static readonly allowedTypeMemberModifiers: number;
45
+ static readonly allowedModifiersByTypeMemberDeclarationKind: {
46
+ [T in TypeMemberDeclarationKind]: ModifierFlags;
47
+ };
48
+ constructor(_analyzer: Analyzer, _diagnostics: DiagnosticAcceptor, _locale: PackageLocale, _dialect: PackageDialect);
49
+ static validatePackageVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
50
+ static validateFieldAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
51
+ static validateIndexedElementAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
52
+ static validateDereferencedVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
53
+ validateTopLevelPackageMembers(list: tree.PackageMemberDeclarationList): void;
54
+ validateTopLevelTypeMembers(list: tree.TypeMemberDeclarationList, declarationWithMembersKind: DeclarationWithTypeMembersKind, isTypeMarkedAbstract: boolean, isTypeMarkedBasic: boolean): void;
55
+ private static validateTypeMemberAccessorsHaveConsistentModifiers;
56
+ private static validatePackageMemberSetterHasMoreRestrictiveHidingLevel;
57
+ private static validateTypeMemberSetterHasMoreRestrictiveHidingLevel;
58
+ private static reportMoreRestrictiveHidingLevelIsRequired;
59
+ private static reportSetterMustHaveSameModifiersAsGetter;
60
+ private validatePackageMembers;
61
+ private validatePackageMemberModifierList;
62
+ private validatePackageMemberCanBePlacedInGroupWithModifiers;
63
+ private validatePackageConstructorDeclaration;
64
+ private validatePackageEntryPointDeclaration;
65
+ private validateTranslationsDeclaration;
66
+ private validateTypeMembers;
67
+ private validateTypeMemberModifierList;
68
+ private validateTypeMemberCanBePlacedInGroupWithModifiers;
69
+ private typeMemberAllowsAbstractModifier;
70
+ private typeMemberAllowsBasicModifier;
71
+ private typeMemberAllowsOverrideModifier;
72
+ private typeMemberAllowsStaticModifier;
73
+ private reportDuplicateModifier;
74
+ private reportDuplicateHiddenModifier;
75
+ private reportDeclarationCanNotBePlacedInGroupWithModifier;
76
+ private reportModifierCanNotBeUsedWithAnotherModifier;
77
+ private reportModifierIsNotAllowedHere;
78
+ private displayModifierNode;
79
+ private displayModifierFlag;
80
+ private displayModifier;
81
+ private forEachModifierFlag;
82
+ }
83
+ export {};
@@ -0,0 +1,22 @@
1
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
2
+ import { OriginalTypeEntityMembers } from '../entities/TypeEntityMembers.js';
3
+ import { Analyzer } from './Analyzer.js';
4
+ export declare class TypeMemberConflictsValidator {
5
+ private readonly _analyzer;
6
+ private readonly _members;
7
+ private readonly _diagnostics;
8
+ constructor(_analyzer: Analyzer, _members: OriginalTypeEntityMembers, _diagnostics: DiagnosticAcceptor);
9
+ validate(): void;
10
+ private validateNamedMembers;
11
+ private validateNamedMembersWithoutIsStaticCheck;
12
+ private validateMethodsWithSameName;
13
+ private validateConstructors;
14
+ private validateDestructors;
15
+ private validateOperators;
16
+ private validateIndexers;
17
+ private validateDereferenceOperators;
18
+ private validateMembersWithoutTypeParametersInSignature;
19
+ private reportNameConflictDiagnosticsForAllEntities;
20
+ private reportNameConflictDiagnostic;
21
+ private getDiagnosticLocation;
22
+ }
@@ -0,0 +1,8 @@
1
+ export declare class ArrayUtils {
2
+ /**
3
+ * Удаляет элемент из массива по заданному индексу.
4
+ *
5
+ * Работает быстрее, чем `array.splice(index, 1)`, и не выделяет память для массива удалённых элементов.
6
+ */
7
+ static removeElement<T>(array: T[], index: number): void;
8
+ }
@@ -1,4 +1,5 @@
1
1
  export * from './AccessKind.js';
2
+ export * from './ArrayUtils.js';
2
3
  export * from './ArtelFileCheck.js';
3
4
  export * from './Cached.js';
4
5
  export * from './CancellationToken.js';
@@ -114,35 +114,63 @@ export declare enum DiagnosticCode {
114
114
  IncorrectBodyOfBasicAliasTypeMethod = 276,
115
115
  TheFollowingDeclarationsAreNotTranslated0 = 277,
116
116
  TheFollowingDeclarationAreNotTranslated0And1More = 278,
117
- OperatorFunctionMustNotBeStatic = 279,
118
- OperatorFunction0MustNotHaveParameters = 280,
119
- OperatorFunction0MustHaveOneParameter = 281,
120
- OperatorFunction0MustHaveNoMoreThanOneParameter = 282,
121
- CorrespondingBasicTypeMemberNotFound = 283,
122
- ConstructorCannotBeDeclaredAsBasic = 284,
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,
117
+ OperatorFunction0MustNotHaveParameters = 279,
118
+ OperatorFunction0MustHaveOneParameter = 280,
119
+ OperatorFunction0MustHaveNoMoreThanOneParameter = 281,
120
+ CorrespondingBasicTypeMemberNotFound = 282,
121
+ AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 283,
122
+ TagNotFound = 284,
123
+ TypeOrFunctionNameExpected = 285,
124
+ PackageNameOrAliasExpected = 286,
125
+ ExpressionCanBeNone = 287,
126
+ TargetVariableExpressionInTheAssignmentStatementCannotContainQuestionOperator = 288,
127
+ UnreachableCode = 289,
128
+ RecursionOccurredWhileCalculatingTheTypeOfTheExpression = 290,
129
+ RecursionOccurredWhileInferringTheTypeOfTheVariable = 291,
130
+ ScopeAlreadyContainsDeclarationWithTheSameName = 292,
131
+ ScopeAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 293,
132
+ ParameterName0ConflictsWithAutomaticallyGeneratedVariableName = 294,
133
+ PackageAlreadyContainsDeclarationWithTheSameName = 295,
134
+ PackageAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 296,
135
+ PackageAlreadyContainsTypeWithTheSameNameAndSameOrIntersectingTypeParameterCount = 297,
136
+ PackageAliasWithTheSameNameAlreadyExits = 298,
137
+ PackageCanHaveOnlyEntryPoint = 299,
138
+ PackageCanHaveOnlyOneConstructor = 300,
139
+ TypeAlreadyContainsDeclarationWithTheSameName = 301,
140
+ TypeAlreadyContainsMethodWithTheSameNameAndParameterTypes = 302,
141
+ TypeAlreadyContainsConstructorWithTheSameParameterTypes = 303,
142
+ TypeAlreadyContainsOperatorFunctionWithTheSameParameterTypes = 304,
143
+ TypeAlreadyContainsIndexerWithTheSameParameterTypes = 305,
144
+ TypeCanHaveOnlyOneDestructor = 306,
145
+ TypeCanHaveOnlyOneDereferenceOperator = 307,
146
+ VariableIsUsedBeforeItsDeclaration = 308,
147
+ VariableMayNotHasBeenAssignedBeforeUsage = 309,
148
+ NotAllCodePathsReturnAValueAndResultLocalVariableMayNotHasBeenAssigned = 310,
149
+ WriteFunctionHasNoCorrespondingReadFunction = 311,
150
+ TypeCanNotHaveMultipleBaseObjectTypes = 312,
151
+ TypeThatIsNotMarkedAsBasicCanNotBeUsedAsBaseType = 313,
152
+ PlainObjectTypeCanNotBeUsedAsBaseType = 314,
153
+ ThisTypeIsAlreadyListedInBaseTypeList = 315,
154
+ OnlyObjectAndAspectTypesCanBeUsedAsBaseTypes = 316,
155
+ PlainObjectTypeCanHaveOnlyAspectsAsBaseTypes = 317,
156
+ AspectTypeCanHaveOnlyAspectsAsBaseTypes = 318,
157
+ ModifierListAlreadyContains0Modifier = 319,
158
+ ModifierListOfOuterDeclarationGroupAlreadyContains0Modifier = 320,
159
+ _0ModifierIsNotAllowedHere = 321,
160
+ DeclarationCanNotBePlacedInGroupHaving0Modifier = 322,
161
+ PackageConstructorDeclarationCanNotHaveModifiers = 323,
162
+ PackageEntryPointDeclarationCanNotHaveModifiers = 324,
163
+ TranslationsCanNotHaveModifiers = 325,
164
+ AbstractModifierCanOnlyBeUsedInAbstractObjectTypes = 326,
165
+ BasicModifierCanOnlyBeUsedInObjectTypesAspectTypesAndTypeAliases = 327,
166
+ OverrideModifierCanOnlyBeUsedInObjectAndAspectTypes = 328,
167
+ _0ModifierCanNotBeUsedWith1Modifier = 329,
168
+ VariantDeclarationCanNotHaveHiddenModifier = 330,
169
+ BasicModifierCanOnlyBeAppliedToObjectTypes = 331,
170
+ AbstractModifierCanOnlyBeAppliedToObjectTypes = 332,
171
+ NotBasicObjectTypesCanNotHaveBasicMembers = 333,
172
+ WriteFunctionMustHaveTheSameModifiersAsReadFunction = 334,
173
+ WriteFunctionMustHaveTheSameOrMoreRestrictiveHidingLevelThenReadFunction = 335,
146
174
  CannotFindTsLibDirectoryBaseSearchPaths0 = 401,
147
175
  SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 402,
148
176
  ProgramWithoutMainPackageCannotBeCompiled = 403,
@@ -17,6 +17,7 @@ export interface DereferenceOperatorEntity {
17
17
  markedAbstract(): boolean;
18
18
  getTags(): readonly Tag[];
19
19
  getOverriddenMembers(): readonly types.DereferenceOperator[];
20
+ ensureAllDiagnosticsReported?(): void;
20
21
  }
21
22
  export type DereferenceOperatorEntityDefinition = {
22
23
  kind: DefinitionKind.Source;
@@ -32,6 +33,7 @@ export declare class DereferenceOperatorDeclarationEntity implements Dereference
32
33
  private readonly _getterOrSetterDeclaration;
33
34
  private readonly _overriddenMembers;
34
35
  private _modifierFlags;
36
+ private _hasReportedAllDiagnostics;
35
37
  private get modifierFlags();
36
38
  constructor(analyzer: Analyzer, getterDeclaration: DereferencedVariableGetterDeclaration | undefined, setterDeclaration: DereferencedVariableSetterDeclaration | undefined);
37
39
  getType(): types.Type;
@@ -46,4 +48,5 @@ export declare class DereferenceOperatorDeclarationEntity implements Dereference
46
48
  markedAbstract(): boolean;
47
49
  getTags(): readonly Tag[];
48
50
  getOverriddenMembers(): readonly types.DereferenceOperator[];
51
+ ensureAllDiagnosticsReported(): void;
49
52
  }
@@ -18,6 +18,7 @@ export interface IndexerEntity {
18
18
  markedAbstract(): boolean;
19
19
  getTags(): readonly Tag[];
20
20
  getOverriddenMembers(): readonly types.Indexer[];
21
+ ensureAllDiagnosticsReported?(): void;
21
22
  }
22
23
  export type IndexerEntityDefinition = {
23
24
  kind: DefinitionKind.Source;
@@ -39,6 +40,7 @@ export declare class IndexerDeclarationEntity implements SourceIndexerEntity {
39
40
  private readonly _parameters;
40
41
  private readonly _overriddenMembers;
41
42
  private _modifierFlags;
43
+ private _hasReportedAllDiagnostics;
42
44
  private get parameters();
43
45
  private get modifierFlags();
44
46
  constructor(analyzer: Analyzer, getterDeclaration: IndexedElementGetterDeclaration | undefined, setterDeclaration: IndexedElementSetterDeclaration | undefined);
@@ -56,5 +58,6 @@ export declare class IndexerDeclarationEntity implements SourceIndexerEntity {
56
58
  markedAbstract(): boolean;
57
59
  getTags(): readonly Tag[];
58
60
  getOverriddenMembers(): readonly types.Indexer[];
61
+ ensureAllDiagnosticsReported(): void;
59
62
  private createParameters;
60
63
  }
@@ -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 { AnonymousStructuredTypeDeclaration, PackageStructuredTypeDeclaration } from '../tree/index.js';
4
+ import * as tree from '../tree/index.js';
5
5
  import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { NamedTypeMemberEntity, OriginalTypeEntityMembers } from './TypeEntityMembers.js';
@@ -24,7 +24,7 @@ interface IStructuredTypeEntity extends ITypeEntity {
24
24
  getTypeParameters(): readonly TypeParameterEntity[];
25
25
  getMembers(): OriginalTypeEntityMembers;
26
26
  getDefinition(): StructuredTypeEntityDefinition;
27
- isBasic(): boolean;
27
+ markedBasic(): boolean;
28
28
  isAbstract(): boolean;
29
29
  isAspect(): boolean;
30
30
  isRefObject(): boolean;
@@ -50,7 +50,7 @@ export type StructuredTypeEntityDefinition = {
50
50
  } | {
51
51
  kind: DefinitionKind.TypeScript;
52
52
  };
53
- type StructuredTypeEntityDefinitionNode = PackageStructuredTypeDeclaration | AnonymousStructuredTypeDeclaration;
53
+ type StructuredTypeEntityDefinitionNode = tree.PackageStructuredTypeDeclaration | tree.AnonymousStructuredTypeDeclaration;
54
54
  /**
55
55
  * Класс позволяет работать с базовым объектным типом, исключая циклы наследования.
56
56
  *
@@ -122,14 +122,14 @@ export declare class PackageStructuredTypeDeclarationEntity implements PackageSt
122
122
  private readonly _analyzer;
123
123
  private readonly _node;
124
124
  private readonly _data;
125
- constructor(analyzer: Analyzer, node: PackageStructuredTypeDeclaration);
125
+ constructor(analyzer: Analyzer, node: tree.PackageStructuredTypeDeclaration);
126
126
  getNaming(): EntityNaming;
127
127
  getName(): Name;
128
128
  getContainingPackage(): PackageEntity;
129
129
  getTypeParameters(): readonly TypeParameterEntity[];
130
130
  getMembers(): OriginalTypeEntityMembers;
131
131
  getDefinition(): StructuredTypeEntityDefinition;
132
- isBasic(): boolean;
132
+ markedBasic(): boolean;
133
133
  isAbstract(): boolean;
134
134
  isAspect(): boolean;
135
135
  isRefObject(): boolean;
@@ -146,19 +146,18 @@ export declare class SourcePackageStructuredTypeDeclarationData {
146
146
  private readonly _node;
147
147
  private readonly _entity;
148
148
  private readonly _typeParameters;
149
- private readonly _baseObjectType;
150
- private readonly _baseAspectTypes;
149
+ private readonly _baseTypes;
151
150
  private readonly _members;
152
151
  private _modifierFlags;
153
152
  private get modifierFlags();
154
- constructor(analyzer: Analyzer, node: PackageStructuredTypeDeclaration, entity: PackageStructuredTypeEntity);
153
+ constructor(analyzer: Analyzer, node: tree.PackageStructuredTypeDeclaration, entity: PackageStructuredTypeEntity);
155
154
  getNaming(): EntityNaming;
156
155
  getName(): Name;
157
156
  getContainingPackage(): PackageEntity;
158
157
  getTypeParameters(): readonly TypeParameterEntity[];
159
158
  getMembers(): OriginalTypeEntityMembers;
160
159
  getDefinition(): StructuredTypeEntityDefinition;
161
- isBasic(): boolean;
160
+ markedBasic(): boolean;
162
161
  isAbstract(): boolean;
163
162
  isAspect(): boolean;
164
163
  isRefObject(): boolean;
@@ -169,6 +168,7 @@ export declare class SourcePackageStructuredTypeDeclarationData {
169
168
  isHidden(): EntityHidingLevel | undefined;
170
169
  getTags(): readonly Tag[];
171
170
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
171
+ private getBaseTypes;
172
172
  }
173
173
  export declare class AnonymousStructuredTypeDeclarationEntity implements AnonymousStructuredTypeEntity {
174
174
  private readonly _analyzer;
@@ -176,15 +176,14 @@ export declare class AnonymousStructuredTypeDeclarationEntity implements Anonymo
176
176
  readonly kind = EntityKind.Type;
177
177
  readonly typeEntityKind = TypeEntityKind.Structured;
178
178
  readonly subkind = "anonymous";
179
- private readonly _baseObjectType;
180
- private readonly _baseAspectTypes;
179
+ private readonly _baseTypes;
181
180
  private readonly _members;
182
- constructor(_analyzer: Analyzer, _node: AnonymousStructuredTypeDeclaration);
181
+ constructor(_analyzer: Analyzer, _node: tree.AnonymousStructuredTypeDeclaration);
183
182
  getNaming(): EntityNaming;
184
183
  getTypeParameters(): readonly TypeParameterEntity[];
185
184
  getMembers(): OriginalTypeEntityMembers;
186
185
  getDefinition(): StructuredTypeEntityDefinition;
187
- isBasic(): boolean;
186
+ markedBasic(): boolean;
188
187
  isAbstract(): boolean;
189
188
  isAspect(): boolean;
190
189
  isRefObject(): boolean;
@@ -196,6 +195,7 @@ export declare class AnonymousStructuredTypeDeclarationEntity implements Anonymo
196
195
  getTags(): readonly Tag[];
197
196
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
198
197
  getContainingPackage(): PackageEntity;
198
+ private getBaseTypes;
199
199
  }
200
200
  export declare class UnfinishedIntrinsicPackageStructuredTypeEntity {
201
201
  private readonly _unfinishedValue;
@@ -133,6 +133,7 @@ export declare class ComputedPackageVariableDeclarationEntity implements Package
133
133
  private readonly _setterDeclaration;
134
134
  private readonly _getterOrSetterDeclaration;
135
135
  private _modifierFlags;
136
+ private _hasReportedAllDiagnostics;
136
137
  private get modifierFlags();
137
138
  constructor(analyzer: Analyzer, getterDeclaration: tree.PackageVariableGetterDeclaration | undefined, setterDeclaration: tree.PackageVariableSetterDeclaration | undefined);
138
139
  getName(): Name;
@@ -145,6 +146,7 @@ export declare class ComputedPackageVariableDeclarationEntity implements Package
145
146
  getSetter(): SetterEntity | undefined;
146
147
  isSpecial(): SpecialVariableEntityInfo | undefined;
147
148
  getTags(): readonly Tag[];
149
+ ensureAllDiagnosticsReported(): void;
148
150
  }
149
151
  export declare class FieldDeclarationEntity implements FieldEntity {
150
152
  readonly kind = EntityKind.Variable;
@@ -184,6 +186,7 @@ export declare class ComputedFieldDeclarationEntity implements FieldEntity {
184
186
  private readonly _getterOrSetterDeclaration;
185
187
  private readonly _overriddenMembers;
186
188
  private _modifierFlags;
189
+ private _hasReportedAllDiagnostics;
187
190
  private get modifierFlags();
188
191
  constructor(analyzer: Analyzer, getterDeclaration: tree.FieldGetterDeclaration | undefined, setterDeclaration: tree.FieldSetterDeclaration | undefined);
189
192
  getName(): Name;
@@ -202,6 +205,7 @@ export declare class ComputedFieldDeclarationEntity implements FieldEntity {
202
205
  getTags(): readonly Tag[];
203
206
  getOverriddenMembers(): readonly types.Field[];
204
207
  isVariant(): boolean;
208
+ ensureAllDiagnosticsReported(): void;
205
209
  }
206
210
  export declare class VariantDeclarationEntity implements FieldEntity {
207
211
  readonly kind = EntityKind.Variable;
@@ -105,7 +105,8 @@ export declare namespace TypeMemberEntity {
105
105
  *
106
106
  * Объявление не имеет реализации, если выполняется одно из условий:
107
107
  * - объявление помечено модификатором "абстрактное"
108
- * - объявление является является членом аспекта, не помечено модификатором "базовое" и не является всеобщим.
108
+ * - объявление является является членом аспекта, не помечено модификатором "базовое", не является всеобщим и не
109
+ * скрыто в типе.
109
110
  */
110
111
  function isAbstract(entity: TypeMemberEntity): boolean;
111
112
  }
@@ -10,7 +10,7 @@ declare abstract class SourcePackageBase {
10
10
  get compilation(): Compilation;
11
11
  protected abstract get asPackage(): SourcePackage;
12
12
  abstract get locale(): PackageLocale;
13
- abstract get dialect(): PackageDialect | undefined;
13
+ abstract get dialect(): PackageDialect;
14
14
  constructor(uri: Uri, name: PackageName, sourceFiles: readonly SourceFile[]);
15
15
  /**
16
16
  * Данный метод должен вызываться только из конструктора компиляции (Compilation).
@@ -22,7 +22,7 @@ export declare class ProgramPackage extends SourcePackageBase {
22
22
  readonly configuration: ProgramPackageConfiguration;
23
23
  protected get asPackage(): SourcePackage;
24
24
  get locale(): PackageLocale;
25
- get dialect(): PackageDialect | undefined;
25
+ get dialect(): PackageDialect;
26
26
  constructor(uri: Uri, configuration: ProgramPackageConfiguration, sourceFiles: readonly SourceFile[]);
27
27
  }
28
28
  export declare class TranslationPackage extends SourcePackageBase {
@@ -30,7 +30,7 @@ export declare class TranslationPackage extends SourcePackageBase {
30
30
  readonly configuration: TranslationPackageConfiguration;
31
31
  protected get asPackage(): SourcePackage;
32
32
  get locale(): PackageLocale;
33
- get dialect(): PackageDialect | undefined;
33
+ get dialect(): PackageDialect;
34
34
  constructor(uri: Uri, configuration: TranslationPackageConfiguration, sourceFiles: SourceFile[]);
35
35
  }
36
36
  export type PackageConfiguration = ProgramPackageConfiguration | TranslationPackageConfiguration;
@@ -39,14 +39,14 @@ export declare class TranslationPackageConfiguration {
39
39
  readonly translatedName: PackageName;
40
40
  readonly translationLocale: PackageLocale;
41
41
  readonly locale: PackageLocale;
42
- readonly dialect?: PackageDialect | undefined;
42
+ readonly dialect: PackageDialect;
43
43
  get name(): PackageName;
44
- constructor(targetPackageName: PackageName, translatedName: PackageName, translationLocale: PackageLocale, locale: PackageLocale, dialect?: PackageDialect | undefined);
44
+ constructor(targetPackageName: PackageName, translatedName: PackageName, translationLocale: PackageLocale, locale: PackageLocale, dialect?: PackageDialect);
45
45
  }
46
46
  export declare class ProgramPackageConfiguration {
47
47
  readonly name: PackageName;
48
48
  readonly locale: PackageLocale;
49
- readonly dialect?: PackageDialect | undefined;
49
+ readonly dialect: PackageDialect;
50
50
  readonly version?: string | undefined;
51
51
  readonly targetPlatform: TargetPlatformConfig;
52
52
  readonly requiredPackages: readonly RequiredPackageConfig[];
@@ -54,7 +54,7 @@ export declare class ProgramPackageConfiguration {
54
54
  readonly jsProjectRootUri?: Uri | undefined;
55
55
  readonly packageImportLocales: readonly PackageImportLocaleConfig[];
56
56
  readonly automaticallyImportedPackages?: readonly PackageName[] | undefined;
57
- constructor(name: PackageName, locale: PackageLocale, dialect?: PackageDialect | undefined, version?: string | undefined, targetPlatform?: TargetPlatformConfig, requiredPackages?: readonly RequiredPackageConfig[], implementedInterfacePackageName?: PackageName | undefined, jsProjectRootUri?: Uri | undefined, packageImportLocales?: readonly PackageImportLocaleConfig[], automaticallyImportedPackages?: readonly PackageName[] | undefined);
57
+ constructor(name: PackageName, locale: PackageLocale, dialect?: PackageDialect, version?: string | undefined, targetPlatform?: TargetPlatformConfig, requiredPackages?: readonly RequiredPackageConfig[], implementedInterfacePackageName?: PackageName | undefined, jsProjectRootUri?: Uri | undefined, packageImportLocales?: readonly PackageImportLocaleConfig[], automaticallyImportedPackages?: readonly PackageName[] | undefined);
58
58
  isInterfacePackage(): boolean;
59
59
  }
60
60
  export declare class PackageName {
@@ -13,7 +13,7 @@ export declare class NodeSemanticInfoService {
13
13
  static ofTokenOrKeyword(analyzer: Analyzer, tokenOrKeyword: TokenOrKeyword, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
14
14
  static ofDefaultMatchExpression(analyzer: Analyzer, node: tree.DefaultMatchExpression): NodeSemanticInfo | undefined;
15
15
  static ofNonKeywordIdentifier(analyzer: Analyzer, node: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
16
- static ofProperty(analyzer: Analyzer, node: tree.MemberAccessExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
16
+ static ofMember(analyzer: Analyzer, node: tree.MemberAccessExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
17
17
  static ofQualifiedNameQualifier(analyzer: Analyzer, node: tree.QualifiedName, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
18
18
  static ofNamedTypeSpecifierNameQualifier(analyzer: Analyzer, node: tree.NamedTypeSpecifier, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
19
19
  static ofTagNameQualifier(analyzer: Analyzer, node: tree.Tag, qualifier: tree.Identifier, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
@@ -1163,9 +1163,9 @@ export declare class MemberAccessExpression extends BaseNode {
1163
1163
  ];
1164
1164
  get expression(): Expression;
1165
1165
  get dotToken(): Token<TokenKind.Dot>;
1166
- get propertyName(): Identifier;
1166
+ get memberName(): Identifier;
1167
1167
  protected get thisAsNode(): Node;
1168
- constructor(expression: Expression, dotToken: Token<TokenKind.Dot>, propertyName: Identifier);
1168
+ constructor(expression: Expression, dotToken: Token<TokenKind.Dot>, memberName: Identifier);
1169
1169
  toRed(rangeStart: number, parent: red.ExpressionParent): red.MemberAccessExpression;
1170
1170
  }
1171
1171
  export declare class ReferenceExpression extends BaseNode {
@@ -1114,7 +1114,7 @@ export declare class MemberAccessExpression extends BaseNode {
1114
1114
  get children(): readonly [Expression, Token<green.TokenKind.Dot>, Identifier];
1115
1115
  get expression(): Expression;
1116
1116
  get dotToken(): Token<TokenKind.Dot>;
1117
- get propertyName(): Identifier;
1117
+ get memberName(): Identifier;
1118
1118
  protected get thisAsNode(): Node;
1119
1119
  constructor(green: green.MemberAccessExpression, rangeStart: number, parent: ExpressionParent);
1120
1120
  private createChildren;
@@ -155,7 +155,7 @@ export declare class TsGlobalClassOrInterfaceEntity implements PackageStructured
155
155
  getTypeParameters(): readonly TypeParameterEntity[];
156
156
  getMembers(): OriginalTypeEntityMembers;
157
157
  getDefinition(): StructuredTypeEntityDefinition;
158
- isBasic(): boolean;
158
+ markedBasic(): boolean;
159
159
  isAbstract(): boolean;
160
160
  isAspect(): boolean;
161
161
  isRefObject(): boolean;
@@ -186,7 +186,7 @@ export declare class SourceAndTsGlobalClassOrInterfaceMergeEntity implements Pac
186
186
  getTypeParameters(): readonly TypeParameterEntity[];
187
187
  getMembers(): OriginalTypeEntityMembers;
188
188
  getDefinition(): StructuredTypeEntityDefinition;
189
- isBasic(): boolean;
189
+ markedBasic(): boolean;
190
190
  isAbstract(): boolean;
191
191
  isAspect(): boolean;
192
192
  isRefObject(): boolean;
@@ -213,7 +213,7 @@ export declare class TsTypeLiteralEntity implements AnonymousStructuredTypeEntit
213
213
  getTypeParameters(): readonly TypeParameterEntity[];
214
214
  getMembers(): OriginalTypeEntityMembers;
215
215
  getDefinition(): StructuredTypeEntityDefinition;
216
- isBasic(): boolean;
216
+ markedBasic(): boolean;
217
217
  isAbstract(): boolean;
218
218
  isAspect(): boolean;
219
219
  isRefObject(): boolean;
@@ -248,7 +248,7 @@ export declare class TsNamedTypeLiteralEntity implements PackageStructuredTypeEn
248
248
  getTypeParameters(): readonly TypeParameterEntity[];
249
249
  getMembers(): OriginalTypeEntityMembers;
250
250
  getDefinition(): StructuredTypeEntityDefinition;
251
- isBasic(): boolean;
251
+ markedBasic(): boolean;
252
252
  isAbstract(): boolean;
253
253
  isAspect(): boolean;
254
254
  isRefObject(): boolean;
@@ -277,7 +277,7 @@ export declare class SourceAndTsNamedTypeLiteralMergeEntity implements PackageSt
277
277
  getTypeParameters(): readonly TypeParameterEntity[];
278
278
  getMembers(): OriginalTypeEntityMembers;
279
279
  getDefinition(): StructuredTypeEntityDefinition;
280
- isBasic(): boolean;
280
+ markedBasic(): boolean;
281
281
  isAbstract(): boolean;
282
282
  isAspect(): boolean;
283
283
  isRefObject(): boolean;
@@ -16,6 +16,8 @@ export declare class StructuredType implements IType {
16
16
  isAspect(): boolean;
17
17
  isRefObject(): boolean;
18
18
  isPlainObject(): boolean;
19
+ markedBasic(): boolean;
20
+ isAbstract(): boolean;
19
21
  equals(other: Type): boolean;
20
22
  getEntity(): StructuredTypeEntity;
21
23
  getBaseObjectType(): Type | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artel/artc",
3
- "version": "0.6.25230",
3
+ "version": "0.6.25231",
4
4
  "description": "Артель Компилятор | Artel Compiler",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",