@artel/artc 0.6.25271 → 0.6.25273
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 +4 -2
- package/build/api/ApiNodeJS.js +3 -3
- package/build/api/ApiServices.js +188 -238
- package/build/{chunk-LD2OIYWC.js → chunk-7EXJHYWX.js} +17928 -17171
- package/build/{chunk-MMSDQCD5.js → chunk-GOQZ6DP3.js} +1 -1
- package/build/{chunk-NLPXNTAI.js → chunk-W3SQYLD5.js} +2 -2
- package/build/types/analysis/AnalyzedTextTranslationPackage.d.ts +3 -3
- package/build/types/analysis/AnalyzedTranslationPackage.d.ts +2 -4
- package/build/types/analysis/Analyzer.d.ts +14 -4
- package/build/types/analysis/DiagnosticCollector.d.ts +7 -0
- package/build/types/analysis/ImportedPackageNameTree.d.ts +1 -1
- package/build/types/analysis/ReturnTypeInferrer.d.ts +2 -2
- package/build/types/analysis/SourcePackageMembersCreator.d.ts +1 -1
- package/build/types/analysis/TextIdentity.d.ts +9 -0
- package/build/types/analysis/TypeMemberConflictsValidator.d.ts +1 -1
- package/build/types/analysis/control-flow/NarrowableReference.d.ts +1 -1
- package/build/types/analysis/semantic-context/SemanticContextBasedEntityHidingMatcher.d.ts +1 -1
- package/build/types/analysis/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +1 -1
- package/build/types/common/Constants.d.ts +1 -1
- package/build/types/common/PackageDialect.d.ts +2 -3
- package/build/types/common/Query.d.ts +4 -0
- package/build/types/diagnostic/DiagnosticCode.d.ts +98 -92
- package/build/types/emitter/EmitterContext.d.ts +50 -4
- package/build/types/emitter/IrBuilder.d.ts +0 -1
- package/build/types/emitter/IrToJs.d.ts +4 -0
- package/build/types/emitter/Transformer.d.ts +35 -15
- package/build/types/emitter/ir/types.d.ts +1 -1
- package/build/types/entities/BaseAspectTypes.d.ts +26 -1
- package/build/types/entities/BaseEntityHidingMatcher.d.ts +1 -1
- package/build/types/entities/BaseObjectType.d.ts +20 -1
- package/build/types/entities/Entity.d.ts +104 -0
- package/build/types/entities/EntityHiding.d.ts +1 -1
- package/build/types/entities/TypeEntityMembers.d.ts +5 -5
- package/build/types/entities/index.d.ts +5 -123
- package/build/types/entities/{AliasedType.d.ts → interfaces/AliasTypeEntity.d.ts} +44 -13
- package/build/types/entities/interfaces/ConstructorEntity.d.ts +44 -0
- package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +30 -0
- package/build/types/entities/interfaces/DestructorEntity.d.ts +20 -0
- package/build/types/entities/interfaces/FunctionEntity.d.ts +56 -0
- package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +52 -0
- package/build/types/entities/interfaces/GetterEntity.d.ts +26 -0
- package/build/types/entities/interfaces/IndexerEntity.d.ts +33 -0
- package/build/types/entities/interfaces/OperatorEntity.d.ts +27 -0
- package/build/types/entities/interfaces/PackageAliasEntity.d.ts +21 -0
- package/build/types/entities/{PackageEntity.d.ts → interfaces/PackageEntity.d.ts} +8 -35
- package/build/types/entities/interfaces/SetterEntity.d.ts +24 -0
- package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +62 -0
- package/build/types/entities/interfaces/TextTranslationEntity.d.ts +18 -0
- package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +22 -0
- package/build/types/entities/{TypeParameterEntity.d.ts → interfaces/TypeParameterEntity.d.ts} +6 -60
- package/build/types/entities/interfaces/VariableEntity.d.ts +102 -0
- package/build/types/entities/interfaces/VariantTypeEntity.d.ts +47 -0
- package/build/types/entities/interfaces/index.d.ts +18 -0
- package/build/types/entities/intrinsic/IntrinsicConstructorEntity.d.ts +56 -0
- package/build/types/entities/intrinsic/IntrinsicFunctionEntity.d.ts +77 -0
- package/build/types/entities/intrinsic/IntrinsicFunctionTypeEntity.d.ts +17 -0
- package/build/types/entities/intrinsic/IntrinsicGetterEntity.d.ts +25 -0
- package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +17 -0
- package/build/types/entities/intrinsic/IntrinsicTypeParameterEntity.d.ts +32 -0
- package/build/types/entities/intrinsic/IntrinsicVariableEntity.d.ts +123 -0
- package/build/types/entities/intrinsic/index.d.ts +7 -0
- package/build/types/entities/source/SourceAliasTypeEntity.d.ts +36 -0
- package/build/types/entities/source/SourceConstructorEntity.d.ts +30 -0
- package/build/types/entities/source/SourceDereferenceOperatorEntity.d.ts +37 -0
- package/build/types/entities/source/SourceDestructorEntity.d.ts +28 -0
- package/build/types/entities/source/SourceFunctionEntity.d.ts +101 -0
- package/build/types/entities/source/SourceFunctionTypeEntity.d.ts +77 -0
- package/build/types/entities/{GetterEntity.d.ts → source/SourceGetterEntity.d.ts} +7 -48
- package/build/types/entities/source/SourceIndexerEntity.d.ts +39 -0
- package/build/types/entities/source/SourceOperatorEntity.d.ts +38 -0
- package/build/types/entities/source/SourcePackageAliasEntity.d.ts +24 -0
- package/build/types/entities/source/SourcePackageEntity.d.ts +34 -0
- package/build/types/entities/{SetterEntity.d.ts → source/SourceSetterEntity.d.ts} +6 -27
- package/build/types/entities/source/SourceStructuredTypeEntity.d.ts +114 -0
- package/build/types/entities/source/SourceTextTranslationEntity.d.ts +30 -0
- package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +28 -0
- package/build/types/entities/source/SourceTypeParameterEntity.d.ts +34 -0
- package/build/types/entities/{VariableEntity.d.ts → source/SourceVariableEntity.d.ts} +8 -220
- package/build/types/entities/source/SourceVariantTypeEntity.d.ts +69 -0
- package/build/types/entities/source/index.d.ts +18 -0
- package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +4 -5
- package/build/types/entities/translated/TranslatedConstructorEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedDereferenceOperatorEntity.d.ts +1 -1
- package/build/types/entities/translated/TranslatedDestructorEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedFunctionEntity.d.ts +5 -5
- package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +5 -5
- package/build/types/entities/translated/TranslatedGetterEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedIndexerEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedOperatorEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedPackageEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedSetterEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +5 -6
- package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +2 -2
- package/build/types/entities/translated/TranslatedVariableEntity.d.ts +5 -5
- package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +4 -4
- package/build/types/entities/translated/index.d.ts +16 -0
- package/build/types/project/configuration/types/PackageConfigurationEn.d.ts +0 -1
- package/build/types/project/configuration/types/PackageConfigurationRu.d.ts +0 -1
- package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
- package/build/types/tree/NodeKind.d.ts +58 -60
- package/build/types/tree/Nodes.d.ts +4 -30
- package/build/types/tree/SyntaxToCode.d.ts +0 -1
- package/build/types/ts-interop/Entities.d.ts +2 -4
- package/build/types/ts-interop/TsInteropContext.d.ts +1 -2
- package/package.json +1 -1
- package/build/types/entities/AliasTypeEntity.d.ts +0 -61
- package/build/types/entities/ConstructorEntity.d.ts +0 -118
- package/build/types/entities/DereferenceOperatorEntity.d.ts +0 -62
- package/build/types/entities/DestructorEntity.d.ts +0 -44
- package/build/types/entities/FunctionEntity.d.ts +0 -221
- package/build/types/entities/FunctionTypeEntity.d.ts +0 -131
- package/build/types/entities/IndexerEntity.d.ts +0 -67
- package/build/types/entities/OperatorEntity.d.ts +0 -60
- package/build/types/entities/PackageAliasEntity.d.ts +0 -41
- package/build/types/entities/StructuredTypeEntity.d.ts +0 -226
- package/build/types/entities/TextTranslationEntity.d.ts +0 -45
- package/build/types/entities/TypeExtensionEntity.d.ts +0 -45
- package/build/types/entities/VariantTypeEntity.d.ts +0 -108
|
@@ -8,14 +8,18 @@ export declare class Transformer {
|
|
|
8
8
|
private transformedDeclaration_;
|
|
9
9
|
get transformedDeclaration(): ir.Declaration | undefined;
|
|
10
10
|
constructor(config: TransformationConfig);
|
|
11
|
-
|
|
11
|
+
transformChildren(node: ir.Node): void;
|
|
12
|
+
transformPackage(pkg: ir.Package): void;
|
|
13
|
+
transformPackageChildren(pkg: ir.Package): void;
|
|
12
14
|
transformPackageMemberDeclaration(declaration: ir.PackageMemberDeclaration): readonly ir.PackageMemberDeclaration[];
|
|
13
15
|
transformBlockStatement(statement: ir.BlockStatement): ir.BlockStatement;
|
|
14
16
|
transformStatement(statement: ir.Statement): readonly ir.Statement[];
|
|
15
17
|
transformAssignmentStatementChildren(statement: ir.AssignmentStatement): void;
|
|
16
18
|
transformBlockStatementChildren(statement: ir.BlockStatement): void;
|
|
17
19
|
transformCatchClause(node: ir.CatchClause): ir.CatchClause;
|
|
20
|
+
transformCatchClauseChildren(catchClause: ir.CatchClause): void;
|
|
18
21
|
transformFinallyClause(node: ir.FinallyClause): ir.FinallyClause;
|
|
22
|
+
transformFinallyClauseChildren(finallyClause: ir.FinallyClause): void;
|
|
19
23
|
transformBreakLoopStatementChildren(_statement: ir.BreakLoopStatement): void;
|
|
20
24
|
transformContinueLoopStatementChildren(_statement: ir.ContinueLoopStatement): void;
|
|
21
25
|
transformDisposeStatementChildren(statement: ir.DisposeStatement): void;
|
|
@@ -28,18 +32,22 @@ export declare class Transformer {
|
|
|
28
32
|
transformForStatementChildren(statement: ir.ForStatement): void;
|
|
29
33
|
transformIfStatementChildren(statement: ir.IfStatement): void;
|
|
30
34
|
transformNestedFunctionDeclarationStatementChildren(statement: ir.NestedFunctionDeclarationStatement): void;
|
|
31
|
-
transformNestedFunctionDeclaration(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
transformNestedFunctionDeclaration(node: ir.NestedFunctionDeclaration): ir.NestedFunctionDeclaration;
|
|
36
|
+
transformNestedFunctionDeclarationChildren(declaration: ir.NestedFunctionDeclaration): void;
|
|
37
|
+
transformParameterDeclaration(node: ir.ParameterDeclaration): ir.ParameterDeclaration;
|
|
38
|
+
transformParameterDeclarationChildren(declaration: ir.ParameterDeclaration): void;
|
|
39
|
+
transformNodeWithGeneralTransformationResult<T>(node: T, notBoundTransformationConfigMethod: (node: T) => NodeTransformationResult<T>): {
|
|
40
|
+
node: T;
|
|
35
41
|
action: TransformationContinuationAction;
|
|
36
42
|
};
|
|
37
43
|
transformLocalVariableDeclarationStatementChildren(statement: ir.LocalVariableDeclarationStatement): void;
|
|
38
|
-
transformLocalVariableDeclaration(
|
|
44
|
+
transformLocalVariableDeclaration(node: ir.LocalVariableDeclaration): ir.LocalVariableDeclaration;
|
|
45
|
+
transformLocalVariableDeclarationChildren(declaration: ir.LocalVariableDeclaration): void;
|
|
39
46
|
transformLoopStatementChildren(statement: ir.LoopStatement): void;
|
|
40
47
|
transformReturnStatementChildren(statement: ir.ReturnStatement): void;
|
|
41
48
|
transformSwitchStatementChildren(statement: ir.SwitchStatement): void;
|
|
42
|
-
transformCaseClause(
|
|
49
|
+
transformCaseClause(node: ir.CaseClause): ir.CaseClause;
|
|
50
|
+
transformCaseClauseChildren(caseClause: ir.CaseClause): void;
|
|
43
51
|
transformWhileStatementChildren(statement: ir.WhileStatement): void;
|
|
44
52
|
transformYieldStatementChildren(statement: ir.YieldStatement): void;
|
|
45
53
|
transformEsModuleImportDirectiveStatementChildren(_statement: ir.EsModuleImportDirectiveStatement): void;
|
|
@@ -53,8 +61,8 @@ export declare class Transformer {
|
|
|
53
61
|
transformMethodDeclarationChildren(declaration: ir.MethodDeclaration): void;
|
|
54
62
|
transformFieldDeclarationChildren(declaration: ir.FieldDeclaration): void;
|
|
55
63
|
transformComputedFieldDeclarationChildren(declaration: ir.ComputedFieldDeclaration): void;
|
|
56
|
-
transformFieldGetterDeclaration(
|
|
57
|
-
transformFieldSetterDeclaration(
|
|
64
|
+
transformFieldGetterDeclaration(node: ir.FieldGetterDeclaration): ir.FieldGetterDeclaration;
|
|
65
|
+
transformFieldSetterDeclaration(node: ir.FieldSetterDeclaration): ir.FieldSetterDeclaration;
|
|
58
66
|
transformIndexedElementGetterDeclarationChildren(declaration: ir.IndexedElementGetterDeclaration): void;
|
|
59
67
|
transformIndexedElementSetterDeclarationChildren(declaration: ir.IndexedElementSetterDeclaration): void;
|
|
60
68
|
transformFieldGetterDeclarationChildren(declaration: ir.FieldGetterDeclaration): void;
|
|
@@ -63,7 +71,8 @@ export declare class Transformer {
|
|
|
63
71
|
transformDereferencedVariableSetterDeclarationChildren(declaration: ir.DereferencedVariableSetterDeclaration): void;
|
|
64
72
|
transformPackageVariableDeclarationChildren(declaration: ir.PackageVariableDeclaration): void;
|
|
65
73
|
transformPackageVariantTypeDeclarationChildren(declaration: ir.PackageVariantTypeDeclaration): void;
|
|
66
|
-
transformVariantDeclaration(
|
|
74
|
+
transformVariantDeclaration(node: ir.VariantDeclaration): ir.VariantDeclaration;
|
|
75
|
+
transformVariantDeclarationChildren(declaration: ir.VariantDeclaration): void;
|
|
67
76
|
transformPackageVariableGetterDeclarationChildren(declaration: ir.PackageVariableGetterDeclaration): void;
|
|
68
77
|
transformPackageVariableSetterDeclarationChildren(declaration: ir.PackageVariableSetterDeclaration): void;
|
|
69
78
|
transformExpression(expression: ir.Expression): ir.Expression;
|
|
@@ -72,7 +81,9 @@ export declare class Transformer {
|
|
|
72
81
|
transformBinaryExpressionChildren(expression: ir.BinaryExpression): void;
|
|
73
82
|
transformBooleanLiteralChildren(_expression: ir.BooleanLiteral): void;
|
|
74
83
|
transformCallExpressionChildren(expression: ir.CallExpression): void;
|
|
75
|
-
transformArguments(
|
|
84
|
+
transformArguments(node: ir.Arguments): ir.Arguments;
|
|
85
|
+
transformArgumentsChildren(args: ir.Arguments): void;
|
|
86
|
+
transformArgumentChildren(argument: ir.Argument): void;
|
|
76
87
|
transformCharLiteralChildren(_expression: ir.CharLiteral): void;
|
|
77
88
|
transformNullLiteralChildren(_expression: ir.NullLiteral): void;
|
|
78
89
|
transformIndexedAccessExpressionChildren(expression: ir.IndexedAccessExpression): void;
|
|
@@ -111,10 +122,18 @@ export declare class Transformer {
|
|
|
111
122
|
transformJsInstanceOfExpressionChildren(expression: ir.JsInstanceOfExpression): void;
|
|
112
123
|
transformJsIdentifierExpressionChildren(_expression: ir.JsIdentifierExpression): void;
|
|
113
124
|
transformDereferenceExpressionChildren(expression: ir.DereferenceExpression): void;
|
|
114
|
-
transformValueJsObjectLiteralProperty(
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
transformValueJsObjectLiteralProperty(node: ir.ValueJsObjectLiteralProperty): ir.ValueJsObjectLiteralProperty;
|
|
126
|
+
transformValueJsObjectLiteralPropertyChildren(property: ir.ValueJsObjectLiteralProperty): void;
|
|
127
|
+
transformFunctionJsObjectLiteralProperty(node: ir.FunctionJsObjectLiteralProperty): ir.FunctionJsObjectLiteralProperty;
|
|
128
|
+
transformFunctionJsObjectLiteralPropertyChildren(property: ir.FunctionJsObjectLiteralProperty): void;
|
|
129
|
+
transformSpreadJsObjectLiteralProperty(node: ir.SpreadJsObjectLiteralProperty): ir.SpreadJsObjectLiteralProperty;
|
|
130
|
+
transformSpreadJsObjectLiteralPropertyChildren(property: ir.SpreadJsObjectLiteralProperty): void;
|
|
117
131
|
transformDecorator(node: ir.Decorator): ir.Decorator;
|
|
132
|
+
transformDecoratorChildren(node: ir.Decorator): void;
|
|
133
|
+
transformTextTranslationDeclaration(node: ir.TextTranslationDeclaration): ir.TextTranslationDeclaration;
|
|
134
|
+
transformTextTranslationDeclarationChildren(declaration: ir.TextTranslationDeclaration): void;
|
|
135
|
+
transformTranslationTextTemplate(node: ir.TranslationTextTemplate): ir.TranslationTextTemplate;
|
|
136
|
+
transformTranslationTextTemplateChildren(_node: ir.TranslationTextTemplate): void;
|
|
118
137
|
private transformStatementsAndAddHoistedLocalVariables;
|
|
119
138
|
private createLocalVariableDeclarations;
|
|
120
139
|
private transformArrayWithErrorBoundary;
|
|
@@ -214,7 +233,8 @@ export interface TransformationConfig {
|
|
|
214
233
|
transformFunctionJsObjectLiteralProperty?(clause: ir.FunctionJsObjectLiteralProperty): NodeTransformationResult<ir.FunctionJsObjectLiteralProperty>;
|
|
215
234
|
transformSpreadJsObjectLiteralProperty?(clause: ir.SpreadJsObjectLiteralProperty): NodeTransformationResult<ir.SpreadJsObjectLiteralProperty>;
|
|
216
235
|
transformDecorator?(node: ir.Decorator): NodeTransformationResult<ir.Decorator>;
|
|
217
|
-
transformTextTranslationDeclaration?(declaration: ir.TextTranslationDeclaration):
|
|
236
|
+
transformTextTranslationDeclaration?(declaration: ir.TextTranslationDeclaration): NodeTransformationResult<ir.TextTranslationDeclaration>;
|
|
237
|
+
transformTranslationTextTemplate?(declaration: ir.TranslationTextTemplate): NodeTransformationResult<ir.TranslationTextTemplate>;
|
|
218
238
|
}
|
|
219
239
|
export declare const enum TransformationContinuationAction {
|
|
220
240
|
Continue = 0,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as ir from './Nodes.js';
|
|
2
2
|
export type Node = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssignmentExpression | ir.AssignmentStatement | ir.BaseConstructorCallExpression | ir.BinaryExpression | ir.BlockStatement | ir.BooleanLiteral | ir.BreakLoopStatement | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.TryStatement | ir.NullLiteral | ir.EmptyStatement | ir.ErrorStatement | ir.ImportantStatement | ir.ExpressionStatement | ir.FinallyClause | ir.ForStatement | ir.PackageFunctionDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.IfStatement | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.MethodAccessExpression | ir.FieldAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.JsIndexedAccessExpression | ir.NestedFunctionDeclaration | ir.NestedFunctionDeclarationStatement | ir.LocalVariableDeclaration | ir.LocalVariableDeclarationStatement | ir.NumericLiteral | ir.CatchClause | ir.FunctionAccessExpression | ir.FunctionLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.LoopStatement | ir.Package | ir.ReturnStatement | ir.TextLiteral | ir.LocalizableTextLiteral | ir.TextTemplateLiteral | ir.LocalizableTextTemplateLiteral | ir.ConstructorDeclaration | ir.DestructorDeclaration | ir.IndexedElementGetterDeclaration | ir.IndexedElementSetterDeclaration | ir.MethodDeclaration | ir.FieldDeclaration | ir.ComputedFieldDeclaration | ir.FieldGetterDeclaration | ir.FieldSetterDeclaration | ir.SwitchStatement | ir.CaseClause | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.ParameterDeclaration | ir.VariableAccessExpression | ir.VariantDeclaration | ir.WhileStatement | ir.YieldStatement | ir.JsObjectLiteral | ir.ValueJsObjectLiteralProperty | ir.FunctionJsObjectLiteralProperty | ir.SpreadJsObjectLiteralProperty | ir.JsPropertyAccessExpression | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.DereferenceExpression | ir.BaseExpression | ir.OwnConstructorCallExpression | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement | ir.DereferencedVariableGetterDeclaration | ir.DereferencedVariableSetterDeclaration | ir.TextWithEntityName | ir.Argument | ir.Arguments | ir.Decorator | ir.TextTranslationDeclaration | ir.TranslationTextTemplate;
|
|
3
|
-
export type Declaration = ir.PackageFunctionDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.NestedFunctionDeclaration | ir.LocalVariableDeclaration | ir.ConstructorDeclaration | ir.DestructorDeclaration | ir.IndexedElementGetterDeclaration | ir.IndexedElementSetterDeclaration | ir.MethodDeclaration | ir.FieldDeclaration | ir.FieldGetterDeclaration | ir.FieldSetterDeclaration | ir.ParameterDeclaration | ir.VariantDeclaration | ir.DereferencedVariableGetterDeclaration | ir.DereferencedVariableSetterDeclaration | ir.TextTranslationDeclaration
|
|
3
|
+
export type Declaration = ir.PackageFunctionDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.NestedFunctionDeclaration | ir.LocalVariableDeclaration | ir.ConstructorDeclaration | ir.DestructorDeclaration | ir.IndexedElementGetterDeclaration | ir.IndexedElementSetterDeclaration | ir.MethodDeclaration | ir.FieldDeclaration | ir.FieldGetterDeclaration | ir.FieldSetterDeclaration | ir.ParameterDeclaration | ir.VariantDeclaration | ir.DereferencedVariableGetterDeclaration | ir.DereferencedVariableSetterDeclaration | ir.TextTranslationDeclaration;
|
|
4
4
|
export type Statement = ir.AssignmentStatement | ir.BlockStatement | ir.BreakLoopStatement | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.TryStatement | ir.EmptyStatement | ir.ErrorStatement | ir.ImportantStatement | ir.ExpressionStatement | ir.ForStatement | ir.IfStatement | ir.NestedFunctionDeclarationStatement | ir.LocalVariableDeclarationStatement | ir.LoopStatement | ir.ReturnStatement | ir.SwitchStatement | ir.WhileStatement | ir.YieldStatement | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement;
|
|
5
5
|
export type Expression = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssignmentExpression | ir.BinaryExpression | ir.BooleanLiteral | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.NullLiteral | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.MethodAccessExpression | ir.FieldAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.NumericLiteral | ir.FunctionAccessExpression | ir.FunctionLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.DereferenceExpression | ir.TextLiteral | ir.LocalizableTextLiteral | ir.TextWithEntityName | ir.TextTemplateLiteral | ir.LocalizableTextTemplateLiteral | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.VariableAccessExpression | ir.BaseConstructorCallExpression | ir.JsIndexedAccessExpression | ir.JsObjectLiteral | ir.JsPropertyAccessExpression | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.BaseExpression | ir.OwnConstructorCallExpression;
|
|
6
6
|
export type TypeMemberDeclaration = ir.FieldDeclaration | ir.ComputedFieldDeclaration | ir.MethodDeclaration | ir.ConstructorDeclaration | ir.DestructorDeclaration | ir.IndexedElementGetterDeclaration | ir.IndexedElementSetterDeclaration | ir.DereferencedVariableGetterDeclaration | ir.DereferencedVariableSetterDeclaration;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as types from '../types/index.js';
|
|
2
|
-
import { CycleFreeBaseAspectTypesResolutionResult } from './StructuredTypeEntity.js';
|
|
3
2
|
/**
|
|
4
3
|
* Класс позволяет работать с базовыми аспектными типами, исключая циклы наследования.
|
|
5
4
|
*
|
|
@@ -29,3 +28,29 @@ export declare abstract class BaseAspectTypes {
|
|
|
29
28
|
*/
|
|
30
29
|
abstract resolveBaseAspectTypes(circularityTrackingStack: boolean[]): CycleFreeBaseAspectTypesResolutionResult;
|
|
31
30
|
}
|
|
31
|
+
export declare class OriginalBaseAspectTypes extends BaseAspectTypes {
|
|
32
|
+
/**
|
|
33
|
+
* Базовые аспектные типы, указанные пользователем.
|
|
34
|
+
*/
|
|
35
|
+
readonly declared: readonly types.Type[];
|
|
36
|
+
private state;
|
|
37
|
+
/**
|
|
38
|
+
* Базовые аспектные типы, указанные пользователем, которые не приводят к циклу.
|
|
39
|
+
*/
|
|
40
|
+
get cycleFree(): readonly types.Type[];
|
|
41
|
+
/**
|
|
42
|
+
* Приводит ли хотя бы один базовый аспектный тип, указанный пользователем, к циклу?
|
|
43
|
+
*/
|
|
44
|
+
get causesCycle(): boolean;
|
|
45
|
+
constructor(declared: readonly types.Type[]);
|
|
46
|
+
/**
|
|
47
|
+
* @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
|
|
48
|
+
*/
|
|
49
|
+
resolveBaseAspectTypes(circularityTrackingStack: boolean[]): CycleFreeBaseAspectTypesResolutionResult;
|
|
50
|
+
private getBaseAspectTypesResolutionResult;
|
|
51
|
+
}
|
|
52
|
+
export declare class CycleFreeBaseAspectTypesResolutionResult {
|
|
53
|
+
readonly types: readonly types.Type[];
|
|
54
|
+
readonly causesCycle: boolean;
|
|
55
|
+
constructor(types: readonly types.Type[], causesCycle: boolean);
|
|
56
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SourceFile } from '../project/SourceFile.js';
|
|
2
2
|
import { EntityHidingLevel, IEntityHidingMatcher } from './EntityHiding.js';
|
|
3
|
-
import { PackageEntity } from './PackageEntity.js';
|
|
3
|
+
import { PackageEntity } from './interfaces/PackageEntity.js';
|
|
4
4
|
import { TypeEntity } from './TypeEntity.js';
|
|
5
5
|
export declare abstract class BaseEntityHidingMatcher implements IEntityHidingMatcher {
|
|
6
6
|
protected abstract typeEntity: TypeEntity | undefined;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import * as types from '../types/index.js';
|
|
2
|
-
import { CycleFreeBaseObjectTypeResolutionResult } from './StructuredTypeEntity.js';
|
|
3
2
|
/**
|
|
4
3
|
* Класс позволяет работать с базовым объектным типом, исключая циклы наследования.
|
|
5
4
|
*
|
|
@@ -29,3 +28,23 @@ export declare abstract class BaseObjectType {
|
|
|
29
28
|
*/
|
|
30
29
|
abstract resolveBaseObjectType(circularityTrackingStack: boolean[]): CycleFreeBaseObjectTypeResolutionResult;
|
|
31
30
|
}
|
|
31
|
+
export declare class OriginalBaseObjectType extends BaseObjectType {
|
|
32
|
+
/**
|
|
33
|
+
* Базовый объектный тип, указанный пользователем (либо базовый тип по умолчанию).
|
|
34
|
+
*/
|
|
35
|
+
readonly declared: types.Type | undefined;
|
|
36
|
+
private state;
|
|
37
|
+
get cycleFree(): types.Type | undefined;
|
|
38
|
+
get causesCycle(): boolean;
|
|
39
|
+
constructor(declared: types.Type | undefined);
|
|
40
|
+
/**
|
|
41
|
+
* @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
|
|
42
|
+
*/
|
|
43
|
+
resolveBaseObjectType(circularityTrackingStack: boolean[]): CycleFreeBaseObjectTypeResolutionResult;
|
|
44
|
+
private getBaseObjectTypeResolutionResult;
|
|
45
|
+
}
|
|
46
|
+
export declare class CycleFreeBaseObjectTypeResolutionResult {
|
|
47
|
+
readonly type: types.Type | undefined;
|
|
48
|
+
readonly causesCycle: boolean;
|
|
49
|
+
constructor(type: types.Type | undefined, causesCycle: boolean);
|
|
50
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Analyzer } from '../analysis/Analyzer.js';
|
|
2
|
+
import { SemanticContext } from '../analysis/semantic-context/SemanticContext.js';
|
|
3
|
+
import { PackageDialect, PackageLocale } from '../common/index.js';
|
|
4
|
+
import * as types from '../types/index.js';
|
|
5
|
+
import { IEntityHidingMatcher } from './EntityHiding.js';
|
|
6
|
+
import { AliasTypeEntity } from './interfaces/AliasTypeEntity.js';
|
|
7
|
+
import { ConstructorEntity } from './interfaces/ConstructorEntity.js';
|
|
8
|
+
import { DereferenceOperatorEntity } from './interfaces/DereferenceOperatorEntity.js';
|
|
9
|
+
import { DestructorEntity } from './interfaces/DestructorEntity.js';
|
|
10
|
+
import { FunctionEntity, MethodEntity, NestedFunctionEntity, PackageFunctionEntity } from './interfaces/FunctionEntity.js';
|
|
11
|
+
import { FunctionTypeEntity, PackageFunctionTypeEntity } from './interfaces/FunctionTypeEntity.js';
|
|
12
|
+
import { GetterEntity } from './interfaces/GetterEntity.js';
|
|
13
|
+
import { IndexerEntity } from './interfaces/IndexerEntity.js';
|
|
14
|
+
import { OperatorEntity } from './interfaces/OperatorEntity.js';
|
|
15
|
+
import { PackageAliasEntity } from './interfaces/PackageAliasEntity.js';
|
|
16
|
+
import { PackageEntity } from './interfaces/PackageEntity.js';
|
|
17
|
+
import { SetterEntity } from './interfaces/SetterEntity.js';
|
|
18
|
+
import { PackageStructuredTypeEntity, StructuredTypeEntity } from './interfaces/StructuredTypeEntity.js';
|
|
19
|
+
import { TextTranslationEntity } from './interfaces/TextTranslationEntity.js';
|
|
20
|
+
import { TypeExtensionEntity } from './interfaces/TypeExtensionEntity.js';
|
|
21
|
+
import { TypeParameterEntity } from './interfaces/TypeParameterEntity.js';
|
|
22
|
+
import { FieldEntity, PackageVariableEntity, VariableEntity } from './interfaces/VariableEntity.js';
|
|
23
|
+
import { PackageVariantTypeEntity, VariantTypeEntity } from './interfaces/VariantTypeEntity.js';
|
|
24
|
+
import { TypeEntity } from './TypeEntity.js';
|
|
25
|
+
export declare const enum DefinitionKind {
|
|
26
|
+
Source = 0,
|
|
27
|
+
Intrinsic = 1,
|
|
28
|
+
TypeScript = 2
|
|
29
|
+
}
|
|
30
|
+
export declare const enum EntityKind {
|
|
31
|
+
Variable = 0,
|
|
32
|
+
Function = 1,
|
|
33
|
+
Type = 2,
|
|
34
|
+
Getter = 3,
|
|
35
|
+
Setter = 4,
|
|
36
|
+
Indexer = 5,
|
|
37
|
+
DereferenceOperator = 6,
|
|
38
|
+
Constructor = 7,
|
|
39
|
+
Destructor = 8,
|
|
40
|
+
Operator = 9,
|
|
41
|
+
PackageAlias = 10,
|
|
42
|
+
TypeExtension = 11,
|
|
43
|
+
Package = 12,
|
|
44
|
+
TextTranslation = 13
|
|
45
|
+
}
|
|
46
|
+
export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | GetterEntity | SetterEntity | FunctionEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | FunctionTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity | TextTranslationEntity;
|
|
47
|
+
export type PackageTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity;
|
|
48
|
+
export declare function isPackageTypeEntity(entity: TypeEntity): entity is PackageTypeEntity;
|
|
49
|
+
export type NamedTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
|
|
50
|
+
export type TypeEntityWithMembers = FunctionTypeEntity | StructuredTypeEntity | VariantTypeEntity | AliasTypeEntity;
|
|
51
|
+
export declare function isTypeEntityWithMembers(entity: TypeEntity): entity is TypeEntityWithMembers;
|
|
52
|
+
export type TypeOrExtensionEntity = TypeEntity | TypeExtensionEntity;
|
|
53
|
+
export type TypeWithMembersOrExtensionEntity = TypeEntityWithMembers | TypeExtensionEntity;
|
|
54
|
+
export declare namespace TypeWithMembersOrExtensionEntity {
|
|
55
|
+
function getContextualTypeEntity(entity: TypeWithMembersOrExtensionEntity): TypeEntity | undefined;
|
|
56
|
+
}
|
|
57
|
+
export declare function isTypeWithMembersOrExtensionEntity(entity: Entity): entity is TypeWithMembersOrExtensionEntity;
|
|
58
|
+
export declare function isTypeEntity(entity: Entity): entity is TypeEntity;
|
|
59
|
+
export declare function isNamedTypeEntity(entity: TypeEntity): entity is NamedTypeEntity;
|
|
60
|
+
export type PackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity | TypeExtensionEntity;
|
|
61
|
+
export declare function isPackageMemberEntity(entity: Entity): entity is PackageMemberEntity;
|
|
62
|
+
export type NamedPackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity;
|
|
63
|
+
export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | FunctionEntity | VariableEntity | GetterEntity | SetterEntity | TypeEntity | OperatorEntity;
|
|
64
|
+
export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
|
|
65
|
+
export type TypeMemberEntity = FieldEntity | MethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
|
|
66
|
+
export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
|
|
67
|
+
export declare namespace TypeMemberEntity {
|
|
68
|
+
function isAspectTypeMember(entity: TypeMemberEntity): boolean;
|
|
69
|
+
function isRefObjectTypeMember(entity: TypeMemberEntity): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Возвращает `true`, если объявление является всеобщим (помечено модификатором "всеобщее").
|
|
72
|
+
*/
|
|
73
|
+
function isStatic(entity: TypeMemberEntity): boolean;
|
|
74
|
+
/**
|
|
75
|
+
* Возвращает `true`, если объявление помечено модификатором "базовое".
|
|
76
|
+
*/
|
|
77
|
+
function markedBasic(entity: TypeMemberEntity): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* Возвращает `true`, если объявление можно заменить в производном типе.
|
|
80
|
+
*
|
|
81
|
+
* Объявление можно заменить в производном типе, если оно не всеобщее, и выполняется одно из условий:
|
|
82
|
+
* - объявление помечено модификатором "базовое"
|
|
83
|
+
* - объявление помечено модификатором "абстрактное"
|
|
84
|
+
*/
|
|
85
|
+
function isBasic(entity: TypeMemberEntity): boolean;
|
|
86
|
+
function isAbstract(entity: TypeMemberEntity): boolean;
|
|
87
|
+
function getOverriddenMembers(entity: TypeMemberEntity): readonly types.TypeMember[];
|
|
88
|
+
function instantiate(analyzer: Analyzer, entity: TypeMemberEntity, substitutions: types.Substitutions): types.TypeMember;
|
|
89
|
+
}
|
|
90
|
+
export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
|
|
91
|
+
export type NamedEntity = VariableEntity | PackageVariantTypeEntity | FunctionEntity | TypeParameterEntity | PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
|
|
92
|
+
export type PackageOrNestedFunctionEntity = PackageFunctionEntity | NestedFunctionEntity;
|
|
93
|
+
export declare class EntityContext {
|
|
94
|
+
readonly containingPackage: PackageEntity;
|
|
95
|
+
readonly hidingMatcher: IEntityHidingMatcher;
|
|
96
|
+
readonly typeExtensionLookup: SemanticContext | undefined;
|
|
97
|
+
get locale(): PackageLocale;
|
|
98
|
+
get packageDialect(): PackageDialect;
|
|
99
|
+
constructor(containingPackage: PackageEntity, hidingMatcher: IEntityHidingMatcher, typeExtensionLookup: SemanticContext | undefined);
|
|
100
|
+
static fromSemanticContext(semanticContext: SemanticContext): EntityContext;
|
|
101
|
+
}
|
|
102
|
+
export declare function entityToStringDecorator<T extends {
|
|
103
|
+
new (...args: any[]): Entity;
|
|
104
|
+
}>(constructor: T): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SourceFile } from '../project/index.js';
|
|
2
|
-
import { PackageEntity } from './PackageEntity.js';
|
|
2
|
+
import { PackageEntity } from './interfaces/PackageEntity.js';
|
|
3
3
|
import { TypeEntity } from './index.js';
|
|
4
4
|
export type EntityHidingLevel = EntityHidingLevel_type | EntityHidingLevel_typeHierarchy | EntityHidingLevel_file | EntityHidingLevel_package;
|
|
5
5
|
export declare class EntityHidingLevel_type {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Name } from '../common/index.js';
|
|
2
|
-
import { ConstructorEntity } from './ConstructorEntity.js';
|
|
3
|
-
import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
|
|
4
|
-
import { DestructorEntity } from './DestructorEntity.js';
|
|
5
|
-
import { IndexerEntity } from './IndexerEntity.js';
|
|
6
|
-
import { OperatorEntity } from './OperatorEntity.js';
|
|
2
|
+
import { ConstructorEntity } from './interfaces/ConstructorEntity.js';
|
|
3
|
+
import { DereferenceOperatorEntity } from './interfaces/DereferenceOperatorEntity.js';
|
|
4
|
+
import { DestructorEntity } from './interfaces/DestructorEntity.js';
|
|
5
|
+
import { IndexerEntity } from './interfaces/IndexerEntity.js';
|
|
6
|
+
import { OperatorEntity } from './interfaces/OperatorEntity.js';
|
|
7
7
|
import { OperatorKind } from './OperatorKind.js';
|
|
8
8
|
import { NamedTypeMemberEntity, TypeMemberEntity } from './index.js';
|
|
9
9
|
export declare class TypeEntityMembers {
|
|
@@ -1,130 +1,12 @@
|
|
|
1
|
-
import { Analyzer } from '../analysis/Analyzer.js';
|
|
2
|
-
import { SemanticContext } from '../analysis/semantic-context/SemanticContext.js';
|
|
3
|
-
import { PackageDialect, PackageLocale } from '../common/index.js';
|
|
4
|
-
import * as types from '../types/index.js';
|
|
5
|
-
import { AliasTypeEntity } from './AliasTypeEntity.js';
|
|
6
|
-
import { ConstructorEntity } from './ConstructorEntity.js';
|
|
7
|
-
import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
|
|
8
|
-
import { DestructorEntity } from './DestructorEntity.js';
|
|
9
|
-
import { IEntityHidingMatcher } from './EntityHiding.js';
|
|
10
|
-
import { FunctionEntity, MethodEntity, NestedFunctionEntity, PackageFunctionEntity } from './FunctionEntity.js';
|
|
11
|
-
import { FunctionTypeEntity, PackageFunctionTypeEntity } from './FunctionTypeEntity.js';
|
|
12
|
-
import { GetterEntity } from './GetterEntity.js';
|
|
13
|
-
import { IndexerEntity } from './IndexerEntity.js';
|
|
14
|
-
import { TextTranslationEntity } from './TextTranslationEntity.js';
|
|
15
|
-
import { OperatorEntity } from './OperatorEntity.js';
|
|
16
|
-
import { PackageAliasEntity } from './PackageAliasEntity.js';
|
|
17
|
-
import { PackageEntity } from './PackageEntity.js';
|
|
18
|
-
import { SetterEntity } from './SetterEntity.js';
|
|
19
|
-
import { PackageStructuredTypeEntity, StructuredTypeEntity } from './StructuredTypeEntity.js';
|
|
20
|
-
import { TypeEntity } from './TypeEntity.js';
|
|
21
|
-
import { TypeExtensionEntity } from './TypeExtensionEntity.js';
|
|
22
|
-
import { TypeParameterEntity } from './TypeParameterEntity.js';
|
|
23
|
-
import { FieldEntity, PackageVariableEntity, VariableEntity } from './VariableEntity.js';
|
|
24
|
-
import { PackageVariantTypeEntity, VariantTypeEntity } from './VariantTypeEntity.js';
|
|
25
|
-
export * from './AliasedType.js';
|
|
26
|
-
export * from './AliasTypeEntity.js';
|
|
27
1
|
export * from './BaseAspectTypes.js';
|
|
28
2
|
export * from './BaseObjectType.js';
|
|
29
|
-
export * from './
|
|
30
|
-
export * from './DereferenceOperatorEntity.js';
|
|
31
|
-
export * from './DestructorEntity.js';
|
|
3
|
+
export * from './Entity.js';
|
|
32
4
|
export * from './EntityHiding.js';
|
|
33
5
|
export * from './EntityNaming.js';
|
|
34
|
-
export * from './
|
|
35
|
-
export * from './
|
|
36
|
-
export * from './GetterEntity.js';
|
|
37
|
-
export * from './IndexerEntity.js';
|
|
38
|
-
export * from './TextTranslationEntity.js';
|
|
39
|
-
export * from './OperatorEntity.js';
|
|
6
|
+
export * from './interfaces/index.js';
|
|
7
|
+
export * from './intrinsic/index.js';
|
|
40
8
|
export * from './OperatorKind.js';
|
|
41
|
-
export * from './
|
|
42
|
-
export * from './PackageEntity.js';
|
|
43
|
-
export * from './SetterEntity.js';
|
|
44
|
-
export * from './StructuredTypeEntity.js';
|
|
9
|
+
export * from './source/index.js';
|
|
45
10
|
export * from './SubstitutionApplicationMode.js';
|
|
46
11
|
export * from './TypeEntity.js';
|
|
47
|
-
export * from './
|
|
48
|
-
export * from './TypeParameterEntity.js';
|
|
49
|
-
export * from './VariableEntity.js';
|
|
50
|
-
export * from './VariantTypeEntity.js';
|
|
51
|
-
export declare const enum DefinitionKind {
|
|
52
|
-
Source = 0,
|
|
53
|
-
Intrinsic = 1,
|
|
54
|
-
TypeScript = 2
|
|
55
|
-
}
|
|
56
|
-
export declare const enum EntityKind {
|
|
57
|
-
Variable = 0,
|
|
58
|
-
Function = 1,
|
|
59
|
-
Type = 2,
|
|
60
|
-
Getter = 3,
|
|
61
|
-
Setter = 4,
|
|
62
|
-
Indexer = 5,
|
|
63
|
-
DereferenceOperator = 6,
|
|
64
|
-
Constructor = 7,
|
|
65
|
-
Destructor = 8,
|
|
66
|
-
Operator = 9,
|
|
67
|
-
PackageAlias = 10,
|
|
68
|
-
TypeExtension = 11,
|
|
69
|
-
Package = 12,
|
|
70
|
-
TextTranslation = 13
|
|
71
|
-
}
|
|
72
|
-
export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | GetterEntity | SetterEntity | FunctionEntity | TypeParameterEntity | OperatorEntity | IndexerEntity | DereferenceOperatorEntity | ConstructorEntity | DestructorEntity | FunctionTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | TypeExtensionEntity | TextTranslationEntity;
|
|
73
|
-
export type PackageTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity;
|
|
74
|
-
export declare function isPackageTypeEntity(entity: TypeEntity): entity is PackageTypeEntity;
|
|
75
|
-
export type NamedTypeEntity = PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
|
|
76
|
-
export type TypeEntityWithMembers = FunctionTypeEntity | StructuredTypeEntity | VariantTypeEntity | AliasTypeEntity;
|
|
77
|
-
export declare function isTypeEntityWithMembers(entity: TypeEntity): entity is TypeEntityWithMembers;
|
|
78
|
-
export type TypeOrExtensionEntity = TypeEntity | TypeExtensionEntity;
|
|
79
|
-
export type TypeWithMembersOrExtensionEntity = TypeEntityWithMembers | TypeExtensionEntity;
|
|
80
|
-
export declare namespace TypeWithMembersOrExtensionEntity {
|
|
81
|
-
function getContextualTypeEntity(entity: TypeWithMembersOrExtensionEntity): TypeEntity | undefined;
|
|
82
|
-
}
|
|
83
|
-
export declare function isTypeWithMembersOrExtensionEntity(entity: Entity): entity is TypeWithMembersOrExtensionEntity;
|
|
84
|
-
export declare function isTypeEntity(entity: Entity): entity is TypeEntity;
|
|
85
|
-
export declare function isNamedTypeEntity(entity: TypeEntity): entity is NamedTypeEntity;
|
|
86
|
-
export type PackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity | TypeExtensionEntity;
|
|
87
|
-
export declare function isPackageMemberEntity(entity: Entity): entity is PackageMemberEntity;
|
|
88
|
-
export type NamedPackageMemberEntity = PackageVariableEntity | PackageFunctionEntity | PackageTypeEntity;
|
|
89
|
-
export type EntityWithTags = ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity | FunctionEntity | VariableEntity | GetterEntity | SetterEntity | TypeEntity | OperatorEntity;
|
|
90
|
-
export declare function isEntityWithTags(entity: Entity): entity is EntityWithTags;
|
|
91
|
-
export type TypeMemberEntity = FieldEntity | MethodEntity | OperatorEntity | ConstructorEntity | DestructorEntity | IndexerEntity | DereferenceOperatorEntity;
|
|
92
|
-
export declare function isTypeMemberEntity(entity: Entity): entity is TypeMemberEntity;
|
|
93
|
-
export declare namespace TypeMemberEntity {
|
|
94
|
-
function isAspectTypeMember(entity: TypeMemberEntity): boolean;
|
|
95
|
-
function isRefObjectTypeMember(entity: TypeMemberEntity): boolean;
|
|
96
|
-
/**
|
|
97
|
-
* Возвращает `true`, если объявление является всеобщим (помечено модификатором "всеобщее").
|
|
98
|
-
*/
|
|
99
|
-
function isStatic(entity: TypeMemberEntity): boolean;
|
|
100
|
-
/**
|
|
101
|
-
* Возвращает `true`, если объявление помечено модификатором "базовое".
|
|
102
|
-
*/
|
|
103
|
-
function markedBasic(entity: TypeMemberEntity): boolean;
|
|
104
|
-
/**
|
|
105
|
-
* Возвращает `true`, если объявление можно заменить в производном типе.
|
|
106
|
-
*
|
|
107
|
-
* Объявление можно заменить в производном типе, если оно не всеобщее, и выполняется одно из условий:
|
|
108
|
-
* - объявление помечено модификатором "базовое"
|
|
109
|
-
* - объявление помечено модификатором "абстрактное"
|
|
110
|
-
*/
|
|
111
|
-
function isBasic(entity: TypeMemberEntity): boolean;
|
|
112
|
-
function isAbstract(entity: TypeMemberEntity): boolean;
|
|
113
|
-
function getOverriddenMembers(entity: TypeMemberEntity): readonly types.TypeMember[];
|
|
114
|
-
function instantiate(analyzer: Analyzer, entity: TypeMemberEntity, substitutions: types.Substitutions): types.TypeMember;
|
|
115
|
-
}
|
|
116
|
-
export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
|
|
117
|
-
export type NamedEntity = VariableEntity | PackageVariantTypeEntity | FunctionEntity | TypeParameterEntity | PackageFunctionTypeEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity;
|
|
118
|
-
export type PackageOrNestedFunctionEntity = PackageFunctionEntity | NestedFunctionEntity;
|
|
119
|
-
export declare class EntityContext {
|
|
120
|
-
readonly containingPackage: PackageEntity;
|
|
121
|
-
readonly hidingMatcher: IEntityHidingMatcher;
|
|
122
|
-
readonly typeExtensionLookup: SemanticContext | undefined;
|
|
123
|
-
get locale(): PackageLocale;
|
|
124
|
-
get packageDialect(): PackageDialect;
|
|
125
|
-
constructor(containingPackage: PackageEntity, hidingMatcher: IEntityHidingMatcher, typeExtensionLookup: SemanticContext | undefined);
|
|
126
|
-
static fromSemanticContext(semanticContext: SemanticContext): EntityContext;
|
|
127
|
-
}
|
|
128
|
-
export declare function entityToStringDecorator<T extends {
|
|
129
|
-
new (...args: any[]): Entity;
|
|
130
|
-
}>(constructor: T): void;
|
|
12
|
+
export * from './TypeEntityMembers.js';
|
|
@@ -1,17 +1,48 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { Tag } from '../../analysis/Tag.js';
|
|
2
|
+
import { Translation } from '../../analysis/Translation.js';
|
|
3
|
+
import { Analyzer } from '../../analysis/index.js';
|
|
4
|
+
import { Name } from '../../common/index.js';
|
|
5
|
+
import * as tree from '../../tree/index.js';
|
|
6
|
+
import * as types from '../../types/index.js';
|
|
7
|
+
import { TypeEntityMembers } from '../TypeEntityMembers.js';
|
|
8
|
+
import { DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, PackageEntity, SubstitutionApplicationMode, TypeEntityKind, TypeParameterEntity } from '../index.js';
|
|
9
|
+
export interface AliasTypeEntity extends ITypeEntity {
|
|
10
|
+
readonly kind: EntityKind.Type;
|
|
11
|
+
readonly typeEntityKind: TypeEntityKind.Alias;
|
|
12
|
+
getName(): Name;
|
|
13
|
+
getContainingPackage(): PackageEntity;
|
|
14
|
+
/**
|
|
15
|
+
* При каждом вызове метод должен возвращать один и тот же экземпляр класса AliasedType.
|
|
16
|
+
*/
|
|
17
|
+
getAliasedType(): AliasedType;
|
|
18
|
+
getTypeParameters(): readonly TypeParameterEntity[];
|
|
19
|
+
getDefinition(): AliasTypeEntityDefinition;
|
|
20
|
+
getMembers(): TypeEntityMembers;
|
|
21
|
+
getArity(): number;
|
|
22
|
+
isHidden(): EntityHidingLevel | undefined;
|
|
23
|
+
getTags(): readonly Tag[];
|
|
24
|
+
getSubstitutionApplicationMode(): SubstitutionApplicationMode;
|
|
25
|
+
getTranslation(): Translation | undefined;
|
|
26
|
+
getOriginalEntity(): AliasTypeEntity;
|
|
27
|
+
}
|
|
28
|
+
export type AliasTypeEntityDefinition = {
|
|
29
|
+
kind: DefinitionKind.Source;
|
|
30
|
+
node: tree.PackageAliasTypeDeclaration;
|
|
31
|
+
} | {
|
|
32
|
+
kind: DefinitionKind.TypeScript;
|
|
33
|
+
};
|
|
3
34
|
/**
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
35
|
+
* Класс позволяет работать с правой частью тождественного типа (с "aliased type"), исключая циклы.
|
|
36
|
+
*
|
|
37
|
+
* Пример цикла:
|
|
38
|
+
* ```artel
|
|
39
|
+
* тип А = Б
|
|
40
|
+
* тип Б = А
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* Для типа `А` в поле `declared` будет указан тип `Б`, а в поле `cycleFree` - тип `unresolved`, чтобы разорвать цикл,
|
|
44
|
+
* созданный типами `А` и `Б`.
|
|
45
|
+
*/
|
|
15
46
|
export declare abstract class AliasedType {
|
|
16
47
|
/**
|
|
17
48
|
* Правая часть тождественного типа, указанная пользователем.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Tag } from '../../analysis/Tag.js';
|
|
2
|
+
import { Translation } from '../../analysis/Translation.js';
|
|
3
|
+
import * as tree from '../../tree/index.js';
|
|
4
|
+
import * as types from '../../types/index.js';
|
|
5
|
+
import { IEntity } from '../IEntity.js';
|
|
6
|
+
import type { TypeWithMembersOrExtensionEntity } from '../index.js';
|
|
7
|
+
import { DefinitionKind, EntityHidingLevel, EntityKind, FieldEntity, ParameterEntity } from '../index.js';
|
|
8
|
+
export interface ConstructorEntity extends IEntity {
|
|
9
|
+
readonly kind: EntityKind.Constructor;
|
|
10
|
+
getParameters(): readonly ParameterEntity[];
|
|
11
|
+
getDefinition(): ConstructorEntityDefinition;
|
|
12
|
+
getContainingEntity(): TypeWithMembersOrExtensionEntity;
|
|
13
|
+
isDefault(): DefaultConstructorEntityInfo | undefined;
|
|
14
|
+
isHidden(): EntityHidingLevel | undefined;
|
|
15
|
+
markedAbstract(): boolean;
|
|
16
|
+
getTags(): readonly Tag[];
|
|
17
|
+
getTranslation(): Translation | undefined;
|
|
18
|
+
getOriginalEntity(): ConstructorEntity;
|
|
19
|
+
}
|
|
20
|
+
export declare class DefaultConstructorEntityInfo {
|
|
21
|
+
readonly baseConstructor: types.Constructor | undefined;
|
|
22
|
+
readonly orderedParametersForBaseConstructor: readonly DefaultConstructorParameterForBaseConstructorInfo[];
|
|
23
|
+
readonly hasParametersForFieldInitialization: boolean;
|
|
24
|
+
readonly parametersForOwnFieldsInitialization: readonly ConstructorParameterInitializingFieldInfo[] | undefined;
|
|
25
|
+
constructor(baseConstructor: types.Constructor | undefined, orderedParametersForBaseConstructor: readonly DefaultConstructorParameterForBaseConstructorInfo[], hasParametersForFieldInitialization: boolean, parametersForOwnFieldsInitialization: readonly ConstructorParameterInitializingFieldInfo[] | undefined);
|
|
26
|
+
}
|
|
27
|
+
export declare class DefaultConstructorParameterForBaseConstructorInfo {
|
|
28
|
+
readonly parameter: ParameterEntity;
|
|
29
|
+
readonly baseConstructorParameter: ParameterEntity;
|
|
30
|
+
constructor(parameter: ParameterEntity, baseConstructorParameter: ParameterEntity);
|
|
31
|
+
}
|
|
32
|
+
export declare class ConstructorParameterInitializingFieldInfo {
|
|
33
|
+
readonly parameter: ParameterEntity;
|
|
34
|
+
readonly field: FieldEntity;
|
|
35
|
+
constructor(parameter: ParameterEntity, field: FieldEntity);
|
|
36
|
+
}
|
|
37
|
+
export type ConstructorEntityDefinition = {
|
|
38
|
+
kind: DefinitionKind.Source;
|
|
39
|
+
node: tree.ConstructorDeclaration;
|
|
40
|
+
} | {
|
|
41
|
+
kind: DefinitionKind.Intrinsic;
|
|
42
|
+
} | {
|
|
43
|
+
kind: DefinitionKind.TypeScript;
|
|
44
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Tag } from '../../analysis/Tag.js';
|
|
2
|
+
import { Translation } from '../../analysis/Translation.js';
|
|
3
|
+
import * as tree from '../../tree/index.js';
|
|
4
|
+
import * as types from '../../types/index.js';
|
|
5
|
+
import { IEntity } from '../IEntity.js';
|
|
6
|
+
import { DefinitionKind, EntityHidingLevel, EntityKind, GetterEntity, SetterEntity, TypeWithMembersOrExtensionEntity } from '../index.js';
|
|
7
|
+
export interface DereferenceOperatorEntity extends IEntity {
|
|
8
|
+
readonly kind: EntityKind.DereferenceOperator;
|
|
9
|
+
getType(): types.Type;
|
|
10
|
+
getGetter(): GetterEntity | undefined;
|
|
11
|
+
getSetter(): SetterEntity | undefined;
|
|
12
|
+
getDefinition(): DereferenceOperatorEntityDefinition;
|
|
13
|
+
getContainingEntity(): TypeWithMembersOrExtensionEntity;
|
|
14
|
+
isStatic(): boolean;
|
|
15
|
+
isHidden(): EntityHidingLevel | undefined;
|
|
16
|
+
isOverride(): boolean;
|
|
17
|
+
markedBasic(): boolean;
|
|
18
|
+
markedAbstract(): boolean;
|
|
19
|
+
getTags(): readonly Tag[];
|
|
20
|
+
getOverriddenMembers(): readonly types.DereferenceOperator[];
|
|
21
|
+
getTranslation(): Translation | undefined;
|
|
22
|
+
getOriginalEntity(): DereferenceOperatorEntity;
|
|
23
|
+
ensureAllDiagnosticsReported?(): void;
|
|
24
|
+
}
|
|
25
|
+
export type DereferenceOperatorEntityDefinition = {
|
|
26
|
+
kind: DefinitionKind.Source;
|
|
27
|
+
nodes: ReadonlyArray<tree.DereferencedVariableGetterDeclaration | tree.DereferencedVariableSetterDeclaration>;
|
|
28
|
+
} | {
|
|
29
|
+
kind: DefinitionKind.Intrinsic;
|
|
30
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Tag } from '../../analysis/Tag.js';
|
|
2
|
+
import { Translation } from '../../analysis/Translation.js';
|
|
3
|
+
import * as tree from '../../tree/index.js';
|
|
4
|
+
import { IEntity } from '../IEntity.js';
|
|
5
|
+
import { DefinitionKind, EntityHidingLevel, EntityKind, ParameterEntity, TypeWithMembersOrExtensionEntity } from '../index.js';
|
|
6
|
+
export interface DestructorEntity extends IEntity {
|
|
7
|
+
readonly kind: EntityKind.Destructor;
|
|
8
|
+
getParameters(): readonly ParameterEntity[];
|
|
9
|
+
getContainingEntity(): TypeWithMembersOrExtensionEntity;
|
|
10
|
+
getDefinition(): DestructorEntityDefinition;
|
|
11
|
+
isHidden(): EntityHidingLevel | undefined;
|
|
12
|
+
markedAbstract(): boolean;
|
|
13
|
+
getTags(): readonly Tag[];
|
|
14
|
+
getTranslation(): Translation | undefined;
|
|
15
|
+
getOriginalEntity(): DestructorEntity;
|
|
16
|
+
}
|
|
17
|
+
export type DestructorEntityDefinition = {
|
|
18
|
+
kind: DefinitionKind.Source;
|
|
19
|
+
node: tree.DestructorDeclaration;
|
|
20
|
+
};
|