@artel/artc 0.6.25213 → 0.6.25215

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 (45) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +8 -4
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +242 -268
  5. package/build/{chunk-X4XDV2CH.js → chunk-DZ66PBHU.js} +7145 -7390
  6. package/build/{chunk-6UMHRF7Y.js → chunk-GEFYL4SZ.js} +3 -3
  7. package/build/{chunk-YFV3TSQP.js → chunk-TT3Q66WU.js} +3 -3
  8. package/build/types/analysis/Analyzer.d.ts +8 -12
  9. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +1 -1
  10. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +1 -2
  11. package/build/types/analysis/TypeMemberLookup.d.ts +14 -0
  12. package/build/types/analysis/{PrefixUnaryOperatorResolver.d.ts → UserDefinableUnaryOperatorResolver.d.ts} +3 -5
  13. package/build/types/analysis/Utils.d.ts +2 -2
  14. package/build/types/analysis/WellKnownDeclarations.d.ts +3 -2
  15. package/build/types/diagnostic/DiagnosticCode.d.ts +112 -152
  16. package/build/types/emitter/EmitterContext.d.ts +2 -0
  17. package/build/types/emitter/Entities.d.ts +1 -0
  18. package/build/types/emitter/IrBuilder.d.ts +0 -1
  19. package/build/types/emitter/IrToJs.d.ts +0 -1
  20. package/build/types/emitter/Transformer.d.ts +158 -97
  21. package/build/types/emitter/ir/Nodes.d.ts +4 -11
  22. package/build/types/emitter/ir/types.d.ts +2 -2
  23. package/build/types/entities/MethodEntity.d.ts +6 -1
  24. package/build/types/entities/OperatorEntity.d.ts +3 -0
  25. package/build/types/entities/OperatorKind.d.ts +19 -20
  26. package/build/types/entities/VariableEntity.d.ts +8 -1
  27. package/build/types/parser/UnescapeText.d.ts +1 -0
  28. package/build/types/services/NodeSemanticInfo.d.ts +0 -1
  29. package/build/types/tree/NodeKind.d.ts +82 -83
  30. package/build/types/tree/OperatorKind.d.ts +16 -17
  31. package/build/types/tree/TokenKind.d.ts +2 -2
  32. package/build/types/tree/green/Nodes.d.ts +4 -20
  33. package/build/types/tree/red/Nodes.d.ts +5 -19
  34. package/build/types/ts-interop/Entities.d.ts +8 -0
  35. package/build/types/types/StandardTypes.d.ts +2 -2
  36. package/package.json +1 -1
  37. package/build/types/emitter/BlockStatementTransformationResult.d.ts +0 -10
  38. package/build/types/emitter/ExpressionTransformationResult.d.ts +0 -17
  39. package/build/types/emitter/Internal.d.ts +0 -9
  40. package/build/types/emitter/PackageMemberDeclarationTransformationResult.d.ts +0 -17
  41. package/build/types/emitter/SimpleTransformationResult.d.ts +0 -14
  42. package/build/types/emitter/StatementTransformationResult.d.ts +0 -21
  43. package/build/types/emitter/StructuredTypeMemberDeclarationTransformationResult.d.ts +0 -13
  44. package/build/types/emitter/TransformationContinuationAction.d.ts +0 -4
  45. package/build/types/emitter/TypeAccessExpressionTransformationResult.d.ts +0 -12
@@ -1,7 +1,6 @@
1
1
  import { DebugStack } from './DebugStack.js';
2
- import { blockStatementTransformationResult, expressionTransformationResult, packageMemberDeclarationTransformationResult, simpleTransformationResult, statementTransformationResult, typeAccessExpressionTransformationResult, typeMemberDeclarationTransformationResult } from './Internal.js';
2
+ import { VariableEntity } from './Entities.js';
3
3
  import * as ir from './ir/index.js';
4
- import { TransformationContinuationAction } from './TransformationContinuationAction.js';
5
4
  export declare class Transformer {
6
5
  readonly config: TransformationConfig;
7
6
  protected readonly _debugStack: DebugStack;
@@ -29,7 +28,7 @@ export declare class Transformer {
29
28
  transformNestedMethodDeclarationStatementChildren(statement: ir.NestedMethodDeclarationStatement): void;
30
29
  transformNestedMethodDeclaration(declaration: ir.NestedMethodDeclaration): ir.NestedMethodDeclaration;
31
30
  transformValueParameterDeclaration(declaration: ir.ValueParameterDeclaration): ir.ValueParameterDeclaration;
32
- transformNodeWithSimpleTransformationResult<T>(node: T, transform: (node: T) => simpleTransformationResult.Type<T> | undefined): {
31
+ transformNodeWithGeneralTransformationResult<T>(node: T, transform: (node: T) => NodeTransformationResult<T> | undefined): {
33
32
  transformedNode: T;
34
33
  action: TransformationContinuationAction;
35
34
  };
@@ -77,7 +76,6 @@ export declare class Transformer {
77
76
  transformIntegerLiteralChildren(_expression: ir.IntegerLiteral): void;
78
77
  transformHelperMethodCallExpressionChildren(expression: ir.HelperMethodCallExpression): void;
79
78
  transformIsExpressionChildren(expression: ir.IsExpression): void;
80
- transformNotExpressionChildren(expression: ir.NotExpression): void;
81
79
  transformNumericLiteralChildren(_expression: ir.NumericLiteral): void;
82
80
  transformMethodLiteralChildren(expression: ir.MethodLiteral): void;
83
81
  transformPrefixUnaryExpressionChildren(expression: ir.PrefixUnaryExpression): void;
@@ -114,97 +112,160 @@ export declare class Transformer {
114
112
  private transformArrayWithErrorBoundary;
115
113
  private createLocalVariableDeclarations;
116
114
  }
117
- interface TransformationConfig {
118
- transformAssertionExpression?(expression: ir.AssertionExpression): expressionTransformationResult.Type;
119
- transformAssumptionExpression?(expression: ir.AssumptionExpression): expressionTransformationResult.Type;
120
- transformAsExpression?(expression: ir.AsExpression): expressionTransformationResult.Type;
121
- transformBinaryExpression?(expression: ir.BinaryExpression): expressionTransformationResult.Type;
122
- transformCallExpression?(expression: ir.CallExpression): expressionTransformationResult.Type;
123
- transformIndexedAccessExpression?(expression: ir.IndexedAccessExpression): expressionTransformationResult.Type;
124
- transformIsExpression?(expression: ir.IsExpression): expressionTransformationResult.Type;
125
- transformNotExpression?(expression: ir.NotExpression): expressionTransformationResult.Type;
126
- transformMethodLiteral?(expression: ir.MethodLiteral): expressionTransformationResult.Type;
127
- transformPrefixUnaryExpression?(expression: ir.PrefixUnaryExpression): expressionTransformationResult.Type;
128
- transformReferenceExpression?(expression: ir.ReferenceExpression): expressionTransformationResult.Type;
129
- transformTernaryExpression?(expression: ir.TernaryExpression): expressionTransformationResult.Type;
130
- transformArrayLiteral?(expression: ir.ArrayLiteral): expressionTransformationResult.Type;
131
- transformTypeAccessExpression?(expression: ir.TypeAccessExpression): typeAccessExpressionTransformationResult.TypeAccessExpressionTransformationResult;
132
- transformVariableAccessExpression?(expression: ir.VariableAccessExpression): expressionTransformationResult.Type;
133
- transformMethodAccessExpression?(expression: ir.MethodAccessExpression): expressionTransformationResult.Type;
134
- transformVariantAccessExpression?(expression: ir.VariantAccessExpression): expressionTransformationResult.Type;
135
- transformTypeVariableAccessExpression?(expression: ir.TypeVariableAccessExpression): expressionTransformationResult.Type;
136
- transformTypeMethodAccessExpression?(expression: ir.TypeMethodAccessExpression): expressionTransformationResult.Type;
137
- transformTextTemplateLiteral?(expression: ir.TextTemplateLiteral): expressionTransformationResult.Type;
138
- transformCharLiteral?(expression: ir.CharLiteral): expressionTransformationResult.Type;
139
- transformTextLiteral?(expression: ir.TextLiteral): expressionTransformationResult.Type;
140
- transformBooleanLiteral?(expression: ir.BooleanLiteral): expressionTransformationResult.Type;
141
- transformIntegerLiteral?(expression: ir.IntegerLiteral): expressionTransformationResult.Type;
142
- transformNumericLiteral?(expression: ir.NumericLiteral): expressionTransformationResult.Type;
143
- transformMeasureLiteral?(expression: ir.MeasureLiteral): expressionTransformationResult.Type;
144
- transformNoneLiteral?(expression: ir.NoneLiteral): expressionTransformationResult.Type;
145
- transformThisExpression?(expression: ir.ThisExpression): expressionTransformationResult.Type;
146
- transformBaseExpression?(expression: ir.BaseExpression): expressionTransformationResult.Type;
147
- transformHelperMethodCallExpression?(expression: ir.HelperMethodCallExpression): expressionTransformationResult.Type;
148
- transformConstructorCallExpression?(expression: ir.ConstructorCallExpression): expressionTransformationResult.Type;
149
- transformInlineJsExpression?(expression: ir.InlineJsExpression): expressionTransformationResult.Type;
150
- transformAssignmentExpression?(expression: ir.AssignmentExpression): expressionTransformationResult.Type;
151
- transformCommaExpression?(expression: ir.CommaExpression): expressionTransformationResult.Type;
152
- transformOwnConstructorCallExpression?(expression: ir.OwnConstructorCallExpression): expressionTransformationResult.Type;
153
- transformBaseConstructorCallExpression?(expression: ir.BaseConstructorCallExpression): expressionTransformationResult.Type;
154
- transformJsIndexedAccessExpression?(expression: ir.JsIndexedAccessExpression): expressionTransformationResult.Type;
155
- transformJsObjectLiteral?(expression: ir.JsObjectLiteral): expressionTransformationResult.Type;
156
- transformJsPropertyAccessExpression?(expression: ir.JsPropertyAccessExpression): expressionTransformationResult.Type;
157
- transformJsFunctionLiteral?(expression: ir.JsFunctionLiteral): expressionTransformationResult.Type;
158
- transformJsTypeOfExpression?(expression: ir.JsTypeOfExpression): expressionTransformationResult.Type;
159
- transformJsInstanceOfExpression?(expression: ir.JsInstanceOfExpression): expressionTransformationResult.Type;
160
- transformJsIdentifierExpression?(expression: ir.JsIdentifierExpression): expressionTransformationResult.Type;
161
- transformDereferenceExpression?(expression: ir.DereferenceExpression): expressionTransformationResult.Type;
162
- transformBlockStatement?(statement: ir.BlockStatement): blockStatementTransformationResult.Type;
163
- transformBreakLoopStatement?(statement: ir.BreakLoopStatement): statementTransformationResult.Type;
164
- transformContinueLoopStatement?(statement: ir.ContinueLoopStatement): statementTransformationResult.Type;
165
- transformDisposeStatement?(statement: ir.DisposeStatement): statementTransformationResult.Type;
166
- transformRunStatement?(statement: ir.RunStatement): statementTransformationResult.Type;
167
- transformEmptyStatement?(statement: ir.EmptyStatement): statementTransformationResult.Type;
168
- transformErrorStatement?(statement: ir.ErrorStatement): statementTransformationResult.Type;
169
- transformExpressionStatement?(statement: ir.ExpressionStatement): statementTransformationResult.Type;
170
- transformForStatement?(statement: ir.ForStatement): statementTransformationResult.Type;
171
- transformIfStatement?(statement: ir.IfStatement): statementTransformationResult.Type;
172
- transformNestedMethodDeclarationStatement?(statement: ir.NestedMethodDeclarationStatement): statementTransformationResult.Type;
173
- transformLocalVariableDeclarationStatement?(statement: ir.LocalVariableDeclarationStatement): statementTransformationResult.Type;
174
- transformLoopStatement?(statement: ir.LoopStatement): statementTransformationResult.Type;
175
- transformReturnStatement?(statement: ir.ReturnStatement): statementTransformationResult.Type;
176
- transformSwitchStatement?(statement: ir.SwitchStatement): statementTransformationResult.Type;
177
- transformWhileStatement?(statement: ir.WhileStatement): statementTransformationResult.Type;
178
- transformYieldStatement?(statement: ir.YieldStatement): statementTransformationResult.Type;
179
- transformAssignmentStatement?(statement: ir.AssignmentStatement): statementTransformationResult.Type;
180
- transformTryCatchFinallyStatement?(statement: ir.TryCatchFinallyStatement): statementTransformationResult.Type;
181
- transformEsModuleImportDirectiveStatement?(statement: ir.EsModuleImportDirectiveStatement): statementTransformationResult.Type;
182
- transformCjsModuleImportDirectiveStatement?(statement: ir.CjsModuleImportDirectiveStatement): statementTransformationResult.Type;
183
- transformJsNamespaceDestructuringStatement?(statement: ir.JsNamespaceDestructuringStatement): statementTransformationResult.Type;
184
- transformPackageMethodDeclaration?(declaration: ir.PackageMethodDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
185
- transformPackageTypeDeclaration?(declaration: ir.PackageTypeDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
186
- transformPackageVariableDeclaration?(declaration: ir.PackageVariableDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
187
- transformPackageVariableGetterDeclaration?(declaration: ir.PackageVariableGetterDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
188
- transformPackageVariableSetterDeclaration?(declaration: ir.PackageVariableSetterDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
189
- transformPackageVariantTypeDeclaration?(declaration: ir.PackageVariantTypeDeclaration): packageMemberDeclarationTransformationResult.PackageMemberDeclarationTransformationResult;
190
- transformTypeVariableDeclaration?(declaration: ir.TypeVariableDeclaration): typeMemberDeclarationTransformationResult.Type;
191
- transformTypeMethodDeclaration?(declaration: ir.TypeMethodDeclaration): typeMemberDeclarationTransformationResult.Type;
192
- transformTypeConstructorDeclaration?(declaration: ir.TypeConstructorDeclaration): typeMemberDeclarationTransformationResult.Type;
193
- transformTypeDestructorDeclaration?(declaration: ir.TypeDestructorDeclaration): typeMemberDeclarationTransformationResult.Type;
194
- transformTypeIndexedGetterDeclaration?(declaration: ir.TypeIndexedGetterDeclaration): typeMemberDeclarationTransformationResult.Type;
195
- transformTypeIndexedSetterDeclaration?(declaration: ir.TypeIndexedSetterDeclaration): typeMemberDeclarationTransformationResult.Type;
196
- transformTypeDereferencedVariableGetterDeclaration?(declaration: ir.TypeDereferencedVariableGetterDeclaration): typeMemberDeclarationTransformationResult.Type;
197
- transformTypeDereferencedVariableSetterDeclaration?(declaration: ir.TypeDereferencedVariableSetterDeclaration): typeMemberDeclarationTransformationResult.Type;
198
- transformTypeVariableGetterDeclaration?(declaration: ir.TypeVariableGetterDeclaration): typeMemberDeclarationTransformationResult.Type;
199
- transformTypeVariableSetterDeclaration?(declaration: ir.TypeVariableSetterDeclaration): typeMemberDeclarationTransformationResult.Type;
200
- transformNestedMethodDeclaration?(declaration: ir.NestedMethodDeclaration): simpleTransformationResult.Type<ir.NestedMethodDeclaration>;
201
- transformLocalVariableDeclaration?(declaration: ir.LocalVariableDeclaration): simpleTransformationResult.Type<ir.LocalVariableDeclaration>;
202
- transformValueParameterDeclaration?(declaration: ir.ValueParameterDeclaration): simpleTransformationResult.Type<ir.ValueParameterDeclaration>;
203
- transformCaseClause?(declaration: ir.CaseClause): simpleTransformationResult.Type<ir.CaseClause>;
204
- transformVariantDeclaration?(declaration: ir.VariantDeclaration): simpleTransformationResult.Type<ir.VariantDeclaration>;
205
- transformCallArguments?(declaration: ir.CallArguments): simpleTransformationResult.Type<ir.CallArguments>;
206
- transformOnErrorClause?(clause: ir.OnErrorClause): simpleTransformationResult.Type<ir.OnErrorClause>;
207
- transformFinallyClause?(clause: ir.FinallyClause): simpleTransformationResult.Type<ir.FinallyClause>;
208
- transformJsObjectLiteralProperty?(clause: ir.JsObjectLiteralProperty): simpleTransformationResult.Type<ir.JsObjectLiteralProperty>;
115
+ export interface TransformationConfig {
116
+ transformAssertionExpression?(expression: ir.AssertionExpression): ExpressionTransformationResult;
117
+ transformAssumptionExpression?(expression: ir.AssumptionExpression): ExpressionTransformationResult;
118
+ transformAsExpression?(expression: ir.AsExpression): ExpressionTransformationResult;
119
+ transformBinaryExpression?(expression: ir.BinaryExpression): ExpressionTransformationResult;
120
+ transformCallExpression?(expression: ir.CallExpression): ExpressionTransformationResult;
121
+ transformIndexedAccessExpression?(expression: ir.IndexedAccessExpression): ExpressionTransformationResult;
122
+ transformIsExpression?(expression: ir.IsExpression): ExpressionTransformationResult;
123
+ transformMethodLiteral?(expression: ir.MethodLiteral): ExpressionTransformationResult;
124
+ transformPrefixUnaryExpression?(expression: ir.PrefixUnaryExpression): ExpressionTransformationResult;
125
+ transformReferenceExpression?(expression: ir.ReferenceExpression): ExpressionTransformationResult;
126
+ transformTernaryExpression?(expression: ir.TernaryExpression): ExpressionTransformationResult;
127
+ transformArrayLiteral?(expression: ir.ArrayLiteral): ExpressionTransformationResult;
128
+ transformTypeAccessExpression?(expression: ir.TypeAccessExpression): TypeAccessExpressionTransformationResult;
129
+ transformVariableAccessExpression?(expression: ir.VariableAccessExpression): ExpressionTransformationResult;
130
+ transformMethodAccessExpression?(expression: ir.MethodAccessExpression): ExpressionTransformationResult;
131
+ transformVariantAccessExpression?(expression: ir.VariantAccessExpression): ExpressionTransformationResult;
132
+ transformTypeVariableAccessExpression?(expression: ir.TypeVariableAccessExpression): ExpressionTransformationResult;
133
+ transformTypeMethodAccessExpression?(expression: ir.TypeMethodAccessExpression): ExpressionTransformationResult;
134
+ transformTextTemplateLiteral?(expression: ir.TextTemplateLiteral): ExpressionTransformationResult;
135
+ transformCharLiteral?(expression: ir.CharLiteral): ExpressionTransformationResult;
136
+ transformTextLiteral?(expression: ir.TextLiteral): ExpressionTransformationResult;
137
+ transformBooleanLiteral?(expression: ir.BooleanLiteral): ExpressionTransformationResult;
138
+ transformIntegerLiteral?(expression: ir.IntegerLiteral): ExpressionTransformationResult;
139
+ transformNumericLiteral?(expression: ir.NumericLiteral): ExpressionTransformationResult;
140
+ transformMeasureLiteral?(expression: ir.MeasureLiteral): ExpressionTransformationResult;
141
+ transformNoneLiteral?(expression: ir.NoneLiteral): ExpressionTransformationResult;
142
+ transformThisExpression?(expression: ir.ThisExpression): ExpressionTransformationResult;
143
+ transformBaseExpression?(expression: ir.BaseExpression): ExpressionTransformationResult;
144
+ transformHelperMethodCallExpression?(expression: ir.HelperMethodCallExpression): ExpressionTransformationResult;
145
+ transformConstructorCallExpression?(expression: ir.ConstructorCallExpression): ExpressionTransformationResult;
146
+ transformInlineJsExpression?(expression: ir.InlineJsExpression): ExpressionTransformationResult;
147
+ transformAssignmentExpression?(expression: ir.AssignmentExpression): ExpressionTransformationResult;
148
+ transformCommaExpression?(expression: ir.CommaExpression): ExpressionTransformationResult;
149
+ transformOwnConstructorCallExpression?(expression: ir.OwnConstructorCallExpression): ExpressionTransformationResult;
150
+ transformBaseConstructorCallExpression?(expression: ir.BaseConstructorCallExpression): ExpressionTransformationResult;
151
+ transformJsIndexedAccessExpression?(expression: ir.JsIndexedAccessExpression): ExpressionTransformationResult;
152
+ transformJsObjectLiteral?(expression: ir.JsObjectLiteral): ExpressionTransformationResult;
153
+ transformJsPropertyAccessExpression?(expression: ir.JsPropertyAccessExpression): ExpressionTransformationResult;
154
+ transformJsFunctionLiteral?(expression: ir.JsFunctionLiteral): ExpressionTransformationResult;
155
+ transformJsTypeOfExpression?(expression: ir.JsTypeOfExpression): ExpressionTransformationResult;
156
+ transformJsInstanceOfExpression?(expression: ir.JsInstanceOfExpression): ExpressionTransformationResult;
157
+ transformJsIdentifierExpression?(expression: ir.JsIdentifierExpression): ExpressionTransformationResult;
158
+ transformDereferenceExpression?(expression: ir.DereferenceExpression): ExpressionTransformationResult;
159
+ transformBlockStatement?(statement: ir.BlockStatement): StatementTransformationResult;
160
+ transformBreakLoopStatement?(statement: ir.BreakLoopStatement): StatementTransformationResult;
161
+ transformContinueLoopStatement?(statement: ir.ContinueLoopStatement): StatementTransformationResult;
162
+ transformDisposeStatement?(statement: ir.DisposeStatement): StatementTransformationResult;
163
+ transformRunStatement?(statement: ir.RunStatement): StatementTransformationResult;
164
+ transformEmptyStatement?(statement: ir.EmptyStatement): StatementTransformationResult;
165
+ transformErrorStatement?(statement: ir.ErrorStatement): StatementTransformationResult;
166
+ transformExpressionStatement?(statement: ir.ExpressionStatement): StatementTransformationResult;
167
+ transformForStatement?(statement: ir.ForStatement): StatementTransformationResult;
168
+ transformIfStatement?(statement: ir.IfStatement): StatementTransformationResult;
169
+ transformNestedMethodDeclarationStatement?(statement: ir.NestedMethodDeclarationStatement): StatementTransformationResult;
170
+ transformLocalVariableDeclarationStatement?(statement: ir.LocalVariableDeclarationStatement): StatementTransformationResult;
171
+ transformLoopStatement?(statement: ir.LoopStatement): StatementTransformationResult;
172
+ transformReturnStatement?(statement: ir.ReturnStatement): StatementTransformationResult;
173
+ transformSwitchStatement?(statement: ir.SwitchStatement): StatementTransformationResult;
174
+ transformWhileStatement?(statement: ir.WhileStatement): StatementTransformationResult;
175
+ transformYieldStatement?(statement: ir.YieldStatement): StatementTransformationResult;
176
+ transformAssignmentStatement?(statement: ir.AssignmentStatement): StatementTransformationResult;
177
+ transformTryCatchFinallyStatement?(statement: ir.TryCatchFinallyStatement): StatementTransformationResult;
178
+ transformEsModuleImportDirectiveStatement?(statement: ir.EsModuleImportDirectiveStatement): StatementTransformationResult;
179
+ transformCjsModuleImportDirectiveStatement?(statement: ir.CjsModuleImportDirectiveStatement): StatementTransformationResult;
180
+ transformJsNamespaceDestructuringStatement?(statement: ir.JsNamespaceDestructuringStatement): StatementTransformationResult;
181
+ transformPackageMethodDeclaration?(declaration: ir.PackageMethodDeclaration): PackageMemberDeclarationTransformationResult;
182
+ transformPackageTypeDeclaration?(declaration: ir.PackageTypeDeclaration): PackageMemberDeclarationTransformationResult;
183
+ transformPackageVariableDeclaration?(declaration: ir.PackageVariableDeclaration): PackageMemberDeclarationTransformationResult;
184
+ transformPackageVariableGetterDeclaration?(declaration: ir.PackageVariableGetterDeclaration): PackageMemberDeclarationTransformationResult;
185
+ transformPackageVariableSetterDeclaration?(declaration: ir.PackageVariableSetterDeclaration): PackageMemberDeclarationTransformationResult;
186
+ transformPackageVariantTypeDeclaration?(declaration: ir.PackageVariantTypeDeclaration): PackageMemberDeclarationTransformationResult;
187
+ transformTypeVariableDeclaration?(declaration: ir.TypeVariableDeclaration): TypeMemberDeclarationTransformationResult;
188
+ transformTypeMethodDeclaration?(declaration: ir.TypeMethodDeclaration): TypeMemberDeclarationTransformationResult;
189
+ transformTypeConstructorDeclaration?(declaration: ir.TypeConstructorDeclaration): TypeMemberDeclarationTransformationResult;
190
+ transformTypeDestructorDeclaration?(declaration: ir.TypeDestructorDeclaration): TypeMemberDeclarationTransformationResult;
191
+ transformTypeIndexedGetterDeclaration?(declaration: ir.TypeIndexedGetterDeclaration): TypeMemberDeclarationTransformationResult;
192
+ transformTypeIndexedSetterDeclaration?(declaration: ir.TypeIndexedSetterDeclaration): TypeMemberDeclarationTransformationResult;
193
+ transformTypeDereferencedVariableGetterDeclaration?(declaration: ir.TypeDereferencedVariableGetterDeclaration): TypeMemberDeclarationTransformationResult;
194
+ transformTypeDereferencedVariableSetterDeclaration?(declaration: ir.TypeDereferencedVariableSetterDeclaration): TypeMemberDeclarationTransformationResult;
195
+ transformTypeVariableGetterDeclaration?(declaration: ir.TypeVariableGetterDeclaration): TypeMemberDeclarationTransformationResult;
196
+ transformTypeVariableSetterDeclaration?(declaration: ir.TypeVariableSetterDeclaration): TypeMemberDeclarationTransformationResult;
197
+ transformNestedMethodDeclaration?(declaration: ir.NestedMethodDeclaration): NodeTransformationResult<ir.NestedMethodDeclaration>;
198
+ transformLocalVariableDeclaration?(declaration: ir.LocalVariableDeclaration): NodeTransformationResult<ir.LocalVariableDeclaration>;
199
+ transformValueParameterDeclaration?(declaration: ir.ValueParameterDeclaration): NodeTransformationResult<ir.ValueParameterDeclaration>;
200
+ transformCaseClause?(declaration: ir.CaseClause): NodeTransformationResult<ir.CaseClause>;
201
+ transformVariantDeclaration?(declaration: ir.VariantDeclaration): NodeTransformationResult<ir.VariantDeclaration>;
202
+ transformCallArguments?(declaration: ir.CallArguments): NodeTransformationResult<ir.CallArguments>;
203
+ transformOnErrorClause?(clause: ir.OnErrorClause): NodeTransformationResult<ir.OnErrorClause>;
204
+ transformFinallyClause?(clause: ir.FinallyClause): NodeTransformationResult<ir.FinallyClause>;
205
+ transformJsObjectLiteralProperty?(clause: ir.JsObjectLiteralProperty): NodeTransformationResult<ir.JsObjectLiteralProperty>;
209
206
  }
210
- export {};
207
+ export declare const enum TransformationContinuationAction {
208
+ Continue = 0,
209
+ DoNotTransformChildren = 1
210
+ }
211
+ export type ExpressionTransformationResult = {
212
+ kind: 'preserve';
213
+ action: TransformationContinuationAction;
214
+ } | {
215
+ kind: 'replace';
216
+ expression: ir.Expression;
217
+ hoistedLocalVariables?: readonly VariableEntity[];
218
+ };
219
+ export declare function preserveExpression(action?: TransformationContinuationAction): ExpressionTransformationResult;
220
+ export declare function replaceExpression(expression: ir.Expression, hoistedLocalVariables?: readonly VariableEntity[]): ExpressionTransformationResult;
221
+ export type TypeAccessExpressionTransformationResult = {
222
+ kind: 'preserve';
223
+ action: TransformationContinuationAction;
224
+ } | {
225
+ kind: 'replace';
226
+ expression: ir.TypeAccessExpression;
227
+ };
228
+ export declare function preserveTypeAccess(action?: TransformationContinuationAction): TypeAccessExpressionTransformationResult;
229
+ export declare function replaceTypeAccess(expression: ir.TypeAccessExpression): TypeAccessExpressionTransformationResult;
230
+ export type PackageMemberDeclarationTransformationResult = {
231
+ kind: 'preserve';
232
+ } | {
233
+ kind: 'replace';
234
+ declarations: readonly ir.PackageMemberDeclaration[];
235
+ } | {
236
+ kind: 'remove';
237
+ };
238
+ export declare function preservePackageMember(): PackageMemberDeclarationTransformationResult;
239
+ export declare function replacePackageMember(declarations: readonly ir.PackageMemberDeclaration[]): PackageMemberDeclarationTransformationResult;
240
+ export declare function removePackageMember(): PackageMemberDeclarationTransformationResult;
241
+ export type StatementTransformationResult = {
242
+ kind: 'preserve';
243
+ hoistedLocalVariables?: readonly VariableEntity[];
244
+ } | {
245
+ kind: 'replace';
246
+ statement: ir.Statement;
247
+ hoistedLocalVariables?: readonly VariableEntity[];
248
+ } | {
249
+ kind: 'remove';
250
+ hoistedLocalVariables: undefined;
251
+ };
252
+ export declare function preserveStatement(hoistedLocalVariables?: readonly VariableEntity[]): StatementTransformationResult;
253
+ export declare function replaceStatement(statement: ir.Statement, hoistedLocalVariables?: readonly VariableEntity[]): StatementTransformationResult;
254
+ export declare function removeStatement(): StatementTransformationResult;
255
+ export type TypeMemberDeclarationTransformationResult = {
256
+ kind: 'preserve';
257
+ } | {
258
+ kind: 'replace';
259
+ declarations: readonly ir.TypeMemberDeclaration[];
260
+ };
261
+ export declare function preserveTypeMember(): TypeMemberDeclarationTransformationResult;
262
+ export declare function replaceTypeMember(declarations: readonly ir.TypeMemberDeclaration[]): TypeMemberDeclarationTransformationResult;
263
+ export type NodeTransformationResult<T> = {
264
+ kind: 'preserve';
265
+ action: TransformationContinuationAction;
266
+ } | {
267
+ kind: 'replace';
268
+ node: T;
269
+ };
270
+ export declare function preserveNode<T>(action?: TransformationContinuationAction): NodeTransformationResult<T>;
271
+ export declare function replaceNode<T>(node: T): NodeTransformationResult<T>;
@@ -480,14 +480,6 @@ export declare class NoneLiteral {
480
480
  constructor(sourceLocation: SourceLocation | undefined);
481
481
  clone(): NoneLiteral;
482
482
  }
483
- export declare class NotExpression {
484
- expression: Expression;
485
- operator: AccessedMethod | undefined;
486
- sourceLocation: SourceLocation | undefined;
487
- readonly kind = NodeKind.NotExpression;
488
- constructor(expression: Expression, operator: AccessedMethod | undefined, sourceLocation: SourceLocation | undefined);
489
- clone(): NotExpression;
490
- }
491
483
  export declare class NumericLiteral {
492
484
  value: number;
493
485
  sourceLocation: SourceLocation | undefined;
@@ -986,7 +978,8 @@ export declare const enum AssignmentOperatorKind {
986
978
  export declare const enum PrefixUnaryExpressionOperatorKind {
987
979
  Plus = 0,
988
980
  Minus = 1,
989
- BitwiseNot = 2
981
+ Not = 2,
982
+ BitwiseNot = 3
990
983
  }
991
984
  export declare const enum BinaryExpressionOperatorKind {
992
985
  Add = 0,
@@ -998,8 +991,8 @@ export declare const enum BinaryExpressionOperatorKind {
998
991
  NotEquals = 6,
999
992
  LessThan = 7,
1000
993
  GreaterThan = 8,
1001
- LessThanEquals = 9,
1002
- GreaterThanEquals = 10,
994
+ LessThanOrEqual = 9,
995
+ GreaterThanOrEqual = 10,
1003
996
  Or = 11,
1004
997
  And = 12,
1005
998
  Xor = 13,
@@ -1,8 +1,8 @@
1
1
  import * as ir from './Nodes.js';
2
- export type Node = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | 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.NoneLiteral | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.FinallyClause | ir.ForStatement | ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.HelperMethodCallExpression | ir.IfStatement | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.JsIndexedAccessExpression | ir.NestedMethodDeclaration | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclaration | ir.LocalVariableDeclarationStatement | ir.NotExpression | ir.NumericLiteral | ir.OnErrorClause | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.LoopStatement | ir.Package | ir.ReturnStatement | ir.TextLiteral | ir.TextTemplateLiteral | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.SwitchStatement | ir.TernaryExpression | ir.ThisExpression | ir.TryCatchFinallyStatement | ir.TypeAccessExpression | ir.ValueParameterDeclaration | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.VariantDeclaration | ir.WhileStatement | ir.YieldStatement | ir.JsObjectLiteral | ir.JsObjectLiteralProperty | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.DereferenceExpression | ir.BaseExpression | ir.OwnConstructorCallExpression | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
2
+ export type Node = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | 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.NoneLiteral | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.FinallyClause | ir.ForStatement | ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.HelperMethodCallExpression | ir.IfStatement | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.JsIndexedAccessExpression | ir.NestedMethodDeclaration | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclaration | ir.LocalVariableDeclarationStatement | ir.NumericLiteral | ir.OnErrorClause | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.LoopStatement | ir.Package | ir.ReturnStatement | ir.TextLiteral | ir.TextTemplateLiteral | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.SwitchStatement | ir.TernaryExpression | ir.ThisExpression | ir.TryCatchFinallyStatement | ir.TypeAccessExpression | ir.ValueParameterDeclaration | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.VariantDeclaration | ir.WhileStatement | ir.YieldStatement | ir.JsObjectLiteral | ir.JsObjectLiteralProperty | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.DereferenceExpression | ir.BaseExpression | ir.OwnConstructorCallExpression | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
3
3
  export type Declaration = ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration | ir.NestedMethodDeclaration | ir.LocalVariableDeclaration | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.ValueParameterDeclaration | ir.VariantDeclaration | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
4
4
  export type Statement = ir.AssignmentStatement | ir.BlockStatement | ir.BreakLoopStatement | ir.ContinueLoopStatement | ir.DisposeStatement | ir.RunStatement | ir.EmptyStatement | ir.ErrorStatement | ir.ExpressionStatement | ir.ForStatement | ir.IfStatement | ir.NestedMethodDeclarationStatement | ir.LocalVariableDeclarationStatement | ir.LoopStatement | ir.ReturnStatement | ir.SwitchStatement | ir.TryCatchFinallyStatement | ir.WhileStatement | ir.YieldStatement | ir.EsModuleImportDirectiveStatement | ir.CjsModuleImportDirectiveStatement | ir.JsNamespaceDestructuringStatement;
5
- export type Expression = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.BinaryExpression | ir.BooleanLiteral | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.NoneLiteral | ir.HelperMethodCallExpression | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.NotExpression | ir.NumericLiteral | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.DereferenceExpression | ir.TextLiteral | ir.TextTemplateLiteral | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.BaseConstructorCallExpression | ir.JsIndexedAccessExpression | ir.JsObjectLiteral | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.BaseExpression | ir.OwnConstructorCallExpression;
5
+ export type Expression = ir.ArrayLiteral | ir.AsExpression | ir.AssertionExpression | ir.AssumptionExpression | ir.AssignmentExpression | ir.BinaryExpression | ir.BooleanLiteral | ir.CallExpression | ir.CharLiteral | ir.CommaExpression | ir.ConstructorCallExpression | ir.NoneLiteral | ir.HelperMethodCallExpression | ir.IndexedAccessExpression | ir.InlineJsExpression | ir.TypeMethodAccessExpression | ir.TypeVariableAccessExpression | ir.IntegerLiteral | ir.IsExpression | ir.NumericLiteral | ir.MethodAccessExpression | ir.MethodLiteral | ir.PrefixUnaryExpression | ir.MeasureLiteral | ir.ReferenceExpression | ir.DereferenceExpression | ir.TextLiteral | ir.TextTemplateLiteral | ir.TernaryExpression | ir.ThisExpression | ir.TypeAccessExpression | ir.VariableAccessExpression | ir.VariantAccessExpression | ir.BaseConstructorCallExpression | ir.JsIndexedAccessExpression | ir.JsObjectLiteral | ir.JsPropertyAccessExpression | ir.JsFunctionLiteral | ir.JsTypeOfExpression | ir.JsInstanceOfExpression | ir.JsIdentifierExpression | ir.BaseExpression | ir.OwnConstructorCallExpression;
6
6
  export type TypeMemberDeclaration = ir.TypeVariableDeclaration | ir.TypeVariableGetterDeclaration | ir.TypeVariableSetterDeclaration | ir.TypeMethodDeclaration | ir.TypeConstructorDeclaration | ir.TypeDestructorDeclaration | ir.TypeIndexedGetterDeclaration | ir.TypeIndexedSetterDeclaration | ir.TypeDereferencedVariableGetterDeclaration | ir.TypeDereferencedVariableSetterDeclaration;
7
7
  export type PackageMemberDeclaration = ir.PackageMethodDeclaration | ir.PackageTypeDeclaration | ir.PackageVariableDeclaration | ir.PackageVariableGetterDeclaration | ir.PackageVariableSetterDeclaration | ir.PackageVariantTypeDeclaration;
8
8
  export type LValueExpression = ir.VariableAccessExpression | ir.TypeVariableAccessExpression | ir.IndexedAccessExpression | ir.JsIndexedAccessExpression | ir.JsPropertyAccessExpression | ir.ThisExpression | ir.DereferenceExpression;
@@ -19,6 +19,7 @@ export interface TypeMethodEntity extends IMethodEntity {
19
19
  isAbstract(): boolean;
20
20
  isModifyingOwningPlainObject(): boolean;
21
21
  isMethodTypeInvokeMethod(): boolean;
22
+ getOverriddenMember(): types.Method | undefined;
22
23
  }
23
24
  export interface NestedMethodEntity extends IMethodEntity {
24
25
  readonly subkind: 'nested';
@@ -72,6 +73,7 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
72
73
  readonly subkind = "type";
73
74
  private readonly _typeParameters;
74
75
  private readonly _valueParameters;
76
+ private readonly _overriddenMember;
75
77
  constructor(_analyzer: Analyzer, _node: TypeMethodDeclaration);
76
78
  getName(): Name;
77
79
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -90,6 +92,7 @@ export declare class TypeMethodDeclarationEntity implements TypeMethodEntity {
90
92
  isAbstract(): boolean;
91
93
  isModifyingOwningPlainObject(): boolean;
92
94
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
95
+ getOverriddenMember(): types.Method | undefined;
93
96
  }
94
97
  export declare class NestedMethodDeclarationEntity implements NestedMethodEntity {
95
98
  private readonly _analyzer;
@@ -150,9 +153,10 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
150
153
  private readonly _isRedefined;
151
154
  private readonly _isAbstract;
152
155
  private readonly _isModifyingOwningPlainObject;
156
+ private readonly _overriddenMember;
153
157
  readonly kind = EntityKind.Method;
154
158
  readonly subkind = "type";
155
- constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean);
159
+ constructor(_name: Name, _typeParameters: readonly TypeParameterEntity[], _valueParameters: readonly ParameterVariableEntity[], _returnType: types.Type, _isAsync: boolean, _isHidden: EntityHidingLevel | undefined, _tags: readonly Tag[], _isMethodTypeInvokeMethod: boolean, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isModifyingOwningPlainObject: boolean, _overriddenMember: types.Method | undefined);
156
160
  getName(): Name;
157
161
  getTypeParameters(): readonly TypeParameterEntity[];
158
162
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -170,5 +174,6 @@ export declare class IntrinsicTypeMethodEntity implements TypeMethodEntity {
170
174
  isAbstract(): boolean;
171
175
  isModifyingOwningPlainObject(): boolean;
172
176
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
177
+ getOverriddenMember(): types.Method | undefined;
173
178
  }
174
179
  export {};
@@ -16,6 +16,7 @@ export interface OperatorEntity {
16
16
  isAbstract(): boolean;
17
17
  isHidden(): EntityHidingLevel | undefined;
18
18
  getTags(): readonly Tag[];
19
+ getOverriddenMember(): types.Operator | undefined;
19
20
  }
20
21
  export type OperatorDefinition = {
21
22
  kind: DefinitionKind.Source;
@@ -27,6 +28,7 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
27
28
  readonly kind = EntityKind.Operator;
28
29
  private readonly _operatorKind;
29
30
  private readonly _valueParameters;
31
+ private readonly _overriddenMember;
30
32
  constructor(_analyzer: Analyzer, _node: tree.OperatorDeclaration);
31
33
  getOperatorKind(): OperatorKind;
32
34
  getValueParameters(): readonly ParameterVariableEntity[];
@@ -39,5 +41,6 @@ export declare class OperatorDeclarationEntity implements OperatorEntity {
39
41
  isAbstract(): boolean;
40
42
  isHidden(): EntityHidingLevel | undefined;
41
43
  getTags(): readonly Tag[];
44
+ getOverriddenMember(): types.Operator | undefined;
42
45
  private convertSyntaxOperatorKind;
43
46
  }
@@ -3,28 +3,27 @@ export declare enum OperatorKind {
3
3
  UnaryPlus = 0,
4
4
  UnaryMinus = 1,
5
5
  Not = 2,
6
- BitwiseNot = 3,
7
- Add = 4,
8
- Subtract = 5,
9
- Multiply = 6,
10
- Divide = 7,
11
- IntegerDivide = 8,
12
- Modulo = 9,
13
- LessThan = 10,
14
- GreaterThan = 11,
15
- LessThanEquals = 12,
16
- GreaterThanEquals = 13,
17
- Or = 14,
18
- And = 15,
19
- Xor = 16,
20
- BitwiseAnd = 17,
21
- BitwiseOr = 18,
22
- BitwiseXor = 19
6
+ Add = 3,
7
+ Subtract = 4,
8
+ Multiply = 5,
9
+ Divide = 6,
10
+ IntegerDivide = 7,
11
+ Modulo = 8,
12
+ LessThan = 9,
13
+ GreaterThan = 10,
14
+ LessThanOrEqual = 11,
15
+ GreaterThanOrEqual = 12,
16
+ Or = 13,
17
+ And = 14,
18
+ Xor = 15,
19
+ BitwiseAnd = 16,
20
+ BitwiseOr = 17,
21
+ BitwiseXor = 18
23
22
  }
24
23
  /**
25
24
  * Виды операторов, задаваемых токенами (`+`, `-`, `*=` и др.).
26
25
  */
27
- export type KindOfOperatorDefinedByToken = OperatorKind.BitwiseNot | OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanEquals | OperatorKind.GreaterThanEquals | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
26
+ export type KindOfOperatorDefinedByToken = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
28
27
  export declare function isOperatorDefinedByToken(kind: OperatorKind): kind is KindOfOperatorDefinedByToken;
29
28
  /**
30
29
  * Виды операторов, задаваемых ключевыми словами (`и`, `или`, `не` и др.)
@@ -34,12 +33,12 @@ export declare function isOperatorDefinedByKeyword(kind: OperatorKind): kind is
34
33
  /**
35
34
  * Виды одноместных операторов. Объявление одноместного оператора не должно содержать ни одного параметра.
36
35
  */
37
- export type UnaryOperatorKind = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Not | OperatorKind.BitwiseNot;
36
+ export type UnaryOperatorKind = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Not;
38
37
  export declare function isUnaryOperator(kind: OperatorKind): kind is UnaryOperatorKind;
39
38
  /**
40
39
  * Виды двухместных операторов. Объявление двухместного оператора должно содержать один параметр.
41
40
  */
42
- export type BinaryOperatorKind = OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanEquals | OperatorKind.GreaterThanEquals | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
41
+ export type BinaryOperatorKind = OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.IntegerDivide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor;
43
42
  export declare function isBinaryOperator(kind: OperatorKind): kind is BinaryOperatorKind;
44
43
  export type KindOfUnaryOperatorDefinedByToken = UnaryOperatorKind & KindOfOperatorDefinedByToken;
45
44
  export type KindOfUnaryOperatorDefinedByKeyword = UnaryOperatorKind & KindOfOperatorDefinedByKeyword;
@@ -17,6 +17,7 @@ export interface TypeVariableEntity extends IVariableEntity {
17
17
  isRedefinable(): boolean;
18
18
  isRedefined(): boolean;
19
19
  isAbstract(): boolean;
20
+ getOverriddenMember(): types.Variable | undefined;
20
21
  }
21
22
  export interface ParameterVariableEntity extends IVariableEntity {
22
23
  readonly subkind: 'parameter';
@@ -140,6 +141,7 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
140
141
  private readonly _analyzer;
141
142
  private readonly _node;
142
143
  private readonly _typeInferrer;
144
+ private readonly _overriddenMember;
143
145
  constructor(analyzer: Analyzer, node: TypeVariableDeclaration);
144
146
  getName(): Name;
145
147
  getType(): types.Type;
@@ -155,6 +157,7 @@ export declare class TypeVariableDeclarationEntity implements TypeVariableEntity
155
157
  isRedefinable(): boolean;
156
158
  isRedefined(): boolean;
157
159
  isAbstract(): boolean;
160
+ getOverriddenMember(): types.Variable | undefined;
158
161
  }
159
162
  export declare class ComputedTypeVariableDeclarationEntity implements TypeVariableEntity {
160
163
  readonly kind = EntityKind.Variable;
@@ -163,6 +166,7 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
163
166
  private readonly _getterDeclaration;
164
167
  private readonly _setterDeclaration;
165
168
  private readonly _getterOrSetterDeclaration;
169
+ private readonly _overriddenMember;
166
170
  constructor(analyzer: Analyzer, getterDeclaration: TypeVariableGetterDeclaration | undefined, setterDeclaration: TypeVariableSetterDeclaration | undefined);
167
171
  getName(): Name;
168
172
  getType(): types.Type;
@@ -178,6 +182,7 @@ export declare class ComputedTypeVariableDeclarationEntity implements TypeVariab
178
182
  getSetter(): SetterEntity | undefined;
179
183
  isSpecial(): SpecialVariableEntityInfo | undefined;
180
184
  getTags(): readonly Tag[];
185
+ getOverriddenMember(): types.Variable | undefined;
181
186
  }
182
187
  export declare class LocalVariableDeclarationEntity implements LocalVariableEntity {
183
188
  private readonly _analyzer;
@@ -349,9 +354,10 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
349
354
  private readonly _isHidden;
350
355
  private readonly _getter;
351
356
  private readonly _setter;
357
+ private readonly _overriddenMember;
352
358
  readonly kind = EntityKind.Variable;
353
359
  readonly subkind = "type";
354
- constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined);
360
+ constructor(_name: Name, _type: types.Type, _container: TypeMemberEntityContainer, _isStatic: boolean, _isRedefinable: boolean, _isRedefined: boolean, _isAbstract: boolean, _isSpecial: SpecialVariableEntityInfo | undefined, _isHidden: EntityHidingLevel | undefined, _getter: GetterEntity | undefined, _setter: SetterEntity | undefined, _overriddenMember: types.Variable | undefined);
355
361
  getName(): Name;
356
362
  getType(): types.Type;
357
363
  getDefinition(): VariableEntityDefinition;
@@ -366,6 +372,7 @@ export declare class IntrinsicTypeVariableEntity implements TypeVariableEntity {
366
372
  isRedefinable(): boolean;
367
373
  isRedefined(): boolean;
368
374
  isAbstract(): boolean;
375
+ getOverriddenMember(): types.Variable | undefined;
369
376
  }
370
377
  export declare class IntrinsicParameterVariableEntity implements ParameterVariableEntity {
371
378
  private readonly _name;
@@ -1,2 +1,3 @@
1
1
  export declare function withoutQuotes(text: string): string;
2
+ export declare function withoutTextTemplateQuotes(text: string): string;
2
3
  export declare function unescapeText(text: string, normalizeCRLF?: boolean): string;
@@ -20,7 +20,6 @@ export declare class NodeSemanticInfoService {
20
20
  static ofIndexedAccessExpressionOperator(analyzer: Analyzer, node: tree.IndexedAccessExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
21
21
  static ofAssignmentStatementOperator(analyzer: Analyzer, node: tree.AssignmentStatement, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
22
22
  static ofBinaryExpressionOperator(analyzer: Analyzer, node: tree.BinaryExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
23
- static ofNotExpressionNotKeyword(analyzer: Analyzer, node: tree.NotExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
24
23
  static ofPrefixUnaryExpressionOperator(analyzer: Analyzer, node: tree.PrefixUnaryExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;
25
24
  static ofDereferenceOperatorDeclaration(analyzer: Analyzer, node: tree.TypeDereferencedVariableGetterDeclaration | tree.TypeDereferencedVariableSetterDeclaration): NodeSemanticInfo | undefined;
26
25
  static ofDereferenceExpressionOperator(analyzer: Analyzer, node: tree.DereferenceExpression, options: NodeSemanticInfoServiceOptions): NodeSemanticInfo | undefined;