@artel/artc 0.6.25231 → 0.6.25233
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.
- package/build/Cli.js +3 -3
- package/build/api/Api.js +8 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +2 -2
- package/build/{chunk-VQ5GGKF7.js → chunk-SCSDVK4I.js} +1 -1
- package/build/{chunk-S7CAJWX2.js → chunk-T4JAN46C.js} +9367 -8569
- package/build/{chunk-BG2YEIQO.js → chunk-YA4OCEDT.js} +2 -2
- package/build/types/analysis/Analyzer.d.ts +66 -25
- package/build/types/analysis/BaseExpressionMeaning.d.ts +6 -3
- package/build/types/analysis/DiagnosticCollector.d.ts +3 -2
- package/build/types/analysis/ModifierFlags.d.ts +3 -3
- package/build/types/analysis/ModifierValidator.d.ts +4 -3
- package/build/types/analysis/TypeMemberImplementationValidator.d.ts +13 -0
- package/build/types/common/ArrayUtils.d.ts +5 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +96 -83
- package/build/types/emitter/ir/Nodes.d.ts +4 -4
- package/build/types/entities/DereferenceOperatorEntity.d.ts +0 -1
- package/build/types/entities/FunctionEntity.d.ts +0 -1
- package/build/types/entities/IndexerEntity.d.ts +0 -1
- package/build/types/entities/OperatorEntity.d.ts +0 -1
- package/build/types/entities/TypeEntityMembers.d.ts +5 -3
- package/build/types/entities/VariableEntity.d.ts +0 -2
- package/build/types/entities/index.d.ts +9 -15
- package/build/types/services/DisplayService.d.ts +1 -0
- package/build/types/types/TypeMembers.d.ts +4 -4
- package/package.json +1 -1
@@ -1,6 +1,6 @@
|
|
1
1
|
import {
|
2
2
|
Compiler
|
3
|
-
} from "./chunk-
|
3
|
+
} from "./chunk-SCSDVK4I.js";
|
4
4
|
import {
|
5
5
|
ArtelVersion,
|
6
6
|
Cached,
|
@@ -14,7 +14,7 @@ import {
|
|
14
14
|
__async,
|
15
15
|
performanceMeasurementStageNames,
|
16
16
|
performanceMeasurementStages
|
17
|
-
} from "./chunk-
|
17
|
+
} from "./chunk-T4JAN46C.js";
|
18
18
|
|
19
19
|
// source/executor/FileSystemUri.ts
|
20
20
|
import { platform } from "os";
|
@@ -98,6 +98,7 @@ export declare class Analyzer {
|
|
98
98
|
private readonly _diagnosticsComputedLazily;
|
99
99
|
private readonly _diagnosticsComputedLazilyAcceptor;
|
100
100
|
private readonly _sourcePackageMemberConflictsDiagnostics;
|
101
|
+
private readonly _notImplementedAbstractTypeMembers;
|
101
102
|
get tsInterop(): TsInteropContext;
|
102
103
|
constructor(compilation: project.Compilation, tsInteropInputs: TsInteropInputs);
|
103
104
|
getProjectSourceFile(node: tree.SourceFile): project.SourceFile;
|
@@ -278,6 +279,7 @@ export declare class Analyzer {
|
|
278
279
|
getSourceFileDiagnosticsComputedLazily(sourceFile: project.SourceFile): readonly Diagnostic[];
|
279
280
|
getDiagnosticsWithoutLocationComputedLazily(): readonly Diagnostic[];
|
280
281
|
validateSourcePackageMemberConflicts(pkg: project.ProgramPackage): readonly Diagnostic[];
|
282
|
+
getNotImplementedAbstractMembers(typeEntity: e.TypeEntityWithMembers): readonly types.TypeMember[];
|
281
283
|
private createTsInterop;
|
282
284
|
}
|
283
285
|
export declare class TsInteropInputs {
|
@@ -481,28 +483,60 @@ declare class DefaultConstructors {
|
|
481
483
|
}
|
482
484
|
declare class OverriddenMember {
|
483
485
|
private readonly _analyzer;
|
486
|
+
private readonly _namedMemberFinder;
|
487
|
+
private readonly _operatorFinder;
|
488
|
+
private readonly _indexerFinder;
|
489
|
+
private readonly _dereferenceOperatorFinder;
|
490
|
+
private readonly _isField;
|
491
|
+
private readonly _isMethod;
|
492
|
+
private readonly _isOperator;
|
493
|
+
private readonly _isIndexer;
|
494
|
+
private readonly _isDereferenceOperator;
|
495
|
+
private readonly _overriddenAndShadowedFields;
|
496
|
+
private readonly _overriddenAndShadowedMethods;
|
497
|
+
private readonly _overriddenAndShadowedOperators;
|
498
|
+
private readonly _overriddenAndShadowedIndexers;
|
499
|
+
private readonly _overriddenAndShadowedDereferenceOperators;
|
484
500
|
constructor(_analyzer: Analyzer);
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
491
|
-
|
492
|
-
|
493
|
-
private
|
494
|
-
private
|
495
|
-
private
|
496
|
-
private
|
497
|
-
private
|
498
|
-
private
|
499
|
-
private
|
500
|
-
private
|
501
|
+
getOverriddenAndShadowedFields(node: tree.FieldDeclaration | FieldAccessorDeclaration): OverriddenAndShadowedMembers<types.Field, types.NamedTypeMember>;
|
502
|
+
getOverriddenAndShadowedMethods(node: tree.MethodDeclaration): OverriddenAndShadowedMembers<types.Method, types.NamedTypeMember>;
|
503
|
+
getOverriddenAndShadowedOperators(node: tree.OperatorDeclaration): OverriddenAndShadowedMembers<types.Operator>;
|
504
|
+
getOverriddenAndShadowedIndexers(node: IndexedElementAccessorDeclaration): OverriddenAndShadowedMembers<types.Indexer>;
|
505
|
+
getOverriddenAndShadowedDereferenceOperators(node: DereferencedVariableAccessorDeclaration): OverriddenAndShadowedMembers<types.DereferenceOperator>;
|
506
|
+
entityCanBeOverridden(entity: OverridableTypeMemberEntity): boolean;
|
507
|
+
getEntityTypeOrReturnType(entity: OverridableTypeMemberEntity): types.Type;
|
508
|
+
getMemberTypeOrReturnType(member: OverridableTypeMember): types.Type;
|
509
|
+
private findOverriddenMembers;
|
510
|
+
private findOverriddenOrShadowedNamedMemberInType;
|
511
|
+
private findOverriddenOrShadowedOperatorInType;
|
512
|
+
private findOverriddenOrShadowedIndexerInType;
|
513
|
+
private findOverriddenOrShadowedDereferenceOperatorInType;
|
514
|
+
private checkMethodOverridesOrShadowsMethod;
|
515
|
+
private checkOperatorOverridesOrShadowsOperator;
|
516
|
+
private checkIndexerOverridesOrShadowsIndexer;
|
517
|
+
private enumerateTypeMemberLookups;
|
501
518
|
private enumerateTypesForOverriddenMemberLookup;
|
502
|
-
private
|
503
|
-
private entityCanBeOverridden;
|
504
|
-
private addTypeMemberIfUnique;
|
519
|
+
private entityCanOverrideOrShadow;
|
505
520
|
}
|
521
|
+
export declare enum ShadowReason {
|
522
|
+
BaseMemberHasDifferentKind = 0,
|
523
|
+
BaseMemberCanNotBeOverridden = 1,
|
524
|
+
NoOverrideModifier = 2,
|
525
|
+
NoOverrideModifierAndTypeOrReturnTypeMismatch = 3,
|
526
|
+
TypeOrReturnTypeMismatch = 4
|
527
|
+
}
|
528
|
+
export declare class ShadowedMemberInfo<T extends OverridableTypeMember = OverridableTypeMember> {
|
529
|
+
readonly value: T;
|
530
|
+
readonly shadowReason: ShadowReason;
|
531
|
+
constructor(value: T, shadowReason: ShadowReason);
|
532
|
+
}
|
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>[]);
|
537
|
+
}
|
538
|
+
export type OverridableTypeMemberEntity = e.FieldEntity | e.MethodEntity | e.OperatorEntity | e.IndexerEntity | e.DereferenceOperatorEntity;
|
539
|
+
export type OverridableTypeMember = types.Field | types.Method | types.Operator | types.Indexer | types.DereferenceOperator;
|
506
540
|
declare class Tags {
|
507
541
|
readonly _analyzer: Analyzer;
|
508
542
|
private readonly _tags;
|
@@ -577,13 +611,17 @@ declare class OwningPlainObjectModificationCheck {
|
|
577
611
|
private nodeBelongsToPlainObjectDeclaration;
|
578
612
|
}
|
579
613
|
export declare enum TypeAssignabilityFlags {
|
580
|
-
|
581
|
-
|
582
|
-
|
583
|
-
|
584
|
-
|
614
|
+
None = 0,
|
615
|
+
/**
|
616
|
+
* Если флаг NotAssignable установлен, никакие другие флаги не могут быть установлены.
|
617
|
+
*/
|
618
|
+
NotAssignable = 1,
|
619
|
+
Identity = 2,
|
620
|
+
DerivedToBase = 4,
|
621
|
+
FunctionTypes = 8,
|
622
|
+
ImplicitConversion = 16,
|
585
623
|
First = 1,
|
586
|
-
Last =
|
624
|
+
Last = 16
|
587
625
|
}
|
588
626
|
declare class PackageImports {
|
589
627
|
private readonly _analyzer;
|
@@ -622,6 +660,9 @@ declare class TypeUtils {
|
|
622
660
|
getCommonObjectAndAspectTypesOfUnion(unionType: types.UnionType): readonly types.StructuredType[];
|
623
661
|
removeBaseTypesInPlace(types: types.Type[]): void;
|
624
662
|
removeDerivedTypesInPlace(types: types.Type[]): void;
|
663
|
+
getBaseTypes(type: types.Type): readonly types.Type[];
|
664
|
+
getBaseTypesRecursively(type: types.Type): readonly types.Type[];
|
665
|
+
private collectBaseTypesRecursively;
|
625
666
|
private getBaseTypesForCommonTypesSearch;
|
626
667
|
private addTypeAndCollectAllBaseTypes;
|
627
668
|
private addTypeIfUnique;
|
@@ -5,9 +5,12 @@ import { Analyzer } from './Analyzer.js';
|
|
5
5
|
import { FoundAnonymousDeclaration } from './FoundDeclaration.js';
|
6
6
|
/**
|
7
7
|
* "основа" не является самостоятельным выражением и может использоваться только в следующих конструкциях:
|
8
|
-
* 1.
|
9
|
-
* 2.
|
10
|
-
* 3.
|
8
|
+
* 1. `основа()` - в конструкторе для вызова базового конструктора или в методе для вызова базового метода.
|
9
|
+
* 2. `основа.поле` (`основа.метод`) - в любом выражении в контексте типа, имеющего базовый тип.
|
10
|
+
* 3. `основа[]` - аналогично п. 2.
|
11
|
+
* 4. `основа^` - аналогично п. 2.
|
12
|
+
* 5. `(основа как БазовыйАспект).поле`, `(основа как БазовыйАспект)[]`, `(основа как БазовыйАспект)^` - для доступа к
|
13
|
+
* реализации по умолчанию члена базового аспекта.
|
11
14
|
*/
|
12
15
|
export declare class Resolver {
|
13
16
|
private readonly _analyzer;
|
@@ -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;
|
@@ -81,6 +79,9 @@ export declare class DiagnosticCollector {
|
|
81
79
|
private checkIfNestedFunctionIsUnused;
|
82
80
|
private checkIfTypeParameterIsUnused;
|
83
81
|
private checkAllCodePathsReturnOrResultVariableIsAssigned;
|
82
|
+
private checkTypeMemberIncorrectlyOverridesOrShadowsBaseMember;
|
83
|
+
private isReceiverBaseAutoVariableAccess;
|
84
|
+
private overridingMemberHasCorrectHiding;
|
84
85
|
private addDiagnostic;
|
85
86
|
private addDiagnostics;
|
86
87
|
private addMaybeLazyDiagnostic;
|
@@ -45,13 +45,14 @@ export declare class ModifierValidator {
|
|
45
45
|
static readonly allowedModifiersByTypeMemberDeclarationKind: {
|
46
46
|
[T in TypeMemberDeclarationKind]: ModifierFlags;
|
47
47
|
};
|
48
|
+
private effectiveModifiers;
|
48
49
|
constructor(_analyzer: Analyzer, _diagnostics: DiagnosticAcceptor, _locale: PackageLocale, _dialect: PackageDialect);
|
49
50
|
static validatePackageVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
|
50
51
|
static validateFieldAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
|
51
52
|
static validateIndexedElementAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
|
52
53
|
static validateDereferencedVariableAccessorsHaveConsistentModifiers(analyzer: Analyzer, getterModifiers: ModifierFlags, setterModifiers: ModifierFlags, nodeForDiagnostic: tree.Node, diagnostics: DiagnosticAcceptor): void;
|
53
54
|
validateTopLevelPackageMembers(list: tree.PackageMemberDeclarationList): void;
|
54
|
-
validateTopLevelTypeMembers(
|
55
|
+
validateTopLevelTypeMembers(memberList: tree.TypeMemberDeclarationList, declarationWithMembersKind: DeclarationWithTypeMembersKind, isTypeMarkedAbstract: boolean, isTypeMarkedBasic: boolean): void;
|
55
56
|
private static validateTypeMemberAccessorsHaveConsistentModifiers;
|
56
57
|
private static validatePackageMemberSetterHasMoreRestrictiveHidingLevel;
|
57
58
|
private static validateTypeMemberSetterHasMoreRestrictiveHidingLevel;
|
@@ -66,6 +67,7 @@ export declare class ModifierValidator {
|
|
66
67
|
private validateTypeMembers;
|
67
68
|
private validateTypeMemberModifierList;
|
68
69
|
private validateTypeMemberCanBePlacedInGroupWithModifiers;
|
70
|
+
private validateFieldCanBePlacedInGroupWithModifiers;
|
69
71
|
private typeMemberAllowsAbstractModifier;
|
70
72
|
private typeMemberAllowsBasicModifier;
|
71
73
|
private typeMemberAllowsOverrideModifier;
|
@@ -75,9 +77,8 @@ export declare class ModifierValidator {
|
|
75
77
|
private reportDeclarationCanNotBePlacedInGroupWithModifier;
|
76
78
|
private reportModifierCanNotBeUsedWithAnotherModifier;
|
77
79
|
private reportModifierIsNotAllowedHere;
|
80
|
+
private findModifier;
|
78
81
|
private displayModifierNode;
|
79
|
-
private displayModifierFlag;
|
80
|
-
private displayModifier;
|
81
82
|
private forEachModifierFlag;
|
82
83
|
}
|
83
84
|
export {};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { DiagnosticAcceptor } from '../diagnostic/Diagnostic.js';
|
2
|
+
import { TypeEntityWithMembers } from '../entities/index.js';
|
3
|
+
import { DisplayService } from '../services/DisplayService.js';
|
4
|
+
import { Analyzer } from './Analyzer.js';
|
5
|
+
export declare class TypeMemberImplementationValidator {
|
6
|
+
private readonly _analyzer;
|
7
|
+
private readonly _typeEntity;
|
8
|
+
private readonly _displayService;
|
9
|
+
private readonly _diagnostics;
|
10
|
+
constructor(_analyzer: Analyzer, _typeEntity: TypeEntityWithMembers, _displayService: DisplayService, _diagnostics: DiagnosticAcceptor);
|
11
|
+
validate(): void;
|
12
|
+
private getDiagnosticLocation;
|
13
|
+
}
|
@@ -5,4 +5,9 @@ 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;
|
9
|
+
static pushElementsIfUniqueComparingWithEquals<T extends WithEqualsMethod<T>>(array: T[], elements: readonly T[]): void;
|
8
10
|
}
|
11
|
+
export type WithEqualsMethod<T> = {
|
12
|
+
equals(t: T): boolean;
|
13
|
+
};
|
@@ -88,89 +88,102 @@ export declare enum DiagnosticCode {
|
|
88
88
|
BodyIsMissing = 250,
|
89
89
|
AbstractTypeMembersMustNotHaveBody = 251,
|
90
90
|
MembersOfAspectTypeMustNotHaveBody = 252,
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
91
|
+
AspectTypeFieldsMustBeAbstract = 253,
|
92
|
+
DeclarationsMarkedWithBuiltIntoPlatformTagMustNotHaveBody = 254,
|
93
|
+
AbstractFieldsMustNotHaveInitializers = 255,
|
94
|
+
PackageIsAlreadyImportedInAnotherLanguage = 256,
|
95
|
+
OnlySubprogramsWithReturnTypeCanReturnValue = 257,
|
96
|
+
FunctionsUsingYieldStatementCannotReturnValue = 258,
|
97
|
+
YieldStatementCannotBeUsedInAnonymousFunctions = 259,
|
98
|
+
YieldStatementCannotBeUsedHere = 260,
|
99
|
+
FunctionsUsingYieldStatementMustHaveEnumerableAsReturnType = 261,
|
100
|
+
YieldStatementCannotBeUsedInTryStatementThatHasCatchClause = 262,
|
101
|
+
YieldStatementCannotBeUsedInFinallyClause = 263,
|
102
|
+
SubprogramMustReturnValue = 264,
|
103
|
+
ResultVariableCannotBeUsedInFunctionsUsingYieldStatement = 265,
|
104
|
+
TypeAliasReferencesItself = 266,
|
105
|
+
TypeParameterHasCircularConstraint = 267,
|
106
|
+
BaseTypeCausesInheritanceCycle = 268,
|
107
|
+
OnlyGenericTypesAndFunctionsCanBeSpecialized = 269,
|
108
|
+
Expected0TypeArguments = 270,
|
109
|
+
ExpectedFrom0To1TypeArguments = 271,
|
110
|
+
Type0IsNotAssignableToConstraint1 = 272,
|
111
|
+
VariableIsDeclaredButItsValueIsNeverRead = 273,
|
112
|
+
FunctionIsDeclaredButNotUsed = 274,
|
113
|
+
TypeParameterIsDeclaredButNotUsed = 275,
|
114
|
+
DefaultConstructorArgumentsMustBeNamed = 276,
|
115
|
+
IncorrectBodyOfBasicAliasTypeMethod = 277,
|
116
|
+
TheFollowingDeclarationsAreNotTranslated0 = 278,
|
117
|
+
TheFollowingDeclarationAreNotTranslated0And1More = 279,
|
118
|
+
OperatorFunction0MustNotHaveParameters = 280,
|
119
|
+
OperatorFunction0MustHaveOneParameter = 281,
|
120
|
+
OperatorFunction0MustHaveNoMoreThanOneParameter = 282,
|
121
|
+
CorrespondingBasicTypeMemberNotFound = 283,
|
122
|
+
AsyncFunctionCanOnlyBeCalledFromFunctionMarkedWithAsyncModifier = 284,
|
123
|
+
TagNotFound = 285,
|
124
|
+
TypeOrFunctionNameExpected = 286,
|
125
|
+
PackageNameOrAliasExpected = 287,
|
126
|
+
ExpressionCanBeNone = 288,
|
127
|
+
TargetVariableExpressionInTheAssignmentStatementCannotContainQuestionOperator = 289,
|
128
|
+
UnreachableCode = 290,
|
129
|
+
RecursionOccurredWhileCalculatingTheTypeOfTheExpression = 291,
|
130
|
+
RecursionOccurredWhileInferringTheTypeOfTheVariable = 292,
|
131
|
+
ScopeAlreadyContainsDeclarationWithTheSameName = 293,
|
132
|
+
ScopeAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 294,
|
133
|
+
ParameterName0ConflictsWithAutomaticallyGeneratedVariableName = 295,
|
134
|
+
PackageAlreadyContainsDeclarationWithTheSameName = 296,
|
135
|
+
PackageAlreadyContainsFunctionWithTheSameNameAndParameterTypes = 297,
|
136
|
+
PackageAlreadyContainsTypeWithTheSameNameAndSameOrIntersectingTypeParameterCount = 298,
|
137
|
+
PackageAliasWithTheSameNameAlreadyExits = 299,
|
138
|
+
PackageCanHaveOnlyEntryPoint = 300,
|
139
|
+
PackageCanHaveOnlyOneConstructor = 301,
|
140
|
+
TypeAlreadyContainsDeclarationWithTheSameName = 302,
|
141
|
+
TypeAlreadyContainsMethodWithTheSameNameAndParameterTypes = 303,
|
142
|
+
TypeAlreadyContainsConstructorWithTheSameParameterTypes = 304,
|
143
|
+
TypeAlreadyContainsOperatorFunctionWithTheSameParameterTypes = 305,
|
144
|
+
TypeAlreadyContainsIndexerWithTheSameParameterTypes = 306,
|
145
|
+
TypeCanHaveOnlyOneDestructor = 307,
|
146
|
+
TypeCanHaveOnlyOneDereferenceOperator = 308,
|
147
|
+
VariableIsUsedBeforeItsDeclaration = 309,
|
148
|
+
VariableMayNotHasBeenAssignedBeforeUsage = 310,
|
149
|
+
NotAllCodePathsReturnAValueAndResultLocalVariableMayNotHasBeenAssigned = 311,
|
150
|
+
WriteFunctionHasNoCorrespondingReadFunction = 312,
|
151
|
+
TypeCanNotHaveMultipleBaseObjectTypes = 313,
|
152
|
+
TypeThatIsNotMarkedAsBasicCanNotBeUsedAsBaseType = 314,
|
153
|
+
PlainObjectTypeCanNotBeUsedAsBaseType = 315,
|
154
|
+
ThisTypeIsAlreadyListedInBaseTypeList = 316,
|
155
|
+
OnlyObjectAndAspectTypesCanBeUsedAsBaseTypes = 317,
|
156
|
+
PlainObjectTypeCanHaveOnlyAspectsAsBaseTypes = 318,
|
157
|
+
AspectTypeCanHaveOnlyAspectsAsBaseTypes = 319,
|
158
|
+
ModifierListAlreadyContains0Modifier = 320,
|
159
|
+
ModifierListOfOuterDeclarationGroupAlreadyContains0Modifier = 321,
|
160
|
+
_0ModifierIsNotAllowedHere = 322,
|
161
|
+
DeclarationCanNotBePlacedInGroupHaving0Modifier = 323,
|
162
|
+
PackageConstructorDeclarationCanNotHaveModifiers = 324,
|
163
|
+
PackageEntryPointDeclarationCanNotHaveModifiers = 325,
|
164
|
+
TranslationsCanNotHaveModifiers = 326,
|
165
|
+
AbstractModifierCanOnlyBeUsedInAbstractObjectTypes = 327,
|
166
|
+
BasicModifierCanOnlyBeUsedInObjectTypesAspectTypesAndTypeAliases = 328,
|
167
|
+
OverrideModifierCanOnlyBeUsedInObjectAndAspectTypes = 329,
|
168
|
+
_0ModifierCanNotBeUsedWith1Modifier = 330,
|
169
|
+
VariantDeclarationCanNotHaveHiddenModifier = 331,
|
170
|
+
BasicModifierCanOnlyBeAppliedToObjectTypes = 332,
|
171
|
+
AbstractModifierCanOnlyBeAppliedToObjectTypes = 333,
|
172
|
+
NotBasicObjectTypesCanNotHaveBasicMembers = 334,
|
173
|
+
BasicModifierCanNotBeAppliedToAspectTypeFields = 335,
|
174
|
+
WriteFunctionMustHaveTheSameModifiersAsReadFunction = 336,
|
175
|
+
WriteFunctionMustHaveTheSameOrMoreRestrictiveHidingLevelThenReadFunction = 337,
|
176
|
+
DeclarationConflictsWithBaseTypeMember0 = 338,
|
177
|
+
DeclarationConflictsWithBaseTypeMember0AddOverrideModifier = 339,
|
178
|
+
DeclarationConflictsWithBaseTypeMember0ThisMemberCanNotBeOverridden = 340,
|
179
|
+
DeclarationConflictsWithBaseTypeMember0ToOverrideTypeMustBeAssignableTo1 = 341,
|
180
|
+
DeclarationConflictsWithBaseTypeMember0ToOverrideReturnTypeMustBeAssignableTo1 = 342,
|
181
|
+
OverridingMemberMustHaveTheSameHidingLevelAsBaseMember0 = 343,
|
182
|
+
OverridingMethodMustBeAsyncBecauseBaseMethod0IsAsync = 344,
|
183
|
+
OverridingMethodMustNotBeAsyncBecauseBaseMethod0IsNotAsync = 345,
|
184
|
+
OverridingFieldMustNotBeConstOrHaveWriteFunctionToMatchBaseField0 = 346,
|
185
|
+
TypeDoesNotImplementMember0 = 347,
|
186
|
+
CanNotAccessAbstractMemberOfBaseType = 348,
|
174
187
|
CannotFindTsLibDirectoryBaseSearchPaths0 = 401,
|
175
188
|
SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 402,
|
176
189
|
ProgramWithoutMainPackageCannotBeCompiled = 403,
|
@@ -805,15 +805,15 @@ export declare class MethodDeclaration {
|
|
805
805
|
export declare class FieldAccessExpression {
|
806
806
|
expression: Expression;
|
807
807
|
isOptionalAccess: boolean;
|
808
|
-
|
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,
|
815
|
-
static get(expression: Expression, isOptionalAccess: boolean,
|
816
|
-
static set(expression: Expression, isOptionalAccess: boolean,
|
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 {
|
@@ -31,7 +31,6 @@ export declare class DereferenceOperatorDeclarationEntity implements Dereference
|
|
31
31
|
private readonly _getterDeclaration;
|
32
32
|
private readonly _setterDeclaration;
|
33
33
|
private readonly _getterOrSetterDeclaration;
|
34
|
-
private readonly _overriddenMembers;
|
35
34
|
private _modifierFlags;
|
36
35
|
private _hasReportedAllDiagnostics;
|
37
36
|
private get modifierFlags();
|
@@ -75,7 +75,6 @@ export declare class MethodDeclarationEntity implements MethodEntity {
|
|
75
75
|
readonly subkind = "method";
|
76
76
|
private readonly _typeParameters;
|
77
77
|
private readonly _valueParameters;
|
78
|
-
private readonly _overriddenMember;
|
79
78
|
private _modifierFlags;
|
80
79
|
private get modifierFlags();
|
81
80
|
constructor(_analyzer: Analyzer, _node: MethodDeclaration);
|
@@ -38,7 +38,6 @@ export declare class IndexerDeclarationEntity implements SourceIndexerEntity {
|
|
38
38
|
private readonly _setterDeclaration;
|
39
39
|
private readonly _getterOrSetterDeclaration;
|
40
40
|
private readonly _parameters;
|
41
|
-
private readonly _overriddenMembers;
|
42
41
|
private _modifierFlags;
|
43
42
|
private _hasReportedAllDiagnostics;
|
44
43
|
private get parameters();
|
@@ -28,7 +28,6 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
|
|
28
28
|
readonly kind = EntityKind.Operator;
|
29
29
|
private readonly _operatorKind;
|
30
30
|
private readonly _valueParameters;
|
31
|
-
private readonly _overriddenMembers;
|
32
31
|
private _modifierFlags;
|
33
32
|
private get modifierFlags();
|
34
33
|
constructor(_analyzer: Analyzer, _node: tree.OperatorDeclaration);
|
@@ -2,23 +2,24 @@ import { Name } from '../common/index.js';
|
|
2
2
|
import { ConstructorEntity } from './ConstructorEntity.js';
|
3
3
|
import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
|
4
4
|
import { DestructorEntity } from './DestructorEntity.js';
|
5
|
-
import { IndexerEntity } from './IndexerEntity.js';
|
6
5
|
import { MethodEntity } from './FunctionEntity.js';
|
6
|
+
import { IndexerEntity } from './IndexerEntity.js';
|
7
7
|
import { OperatorEntity } from './OperatorEntity.js';
|
8
8
|
import { OperatorKind } from './OperatorKind.js';
|
9
9
|
import { FieldEntity } from './VariableEntity.js';
|
10
|
+
import { TypeMemberEntity } from './index.js';
|
10
11
|
export declare class OriginalTypeEntityMembers {
|
11
12
|
private readonly _namedMembers;
|
12
13
|
private readonly _operators;
|
13
14
|
private readonly _constructors;
|
14
15
|
private readonly _destructors;
|
15
16
|
private readonly _indexers;
|
16
|
-
private readonly
|
17
|
+
private readonly _dereferenceOperators;
|
17
18
|
private readonly _membersByNameKey;
|
18
19
|
private readonly _operatorsByKind;
|
19
20
|
private get membersByNameKey();
|
20
21
|
private get operatorByKind();
|
21
|
-
constructor(_namedMembers: readonly NamedTypeMemberEntity[], _operators: readonly OperatorEntity[], _constructors: readonly ConstructorEntity[], _destructors: readonly DestructorEntity[], _indexers: readonly IndexerEntity[],
|
22
|
+
constructor(_namedMembers: readonly NamedTypeMemberEntity[], _operators: readonly OperatorEntity[], _constructors: readonly ConstructorEntity[], _destructors: readonly DestructorEntity[], _indexers: readonly IndexerEntity[], _dereferenceOperators: readonly DereferenceOperatorEntity[]);
|
22
23
|
getNamedMembers(): readonly NamedTypeMemberEntity[];
|
23
24
|
getNamedMembersByName(name: Name): readonly NamedTypeMemberEntity[];
|
24
25
|
getOperators(): readonly OperatorEntity[];
|
@@ -27,5 +28,6 @@ export declare class OriginalTypeEntityMembers {
|
|
27
28
|
getDereferenceOperators(): readonly DereferenceOperatorEntity[];
|
28
29
|
getConstructors(): readonly ConstructorEntity[];
|
29
30
|
getDestructors(): readonly DestructorEntity[];
|
31
|
+
getAll(): readonly TypeMemberEntity[];
|
30
32
|
}
|
31
33
|
export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
|
@@ -154,7 +154,6 @@ export declare class FieldDeclarationEntity implements FieldEntity {
|
|
154
154
|
private readonly _analyzer;
|
155
155
|
private readonly _node;
|
156
156
|
private readonly _typeInferrer;
|
157
|
-
private readonly _overriddenMembers;
|
158
157
|
private _modifierFlags;
|
159
158
|
private _hasReportedAllDiagnostics;
|
160
159
|
private get modifierFlags();
|
@@ -184,7 +183,6 @@ export declare class ComputedFieldDeclarationEntity implements FieldEntity {
|
|
184
183
|
private readonly _getterDeclaration;
|
185
184
|
private readonly _setterDeclaration;
|
186
185
|
private readonly _getterOrSetterDeclaration;
|
187
|
-
private readonly _overriddenMembers;
|
188
186
|
private _modifierFlags;
|
189
187
|
private _hasReportedAllDiagnostics;
|
190
188
|
private get modifierFlags();
|
@@ -1,11 +1,13 @@
|
|
1
|
+
import { Analyzer } from '../analysis/Analyzer.js';
|
2
|
+
import * as types from '../types/index.js';
|
1
3
|
import { AliasTypeEntity } from './AliasTypeEntity.js';
|
2
4
|
import { ConstructorEntity } from './ConstructorEntity.js';
|
3
5
|
import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
|
4
6
|
import { DestructorEntity } from './DestructorEntity.js';
|
5
|
-
import { GetterEntity } from './GetterEntity.js';
|
6
|
-
import { IndexerEntity } from './IndexerEntity.js';
|
7
7
|
import { FunctionEntity, MethodEntity, PackageFunctionEntity } from './FunctionEntity.js';
|
8
8
|
import { FunctionTypeEntity, PackageFunctionTypeEntity } from './FunctionTypeEntity.js';
|
9
|
+
import { GetterEntity } from './GetterEntity.js';
|
10
|
+
import { IndexerEntity } from './IndexerEntity.js';
|
9
11
|
import { OperatorEntity } from './OperatorEntity.js';
|
10
12
|
import { PackageAliasEntity } from './PackageAliasEntity.js';
|
11
13
|
import { PackageEntity } from './PackageEntity.js';
|
@@ -14,7 +16,7 @@ import { PackageStructuredTypeEntity, StructuredTypeEntity } from './StructuredT
|
|
14
16
|
import { TypeEntity } from './TypeEntity.js';
|
15
17
|
import { TypeExtensionEntity } from './TypeExtensionEntity.js';
|
16
18
|
import { TypeParameterEntity } from './TypeParameterEntity.js';
|
17
|
-
import {
|
19
|
+
import { FieldEntity, PackageVariableEntity, VariableEntity } from './VariableEntity.js';
|
18
20
|
import { PackageVariantTypeEntity, VariantTypeEntity } from './VariantTypeEntity.js';
|
19
21
|
export * from './AliasTypeEntity.js';
|
20
22
|
export * from './ConstructorEntity.js';
|
@@ -22,10 +24,10 @@ export * from './DereferenceOperatorEntity.js';
|
|
22
24
|
export * from './DestructorEntity.js';
|
23
25
|
export * from './EntityHiding.js';
|
24
26
|
export * from './EntityNaming.js';
|
25
|
-
export * from './GetterEntity.js';
|
26
|
-
export * from './IndexerEntity.js';
|
27
27
|
export * from './FunctionEntity.js';
|
28
28
|
export * from './FunctionTypeEntity.js';
|
29
|
+
export * from './GetterEntity.js';
|
30
|
+
export * from './IndexerEntity.js';
|
29
31
|
export * from './OperatorEntity.js';
|
30
32
|
export * from './OperatorKind.js';
|
31
33
|
export * from './PackageAliasEntity.js';
|
@@ -96,19 +98,11 @@ export declare namespace TypeMemberEntity {
|
|
96
98
|
* Объявление можно заменить в производном типе, если оно не всеобщее, и выполняется одно из условий:
|
97
99
|
* - объявление помечено модификатором "базовое"
|
98
100
|
* - объявление помечено модификатором "абстрактное"
|
99
|
-
* - объявление помечено модификатором "расширенное"
|
100
|
-
* - объявление является членом аспектного типа
|
101
101
|
*/
|
102
102
|
function isBasic(entity: TypeMemberEntity): boolean;
|
103
|
-
/**
|
104
|
-
* Возвращает `true`, если объявление не имеет реализации.
|
105
|
-
*
|
106
|
-
* Объявление не имеет реализации, если выполняется одно из условий:
|
107
|
-
* - объявление помечено модификатором "абстрактное"
|
108
|
-
* - объявление является является членом аспекта, не помечено модификатором "базовое", не является всеобщим и не
|
109
|
-
* скрыто в типе.
|
110
|
-
*/
|
111
103
|
function isAbstract(entity: TypeMemberEntity): boolean;
|
104
|
+
function getOverriddenMembers(entity: TypeMemberEntity): readonly types.TypeMember[];
|
105
|
+
function instantiate(analyzer: Analyzer, entity: TypeMemberEntity, substitutions: types.Substitutions): types.TypeMember;
|
112
106
|
}
|
113
107
|
export declare function entityToStringDecorator<T extends {
|
114
108
|
new (...args: any[]): Entity;
|
@@ -45,6 +45,7 @@ export declare class DisplayService {
|
|
45
45
|
displayTypeExtensionEntity(entity: e.TypeExtensionEntity): string;
|
46
46
|
displayEntity(entity: e.Entity, localization?: Localization): string;
|
47
47
|
displayTypeEntity(entity: e.TypeEntity, localization?: Localization): string;
|
48
|
+
displayTypeMember(member: types.TypeMember, localization?: Localization): string;
|
48
49
|
displayKeyword(kind: KeywordKind): string;
|
49
50
|
displayHelperPhrase(kind: HelperPhraseKind): string;
|
50
51
|
displayEntityName(entity: NamedEntity, localization: Localization | undefined): string;
|