@artel/artc 0.6.25217 → 0.6.25219

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +16 -66
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +930 -888
  5. package/build/{chunk-HN3XZZQX.js → chunk-AIY75NR5.js} +5 -4
  6. package/build/{chunk-TXAEJ2GI.js → chunk-IYSH7MAQ.js} +10562 -10629
  7. package/build/{chunk-CMPXXHBQ.js → chunk-QLTGS2V2.js} +13 -5
  8. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +4 -26
  9. package/build/types/analysis/Analyzer.d.ts +27 -69
  10. package/build/types/analysis/{CallArgumentToParameterMatchResult.d.ts → ArgumentToParameterMatchResult.d.ts} +7 -7
  11. package/build/types/analysis/{CallArgumentsToParametersMatcher.d.ts → ArgumentsToParametersMatcher.d.ts} +14 -14
  12. package/build/types/analysis/ConstructorOverloadResolver.d.ts +1 -1
  13. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +3 -3
  14. package/build/types/analysis/DiagnosticCollector.d.ts +2 -0
  15. package/build/types/analysis/FindModifier.d.ts +2 -0
  16. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +14 -12
  17. package/build/types/analysis/LocalizationContext.d.ts +4 -5
  18. package/build/types/analysis/Lookup.d.ts +8 -7
  19. package/build/types/analysis/ModifierFlags.d.ts +16 -0
  20. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +0 -1
  21. package/build/types/analysis/NodeTypeUtils.d.ts +1 -0
  22. package/build/types/analysis/OperationOverloadResolver.d.ts +2 -2
  23. package/build/types/analysis/OverloadResolver.d.ts +4 -4
  24. package/build/types/analysis/PackageMemberLookup.d.ts +5 -6
  25. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +18 -16
  26. package/build/types/analysis/Scope.d.ts +21 -116
  27. package/build/types/analysis/SemanticContext.d.ts +23 -13
  28. package/build/types/analysis/SemanticContextBuilder.d.ts +1 -1
  29. package/build/types/analysis/SourceFileMembers.d.ts +12 -99
  30. package/build/types/analysis/TagMeaning.d.ts +57 -9
  31. package/build/types/analysis/Tags.d.ts +18 -6
  32. package/build/types/analysis/TypeMemberLookup.d.ts +15 -15
  33. package/build/types/analysis/TypeOverloadResolver.d.ts +1 -1
  34. package/build/types/analysis/Utils.d.ts +4 -3
  35. package/build/types/analysis/WellKnownDeclarations.d.ts +1 -0
  36. package/build/types/analysis/index.d.ts +1 -1
  37. package/build/types/api/Api.d.ts +2 -6
  38. package/build/types/diagnostic/DiagnosticCode.d.ts +21 -17
  39. package/build/types/emitter/{EmitterGeneratedDeclarationKind.d.ts → EmitPhaseName.d.ts} +1 -44
  40. package/build/types/emitter/EmitterContext.d.ts +4 -1
  41. package/build/types/emitter/Entities.d.ts +52 -16
  42. package/build/types/emitter/EntityMap.d.ts +1 -3
  43. package/build/types/emitter/IrBuilder.d.ts +6 -2
  44. package/build/types/emitter/IrToJs.d.ts +6 -5
  45. package/build/types/emitter/Transformer.d.ts +20 -12
  46. package/build/types/emitter/ir/EmitOptions.d.ts +163 -0
  47. package/build/types/emitter/ir/Nodes.d.ts +215 -179
  48. package/build/types/emitter/ir/index.d.ts +1 -2
  49. package/build/types/emitter/ir/types.d.ts +4 -4
  50. package/build/types/entities/AliasTypeEntity.d.ts +8 -4
  51. package/build/types/entities/ConstructorEntity.d.ts +2 -0
  52. package/build/types/entities/DereferenceOperatorEntity.d.ts +5 -3
  53. package/build/types/entities/DestructorEntity.d.ts +2 -0
  54. package/build/types/entities/GetterEntity.d.ts +8 -0
  55. package/build/types/entities/IndexerEntity.d.ts +5 -3
  56. package/build/types/entities/MethodEntity.d.ts +9 -5
  57. package/build/types/entities/MethodTypeEntity.d.ts +10 -5
  58. package/build/types/entities/OperatorEntity.d.ts +5 -3
  59. package/build/types/entities/PackageEntity.d.ts +3 -3
  60. package/build/types/entities/PackageMembers.d.ts +4 -90
  61. package/build/types/entities/SetterEntity.d.ts +8 -0
  62. package/build/types/entities/StructuredTypeEntity.d.ts +11 -6
  63. package/build/types/entities/TypeEntity.d.ts +15 -0
  64. package/build/types/entities/TypeExtensionEntity.d.ts +2 -0
  65. package/build/types/entities/TypeParameterEntity.d.ts +11 -6
  66. package/build/types/entities/VariableEntity.d.ts +50 -41
  67. package/build/types/entities/VariantTypeEntity.d.ts +10 -11
  68. package/build/types/entities/index.d.ts +17 -25
  69. package/build/types/executor/Compiler.d.ts +1 -0
  70. package/build/types/executor/NodeCompiler.d.ts +1 -0
  71. package/build/types/parser/CharacterCodes.d.ts +8 -0
  72. package/build/types/parser/ReservedIdentifierDictionary.d.ts +1 -2
  73. package/build/types/project/FileSystemTree.d.ts +2 -2
  74. package/build/types/services/CompletionService.d.ts +4 -1
  75. package/build/types/services/DisplayService.d.ts +18 -2
  76. package/build/types/services/NodeSemanticInfo.d.ts +7 -5
  77. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +7 -21
  78. package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +1 -0
  79. package/build/types/services/source-generation/EntityToSyntax.d.ts +1 -1
  80. package/build/types/services/source-generation/SourceGenerationService.d.ts +2 -2
  81. package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +5 -5
  82. package/build/types/services/workspace/CompilationController.d.ts +3 -3
  83. package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +4 -4
  84. package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +4 -4
  85. package/build/types/services/workspace/Workspace.d.ts +3 -3
  86. package/build/types/services/workspace/WorkspaceFiles.d.ts +7 -7
  87. package/build/types/tree/KeywordKind.d.ts +37 -37
  88. package/build/types/tree/NodeKind.d.ts +10 -12
  89. package/build/types/tree/green/Nodes.d.ts +57 -84
  90. package/build/types/tree/green/SyntaxFactory.d.ts +4 -5
  91. package/build/types/tree/green/SyntaxToCode.d.ts +1 -2
  92. package/build/types/tree/red/Nodes.d.ts +67 -97
  93. package/build/types/ts-interop/Entities.d.ts +51 -28
  94. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +0 -1
  95. package/build/types/types/TypeMembers.d.ts +9 -0
  96. package/package.json +2 -2
  97. package/build/types/analysis/DereferencedVariableAccess.d.ts +0 -14
  98. package/build/types/analysis/IndexedAccess.d.ts +0 -14
  99. package/build/types/analysis/VariableAccess.d.ts +0 -14
  100. package/build/types/analysis/VariantLookup.d.ts +0 -20
  101. package/build/types/emitter/ir/LoweringOptions.d.ts +0 -36
  102. package/build/types/emitter/ir/LoweringState.d.ts +0 -49
  103. package/build/types/entities/VariantEntity.d.ts +0 -31
  104. package/build/types/entities/Variants.d.ts +0 -10
@@ -6,7 +6,7 @@ export interface MethodEntity {
6
6
  name: string;
7
7
  parameters: readonly VariableEntity[];
8
8
  returnType: Type;
9
- isTypeMember: TypeMemberEntityInfo | undefined;
9
+ ifTypeMemberThenContainingType: TypeOrExtensionEntity | undefined;
10
10
  isPackageMember: boolean;
11
11
  containingPackage: PackageEntity;
12
12
  details: MethodEntityDetails;
@@ -18,48 +18,81 @@ export declare enum MethodEntityKind {
18
18
  Destructor = 3,
19
19
  Operator = 4
20
20
  }
21
- export declare class MethodEntityDetails {
21
+ export declare class MethodEntityDetails implements TypeMemberEntityDetails {
22
22
  isAsync: boolean;
23
23
  isPackageConstructor: boolean;
24
24
  isPackageEntryPoint: boolean;
25
- overriddenMember: MethodEntity | undefined;
25
+ overriddenMembers: readonly MethodEntity[];
26
26
  ifRedefinableAliasTypeMethodThenRealMethod: MethodEntity | undefined;
27
- isEnumeratorMethod: boolean;
28
27
  isDefaultExport: boolean;
29
28
  isAliasTypeOrExtensionMemberThatRequiresLowering: boolean;
30
29
  isBuiltInOperator: boolean;
31
- ifHasComputedNameWithSymbolKeyThenKeyDeclaration: VariableEntity | undefined;
30
+ hasComputedName: ComputedNameInfo | undefined;
32
31
  isRedefinable: boolean;
33
32
  isTypeExtensionMemberAddedToPrototype: boolean;
33
+ isAbstract: boolean;
34
+ isStatic: boolean;
35
+ }
36
+ export interface ComputedNameInfo {
37
+ /**
38
+ * Глобальная или статическая переменная, содержащая уникальный символ (Symbol). Используется в качестве ключа.
39
+ */
40
+ readonly symbolDeclaration: VariableEntity;
41
+ /**
42
+ * Нужно ли использовать вычисляемое имя в месте объявления, или только в местах использования?
43
+ */
44
+ readonly affectsDeclaration: boolean;
45
+ /**
46
+ * Должны ли члены типы, заменяющие этот член, использовать указанный символ в качестве ключа?
47
+ */
48
+ readonly affectsDerivedMembers: boolean;
34
49
  }
35
50
  export interface VariableEntity {
36
51
  readonly kind: 'variable';
37
52
  name: string;
38
53
  type: Type;
39
- isTypeMember: TypeMemberEntityInfo | undefined;
54
+ ifTypeMemberThenContainingType: TypeOrExtensionEntity | undefined;
40
55
  isPackageMember: boolean;
41
56
  containingPackage: PackageEntity;
42
57
  getter: MethodEntity | undefined;
43
58
  setter: MethodEntity | undefined;
44
59
  details: VariableEntityDetails;
45
60
  }
46
- export declare class VariableEntityDetails {
61
+ export declare class VariableEntityDetails implements TypeMemberEntityDetails {
47
62
  isVariadicParameter: boolean;
48
- overriddenMember: VariableEntity | undefined;
63
+ overriddenMembers: readonly VariableEntity[];
49
64
  isProxiedTypeVariable: ProxiedTypeVariableInfo | undefined;
50
65
  isDefaultExport: boolean;
51
- ifHasComputedNameWithSymbolKeyThenKeyDeclaration: VariableEntity | undefined;
66
+ hasComputedName: ComputedNameInfo | undefined;
52
67
  isRedefinable: boolean;
68
+ isAbstract: boolean;
69
+ isTypeExtensionMemberAddedToPrototype: boolean;
70
+ isStatic: boolean;
53
71
  }
54
72
  export interface ProxiedTypeVariableInfo {
55
73
  readonly tagType: TypeOrExtensionEntity;
56
74
  readonly constructor: MethodEntity;
57
75
  }
58
76
  export type TypeMemberEntity = MethodEntity | VariableEntity;
77
+ interface TypeMemberEntityDetails {
78
+ isStatic: boolean;
79
+ isAbstract: boolean;
80
+ isRedefinable: boolean;
81
+ overriddenMembers: readonly TypeMemberEntity[];
82
+ hasComputedName: ComputedNameInfo | undefined;
83
+ isTypeExtensionMemberAddedToPrototype: boolean;
84
+ }
59
85
  export interface TypeOrExtensionEntity {
60
86
  readonly kind: 'type-or-extension';
61
87
  name: string;
62
- baseType: TypeOrExtensionEntity | undefined;
88
+ /**
89
+ * Базовый объектный тип, не являющийся псевдонимом.
90
+ */
91
+ baseObjectType: TypeOrExtensionEntity | undefined;
92
+ /**
93
+ * Базовые аспектные типы, не являющиеся псевдонимами.
94
+ */
95
+ baseAspectTypes: readonly TypeOrExtensionEntity[];
63
96
  typeOrExtensionKind: TypeOrExtensionEntityKind;
64
97
  members: readonly TypeMemberEntity[];
65
98
  containingPackage: PackageEntity;
@@ -70,6 +103,12 @@ export declare class TypeOrExtensionEntityDetails {
70
103
  aliasedType: Type | undefined;
71
104
  isDefaultExport: boolean;
72
105
  extendedType: TypeOrExtensionEntity | undefined;
106
+ /**
107
+ * Является ли имя члена типа вычисляемым (`details.hasComputedName`) может зависеть от заменённых членов типа.
108
+ * Если `areOwnComputedNamesOfMembersResolved` === `true`, поля `details.hasComputedName` членов типа хранят
109
+ * актуальную для них самих информацию, и анализ заменённых членов типа не требуется.
110
+ */
111
+ areOwnComputedNamesOfMembersResolved: boolean;
73
112
  }
74
113
  export declare enum TypeOrExtensionEntityKind {
75
114
  StructuredType = 0,
@@ -97,10 +136,6 @@ export declare class PackageEntityDetails {
97
136
  isSource: boolean;
98
137
  isPackageWithMainMethod: boolean;
99
138
  }
100
- export interface TypeMemberEntityInfo {
101
- containingType: TypeOrExtensionEntity;
102
- isStatic: boolean;
103
- }
104
139
  export type Type = SimpleType | UnionType;
105
140
  export declare class SimpleType {
106
141
  readonly entity: TypeOrExtensionEntity;
@@ -123,7 +158,7 @@ export declare class IntrinsicVariableEntity implements VariableEntity {
123
158
  type: Type;
124
159
  containingPackage: PackageEntity;
125
160
  readonly kind = "variable";
126
- isTypeMember: TypeMemberEntityInfo | undefined;
161
+ ifTypeMemberThenContainingType: TypeOrExtensionEntity | undefined;
127
162
  isPackageMember: boolean;
128
163
  getter: MethodEntity | undefined;
129
164
  setter: MethodEntity | undefined;
@@ -137,7 +172,7 @@ export declare class IntrinsicMethodEntity implements MethodEntity {
137
172
  returnType: Type;
138
173
  containingPackage: PackageEntity;
139
174
  readonly kind = "method";
140
- isTypeMember: TypeMemberEntityInfo | undefined;
175
+ ifTypeMemberThenContainingType: TypeOrExtensionEntity | undefined;
141
176
  isPackageMember: boolean;
142
177
  details: MethodEntityDetails;
143
178
  constructor(methodEntityKind: MethodEntityKind, name: string, parameters: readonly VariableEntity[], returnType: Type, containingPackage: PackageEntity);
@@ -150,3 +185,4 @@ export declare class IntrinsicPackageEntity implements PackageEntity {
150
185
  details: PackageEntityDetails;
151
186
  constructor(name: string, locale: PackageLocale);
152
187
  }
188
+ export {};
@@ -16,11 +16,8 @@ export declare class EntityMap {
16
16
  private readonly _typeOrExtensions;
17
17
  private readonly _packages;
18
18
  private readonly _linkedPackages;
19
- private readonly _enumeratorMethod;
20
- private get enumeratorMethod();
21
19
  constructor(analyzer: Analyzer, targetPlatform: PlatformKind);
22
20
  getVariableEntity(entity: analyzerEntities.VariableEntity): emitterEntities.VariableEntity;
23
- getVariantEntity(entity: analyzerEntities.VariantEntity): emitterEntities.VariableEntity;
24
21
  getMethodEntity(entity: analyzerEntities.MethodEntity): emitterEntities.MethodEntity;
25
22
  getOperatorEntity(entity: analyzerEntities.OperatorEntity): emitterEntities.MethodEntity;
26
23
  getConstructorEntity(entity: analyzerEntities.ConstructorEntity): emitterEntities.MethodEntity;
@@ -41,4 +38,5 @@ export declare class EntityMap {
41
38
  private getContainingPackageAndAccumulateIfMember;
42
39
  private getNameText;
43
40
  private isDefaultExport;
41
+ private unaliasTypeEntity;
44
42
  }
@@ -46,11 +46,13 @@ export declare class IrBuilder {
46
46
  private buildTypeMethodDeclaration;
47
47
  private buildOperatorDeclaration;
48
48
  private buildTypeVariableDeclaration;
49
- private buildTypeVariableGetterDeclaration;
49
+ private buildComputedTypeVariableDeclaration;
50
+ private buildTypeVariableGetterDeclarationRequired;
50
51
  private buildTypeVariableSetterDeclaration;
51
52
  private buildBackingTypeVariable;
52
53
  private buildDisposeStatement;
53
54
  private buildRunStatement;
55
+ private buildTryStatement;
54
56
  private buildEmptyStatement;
55
57
  private buildErrorStatement;
56
58
  private buildExpressionStatement;
@@ -99,7 +101,9 @@ export declare class IrBuilder {
99
101
  private buildIdentifierExpression;
100
102
  private createExplicitReceiver;
101
103
  private getEntityFromType;
102
- private buildCallArgumentList;
104
+ private buildArgumentList;
105
+ private buildDecorators;
106
+ private buildTagAsDecorator;
103
107
  private buildAndSaveTypeIfIsAnonymousTypeSpecifier;
104
108
  private buildAndSaveAnonymousTypeDeclaration;
105
109
  private buildAnonymousStructuredTypeDeclaration;
@@ -65,6 +65,7 @@ export declare class IrToJs {
65
65
  private convertJsIdentifierExpression;
66
66
  private convertPrefixUnaryExpression;
67
67
  private convertTextLiteral;
68
+ private convertTextWithEntityName;
68
69
  private convertTextTemplateLiteral;
69
70
  private convertTernaryExpression;
70
71
  private convertThisExpression;
@@ -75,11 +76,10 @@ export declare class IrToJs {
75
76
  private convertTypeAccessExpression;
76
77
  private convertVariableAccessExpression;
77
78
  private convertMethodAccessExpression;
78
- private convertVariantAccessExpression;
79
79
  private convertTypeVariableAccessExpression;
80
80
  private convertTypeMethodAccessExpression;
81
81
  private convertConstructorCallExpression;
82
- private convertCallArguments;
82
+ private convertArguments;
83
83
  private convertInlineJsExpression;
84
84
  private convertAssignmentExpression;
85
85
  private convertCommaExpression;
@@ -89,6 +89,7 @@ export declare class IrToJs {
89
89
  private convertJsPropertyAccessExpression;
90
90
  private convertStatements;
91
91
  private convertStatement;
92
+ private convertTryStatement;
92
93
  private convertAssignmentStatement;
93
94
  private convertBreakLoopStatement;
94
95
  private convertContinueLoopStatement;
@@ -104,14 +105,14 @@ export declare class IrToJs {
104
105
  private convertSwitchStatement;
105
106
  private convertWhileStatement;
106
107
  private convertYieldStatement;
107
- private convertTryCatchFinallyStatement;
108
108
  private convertAssignmentOperator;
109
109
  private convertTypeConstructorDeclaration;
110
110
  private convertTypeMethodDeclaration;
111
111
  private convertTypeVariableDeclaration;
112
- private convertTypeVariableGetterDeclaration;
113
- private convertTypeVariableSetterDeclaration;
112
+ private convertComputedTypeVariableDeclaration;
113
+ private convertDecorator;
114
114
  private addNodeLocation;
115
115
  private getEntityName;
116
116
  private convertArrayWithErrorBoundary;
117
+ private isLValue;
117
118
  }
@@ -14,12 +14,13 @@ export declare class Transformer {
14
14
  transformStatement(statement: ir.Statement): readonly ir.Statement[];
15
15
  transformAssignmentStatementChildren(statement: ir.AssignmentStatement): void;
16
16
  transformBlockStatementChildren(statement: ir.BlockStatement): void;
17
- transformOnErrorClause(node: ir.OnErrorClause): ir.OnErrorClause;
17
+ transformCatchClause(node: ir.CatchClause): ir.CatchClause;
18
18
  transformFinallyClause(node: ir.FinallyClause): ir.FinallyClause;
19
19
  transformBreakLoopStatementChildren(_statement: ir.BreakLoopStatement): void;
20
20
  transformContinueLoopStatementChildren(_statement: ir.ContinueLoopStatement): void;
21
21
  transformDisposeStatementChildren(statement: ir.DisposeStatement): void;
22
22
  transformRunStatementChildren(statement: ir.RunStatement): void;
23
+ transformTryStatementChildren(statement: ir.TryStatement): void;
23
24
  transformEmptyStatementChildren(_statement: ir.EmptyStatement): void;
24
25
  transformErrorStatementChildren(statement: ir.ErrorStatement): void;
25
26
  transformExpressionStatementChildren(statement: ir.ExpressionStatement): void;
@@ -40,7 +41,6 @@ export declare class Transformer {
40
41
  transformCaseClause(caseClause: ir.CaseClause): ir.CaseClause;
41
42
  transformWhileStatementChildren(statement: ir.WhileStatement): void;
42
43
  transformYieldStatementChildren(statement: ir.YieldStatement): void;
43
- transformTryCatchFinallyStatementChildren(statement: ir.TryCatchFinallyStatement): void;
44
44
  transformEsModuleImportDirectiveStatementChildren(_statement: ir.EsModuleImportDirectiveStatement): void;
45
45
  transformCjsModuleImportDirectiveStatementChildren(_statement: ir.CjsModuleImportDirectiveStatement): void;
46
46
  transformJsNamespaceDestructuringStatementChildren(_statement: ir.JsNamespaceDestructuringStatement): void;
@@ -51,6 +51,9 @@ export declare class Transformer {
51
51
  transformTypeDestructorDeclarationChildren(declaration: ir.TypeDestructorDeclaration): void;
52
52
  transformTypeMethodDeclarationChildren(declaration: ir.TypeMethodDeclaration): void;
53
53
  transformTypeVariableDeclarationChildren(declaration: ir.TypeVariableDeclaration): void;
54
+ transformComputedTypeVariableDeclarationChildren(declaration: ir.ComputedTypeVariableDeclaration): void;
55
+ transformTypeVariableGetterDeclaration(declaration: ir.TypeVariableGetterDeclaration): ir.TypeVariableGetterDeclaration;
56
+ transformTypeVariableSetterDeclaration(declaration: ir.TypeVariableSetterDeclaration): ir.TypeVariableSetterDeclaration;
54
57
  transformTypeIndexedGetterDeclarationChildren(declaration: ir.TypeIndexedGetterDeclaration): void;
55
58
  transformTypeIndexedSetterDeclarationChildren(declaration: ir.TypeIndexedSetterDeclaration): void;
56
59
  transformTypeVariableGetterDeclarationChildren(declaration: ir.TypeVariableGetterDeclaration): void;
@@ -69,7 +72,7 @@ export declare class Transformer {
69
72
  transformBinaryExpressionChildren(expression: ir.BinaryExpression): void;
70
73
  transformBooleanLiteralChildren(_expression: ir.BooleanLiteral): void;
71
74
  transformCallExpressionChildren(expression: ir.CallExpression): void;
72
- transformCallArguments(callArguments: ir.CallArguments): ir.CallArguments;
75
+ transformArguments(args: ir.Arguments): ir.Arguments;
73
76
  transformCharLiteralChildren(_expression: ir.CharLiteral): void;
74
77
  transformNoneLiteralChildren(_expression: ir.NoneLiteral): void;
75
78
  transformIndexedAccessExpressionChildren(expression: ir.IndexedAccessExpression): void;
@@ -81,6 +84,7 @@ export declare class Transformer {
81
84
  transformMeasureLiteralChildren(_expression: ir.MeasureLiteral): void;
82
85
  transformReferenceExpressionChildren(expression: ir.ReferenceExpression): void;
83
86
  transformTextLiteralChildren(_expression: ir.TextLiteral): void;
87
+ transformTextWithEntityNameChildren(_expression: ir.TextWithEntityName): void;
84
88
  transformTextTemplateLiteralChildren(expression: ir.TextTemplateLiteral): void;
85
89
  transformTernaryExpressionChildren(expression: ir.TernaryExpression): void;
86
90
  transformThisExpressionChildren(_expression: ir.ThisExpression): void;
@@ -89,7 +93,6 @@ export declare class Transformer {
89
93
  transformTypeAccessExpressionChildren(_expression: ir.TypeAccessExpression): void;
90
94
  transformVariableAccessExpressionChildren(_expression: ir.VariableAccessExpression): void;
91
95
  transformMethodAccessExpressionChildren(_expression: ir.MethodAccessExpression): void;
92
- transformVariantAccessExpressionChildren(expression: ir.VariantAccessExpression): void;
93
96
  transformTypeAccessExpression(expression: ir.TypeAccessExpression): ir.TypeAccessExpression;
94
97
  transformInstanceVariableAccessExpressionChildren(expression: ir.TypeVariableAccessExpression): void;
95
98
  transformTypeMethodAccessExpressionChildren(expression: ir.TypeMethodAccessExpression): void;
@@ -107,7 +110,9 @@ export declare class Transformer {
107
110
  transformJsInstanceOfExpressionChildren(expression: ir.JsInstanceOfExpression): void;
108
111
  transformJsIdentifierExpressionChildren(_expression: ir.JsIdentifierExpression): void;
109
112
  transformDereferenceExpressionChildren(expression: ir.DereferenceExpression): void;
110
- transformJsObjectLiteralProperty(property: ir.JsObjectLiteralProperty): ir.JsObjectLiteralProperty;
113
+ transformNamedJsObjectLiteralProperty(property: ir.NamedJsObjectLiteralProperty): ir.NamedJsObjectLiteralProperty;
114
+ transformSpreadJsObjectLiteralProperty(property: ir.SpreadJsObjectLiteralProperty): ir.SpreadJsObjectLiteralProperty;
115
+ transformDecorator(node: ir.Decorator): ir.Decorator;
111
116
  private transformStatementsAndAddHoistedLocalVariables;
112
117
  private createLocalVariableDeclarations;
113
118
  private transformArrayWithErrorBoundary;
@@ -128,12 +133,12 @@ export interface TransformationConfig {
128
133
  transformTypeAccessExpression?(expression: ir.TypeAccessExpression): TypeAccessExpressionTransformationResult;
129
134
  transformVariableAccessExpression?(expression: ir.VariableAccessExpression): ExpressionTransformationResult;
130
135
  transformMethodAccessExpression?(expression: ir.MethodAccessExpression): ExpressionTransformationResult;
131
- transformVariantAccessExpression?(expression: ir.VariantAccessExpression): ExpressionTransformationResult;
132
136
  transformTypeVariableAccessExpression?(expression: ir.TypeVariableAccessExpression): ExpressionTransformationResult;
133
137
  transformTypeMethodAccessExpression?(expression: ir.TypeMethodAccessExpression): ExpressionTransformationResult;
134
138
  transformTextTemplateLiteral?(expression: ir.TextTemplateLiteral): ExpressionTransformationResult;
135
139
  transformCharLiteral?(expression: ir.CharLiteral): ExpressionTransformationResult;
136
140
  transformTextLiteral?(expression: ir.TextLiteral): ExpressionTransformationResult;
141
+ transformTextWithEntityName?(expression: ir.TextWithEntityName): ExpressionTransformationResult;
137
142
  transformBooleanLiteral?(expression: ir.BooleanLiteral): ExpressionTransformationResult;
138
143
  transformIntegerLiteral?(expression: ir.IntegerLiteral): ExpressionTransformationResult;
139
144
  transformNumericLiteral?(expression: ir.NumericLiteral): ExpressionTransformationResult;
@@ -160,6 +165,7 @@ export interface TransformationConfig {
160
165
  transformContinueLoopStatement?(statement: ir.ContinueLoopStatement): StatementTransformationResult;
161
166
  transformDisposeStatement?(statement: ir.DisposeStatement): StatementTransformationResult;
162
167
  transformRunStatement?(statement: ir.RunStatement): StatementTransformationResult;
168
+ transformTryStatement?(statement: ir.TryStatement): StatementTransformationResult;
163
169
  transformEmptyStatement?(statement: ir.EmptyStatement): StatementTransformationResult;
164
170
  transformErrorStatement?(statement: ir.ErrorStatement): StatementTransformationResult;
165
171
  transformExpressionStatement?(statement: ir.ExpressionStatement): StatementTransformationResult;
@@ -173,7 +179,6 @@ export interface TransformationConfig {
173
179
  transformWhileStatement?(statement: ir.WhileStatement): StatementTransformationResult;
174
180
  transformYieldStatement?(statement: ir.YieldStatement): StatementTransformationResult;
175
181
  transformAssignmentStatement?(statement: ir.AssignmentStatement): StatementTransformationResult;
176
- transformTryCatchFinallyStatement?(statement: ir.TryCatchFinallyStatement): StatementTransformationResult;
177
182
  transformEsModuleImportDirectiveStatement?(statement: ir.EsModuleImportDirectiveStatement): StatementTransformationResult;
178
183
  transformCjsModuleImportDirectiveStatement?(statement: ir.CjsModuleImportDirectiveStatement): StatementTransformationResult;
179
184
  transformJsNamespaceDestructuringStatement?(statement: ir.JsNamespaceDestructuringStatement): StatementTransformationResult;
@@ -184,6 +189,7 @@ export interface TransformationConfig {
184
189
  transformPackageVariableSetterDeclaration?(declaration: ir.PackageVariableSetterDeclaration): PackageMemberDeclarationTransformationResult;
185
190
  transformPackageVariantTypeDeclaration?(declaration: ir.PackageVariantTypeDeclaration): PackageMemberDeclarationTransformationResult;
186
191
  transformTypeVariableDeclaration?(declaration: ir.TypeVariableDeclaration): TypeMemberDeclarationTransformationResult;
192
+ transformComputedTypeVariableDeclaration?(declaration: ir.ComputedTypeVariableDeclaration): TypeMemberDeclarationTransformationResult;
187
193
  transformTypeMethodDeclaration?(declaration: ir.TypeMethodDeclaration): TypeMemberDeclarationTransformationResult;
188
194
  transformTypeConstructorDeclaration?(declaration: ir.TypeConstructorDeclaration): TypeMemberDeclarationTransformationResult;
189
195
  transformTypeDestructorDeclaration?(declaration: ir.TypeDestructorDeclaration): TypeMemberDeclarationTransformationResult;
@@ -191,17 +197,19 @@ export interface TransformationConfig {
191
197
  transformTypeIndexedSetterDeclaration?(declaration: ir.TypeIndexedSetterDeclaration): TypeMemberDeclarationTransformationResult;
192
198
  transformTypeDereferencedVariableGetterDeclaration?(declaration: ir.TypeDereferencedVariableGetterDeclaration): TypeMemberDeclarationTransformationResult;
193
199
  transformTypeDereferencedVariableSetterDeclaration?(declaration: ir.TypeDereferencedVariableSetterDeclaration): TypeMemberDeclarationTransformationResult;
194
- transformTypeVariableGetterDeclaration?(declaration: ir.TypeVariableGetterDeclaration): TypeMemberDeclarationTransformationResult;
195
- transformTypeVariableSetterDeclaration?(declaration: ir.TypeVariableSetterDeclaration): TypeMemberDeclarationTransformationResult;
200
+ transformTypeVariableGetterDeclaration?(declaration: ir.TypeVariableGetterDeclaration): NodeTransformationResult<ir.TypeVariableGetterDeclaration>;
201
+ transformTypeVariableSetterDeclaration?(declaration: ir.TypeVariableSetterDeclaration): NodeTransformationResult<ir.TypeVariableSetterDeclaration>;
196
202
  transformNestedMethodDeclaration?(declaration: ir.NestedMethodDeclaration): NodeTransformationResult<ir.NestedMethodDeclaration>;
197
203
  transformLocalVariableDeclaration?(declaration: ir.LocalVariableDeclaration): NodeTransformationResult<ir.LocalVariableDeclaration>;
198
204
  transformValueParameterDeclaration?(declaration: ir.ValueParameterDeclaration): NodeTransformationResult<ir.ValueParameterDeclaration>;
199
205
  transformCaseClause?(declaration: ir.CaseClause): NodeTransformationResult<ir.CaseClause>;
200
206
  transformVariantDeclaration?(declaration: ir.VariantDeclaration): NodeTransformationResult<ir.VariantDeclaration>;
201
- transformCallArguments?(declaration: ir.CallArguments): NodeTransformationResult<ir.CallArguments>;
202
- transformOnErrorClause?(clause: ir.OnErrorClause): NodeTransformationResult<ir.OnErrorClause>;
207
+ transformArguments?(declaration: ir.Arguments): NodeTransformationResult<ir.Arguments>;
208
+ transformCatchClause?(clause: ir.CatchClause): NodeTransformationResult<ir.CatchClause>;
203
209
  transformFinallyClause?(clause: ir.FinallyClause): NodeTransformationResult<ir.FinallyClause>;
204
- transformJsObjectLiteralProperty?(clause: ir.JsObjectLiteralProperty): NodeTransformationResult<ir.JsObjectLiteralProperty>;
210
+ transformNamedJsObjectLiteralProperty?(clause: ir.NamedJsObjectLiteralProperty): NodeTransformationResult<ir.NamedJsObjectLiteralProperty>;
211
+ transformSpreadJsObjectLiteralProperty?(clause: ir.SpreadJsObjectLiteralProperty): NodeTransformationResult<ir.SpreadJsObjectLiteralProperty>;
212
+ transformDecorator?(node: ir.Decorator): NodeTransformationResult<ir.Decorator>;
205
213
  }
206
214
  export declare const enum TransformationContinuationAction {
207
215
  Continue = 0,
@@ -0,0 +1,163 @@
1
+ export declare class AssignmentEmitOptions {
2
+ private _flags;
3
+ constructor(flags?: AssignmentEmitOptionsFlags);
4
+ constructor(incrementReferenceCountIfRequired: boolean, decrementReferenceCountIfRequired: boolean, performCopyIfRequired: boolean);
5
+ static default(): AssignmentEmitOptions;
6
+ get incrementReferenceCountIfRequired(): boolean;
7
+ set incrementReferenceCountIfRequired(value: boolean);
8
+ setIncrementReferenceCountIfRequired(value: boolean): this;
9
+ get performCopyIfRequired(): boolean;
10
+ set performCopyIfRequired(value: boolean);
11
+ setPerformCopyIfRequired(value: boolean): this;
12
+ get decrementReferenceCountIfRequired(): boolean;
13
+ set decrementReferenceCountIfRequired(value: boolean);
14
+ setDecrementReferenceCountIfRequired(value: boolean): this;
15
+ clone(): AssignmentEmitOptions;
16
+ }
17
+ declare enum AssignmentEmitOptionsFlags {
18
+ None = 0,
19
+ IncrementReferenceCountIfRequired = 1,
20
+ PerformCopyIfRequired = 2,
21
+ DecrementReferenceCountIfRequired = 4
22
+ }
23
+ export declare class DeclarationWithInitializerEmitOptions {
24
+ private _flags;
25
+ constructor(flags?: DeclarationWithInitializerEmitOptionsFlags);
26
+ constructor(incrementReferenceCountIfRequired: boolean);
27
+ static default(): DeclarationWithInitializerEmitOptions;
28
+ get incrementReferenceCountIfRequired(): boolean;
29
+ set incrementReferenceCountIfRequired(value: boolean);
30
+ setIncrementReferenceCountIfRequired(value: boolean): this;
31
+ clone(): DeclarationWithInitializerEmitOptions;
32
+ }
33
+ declare enum DeclarationWithInitializerEmitOptionsFlags {
34
+ None = 0,
35
+ IncrementReferenceCountIfRequired = 1
36
+ }
37
+ export declare class MethodAccessExpressionEmitOptions {
38
+ private _flags;
39
+ constructor(flags?: MethodAccessExpressionEmitOptionsFlags);
40
+ constructor(bindIfNotCallee: boolean, forceUseNonComputedName?: boolean);
41
+ static default(): MethodAccessExpressionEmitOptions;
42
+ get bindIfNotCallee(): boolean;
43
+ set bindIfNotCallee(value: boolean);
44
+ setBindIfNotCallee(value: boolean): this;
45
+ get forceUseNonComputedName(): boolean;
46
+ set forceUseNonComputedName(value: boolean);
47
+ setForceUseNonComputedName(value: boolean): this;
48
+ clone(): MethodAccessExpressionEmitOptions;
49
+ }
50
+ declare enum MethodAccessExpressionEmitOptionsFlags {
51
+ None = 0,
52
+ BindIfNotCallee = 1,
53
+ ForceUseNonComputedName = 2
54
+ }
55
+ export declare class TypeVariableAccessExpressionEmitOptions {
56
+ private _flags;
57
+ constructor(flags?: TypeVariableAccessExpressionEmitOptionsFlags);
58
+ constructor(forceUseNonComputedName: boolean);
59
+ static default(): TypeVariableAccessExpressionEmitOptions;
60
+ get forceUseNonComputedName(): boolean;
61
+ set forceUseNonComputedName(value: boolean);
62
+ setForceUseNonComputedName(value: boolean): this;
63
+ clone(): TypeVariableAccessExpressionEmitOptions;
64
+ }
65
+ declare enum TypeVariableAccessExpressionEmitOptionsFlags {
66
+ None = 0,
67
+ ForceUseNonComputedName = 1
68
+ }
69
+ export declare class TextTemplateLiteralEmitOptions {
70
+ private _flags;
71
+ constructor(flags?: TextTemplateLiteralEmitOptionsFlags);
72
+ constructor(createTextTemplateInstance: boolean);
73
+ static default(): TextTemplateLiteralEmitOptions;
74
+ get createTextTemplateInstance(): boolean;
75
+ set createTextTemplateInstance(value: boolean);
76
+ setCreateTextTemplateInstance(value: boolean): this;
77
+ clone(): TextTemplateLiteralEmitOptions;
78
+ }
79
+ declare enum TextTemplateLiteralEmitOptionsFlags {
80
+ None = 0,
81
+ CreateTextTemplateInstance = 1
82
+ }
83
+ export declare class CallExpressionEmitOptions {
84
+ private _flags;
85
+ constructor(flags?: MethodCallExpressionEmitOptionsFlags);
86
+ constructor(isAliasOrExtensionMethodCallLowered: boolean);
87
+ static default(): CallExpressionEmitOptions;
88
+ get isAliasOrExtensionMethodCallLowered(): boolean;
89
+ set isAliasOrExtensionMethodCallLowered(value: boolean);
90
+ setIsAliasOrExtensionMethodCallLowered(value: boolean): this;
91
+ clone(): CallExpressionEmitOptions;
92
+ }
93
+ declare const enum MethodCallExpressionEmitOptionsFlags {
94
+ None = 0,
95
+ AliasOrExtensionMethodCallLowered = 1
96
+ }
97
+ export declare class ConstructorCallExpressionEmitOptions {
98
+ private _flags;
99
+ constructor(flags?: ConstructorCallExpressionEmitOptionsFlags);
100
+ constructor(isPlainObjectConstructorCallLowered: boolean);
101
+ static default(): ConstructorCallExpressionEmitOptions;
102
+ get isPlainObjectConstructorCallLowered(): boolean;
103
+ set isPlainObjectConstructorCallLowered(value: boolean);
104
+ setIsPlainObjectConstructorCallLowered(value: boolean): this;
105
+ clone(): ConstructorCallExpressionEmitOptions;
106
+ }
107
+ declare const enum ConstructorCallExpressionEmitOptionsFlags {
108
+ None = 0,
109
+ PlainObjectConstructorCallLowered = 1
110
+ }
111
+ export declare class TypeMethodDeclarationEmitOptions {
112
+ private _flags;
113
+ constructor(flags?: TypeMethodDeclarationEmitOptionsFlags);
114
+ constructor();
115
+ static default(): TypeMethodDeclarationEmitOptions;
116
+ clone(): TypeMethodDeclarationEmitOptions;
117
+ }
118
+ declare const enum TypeMethodDeclarationEmitOptionsFlags {
119
+ None = 0
120
+ }
121
+ export declare class TypeVariableDeclarationEmitOptions {
122
+ private _flags;
123
+ constructor(flags?: TypeVariableDeclarationEmitOptionsFlags);
124
+ constructor();
125
+ static default(): TypeVariableDeclarationEmitOptions;
126
+ clone(): TypeVariableDeclarationEmitOptions;
127
+ }
128
+ declare const enum TypeVariableDeclarationEmitOptionsFlags {
129
+ None = 0
130
+ }
131
+ export declare class TypeVariableAccessorDeclarationEmitOptions {
132
+ private _flags;
133
+ constructor(flags?: TypeVariableAccessorDeclarationEmitOptionsFlags);
134
+ constructor(forceUseNonComputedName: boolean);
135
+ static default(): TypeVariableAccessorDeclarationEmitOptions;
136
+ get forceUseNonComputedName(): boolean;
137
+ set forceUseNonComputedName(value: boolean);
138
+ setForceUseNonComputedName(value: boolean): this;
139
+ clone(): TypeVariableAccessorDeclarationEmitOptions;
140
+ }
141
+ declare const enum TypeVariableAccessorDeclarationEmitOptionsFlags {
142
+ None = 0,
143
+ ForceUseNonComputedName = 1
144
+ }
145
+ export declare class PackageVariableDeclarationEmitOptions {
146
+ private _flags;
147
+ constructor(flags?: PackageVariableDeclarationEmitOptionsFlags);
148
+ constructor(shouldBePlacedBeforeOtherDeclarations: boolean, shouldNotMoveInitializerToConstructor: boolean);
149
+ static default(): PackageVariableDeclarationEmitOptions;
150
+ get shouldBePlacedBeforeOtherDeclarations(): boolean;
151
+ set shouldBePlacedBeforeOtherDeclarations(value: boolean);
152
+ setShouldBePlacedBeforeOtherDeclarations(value: boolean): this;
153
+ get shouldNotMoveInitializerToConstructor(): boolean;
154
+ set shouldNotMoveInitializerToConstructor(value: boolean);
155
+ setShouldNotMoveInitializerToConstructor(value: boolean): this;
156
+ clone(): PackageVariableDeclarationEmitOptions;
157
+ }
158
+ declare const enum PackageVariableDeclarationEmitOptionsFlags {
159
+ None = 0,
160
+ ShouldBePlacedBeforeOtherDeclarations = 1,
161
+ ShouldNotMoveInitializerToConstructor = 2
162
+ }
163
+ export {};