@artel/artc 0.6.25232 → 0.6.25234

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.
@@ -483,19 +483,23 @@ declare class DefaultConstructors {
483
483
  }
484
484
  declare class OverriddenMember {
485
485
  private readonly _analyzer;
486
- private readonly _fieldFinder;
487
- private readonly _methodFinder;
486
+ private readonly _namedMemberFinder;
488
487
  private readonly _operatorFinder;
489
488
  private readonly _indexerFinder;
490
489
  private readonly _dereferenceOperatorFinder;
490
+ private readonly _isField;
491
+ private readonly _isMethod;
492
+ private readonly _isOperator;
493
+ private readonly _isIndexer;
494
+ private readonly _isDereferenceOperator;
491
495
  private readonly _overriddenAndShadowedFields;
492
496
  private readonly _overriddenAndShadowedMethods;
493
497
  private readonly _overriddenAndShadowedOperators;
494
498
  private readonly _overriddenAndShadowedIndexers;
495
499
  private readonly _overriddenAndShadowedDereferenceOperators;
496
500
  constructor(_analyzer: Analyzer);
497
- getOverriddenAndShadowedFields(node: tree.FieldDeclaration | FieldAccessorDeclaration): OverriddenAndShadowedMembers<types.Field>;
498
- getOverriddenAndShadowedMethods(node: tree.MethodDeclaration): OverriddenAndShadowedMembers<types.Method>;
501
+ getOverriddenAndShadowedFields(node: tree.FieldDeclaration | FieldAccessorDeclaration): OverriddenAndShadowedMembers<types.Field, types.NamedTypeMember>;
502
+ getOverriddenAndShadowedMethods(node: tree.MethodDeclaration): OverriddenAndShadowedMembers<types.Method, types.NamedTypeMember>;
499
503
  getOverriddenAndShadowedOperators(node: tree.OperatorDeclaration): OverriddenAndShadowedMembers<types.Operator>;
500
504
  getOverriddenAndShadowedIndexers(node: IndexedElementAccessorDeclaration): OverriddenAndShadowedMembers<types.Indexer>;
501
505
  getOverriddenAndShadowedDereferenceOperators(node: DereferencedVariableAccessorDeclaration): OverriddenAndShadowedMembers<types.DereferenceOperator>;
@@ -503,8 +507,7 @@ declare class OverriddenMember {
503
507
  getEntityTypeOrReturnType(entity: OverridableTypeMemberEntity): types.Type;
504
508
  getMemberTypeOrReturnType(member: OverridableTypeMember): types.Type;
505
509
  private findOverriddenMembers;
506
- private findOverriddenOrShadowedFieldInType;
507
- private findOverriddenOrShadowedMethodInType;
510
+ private findOverriddenOrShadowedNamedMemberInType;
508
511
  private findOverriddenOrShadowedOperatorInType;
509
512
  private findOverriddenOrShadowedIndexerInType;
510
513
  private findOverriddenOrShadowedDereferenceOperatorInType;
@@ -516,23 +519,26 @@ declare class OverriddenMember {
516
519
  private entityCanOverrideOrShadow;
517
520
  }
518
521
  export declare enum ShadowReason {
519
- BaseMemberCanNotBeOverridden = 0,
520
- NoOverrideModifier = 1,
521
- NoOverrideModifierAndTypeOrReturnTypeMismatch = 2,
522
- TypeOrReturnTypeMismatch = 3
522
+ BaseMemberHasDifferentKind = 0,
523
+ BaseMemberCanNotBeOverridden = 1,
524
+ NoOverrideModifier = 2,
525
+ NoOverrideModifierAndTypeOrReturnTypeMismatch = 3,
526
+ TypeOrReturnTypeMismatch = 4
523
527
  }
524
528
  export declare class ShadowedMemberInfo<T extends OverridableTypeMember = OverridableTypeMember> {
525
529
  readonly value: T;
526
530
  readonly shadowReason: ShadowReason;
527
531
  constructor(value: T, shadowReason: ShadowReason);
528
532
  }
529
- export declare class OverriddenAndShadowedMembers<T extends OverridableTypeMember = OverridableTypeMember> {
530
- readonly overriddenMembers: readonly T[];
531
- readonly shadowedMembers: readonly ShadowedMemberInfo<T>[];
532
- constructor(overriddenMembers: readonly T[], shadowedMembers: readonly ShadowedMemberInfo<T>[]);
533
+ export declare class OverriddenAndShadowedMembers<TOverriddenMember extends OverridableTypeMember = OverridableTypeMember, TShadowedMember extends OverridableTypeMember = TOverriddenMember> {
534
+ readonly overriddenMembers: readonly TOverriddenMember[];
535
+ readonly shadowedMembers: readonly ShadowedMemberInfo<TShadowedMember>[];
536
+ constructor(overriddenMembers: readonly TOverriddenMember[], shadowedMembers: readonly ShadowedMemberInfo<TShadowedMember>[]);
533
537
  }
534
538
  export type OverridableTypeMemberEntity = e.FieldEntity | e.MethodEntity | e.OperatorEntity | e.IndexerEntity | e.DereferenceOperatorEntity;
539
+ export declare function isOverridableTypeMemberEntity(entity: e.TypeMemberEntity): entity is OverridableTypeMemberEntity;
535
540
  export type OverridableTypeMember = types.Field | types.Method | types.Operator | types.Indexer | types.DereferenceOperator;
541
+ export declare function isOverridableTypeMember(entity: types.TypeMember): entity is OverridableTypeMember;
536
542
  declare class Tags {
537
543
  readonly _analyzer: Analyzer;
538
544
  private readonly _tags;
@@ -656,9 +662,9 @@ declare class TypeUtils {
656
662
  getCommonObjectAndAspectTypesOfUnion(unionType: types.UnionType): readonly types.StructuredType[];
657
663
  removeBaseTypesInPlace(types: types.Type[]): void;
658
664
  removeDerivedTypesInPlace(types: types.Type[]): void;
659
- getBaseTypes(type: types.Type): readonly types.Type[];
660
- getBaseTypesRecursively(type: types.Type): readonly types.Type[];
661
- private collectBaseTypesRecursively;
665
+ getBaseOrAliasedTypes(type: types.Type): readonly types.Type[];
666
+ getBaseAndAliasedTypesRecursively(type: types.Type): readonly types.Type[];
667
+ private collectBaseAndAliasedTypesRecursively;
662
668
  private getBaseTypesForCommonTypesSearch;
663
669
  private addTypeAndCollectAllBaseTypes;
664
670
  private addTypeIfUnique;
@@ -687,12 +693,17 @@ declare class ConflictsCheck {
687
693
  * каждая из них конфликтует с функций 3, которая может принимать от 1 до 2 параметров типа.
688
694
  */
689
695
  doFunctionSignaturesConflict(function1: e.FunctionEntity, function2: e.FunctionEntity): boolean;
696
+ /**
697
+ * Метод аналогичен методу {@link doFunctionSignaturesConflict}.
698
+ */
699
+ doMethodSignaturesConflict(method1: types.Method, method2: types.Method): boolean;
690
700
  /**
691
701
  * Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
692
702
  *
693
703
  * Отношение "сущности, имеющие только параметры, конфликтуют" является транзитивным.
694
704
  */
695
705
  doSignaturesWithoutTypeParametersConflict(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature): boolean;
706
+ doTypeMemberSignaturesWithoutTypeParametersConflict(member1: TypeMemberWithoutTypeParametersInSignature, member2: TypeMemberWithoutTypeParametersInSignature): boolean;
696
707
  /**
697
708
  * Проверяет, конфликтуют ли два типа, т.е. могут ли такие типы находиться в одном пакете. Метод не сравнивает имена.
698
709
  *
@@ -702,9 +713,11 @@ declare class ConflictsCheck {
702
713
  doPackageTypesConflict(type1: e.PackageTypeEntity, type2: e.PackageTypeEntity): boolean;
703
714
  doTypeArgumentCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
704
715
  private doParametersConflict;
716
+ private doTypeMemberParametersConflict;
705
717
  private createSubstitutionMapWithStubTypes;
706
718
  }
707
719
  export type EntityWithoutTypeParametersInSignature = e.ConstructorEntity | e.DestructorEntity | e.OperatorEntity | e.IndexerEntity;
720
+ export type TypeMemberWithoutTypeParametersInSignature = types.Constructor | types.Destructor | types.Operator | types.Indexer;
708
721
  export declare class ExpressionDenotesFunctionCheckResult {
709
722
  readonly candidates: readonly WithLocalization<AccessedFunction>[];
710
723
  readonly suitableFunctions: readonly WithLocalization<AccessedFunction>[];
@@ -0,0 +1,28 @@
1
+ import { PackageDialect } from '../common/index.js';
2
+ import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
3
+ import { IEntityHidingMatcher, TypeEntityWithMembers } from '../entities/index.js';
4
+ import { Node } from '../tree/index.js';
5
+ import { Analyzer } from './Analyzer.js';
6
+ import { LocalizationContext } from './LocalizationContext.js';
7
+ export declare class BaseMemberConflictsValidator {
8
+ private readonly _analyzer;
9
+ private readonly _typeEntity;
10
+ private readonly _hidingMatcher;
11
+ private readonly _localizationContext;
12
+ private readonly _dialect;
13
+ private readonly _diagnostics;
14
+ private readonly _nodeForDiagnostic;
15
+ private _displayService;
16
+ private get displayService();
17
+ constructor(_analyzer: Analyzer, _typeEntity: TypeEntityWithMembers, _hidingMatcher: IEntityHidingMatcher, _localizationContext: LocalizationContext, _dialect: PackageDialect | undefined, _diagnostics: DiagnosticAcceptor, _nodeForDiagnostic: Node);
18
+ validate(): void;
19
+ private getAllNotShadowedNotOverriddenMembers;
20
+ private validateMemberConflictsMutatingMap;
21
+ private validateNamedMemberConflictsUsingOriginalNames;
22
+ private doTypeMembersConflict;
23
+ private reportMembersConflictDiagnostic;
24
+ private reportMembersOriginalNameConflictConflictDiagnostic;
25
+ private addOverriddenMembersRecursively;
26
+ private typeMemberMatchesHiding;
27
+ private getOriginalNameOfLeastOverriddenMember;
28
+ }
@@ -48,9 +48,7 @@ export declare class DiagnosticCollector {
48
48
  private checkReturnStatement;
49
49
  private checkYieldStatement;
50
50
  private checkPackageMemberBodyPresence;
51
- private getPackageMemberBodyRequirementReason;
52
51
  private checkTypeMemberBodyPresence;
53
- private getTypeMemberBodyRequirementReason;
54
52
  private checkIdentifierExpression;
55
53
  private checkLocalVariableUsedBeforeDeclaration;
56
54
  private checkLocalVariableIsUsedBeforeBeingAssigned;
@@ -1,6 +1,7 @@
1
- import { Name, PackageLocale } from '../common/index.js';
1
+ import { PackageLocale } from '../common/index.js';
2
2
  import { AliasTypeEntity, FunctionEntity, PackageAliasEntity, PackageEntity, PackageFunctionTypeEntity, PackageStructuredTypeEntity, PackageVariantTypeEntity, TypeOrExtensionEntity, TypeParameterEntity, VariableEntity } from '../entities/index.js';
3
3
  import { AnalyzedTranslationPackage, TranslatedTypeEntityMembers } from './AnalyzedTranslationPackage.js';
4
+ import { LocalizedName } from './Localization.js';
4
5
  export declare class LocalizationContext {
5
6
  readonly originalLocale: PackageLocale;
6
7
  private readonly _translationPackageByTranslated;
@@ -9,6 +10,6 @@ export declare class LocalizationContext {
9
10
  getTranslationPackage(packageEntity: PackageEntity): AnalyzedTranslationPackage | undefined;
10
11
  getTranslationLocale(packageEntity: PackageEntity): PackageLocale;
11
12
  getTranslatedTypeOrExtensionEntityMembers(entity: TypeOrExtensionEntity): TranslatedTypeEntityMembers | undefined;
12
- getEntityName(entity: NamedEntity): Name;
13
+ getEntityName(entity: NamedEntity): LocalizedName;
13
14
  }
14
15
  export type NamedEntity = VariableEntity | PackageVariantTypeEntity | FunctionEntity | TypeParameterEntity | PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
@@ -1,4 +1,3 @@
1
- import { PackageDialect, PackageLocale } from '../common/index.js';
2
1
  import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
3
2
  import * as tree from '../tree/index.js';
4
3
  import { Analyzer } from './Analyzer.js';
@@ -33,8 +32,6 @@ export declare enum DeclarationWithTypeMembersKind {
33
32
  export declare class ModifierValidator {
34
33
  private readonly _analyzer;
35
34
  private readonly _diagnostics;
36
- private readonly _locale;
37
- private readonly _dialect;
38
35
  static readonly allowedPackageMemberHidingModifiers: number;
39
36
  static readonly allowedPackageMemberModifiers: number;
40
37
  static readonly allowedModifiersByPackageMemberDeclarationKind: {
@@ -45,13 +42,14 @@ export declare class ModifierValidator {
45
42
  static readonly allowedModifiersByTypeMemberDeclarationKind: {
46
43
  [T in TypeMemberDeclarationKind]: ModifierFlags;
47
44
  };
48
- constructor(_analyzer: Analyzer, _diagnostics: DiagnosticAcceptor, _locale: PackageLocale, _dialect: PackageDialect);
45
+ private effectiveModifiers;
46
+ constructor(_analyzer: Analyzer, _diagnostics: DiagnosticAcceptor);
49
47
  static validatePackageVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
50
48
  static validateFieldAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
51
49
  static validateIndexedElementAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
52
50
  static validateDereferencedVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
53
51
  validateTopLevelPackageMembers(list: tree.PackageMemberDeclarationList): void;
54
- validateTopLevelTypeMembers(list: tree.TypeMemberDeclarationList, declarationWithMembersKind: DeclarationWithTypeMembersKind, isTypeMarkedAbstract: boolean, isTypeMarkedBasic: boolean): void;
52
+ validateTopLevelTypeMembers(memberList: tree.TypeMemberDeclarationList, declarationWithMembersKind: DeclarationWithTypeMembersKind, isTypeMarkedAbstract: boolean, isTypeMarkedBasic: boolean): void;
55
53
  private static validateTypeMemberAccessorsHaveConsistentModifiers;
56
54
  private static validatePackageMemberSetterHasMoreRestrictiveHidingLevel;
57
55
  private static validateTypeMemberSetterHasMoreRestrictiveHidingLevel;
@@ -76,9 +74,8 @@ export declare class ModifierValidator {
76
74
  private reportDeclarationCanNotBePlacedInGroupWithModifier;
77
75
  private reportModifierCanNotBeUsedWithAnotherModifier;
78
76
  private reportModifierIsNotAllowedHere;
77
+ private findModifier;
79
78
  private displayModifierNode;
80
- private displayModifierFlag;
81
- private displayModifier;
82
79
  private forEachModifierFlag;
83
80
  }
84
81
  export {};
@@ -5,7 +5,7 @@ export declare class ArrayUtils {
5
5
  * Работает быстрее, чем `array.splice(index, 1)`, и не выделяет память для массива удалённых элементов.
6
6
  */
7
7
  static removeElement<T>(array: T[], index: number): void;
8
- static pushElementIfUniqueComparingWithEquals<T extends WithEqualsMethod<T>>(array: T[], element: T): void;
8
+ static pushElementIfUniqueComparingWithEquals<T extends WithEqualsMethod<T>>(array: T[], element: T): boolean;
9
9
  static pushElementsIfUniqueComparingWithEquals<T extends WithEqualsMethod<T>>(array: T[], elements: readonly T[]): void;
10
10
  }
11
11
  export type WithEqualsMethod<T> = {
@@ -13,6 +13,7 @@ export declare abstract class Query<T> implements Iterable<T> {
13
13
  first<K extends T>(fn: (t: T) => t is K): K | undefined;
14
14
  first(fn: (t: T) => boolean): T | undefined;
15
15
  toMap<K, V>(keySelector: (t: T) => K, valueSelector: (t: T) => V): Map<K, V>;
16
+ toMap(): T extends readonly [infer K, infer V] ? Map<K, V> : never;
16
17
  flatMap<K>(fn: (t: T) => Iterable<K>): Query<K>;
17
18
  toArray(): T[];
18
19
  count(fn?: (t: T) => boolean): number;
@@ -184,6 +184,8 @@ export declare enum DiagnosticCode {
184
184
  OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0 = 346,
185
185
  TypeDoesNotImplementMember0 = 347,
186
186
  CanNotAccessAbstractMemberOfBaseType = 348,
187
+ TheFollowingBaseTypeMembersConflictAndMustBeOverridden0 = 349,
188
+ TheFollowingBaseTypeMembersConflictBecauseTheyHaveTheSameOriginalName0AndMustBeOverridden1 = 350,
187
189
  CannotFindTsLibDirectoryBaseSearchPaths0 = 401,
188
190
  SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 402,
189
191
  ProgramWithoutMainPackageCannotBeCompiled = 403,
@@ -0,0 +1,2 @@
1
+ import { TokenKind } from '../tree/index.js';
2
+ export declare function getTokenName(tokenKind: TokenKind): string;
@@ -805,15 +805,15 @@ export declare class MethodDeclaration {
805
805
  export declare class FieldAccessExpression {
806
806
  expression: Expression;
807
807
  isOptionalAccess: boolean;
808
- variable: AccessedVariable;
808
+ field: AccessedVariable;
809
809
  accessKind: AccessKind;
810
810
  ifComputedThenKey: Expression | undefined;
811
811
  sourceLocation: SourceLocation | undefined;
812
812
  options: FieldAccessExpressionEmitOptions;
813
813
  readonly kind = NodeKind.FieldAccessExpression;
814
- constructor(expression: Expression, isOptionalAccess: boolean, variable: AccessedVariable, accessKind: AccessKind, ifComputedThenKey: Expression | undefined, sourceLocation: SourceLocation | undefined, options?: FieldAccessExpressionEmitOptions);
815
- static get(expression: Expression, isOptionalAccess: boolean, variable: AccessedVariable | VariableEntity, ifComputedThenKey?: Expression, sourceLocation?: SourceLocation): FieldAccessExpression;
816
- static set(expression: Expression, isOptionalAccess: boolean, variable: AccessedVariable | VariableEntity, ifComputedThenKey?: Expression, sourceLocation?: SourceLocation): FieldAccessExpression;
814
+ constructor(expression: Expression, isOptionalAccess: boolean, field: AccessedVariable, accessKind: AccessKind, ifComputedThenKey: Expression | undefined, sourceLocation: SourceLocation | undefined, options?: FieldAccessExpressionEmitOptions);
815
+ static get(expression: Expression, isOptionalAccess: boolean, field: AccessedVariable | VariableEntity, ifComputedThenKey?: Expression, sourceLocation?: SourceLocation): FieldAccessExpression;
816
+ static set(expression: Expression, isOptionalAccess: boolean, field: AccessedVariable | VariableEntity, ifComputedThenKey?: Expression, sourceLocation?: SourceLocation): FieldAccessExpression;
817
817
  clone(): FieldAccessExpression;
818
818
  }
819
819
  export declare class FieldDeclaration {
@@ -1,6 +1,9 @@
1
1
  import { Tag } from '../analysis/Tags.js';
2
2
  import { AliasTypeEntity, EntityKind, FunctionTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from './index.js';
3
3
  export type TypeEntity = StructuredTypeEntity | FunctionTypeEntity | VariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
4
+ export declare namespace TypeEntity {
5
+ function isAbstract(entity: TypeEntity): boolean;
6
+ }
4
7
  export interface ITypeEntity {
5
8
  readonly kind: EntityKind.Type;
6
9
  readonly typeEntityKind: TypeEntityKind;
@@ -15,59 +15,59 @@ export declare enum TokenKind {
15
15
  TextTemplateTail = 13,
16
16
  LocalizableTextLiteral = 14,
17
17
  LocalizableTextTemplateHead = 15,
18
- Ampersand = 16,
19
- AmpersandAmpersand = 17,
20
- AmpersandEquals = 18,
21
- Asterisk = 19,
22
- AsteriskAsterisk = 20,
23
- AsteriskEquals = 21,
24
- BackQuote = 22,
25
- Bar = 23,
26
- BarBar = 24,
27
- Caret = 25,
28
- RightBrace = 26,
29
- RightParenthesis = 27,
30
- RightSquareBracket = 28,
31
- Colon = 29,
32
- Comma = 30,
33
- CommercialAt = 31,
34
- Dot = 32,
35
- DoublePeriod = 33,
36
- Ellipsis = 34,
37
- EqualsEquals = 35,
38
- EqualsRightAngle = 36,
39
- Exclamation = 37,
40
- ExclamationEquals = 38,
41
- RightAngle = 39,
42
- RightAngleEquals = 40,
43
- HashSign = 41,
44
- LeftAngle = 42,
45
- LeftAngleEquals = 43,
46
- LeftAngleMinus = 44,
47
- Minus = 45,
48
- MinusMinus = 46,
49
- MinusEquals = 47,
50
- MinusRightAngle = 48,
51
- LeftBrace = 49,
52
- LeftParenthesis = 50,
53
- LeftSquareBracket = 51,
54
- Plus = 52,
55
- PlusPlus = 53,
56
- PlusEquals = 54,
57
- Question = 55,
58
- QuestionQuestion = 56,
59
- Semicolon = 57,
60
- Slash = 58,
61
- SlashEquals = 59,
62
- Tilde = 60,
63
- TildeTilde = 61,
64
- Underscore = 62,
65
- Equals = 63,
66
- Percent = 64,
67
- PercentPercent = 65,
68
- BackSlash = 66,
69
- BackSlashEquals = 67,
70
- BackSlashBackSlash = 68,
71
- Identifier = 69,
72
- QuotedIdentifier = 70
18
+ Identifier = 16,
19
+ QuotedIdentifier = 17,
20
+ Ampersand = 18,
21
+ AmpersandAmpersand = 19,
22
+ AmpersandEquals = 20,
23
+ Asterisk = 21,
24
+ AsteriskAsterisk = 22,
25
+ AsteriskEquals = 23,
26
+ BackQuote = 24,
27
+ Bar = 25,
28
+ BarBar = 26,
29
+ Caret = 27,
30
+ RightBrace = 28,
31
+ RightParenthesis = 29,
32
+ RightSquareBracket = 30,
33
+ Colon = 31,
34
+ Comma = 32,
35
+ CommercialAt = 33,
36
+ Dot = 34,
37
+ DoublePeriod = 35,
38
+ Ellipsis = 36,
39
+ EqualsEquals = 37,
40
+ EqualsRightAngle = 38,
41
+ Exclamation = 39,
42
+ ExclamationEquals = 40,
43
+ RightAngle = 41,
44
+ RightAngleEquals = 42,
45
+ HashSign = 43,
46
+ LeftAngle = 44,
47
+ LeftAngleEquals = 45,
48
+ LeftAngleMinus = 46,
49
+ Minus = 47,
50
+ MinusMinus = 48,
51
+ MinusEquals = 49,
52
+ MinusRightAngle = 50,
53
+ LeftBrace = 51,
54
+ LeftParenthesis = 52,
55
+ LeftSquareBracket = 53,
56
+ Plus = 54,
57
+ PlusPlus = 55,
58
+ PlusEquals = 56,
59
+ Question = 57,
60
+ QuestionQuestion = 58,
61
+ Semicolon = 59,
62
+ Slash = 60,
63
+ SlashEquals = 61,
64
+ Tilde = 62,
65
+ TildeTilde = 63,
66
+ Underscore = 64,
67
+ Equals = 65,
68
+ Percent = 66,
69
+ PercentPercent = 67,
70
+ BackSlash = 68,
71
+ BackSlashEquals = 69,
72
+ BackSlashBackSlash = 70
73
73
  }
@@ -9,60 +9,60 @@ export declare enum TokenKind {
9
9
  TextTemplateHead = 7,
10
10
  TextTemplatePart = 8,
11
11
  TextTemplateTail = 9,
12
- Ampersand = 10,
13
- AmpersandAmpersand = 11,
14
- AmpersandEquals = 12,
15
- Asterisk = 13,
16
- AsteriskAsterisk = 14,
17
- AsteriskEquals = 15,
18
- BackQuote = 16,
19
- Bar = 17,
20
- BarBar = 18,
21
- Caret = 19,
22
- CloseBrace = 20,
23
- CloseParenthesis = 21,
24
- CloseSquareBracket = 22,
25
- Colon = 23,
26
- Comma = 24,
27
- CommercialAt = 25,
28
- Dot = 26,
29
- DoublePeriod = 27,
30
- Ellipsis = 28,
31
- EqualsEquals = 29,
32
- EqualsGreaterThan = 30,
33
- Exclamation = 31,
34
- ExclamationEquals = 32,
35
- GreaterThan = 33,
36
- GreaterThanOrEqual = 34,
37
- HashSign = 35,
38
- LessThan = 36,
39
- LessThanOrEqual = 37,
40
- LessThanMinus = 38,
41
- Minus = 39,
42
- MinusMinus = 40,
43
- MinusEquals = 41,
44
- MinusGreaterThan = 42,
45
- OpenBrace = 43,
46
- OpenParenthesis = 44,
47
- OpenSquareBracket = 45,
48
- Plus = 46,
49
- PlusPlus = 47,
50
- PlusEquals = 48,
51
- Question = 49,
52
- QuestionQuestion = 50,
53
- Semicolon = 51,
54
- Slash = 52,
55
- SlashEquals = 53,
56
- Tilde = 54,
57
- TildeTilde = 55,
58
- Underscore = 56,
59
- Equals = 57,
60
- Percent = 58,
61
- PercentPercent = 59,
62
- Backslash = 60,
63
- BackslashEquals = 61,
64
- BackslashBackslash = 62,
65
- Identifier = 63
12
+ Identifier = 10,
13
+ Ampersand = 11,
14
+ AmpersandAmpersand = 12,
15
+ AmpersandEquals = 13,
16
+ Asterisk = 14,
17
+ AsteriskAsterisk = 15,
18
+ AsteriskEquals = 16,
19
+ BackQuote = 17,
20
+ Bar = 18,
21
+ BarBar = 19,
22
+ Caret = 20,
23
+ CloseBrace = 21,
24
+ CloseParenthesis = 22,
25
+ CloseSquareBracket = 23,
26
+ Colon = 24,
27
+ Comma = 25,
28
+ CommercialAt = 26,
29
+ Dot = 27,
30
+ DoublePeriod = 28,
31
+ Ellipsis = 29,
32
+ EqualsEquals = 30,
33
+ EqualsGreaterThan = 31,
34
+ Exclamation = 32,
35
+ ExclamationEquals = 33,
36
+ GreaterThan = 34,
37
+ GreaterThanOrEqual = 35,
38
+ HashSign = 36,
39
+ LessThan = 37,
40
+ LessThanOrEqual = 38,
41
+ LessThanMinus = 39,
42
+ Minus = 40,
43
+ MinusMinus = 41,
44
+ MinusEquals = 42,
45
+ MinusGreaterThan = 43,
46
+ OpenBrace = 44,
47
+ OpenParenthesis = 45,
48
+ OpenSquareBracket = 46,
49
+ Plus = 47,
50
+ PlusPlus = 48,
51
+ PlusEquals = 49,
52
+ Question = 50,
53
+ QuestionQuestion = 51,
54
+ Semicolon = 52,
55
+ Slash = 53,
56
+ SlashEquals = 54,
57
+ Tilde = 55,
58
+ TildeTilde = 56,
59
+ Underscore = 57,
60
+ Equals = 58,
61
+ Percent = 59,
62
+ PercentPercent = 60,
63
+ Backslash = 61,
64
+ BackslashEquals = 62,
65
+ BackslashBackslash = 63
66
66
  }
67
67
  export declare const tokenKindValues: {
68
68
  0: string;
@@ -6,6 +6,8 @@ import { Substitutions } from './Substitutions.js';
6
6
  import { Type } from './Type.js';
7
7
  export type TypeMember = Field | Method | Operator | Constructor | Destructor | Indexer | DereferenceOperator;
8
8
  export type NamedTypeMember = Field | Method;
9
+ export declare function isNamedTypeMember(member: TypeMember): member is NamedTypeMember;
10
+ export type AnonymousTypeMember = Exclude<TypeMember, NamedTypeMember>;
9
11
  export declare class Method implements ITypeMember {
10
12
  private readonly _analyzer;
11
13
  private readonly _entity;
@@ -13,6 +15,7 @@ export declare class Method implements ITypeMember {
13
15
  readonly kind = "method";
14
16
  private readonly _valueParameters;
15
17
  private readonly _signatureEntity;
18
+ get debuggerDisplay(): string;
16
19
  constructor(_analyzer: Analyzer, _entity: MethodEntity, _substitutions: Substitutions);
17
20
  getName(): Name;
18
21
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -27,6 +30,7 @@ export declare class Method implements ITypeMember {
27
30
  applySubstitutions(substitutions: Substitutions): Method;
28
31
  getTypeParametersArity(): number;
29
32
  equals(other: TypeMember): boolean;
33
+ toString(): string;
30
34
  }
31
35
  export declare class ValueParameter {
32
36
  private readonly _entity;
@@ -43,6 +47,7 @@ export declare class Field implements ITypeMember {
43
47
  private readonly _entity;
44
48
  private readonly _substitutions;
45
49
  readonly kind = "field";
50
+ get debuggerDisplay(): string;
46
51
  constructor(_entity: FieldEntity, _substitutions: Substitutions);
47
52
  getName(): Name;
48
53
  getType(): Type;
@@ -54,6 +59,7 @@ export declare class Field implements ITypeMember {
54
59
  isVariant(): boolean;
55
60
  applySubstitutions(substitutions: Substitutions): Field;
56
61
  equals(other: TypeMember): boolean;
62
+ toString(): string;
57
63
  }
58
64
  export declare class Operator implements ITypeMember {
59
65
  private readonly _analyzer;
@@ -62,6 +68,7 @@ export declare class Operator implements ITypeMember {
62
68
  readonly kind = "operator";
63
69
  private readonly _valueParameters;
64
70
  private readonly _signatureEntity;
71
+ get debuggerDisplay(): string;
65
72
  constructor(_analyzer: Analyzer, _entity: OperatorEntity, _substitutions: Substitutions);
66
73
  getOperatorKind(): OperatorKind;
67
74
  getValueParameters(): readonly ValueParameter[];
@@ -79,6 +86,7 @@ export declare class Constructor implements ITypeMember {
79
86
  private readonly _substitutions;
80
87
  readonly kind = "constructor";
81
88
  private readonly _valueParameters;
89
+ get debuggerDisplay(): string;
82
90
  constructor(_entity: ConstructorEntity, _substitutions: Substitutions);
83
91
  getValueParameters(): readonly ValueParameter[];
84
92
  getEntity(): ConstructorEntity;
@@ -87,12 +95,14 @@ export declare class Constructor implements ITypeMember {
87
95
  isStatic(): boolean;
88
96
  applySubstitutions(substitutions: Substitutions): TypeMember;
89
97
  equals(other: TypeMember): boolean;
98
+ toString(): string;
90
99
  }
91
100
  export declare class Destructor implements ITypeMember {
92
101
  private readonly _entity;
93
102
  private readonly _substitutions;
94
103
  readonly kind = "destructor";
95
104
  private readonly _valueParameters;
105
+ get debuggerDisplay(): string;
96
106
  constructor(_entity: DestructorEntity, _substitutions: Substitutions);
97
107
  getValueParameters(): readonly ValueParameter[];
98
108
  getEntity(): DestructorEntity;
@@ -101,12 +111,14 @@ export declare class Destructor implements ITypeMember {
101
111
  isStatic(): boolean;
102
112
  applySubstitutions(substitutions: Substitutions): Destructor;
103
113
  equals(other: TypeMember): boolean;
114
+ toString(): string;
104
115
  }
105
116
  export declare class Indexer implements ITypeMember {
106
117
  private readonly _entity;
107
118
  private readonly _substitutions;
108
119
  readonly kind = "indexer";
109
120
  private readonly _valueParameters;
121
+ get debuggerDisplay(): string;
110
122
  constructor(_entity: IndexerEntity, _substitutions: Substitutions);
111
123
  getValueParameters(): readonly ValueParameter[];
112
124
  getType(): Type;
@@ -116,11 +128,13 @@ export declare class Indexer implements ITypeMember {
116
128
  isStatic(): boolean;
117
129
  applySubstitutions(substitutions: Substitutions): Indexer;
118
130
  equals(other: TypeMember): boolean;
131
+ toString(): string;
119
132
  }
120
133
  export declare class DereferenceOperator implements ITypeMember {
121
134
  private readonly _entity;
122
135
  private readonly _substitutions;
123
136
  readonly kind = "dereference-operator";
137
+ get debuggerDisplay(): string;
124
138
  constructor(_entity: DereferenceOperatorEntity, _substitutions: Substitutions);
125
139
  getType(): Type;
126
140
  getEntity(): DereferenceOperatorEntity;
@@ -129,6 +143,7 @@ export declare class DereferenceOperator implements ITypeMember {
129
143
  isStatic(): boolean;
130
144
  applySubstitutions(substitutions: Substitutions): DereferenceOperator;
131
145
  equals(other: TypeMember): boolean;
146
+ toString(): string;
132
147
  }
133
148
  export interface ITypeMember {
134
149
  isHidden(): EntityHidingLevel | undefined;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artel/artc",
3
- "version": "0.6.25232",
3
+ "version": "0.6.25234",
4
4
  "description": "Артель Компилятор | Artel Compiler",
5
5
  "author": "Nezaboodka Team <contact@nezaboodka.com>",
6
6
  "license": "LGPL-3.0-or-later",