@artel/artc 0.6.25212 → 0.6.25214

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.
@@ -520,18 +520,17 @@ declare class DefaultConstructors {
520
520
  declare class OverriddenMember {
521
521
  private readonly _analyzer;
522
522
  constructor(_analyzer: Analyzer);
523
- getOverriddenMethod(method: TypeMethodEntity): types.Method | undefined;
524
- getTheMostBaseOverriddenMethod(method: TypeMethodEntity): types.Method | undefined;
525
- getOverriddenOperator(operator: OperatorEntity): types.Operator | undefined;
526
- getOverriddenVariable(variable: entities.TypeVariableEntity): types.Variable | undefined;
523
+ getOverriddenVariable(node: tree.TypeVariableDeclaration | TypeVariableAccessorDeclaration): types.Variable | undefined;
527
524
  getTheMostBaseOverriddenVariable(variable: entities.TypeVariableEntity): types.Variable | undefined;
528
- checkMethodOverridesMethod(methodInDerivedType: TypeMethodEntity, methodInBaseType: types.Method): boolean;
529
- checkVariableOverridesVariable(variableInDerivedType: entities.TypeVariableEntity, variableInBaseType: types.Variable): boolean;
530
- checkOperatorOverridesOperator(operatorInDerivedType: OperatorEntity, operatorInBaseType: types.Operator): boolean;
525
+ getOverriddenMethod(node: tree.TypeMethodDeclaration): types.Method | undefined;
526
+ getTheMostBaseOverriddenMethod(method: TypeMethodEntity): types.Method | undefined;
527
+ getOverriddenOperator(node: tree.OperatorDeclaration): types.Operator | undefined;
531
528
  private findOverriddenVariableInType;
532
529
  private findOverriddenMethodInType;
533
- private methodSignatureTypesAreEqual;
534
530
  private findOverriddenOperatorInType;
531
+ private checkVariableOverridesVariable;
532
+ private checkMethodOverridesMethod;
533
+ private checkOperatorOverridesOperator;
535
534
  }
536
535
  declare class Tags {
537
536
  readonly _analyzer: Analyzer;
@@ -17,7 +17,7 @@ export declare class Resolver {
17
17
  private get semanticContext();
18
18
  constructor(analyzer: Analyzer, node: tree.IdentifierExpression, targetTypeHint: TargetTypeHint | undefined);
19
19
  resolve(): ResolutionResult;
20
- private resolveOperatorAccessMeaning;
20
+ private tryResolveOperatorAccessMeaning;
21
21
  private resolveMethodOverload;
22
22
  private createAccessedMethod;
23
23
  private convertSyntacticAccessKind;
@@ -13,7 +13,6 @@ export declare class Resolver {
13
13
  private readonly _node;
14
14
  private readonly _targetTypeHint;
15
15
  private get propertySearchName();
16
- private get isOperatorName();
17
16
  private get semanticContext();
18
17
  private get receiver();
19
18
  constructor(analyzer: Analyzer, node: tree.PropertyAccessExpression, targetTypeHint: TargetTypeHint | undefined);
@@ -25,7 +24,7 @@ export declare class Resolver {
25
24
  private resolveStaticMemberOrVariantAccessMeaning;
26
25
  private createAccessedMethodFromTypeMember;
27
26
  private resolveInstanceMemberAccessMeaning;
28
- private resolveOperatorAccessMeaning;
27
+ private tryResolveOperatorAccessMeaning;
29
28
  private resolveMethodOverload;
30
29
  private convertSyntacticAccessKind;
31
30
  }
@@ -25,3 +25,17 @@ export declare class TypeMemberLookup {
25
25
  getDereferenceOperators(hidingMatcher?: IEntityHidingMatcher, typeExtensionsLookup?: Lookup): Query<FoundAnonymousDeclaration<types.DereferenceOperator>>;
26
26
  private getLocaleOfTypeEntity;
27
27
  }
28
+ export declare class BoundTypeMemberLookup {
29
+ private readonly _lookup;
30
+ private readonly _hidingMatcher;
31
+ private readonly _typeExtensionLookup;
32
+ constructor(analyzer: Analyzer, type: types.Type, localizationContext: LocalizationContext | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined);
33
+ static ofTypeEntity(analyzer: Analyzer, entity: TypeEntity, localizationContext: LocalizationContext | undefined, hidingMatcher: IEntityHidingMatcher | undefined, typeExtensionLookup: Lookup | undefined): BoundTypeMemberLookup;
34
+ getNamedMembers(): Query<FoundNamedDeclaration<types.NamedTypeMember>>;
35
+ getNamedMembersByName(name: SearchName): Query<FoundNamedDeclaration<types.NamedTypeMember>>;
36
+ getOperators(): Query<FoundAnonymousDeclaration<types.Operator>>;
37
+ getOperatorsByKind(kind: OperatorKind): Query<FoundAnonymousDeclaration<types.Operator>>;
38
+ getConstructors(): Query<FoundAnonymousDeclaration<types.Constructor>>;
39
+ getIndexers(): Query<FoundAnonymousDeclaration<types.Indexer>>;
40
+ getDereferenceOperators(): Query<FoundAnonymousDeclaration<types.DereferenceOperator>>;
41
+ }
@@ -1,5 +1,5 @@
1
1
  import { Diagnostic } from '../diagnostic/Diagnostic.js';
2
- import { AliasTypeEntity, StructuredTypeEntity, VariantTypeEntity } from '../entities/index.js';
2
+ import { AliasTypeEntity, StructuredTypeEntity, TypeMethodEntity } from '../entities/index.js';
3
3
  export declare class WellKnownDeclarationsLoadError extends Error {
4
4
  readonly diagnostic: Diagnostic;
5
5
  constructor(diagnostic: Diagnostic);
@@ -12,10 +12,11 @@ export declare class WellKnownDeclarations {
12
12
  text: StructuredTypeEntity;
13
13
  textTemplate: StructuredTypeEntity;
14
14
  char: StructuredTypeEntity;
15
- yesNo: VariantTypeEntity;
15
+ yesNo: StructuredTypeEntity;
16
16
  none: StructuredTypeEntity;
17
17
  enumerable: StructuredTypeEntity;
18
18
  enumerator: StructuredTypeEntity;
19
+ enumeratorMethod: TypeMethodEntity;
19
20
  array: StructuredTypeEntity;
20
21
  readonlyArray: StructuredTypeEntity;
21
22
  map: StructuredTypeEntity;
@@ -2,156 +2,116 @@ export declare enum DiagnosticCode {
2
2
  IdentifierExpected = 0,
3
3
  TypeNameExpected = 1,
4
4
  PackageNameExpected = 2,
5
- IdentifierWithoutPrimeSymbolExpected = 3,
6
- TypeMemberDeclarationExpected = 4,
7
- SourceFileMemberExpected = 5,
8
- EnumerationVariableDeclarationExpected = 6,
9
- StatementExpected = 7,
10
- ExpressionExpected = 8,
11
- BaseTypeNameExpected = 9,
12
- VariantDeclarationExpected = 10,
13
- TypeSpecifierExpected = 11,
14
- TypeBodyExpected = 12,
15
- MethodCallArgumentExpected = 13,
16
- TagArgumentExpected = 14,
17
- TypeParameterExpected = 15,
18
- ParameterExpected = 16,
19
- RunStatementClauseExpected = 17,
20
- PackageImportExpected = 18,
21
- UsingDirectiveOrSourceFileMemberExpected = 19,
22
- WordFormExpected = 20,
23
- TypeMemberTranslationExpected = 21,
24
- TranslationExpected = 22,
25
- Expected0But1Found = 23,
26
- InvalidTextTemplateLiteral = 24,
27
- RunKeywordOnCreateKeywordOrModifierListExpected = 25,
28
- ModifierListExpected = 26,
29
- HidingLevelExpected = 27,
30
- PropertyOrElementAccessExpected = 28,
31
- NameMustNotStartWithTilde = 29,
32
- OperatorNameCanOnlyBeUsedInOperatorDeclaration = 30,
33
- ParameterNameCanContainOnlyOneBackQuote = 31,
34
- FieldNameCanContainOnlyTwoBackQuote = 32,
35
- BackQuotesCanOnlyBeUsedInParameterAndFieldNames = 33,
36
- NameThatMatchesKeywordMustBeEnclosedInSingleQuotes = 34,
37
- VariantNotFound = 35,
38
- TypeCannotBeUsedAsValue = 36,
39
- PackageMemberNotFound = 37,
40
- CannotAccessMembersOfUnresolvedPackage = 38,
41
- TypeMemberNotFound = 39,
42
- OperatorNotFound = 40,
43
- CannotAccessMembersOnMethodType = 41,
44
- CannotAccessStaticMembersOnTypeParameter = 42,
45
- CannotAccessStaticMembersOnUnionType = 43,
46
- CannotAccessMembersOnUnresolvedType = 44,
47
- CannotAccessInstanceMembersOnVariantType = 45,
48
- CannotAccessInstanceMembersOnTypeParameterWithoutConstraint = 46,
49
- CannotAccessIndexerOnVariantType = 47,
50
- CannotAccessIndexerOnMethodType = 48,
51
- CannotAccessIndexerOnTypeParameter = 49,
52
- CannotAccessIndexerOnUnresolvedType = 50,
53
- IndexerOfTheSpecifiedTypeNotFound = 51,
54
- DereferenceOperatorOfTheSpecifiedTypeNotFound = 52,
55
- IndexedGetterNotFound = 53,
56
- IndexedSetterNotFound = 54,
57
- IndexerNotFound = 55,
58
- CannotCreateInstanceOfAspect = 56,
59
- CannotCreateInstanceOfVariantType = 57,
60
- CannotCreateInstanceOfMethodType = 58,
61
- CannotCreateInstanceOfTypeParameter = 59,
62
- CannotCreateInstanceOfUnresolvedType = 60,
63
- CannotCreateInstanceOfInvalidType = 61,
64
- TypeConstructorNotFound = 62,
65
- CannotInvokeExpression = 63,
66
- NamedArgumentExpectedButPositionalArgumentFound = 64,
67
- ParameterWithGivenNameNotFound = 65,
68
- ArgumentForParameterAlreadyPassed = 66,
69
- PackageAliasCannotBeUsedAsValue = 67,
70
- PackageNameCannotBeUsedAsValue = 68,
71
- UnknownVariable = 69,
72
- UnknownType = 70,
73
- TypeWithArity0NotFound = 71,
74
- CannotAccessMembersOnInvalidType = 72,
75
- CannotAccessIndexerOnInvalidType = 73,
76
- VariableUsedBeforeBeingDeclared = 74,
77
- Type0IsNotAssignableToType1 = 75,
78
- VariableNotFound = 76,
79
- MethodNotFound = 77,
80
- PackageAliasNotFound = 78,
81
- VariantAliasExpected = 79,
82
- UnknownPackage = 80,
83
- CannotAssignValueToExpression = 81,
84
- NotEveryRequiredParameterIsProvidedWithCallArgument = 82,
85
- ParameterForPositionalCallArgumentNotFound = 83,
86
- AliasTypeAliasMustNotContainMemberAliases = 84,
87
- InvalidTypeAliasMustNotContainMemberAliases = 85,
88
- CannotUseSpecialNameForLocalDeclaration = 86,
89
- SpecialNameIsNotAllowed = 87,
90
- MultipleValuesFound = 88,
91
- CannotDetermineTargetTypeToCallTheConstructor = 89,
92
- AmbiguousAccess = 90,
93
- PackageNameConflictsWithDeclarationName = 91,
94
- CannotAccessVariableDueToItsAccessibilityLevel = 92,
95
- CannotAccessMethodDueToItsAccessibilityLevel = 93,
96
- CannotAccessTypeDueToItsAccessibilityLevel = 94,
97
- CanNotAssignValueToContextVariable = 95,
98
- ExpectedPackageNameOrAliasButFoundType = 96,
99
- TypeExpected = 97,
100
- TypeOrPackageNotFound = 98,
101
- TypeIsNotATag = 99,
102
- ExpressionOfType0CanNotBeUsedForEnumeration = 100,
103
- Operator0IsNotDefinedForTypes1And2 = 101,
104
- Operator0IsNotDefinedForType1 = 102,
105
- VariantMustHaveAssociatedValue = 103,
106
- AssociatedValueMustBeANumberOrTextLiteral = 104,
107
- PackageMemberOrPackageNotFound = 105,
108
- TranslationsCanOnlyBeDeclaredInTranslationPackage = 106,
109
- UnknownTranslatedPackage0 = 107,
110
- BaseCannotBeUsedInThisContext = 108,
111
- OverriddenMethodNotFound = 109,
112
- ObjectCannotBeUsedInThisContext = 110,
113
- BaseCannotBeUsedAsAnExpressionInItself = 111,
114
- InterfacePackageMustNotContainImplementation = 112,
115
- InterfacePackageVariablesMustNotHaveInitializers = 113,
116
- InterfacePackageVariablesMustNotHaveAccessors = 114,
117
- InterfacePackageIndexersMustNotHaveAccessors = 115,
118
- BodyIsMissing = 116,
119
- AbstractTypeMembersMustNotHaveBody = 117,
120
- AbstractIndexersMustNotHaveAccessors = 118,
121
- AbstractVariablesMustNotHaveInitializers = 119,
122
- AbstractVariablesMustNotHaveAccessors = 120,
123
- AccessorsAreMissing = 121,
124
- PackageIsAlreadyImportedInAnotherLanguage = 122,
125
- OnlySubprogramsWithReturnTypeCanReturnValue = 123,
126
- MethodsUsingYieldStatementCanNotReturnValue = 124,
127
- YieldStatementCanNotBeUsedInAnonymousMethods = 125,
128
- YieldStatementCanNotBeUsedHere = 126,
129
- MethodsUsingYieldStatementMustHaveEnumerableAsReturnType = 127,
130
- YieldStatementCanNotBeUsedInRunStatementThatHasOnErrorClause = 128,
131
- YieldStatementCanNotBeUsedInFinallyClause = 129,
132
- SubprogramMustReturnValue = 130,
133
- ResultVariableCanNotBeUsedInMethodsUsingYieldStatement = 131,
134
- TypeAliasReferencesItself = 132,
135
- TypeParameterHasCircularConstraint = 133,
136
- BaseTypeCausesInheritanceCycle = 134,
137
- OnlyGenericTypesAndFunctionsCanBeSpecialized = 135,
138
- Expected0TypeArguments = 136,
139
- ExpectedFrom0To1TypeArguments = 137,
140
- Type0IsNotAssignableToConstraint1 = 138,
141
- VariableIsDeclaredButNotUsed = 139,
142
- DefaultConstructorArgumentsMustBeNamed = 140,
143
- IncorrectBodyOfRedefinableAliasTypeMethod = 141,
144
- TheFollowingDeclarationsAreNotTranslated0 = 142,
145
- TheFollowingDeclarationAreNotTranslated0And1More = 143,
146
- OperatorMustNotBeStatic = 144,
147
- Operator0MustNotHaveParameters = 145,
148
- Operator0MustHaveOneParameter = 146,
149
- Operator0MustHaveNoMoreThanOneParameter = 147,
150
- CanNotFindTsLibDirectoryBaseSearchPaths0 = 148,
151
- SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 149,
152
- MainPackageConfigurationIsMissingProjectWontBeLoaded = 150,
153
- ProgramWithoutMainPackageCanNotBeCompiled = 151,
154
- JsonConfigurationValidationError = 152,
155
- StandardPackage0NotFound = 153,
156
- Declaration0NotFoundInStandardPackage1 = 154
5
+ TypeMemberDeclarationExpected = 3,
6
+ SourceFileMemberExpected = 4,
7
+ EnumerationVariableDeclarationExpected = 5,
8
+ StatementExpected = 6,
9
+ ExpressionExpected = 7,
10
+ BaseTypeNameExpected = 8,
11
+ TypeSpecifierExpected = 9,
12
+ TypeBodyExpected = 10,
13
+ MethodCallArgumentExpected = 11,
14
+ TagArgumentExpected = 12,
15
+ TypeParameterExpected = 13,
16
+ ParameterExpected = 14,
17
+ RunStatementClauseExpected = 15,
18
+ PackageImportExpected = 16,
19
+ UsingDirectiveOrSourceFileMemberExpected = 17,
20
+ WordFormExpected = 18,
21
+ TypeMemberTranslationExpected = 19,
22
+ TranslationExpected = 20,
23
+ Expected0But1Found = 21,
24
+ InvalidTextTemplateLiteral = 22,
25
+ RunKeywordOnCreateKeywordOrModifierListExpected = 23,
26
+ ModifierListExpected = 24,
27
+ HidingLevelExpected = 25,
28
+ ParameterNameCanContainOnlyOneBackQuote = 26,
29
+ FieldNameCanContainOnlyTwoBackQuote = 27,
30
+ BackQuotesCanOnlyBeUsedInParameterAndFieldNames = 28,
31
+ NameThatMatchesKeywordMustBeEnclosedInSingleQuotes = 29,
32
+ VariantNotFound = 30,
33
+ TypeCannotBeUsedAsValue = 31,
34
+ PackageMemberNotFound = 32,
35
+ TypeMemberNotFound = 33,
36
+ CannotAccessStaticMembersOnTypeParameter = 34,
37
+ IndexerOfTheSpecifiedTypeNotFound = 35,
38
+ DereferenceOperatorOfTheSpecifiedTypeNotFound = 36,
39
+ IndexerNotFound = 37,
40
+ CannotCreateInstanceOfAspect = 38,
41
+ CannotCreateInstanceOfTypeParameter = 39,
42
+ CannotCreateInstanceOfUnresolvedType = 40,
43
+ TypeConstructorNotFound = 41,
44
+ CannotInvokeExpression = 42,
45
+ NamedArgumentExpectedButPositionalArgumentFound = 43,
46
+ ParameterWithGivenNameNotFound = 44,
47
+ ArgumentForParameterAlreadyPassed = 45,
48
+ PackageAliasCannotBeUsedAsValue = 46,
49
+ PackageNameCannotBeUsedAsValue = 47,
50
+ UnknownVariable = 48,
51
+ UnknownType = 49,
52
+ TypeWithArity0NotFound = 50,
53
+ VariableUsedBeforeBeingDeclared = 51,
54
+ Type0IsNotAssignableToType1 = 52,
55
+ VariableNotFound = 53,
56
+ MethodNotFound = 54,
57
+ UnknownPackage = 55,
58
+ CannotAssignValueToExpression = 56,
59
+ NotEveryRequiredParameterIsProvidedWithCallArgument = 57,
60
+ ParameterForPositionalCallArgumentNotFound = 58,
61
+ CannotDetermineTargetTypeToCallTheConstructor = 59,
62
+ AmbiguousAccess = 60,
63
+ PackageNameConflictsWithDeclarationName = 61,
64
+ CanNotAssignValueToContextVariable = 62,
65
+ ExpectedPackageNameOrAliasButFoundType = 63,
66
+ TypeExpected = 64,
67
+ TypeOrPackageNotFound = 65,
68
+ TypeIsNotATag = 66,
69
+ ExpressionOfType0CanNotBeUsedForEnumeration = 67,
70
+ Operator0IsNotDefinedForTypes1And2 = 68,
71
+ Operator0IsNotDefinedForType1 = 69,
72
+ VariantMustHaveAssociatedValue = 70,
73
+ PackageMemberOrPackageNotFound = 71,
74
+ TranslationsCanOnlyBeDeclaredInTranslationPackage = 72,
75
+ UnknownTranslatedPackage0 = 73,
76
+ BaseCannotBeUsedInThisContext = 74,
77
+ OverriddenMethodNotFound = 75,
78
+ ObjectCannotBeUsedInThisContext = 76,
79
+ BaseCannotBeUsedAsAnExpressionInItself = 77,
80
+ InterfacePackageMustNotContainImplementation = 78,
81
+ InterfacePackageVariablesMustNotHaveInitializers = 79,
82
+ BodyIsMissing = 80,
83
+ AbstractTypeMembersMustNotHaveBody = 81,
84
+ AbstractVariablesMustNotHaveInitializers = 82,
85
+ PackageIsAlreadyImportedInAnotherLanguage = 83,
86
+ OnlySubprogramsWithReturnTypeCanReturnValue = 84,
87
+ MethodsUsingYieldStatementCanNotReturnValue = 85,
88
+ YieldStatementCanNotBeUsedInAnonymousMethods = 86,
89
+ YieldStatementCanNotBeUsedHere = 87,
90
+ MethodsUsingYieldStatementMustHaveEnumerableAsReturnType = 88,
91
+ YieldStatementCanNotBeUsedInRunStatementThatHasOnErrorClause = 89,
92
+ YieldStatementCanNotBeUsedInFinallyClause = 90,
93
+ SubprogramMustReturnValue = 91,
94
+ ResultVariableCanNotBeUsedInMethodsUsingYieldStatement = 92,
95
+ TypeAliasReferencesItself = 93,
96
+ TypeParameterHasCircularConstraint = 94,
97
+ BaseTypeCausesInheritanceCycle = 95,
98
+ OnlyGenericTypesAndFunctionsCanBeSpecialized = 96,
99
+ Expected0TypeArguments = 97,
100
+ ExpectedFrom0To1TypeArguments = 98,
101
+ Type0IsNotAssignableToConstraint1 = 99,
102
+ VariableIsDeclaredButNotUsed = 100,
103
+ DefaultConstructorArgumentsMustBeNamed = 101,
104
+ IncorrectBodyOfRedefinableAliasTypeMethod = 102,
105
+ TheFollowingDeclarationsAreNotTranslated0 = 103,
106
+ TheFollowingDeclarationAreNotTranslated0And1More = 104,
107
+ OperatorMustNotBeStatic = 105,
108
+ Operator0MustNotHaveParameters = 106,
109
+ Operator0MustHaveOneParameter = 107,
110
+ Operator0MustHaveNoMoreThanOneParameter = 108,
111
+ CanNotFindTsLibDirectoryBaseSearchPaths0 = 109,
112
+ SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 110,
113
+ ProgramWithoutMainPackageCanNotBeCompiled = 111,
114
+ JsonConfigurationValidationError = 112,
115
+ StandardPackage0NotFound = 113,
116
+ Declaration0NotFoundInStandardPackage1 = 114
157
117
  }
@@ -64,6 +64,7 @@ export declare class TypeOrExtensionEntityDetails {
64
64
  structuredTypeKind: StructuredTypeKind;
65
65
  aliasedType: Type | undefined;
66
66
  isDefaultExport: boolean;
67
+ extendedType: TypeOrExtensionEntity | undefined;
67
68
  }
68
69
  export declare enum TypeOrExtensionEntityKind {
69
70
  StructuredType = 0,
@@ -19,6 +19,7 @@ export interface TypeMethodEntity extends IMethodEntity {
19
19
  isAbstract(): boolean;
20
20
  isModifyingOwningPlainObject(): boolean;
21
21
  isMethodTypeInvokeMethod(): boolean;
22
+ getOverriddenMember(): types.Method | undefined;
22
23
  }
23
24
  export interface NestedMethodEntity extends IMethodEntity {
24
25
  readonly subkind: 'nested';
@@ -72,6 +73,7 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
72
73
  readonly subkind = "type";
73
74
  private readonly _typeParameters;
74
75
  private readonly _valueParameters;
76
+ private readonly _overriddenMember;
75
77
  constructor(_analyzer: Analyzer, _node: TypeMethodDeclaration);
76
78
  getName(): Name;
77
79
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -90,6 +92,7 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
90
92
  isAbstract(): boolean;
91
93
  isModifyingOwningPlainObject(): boolean;
92
94
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
95
+ getOverriddenMember(): types.Method | undefined;
93
96
  }
94
97
  export declare class NestedMethodDeclarationEntity implements NestedMethodEntity {
95
98
  private readonly _analyzer;
@@ -150,9 +153,10 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
150
153
  private readonly _isRedefined;
151
154
  private readonly _isAbstract;
152
155
  private readonly _isModifyingOwningPlainObject;
156
+ private readonly _overriddenMember;
153
157
  readonly kind = EntityKind.Method;
154
158
  readonly subkind = "type";
155
- constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean);
159
+ constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMember: types.Method | undefined);
156
160
  getName(): Name;
157
161
  getTypeParameters(): readonly TypeParameterEntity[];
158
162
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -170,5 +174,6 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
170
174
  isAbstract(): boolean;
171
175
  isModifyingOwningPlainObject(): boolean;
172
176
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
177
+ getOverriddenMember(): types.Method | undefined;
173
178
  }
174
179
  export {};
@@ -16,6 +16,7 @@ export interface OperatorEntity {
16
16
  isAbstract(): boolean;
17
17
  isHidden(): EntityHidingLevel | undefined;
18
18
  getTags(): readonly Tag[];
19
+ getOverriddenMember(): types.Operator | undefined;
19
20
  }
20
21
  export type OperatorDefinition = {
21
22
  kind: DefinitionKind.Source;
@@ -27,6 +28,7 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
27
28
  readonly kind = EntityKind.Operator;
28
29
  private readonly _operatorKind;
29
30
  private readonly _valueParameters;
31
+ private readonly _overriddenMember;
30
32
  constructor(_analyzer: Analyzer, _node: tree.OperatorDeclaration);
31
33
  getOperatorKind(): OperatorKind;
32
34
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -39,5 +41,6 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
39
41
  isAbstract(): boolean;
40
42
  isHidden(): EntityHidingLevel | undefined;
41
43
  getTags(): readonly Tag[];
44
+ getOverriddenMember(): types.Operator | undefined;
42
45
  private convertSyntaxOperatorKind;
43
46
  }
@@ -3,28 +3,27 @@ export declare enum OperatorKind {
3
3
  UnaryPlus = 0,
4
4
  UnaryMinus = 1,
5
5
  Not = 2,
6
- BitwiseNot = 3,
7
- Add = 4,
8
- Subtract = 5,
9
- Multiply = 6,
10
- Divide = 7,
11
- IntegerDivide = 8,
12
- Modulo = 9,
13
- LessThan = 10,
14
- GreaterThan = 11,
15
- LessThanEquals = 12,
16
- GreaterThanEquals = 13,
17
- Or = 14,
18
- And = 15,
19
- Xor = 16,
20
- BitwiseAnd = 17,
21
- BitwiseOr = 18,
22
- BitwiseXor = 19
6
+ Add = 3,
7
+ Subtract = 4,
8
+ Multiply = 5,
9
+ Divide = 6,
10
+ IntegerDivide = 7,
11
+ Modulo = 8,
12
+ LessThan = 9,
13
+ GreaterThan = 10,
14
+ LessThanOrEqual = 11,
15
+ GreaterThanOrEqual = 12,
16
+ Or = 13,
17
+ And = 14,
18
+ Xor = 15,
19
+ BitwiseAnd = 16,
20
+ BitwiseOr = 17,
21
+ BitwiseXor = 18
23
22
  }
24
23
  /**
25
24
  * Виды операторов, задаваемых токенами (`+`, `-`, `*=` и др.).
26
25
  */
27
- export type KindOfOperatorDefinedByToken = OperatorKind.BitwiseNot | OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanEquals | OperatorKind.GreaterThanEquals | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
26
+ export type KindOfOperatorDefinedByToken = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
28
27
  export declare function isOperatorDefinedByToken(kind: OperatorKind): kind is KindOfOperatorDefinedByToken;
29
28
  /**
30
29
  * Виды операторов, задаваемых ключевыми словами (`и`, `или`, `не` и др.)
@@ -34,12 +33,12 @@ export declare function isOperatorDefinedByKeyword(kind: OperatorKind): kind is
34
33
  /**
35
34
  * Виды одноместных операторов. Объявление одноместного оператора не должно содержать ни одного параметра.
36
35
  */
37
- export type UnaryOperatorKind = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Not | OperatorKind.BitwiseNot;
36
+ export type UnaryOperatorKind = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Not;
38
37
  export declare function isUnaryOperator(kind: OperatorKind): kind is UnaryOperatorKind;
39
38
  /**
40
39
  * Виды двухместных операторов. Объявление двухместного оператора должно содержать один параметр.
41
40
  */
42
- export type BinaryOperatorKind = OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanEquals | OperatorKind.GreaterThanEquals | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
41
+ export type BinaryOperatorKind = OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
43
42
  export declare function isBinaryOperator(kind: OperatorKind): kind is BinaryOperatorKind;
44
43
  export type KindOfUnaryOperatorDefinedByToken = UnaryOperatorKind & KindOfOperatorDefinedByToken;
45
44
  export type KindOfUnaryOperatorDefinedByKeyword = UnaryOperatorKind & KindOfOperatorDefinedByKeyword;
@@ -17,6 +17,7 @@ export interface TypeVariableEntity extends IVariableEntity {
17
17
  isRedefinable(): boolean;
18
18
  isRedefined(): boolean;
19
19
  isAbstract(): boolean;
20
+ getOverriddenMember(): types.Variable | undefined;
20
21
  }
21
22
  export interface ParameterVariableEntity extends IVariableEntity {
22
23
  readonly subkind: 'parameter';
@@ -140,6 +141,7 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
140
141
  private readonly _analyzer;
141
142
  private readonly _node;
142
143
  private readonly _typeInferrer;
144
+ private readonly _overriddenMember;
143
145
  constructor(analyzer: Analyzer, node: TypeVariableDeclaration);
144
146
  getName(): Name;
145
147
  getType(): types.Type;
@@ -155,6 +157,7 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
155
157
  isRedefinable(): boolean;
156
158
  isRedefined(): boolean;
157
159
  isAbstract(): boolean;
160
+ getOverriddenMember(): types.Variable | undefined;
158
161
  }
159
162
  export declare class ComputedTypeVariableDeclarationEntity implements TypeVariableEntity {
160
163
  readonly kind = EntityKind.Variable;
@@ -163,6 +166,7 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
163
166
  private readonly _getterDeclaration;
164
167
  private readonly _setterDeclaration;
165
168
  private readonly _getterOrSetterDeclaration;
169
+ private readonly _overriddenMember;
166
170
  constructor(analyzer: Analyzer, getterDeclaration: TypeVariableGetterDeclaration | undefined, setterDeclaration: TypeVariableSetterDeclaration | undefined);
167
171
  getName(): Name;
168
172
  getType(): types.Type;
@@ -178,6 +182,7 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
178
182
  getSetter(): SetterEntity | undefined;
179
183
  isSpecial(): SpecialVariableEntityInfo | undefined;
180
184
  getTags(): readonly Tag[];
185
+ getOverriddenMember(): types.Variable | undefined;
181
186
  }
182
187
  export declare class LocalVariableDeclarationEntity implements LocalVariableEntity {
183
188
  private readonly _analyzer;
@@ -349,9 +354,10 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
349
354
  private readonly _isHidden;
350
355
  private readonly _getter;
351
356
  private readonly _setter;
357
+ private readonly _overriddenMember;
352
358
  readonly kind = EntityKind.Variable;
353
359
  readonly subkind = "type";
354
- constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined);
360
+ constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined, _overriddenMember: types.Variable | undefined);
355
361
  getName(): Name;
356
362
  getType(): types.Type;
357
363
  getDefinition(): VariableEntityDefinition;
@@ -366,6 +372,7 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
366
372
  isRedefinable(): boolean;
367
373
  isRedefined(): boolean;
368
374
  isAbstract(): boolean;
375
+ getOverriddenMember(): types.Variable | undefined;
369
376
  }
370
377
  export declare class IntrinsicParameterVariableEntity implements ParameterVariableEntity {
371
378
  private readonly _name;
@@ -3,27 +3,26 @@ export declare enum OperatorKind {
3
3
  Plus = 0,// Одноместный или двухместный.
4
4
  Minus = 1,// Одноместный или двухместный.
5
5
  Not = 2,
6
- BitwiseNot = 3,
7
- Multiply = 4,
8
- Divide = 5,
9
- IntegerDivide = 6,
10
- Modulo = 7,
11
- LessThan = 8,
12
- GreaterThan = 9,
13
- LessThanEquals = 10,
14
- GreaterThanEquals = 11,
15
- Or = 12,
16
- And = 13,
17
- Xor = 14,
18
- BitwiseAnd = 15,
19
- BitwiseOr = 16,
20
- BitwiseXor = 17
6
+ Multiply = 3,
7
+ Divide = 4,
8
+ IntegerDivide = 5,
9
+ Modulo = 6,
10
+ LessThan = 7,
11
+ GreaterThan = 8,
12
+ LessThanOrEqual = 9,
13
+ GreaterThanOrEqual = 10,
14
+ Or = 11,
15
+ And = 12,
16
+ Xor = 13,
17
+ BitwiseAnd = 14,
18
+ BitwiseOr = 15,
19
+ BitwiseXor = 16
21
20
  }
22
- export declare const operatorKinds: readonly [OperatorKind.Plus, OperatorKind.Minus, OperatorKind.Not, OperatorKind.BitwiseNot, OperatorKind.Multiply, OperatorKind.Divide, OperatorKind.IntegerDivide, OperatorKind.Modulo, OperatorKind.LessThan, OperatorKind.GreaterThan, OperatorKind.LessThanEquals, OperatorKind.GreaterThanEquals, OperatorKind.Or, OperatorKind.And, OperatorKind.Xor, OperatorKind.BitwiseAnd, OperatorKind.BitwiseOr, OperatorKind.BitwiseXor];
21
+ export declare const operatorKinds: readonly [OperatorKind.Plus, OperatorKind.Minus, OperatorKind.Not, OperatorKind.Multiply, OperatorKind.Divide, OperatorKind.IntegerDivide, OperatorKind.Modulo, OperatorKind.LessThan, OperatorKind.GreaterThan, OperatorKind.LessThanOrEqual, OperatorKind.GreaterThanOrEqual, OperatorKind.Or, OperatorKind.And, OperatorKind.Xor, OperatorKind.BitwiseAnd, OperatorKind.BitwiseOr, OperatorKind.BitwiseXor];
23
22
  /**
24
23
  * Виды операторов, задаваемых токенами (`+`, `-`, `*=` и др.).
25
24
  */
26
- export type KindOfOperatorDefinedByToken = OperatorKind.BitwiseNot | OperatorKind.Plus | OperatorKind.Minus | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanEquals | OperatorKind.GreaterThanEquals | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
25
+ export type KindOfOperatorDefinedByToken = OperatorKind.Plus | OperatorKind.Minus | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
27
26
  export declare function isOperatorDefinedByToken(kind: OperatorKind): kind is KindOfOperatorDefinedByToken;
28
27
  /**
29
28
  * Виды операторов, задаваемых ключевыми словами (`и`, `или`, `не` и др.)
@@ -1180,7 +1180,7 @@ export declare class PrefixUnaryExpression extends BaseNode {
1180
1180
  constructor(operator: PrefixUnaryExpressionOperator, operand: Expression);
1181
1181
  toRed(rangeStart: number, parent: red.ExpressionParent): red.PrefixUnaryExpression;
1182
1182
  }
1183
- export type PrefixUnaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus>;
1183
+ export type PrefixUnaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus> | Keyword<KeywordKind.Not>;
1184
1184
  export declare class PropertyAccessExpression extends BaseNode {
1185
1185
  readonly kind = NodeKind.PropertyAccessExpression;
1186
1186
  readonly children: readonly [
@@ -1132,7 +1132,7 @@ export declare class PrefixUnaryExpression extends BaseNode {
1132
1132
  constructor(green: green.PrefixUnaryExpression, rangeStart: number, parent: ExpressionParent);
1133
1133
  private createChildren;
1134
1134
  }
1135
- export type PrefixUnaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus>;
1135
+ export type PrefixUnaryExpressionOperator = Token<TokenKind.Plus> | Token<TokenKind.Minus> | Keyword<KeywordKind.Not>;
1136
1136
  export declare class PropertyAccessExpression extends BaseNode {
1137
1137
  readonly kind = NodeKind.PropertyAccessExpression;
1138
1138
  readonly green: green.PropertyAccessExpression;