@artel/artc 0.6.25216 → 0.6.25217

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 (39) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +23 -9
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +290 -337
  5. package/build/{chunk-O7AXOZXA.js → chunk-CMPXXHBQ.js} +3 -3
  6. package/build/{chunk-6RYP5SET.js → chunk-HN3XZZQX.js} +3 -3
  7. package/build/{chunk-TJG64G2K.js → chunk-TXAEJ2GI.js} +3397 -2484
  8. package/build/types/analysis/Analyzer.d.ts +163 -159
  9. package/build/types/analysis/CallArgumentToParameterMatchResult.d.ts +3 -4
  10. package/build/types/analysis/DiagnosticCollector.d.ts +1 -0
  11. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +12 -7
  12. package/build/types/analysis/SourceFileMembers.d.ts +11 -1
  13. package/build/types/diagnostic/DiagnosticCode.d.ts +107 -103
  14. package/build/types/emitter/EmitterContext.d.ts +9 -0
  15. package/build/types/emitter/Entities.d.ts +8 -2
  16. package/build/types/emitter/IrToJs.d.ts +0 -1
  17. package/build/types/emitter/Transformer.d.ts +2 -3
  18. package/build/types/emitter/ir/LoweringOptions.d.ts +3 -1
  19. package/build/types/emitter/ir/LoweringState.d.ts +24 -0
  20. package/build/types/emitter/ir/Nodes.d.ts +74 -85
  21. package/build/types/emitter/ir/types.d.ts +3 -2
  22. package/build/types/entities/AliasTypeEntity.d.ts +1 -1
  23. package/build/types/entities/DereferenceOperatorEntity.d.ts +7 -0
  24. package/build/types/entities/IndexerEntity.d.ts +7 -0
  25. package/build/types/entities/MethodTypeEntity.d.ts +9 -1
  26. package/build/types/entities/StructuredTypeEntity.d.ts +11 -3
  27. package/build/types/entities/TypeParameterEntity.d.ts +1 -1
  28. package/build/types/entities/VariantTypeEntity.d.ts +9 -1
  29. package/build/types/parser/Scanner.d.ts +0 -6
  30. package/build/types/parser/UnescapeText.d.ts +1 -1
  31. package/build/types/services/DisplayService.d.ts +201 -162
  32. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +1 -3
  33. package/build/types/tree/NodeKind.d.ts +85 -86
  34. package/build/types/tree/green/Nodes.d.ts +4 -13
  35. package/build/types/tree/red/Nodes.d.ts +5 -19
  36. package/build/types/ts-interop/Entities.d.ts +28 -8
  37. package/build/types/types/MethodType.d.ts +2 -2
  38. package/build/types/types/VariantType.d.ts +2 -2
  39. package/package.json +1 -1
@@ -3,7 +3,7 @@ import { MethodEntity, Type, TypeOrExtensionEntity, VariableEntity } from '../En
3
3
  import { AccessedMethod, AccessedVariable } from './AccessedEntities.js';
4
4
  import { ComputedAccess } from './ComputedAccess.js';
5
5
  import { AssignmentLoweringOptions, DeclarationWithInitializerLoweringOptions, MethodAccessLoweringOptions, TextTemplateLiteralLoweringOptions } from './LoweringOptions.js';
6
- import { CallExpressionLoweringState, ConstructorCallExpressionLoweringState } from './LoweringState.js';
6
+ import { CallExpressionLoweringState, ConstructorCallExpressionLoweringState, PackageVariableDeclarationLoweringState, TypeMethodDeclarationLoweringState } from './LoweringState.js';
7
7
  import { SourceLocation } from './SourceLocation.js';
8
8
  import { Expression, LValueExpression, PackageMemberDeclaration, Statement, TypeMemberDeclaration } from './types.js';
9
9
  export declare class ArrayLiteral {
@@ -232,16 +232,6 @@ export declare class ForStatement {
232
232
  constructor(label: string | undefined, enumerationVariableEntity: VariableEntity, indexVariableEntity: VariableEntity | undefined, enumeratedExpression: Expression, body: BlockStatement, sourceLocation: SourceLocation | undefined);
233
233
  clone(): ForStatement;
234
234
  }
235
- export declare class HelperMethodCallExpression {
236
- methodName: string;
237
- callArguments: readonly Expression[];
238
- isAsyncMethodCall: boolean;
239
- returnType: Type;
240
- sourceLocation: SourceLocation | undefined;
241
- readonly kind = NodeKind.HelperMethodCallExpression;
242
- constructor(methodName: string, callArguments: readonly Expression[], isAsyncMethodCall: boolean, returnType: Type, sourceLocation: SourceLocation | undefined);
243
- clone(): HelperMethodCallExpression;
244
- }
245
235
  export declare class IfStatement {
246
236
  condition: Expression;
247
237
  thenStatement: BlockStatement;
@@ -254,11 +244,11 @@ export declare class IfStatement {
254
244
  export declare class IndexedAccessExpression {
255
245
  expression: Expression;
256
246
  isOptionalChaining: boolean;
257
- args: readonly Expression[];
247
+ args: CallArguments;
258
248
  access: ComputedAccess;
259
249
  sourceLocation: SourceLocation | undefined;
260
250
  readonly kind = NodeKind.IndexedAccessExpression;
261
- constructor(expression: Expression, isOptionalChaining: boolean, args: readonly Expression[], access: ComputedAccess, sourceLocation: SourceLocation | undefined);
251
+ constructor(expression: Expression, isOptionalChaining: boolean, args: CallArguments, access: ComputedAccess, sourceLocation: SourceLocation | undefined);
262
252
  clone(): IndexedAccessExpression;
263
253
  }
264
254
  export declare class InlineJsExpression {
@@ -530,8 +520,9 @@ export declare class PackageVariableDeclaration {
530
520
  initializer: Expression | undefined;
531
521
  entity: VariableEntity;
532
522
  sourceLocation: SourceLocation | undefined;
523
+ loweringState: PackageVariableDeclarationLoweringState;
533
524
  readonly kind = NodeKind.PackageVariableDeclaration;
534
- constructor(modifiers: Modifiers, initializer: Expression | undefined, entity: VariableEntity, sourceLocation: SourceLocation | undefined);
525
+ constructor(modifiers: Modifiers, initializer: Expression | undefined, entity: VariableEntity, sourceLocation: SourceLocation | undefined, loweringState?: PackageVariableDeclarationLoweringState);
535
526
  clone(): PackageVariableDeclaration;
536
527
  }
537
528
  export declare class PackageVariableGetterDeclaration {
@@ -756,10 +747,11 @@ export declare class TypeMethodAccessExpression {
756
747
  isOptionalChaining: boolean;
757
748
  method: AccessedMethod;
758
749
  isCallee: boolean;
750
+ ifComputedThenKey: Expression | undefined;
759
751
  sourceLocation: SourceLocation | undefined;
760
752
  loweringOptions: MethodAccessLoweringOptions;
761
753
  readonly kind = NodeKind.TypeMethodAccessExpression;
762
- constructor(expression: Expression, isOptionalChaining: boolean, method: AccessedMethod, isCallee: boolean, sourceLocation: SourceLocation | undefined, loweringOptions?: MethodAccessLoweringOptions);
754
+ constructor(expression: Expression, isOptionalChaining: boolean, method: AccessedMethod, isCallee: boolean, ifComputedThenKey: Expression | undefined, sourceLocation: SourceLocation | undefined, loweringOptions?: MethodAccessLoweringOptions);
763
755
  clone(): TypeMethodAccessExpression;
764
756
  }
765
757
  export declare class TypeMethodDeclaration {
@@ -768,15 +760,13 @@ export declare class TypeMethodDeclaration {
768
760
  body: BlockStatement;
769
761
  entity: MethodEntity;
770
762
  isGenerator: boolean;
771
- isComputed: ComputedTypeMethodInfo | undefined;
763
+ ifComputedThenKey: Expression | undefined;
772
764
  sourceLocation: SourceLocation | undefined;
765
+ loweringState: TypeMethodDeclarationLoweringState;
773
766
  readonly kind = NodeKind.TypeMethodDeclaration;
774
- constructor(modifiers: Modifiers, valueParameters: readonly ValueParameterDeclaration[], body: BlockStatement, entity: MethodEntity, isGenerator: boolean, isComputed: ComputedTypeMethodInfo | undefined, sourceLocation: SourceLocation | undefined);
767
+ constructor(modifiers: Modifiers, valueParameters: readonly ValueParameterDeclaration[], body: BlockStatement, entity: MethodEntity, isGenerator: boolean, ifComputedThenKey: Expression | undefined, sourceLocation: SourceLocation | undefined, loweringState?: TypeMethodDeclarationLoweringState);
775
768
  clone(): TypeMethodDeclaration;
776
769
  }
777
- export type ComputedTypeMethodInfo = {
778
- readonly key: Expression;
779
- };
780
770
  export declare class TypeVariableAccessExpression {
781
771
  expression: Expression;
782
772
  isOptionalChaining: boolean;
@@ -901,71 +891,70 @@ export declare const enum NodeKind {
901
891
  IfStatement = 27,
902
892
  IndexedAccessExpression = 28,
903
893
  IntegerLiteral = 29,
904
- HelperMethodCallExpression = 30,
905
- IsExpression = 31,
906
- NestedMethodDeclaration = 32,
907
- NestedMethodDeclarationStatement = 33,
908
- LocalVariableDeclaration = 34,
909
- LocalVariableDeclarationStatement = 35,
910
- NotExpression = 36,
911
- NumericLiteral = 37,
912
- OnErrorClause = 38,
913
- MethodLiteral = 39,
914
- PrefixUnaryExpression = 40,
915
- MeasureLiteral = 41,
916
- ReferenceExpression = 42,
917
- LoopStatement = 43,
918
- ReturnStatement = 44,
919
- Package = 45,
920
- TextLiteral = 46,
921
- TextTemplateLiteral = 47,
922
- TypeConstructorDeclaration = 48,
923
- TypeDestructorDeclaration = 49,
924
- TypeIndexedGetterDeclaration = 50,
925
- TypeIndexedSetterDeclaration = 51,
926
- TypeMethodDeclaration = 52,
927
- TypeVariableDeclaration = 53,
928
- TypeVariableGetterDeclaration = 54,
929
- TypeVariableSetterDeclaration = 55,
930
- SwitchStatement = 56,
931
- Tag = 57,
932
- TernaryExpression = 58,
933
- ThisExpression = 59,
934
- ValueParameterDeclaration = 60,
935
- VariantDeclaration = 61,
936
- WhileStatement = 62,
937
- YieldStatement = 63,
938
- ArrayLiteral = 64,
939
- TypeAccessExpression = 65,
940
- VariableAccessExpression = 66,
941
- MethodAccessExpression = 67,
942
- ImplicitVariantAccessExpression = 68,
943
- VariantAccessExpression = 69,
944
- TypeVariableAccessExpression = 70,
945
- TypeMethodAccessExpression = 71,
946
- ConstructorCallExpression = 72,
947
- TryCatchFinallyStatement = 73,
948
- InlineJsExpression = 74,
949
- AssignmentExpression = 75,
950
- CommaExpression = 76,
951
- BaseConstructorCallExpression = 77,
952
- JsImportSpecifier = 78,
953
- JsIndexedAccessExpression = 79,
954
- EsModuleImportDirectiveStatement = 80,
955
- CjsModuleImportDirectiveStatement = 81,
956
- JsObjectLiteral = 82,
957
- JsObjectLiteralProperty = 83,
958
- JsPropertyAccessExpression = 84,
959
- JsFunctionLiteral = 85,
960
- JsTypeOfExpression = 86,
961
- JsInstanceOfExpression = 87,
962
- JsIdentifierExpression = 88,
963
- DereferenceExpression = 89,
964
- BaseExpression = 90,
965
- OwnConstructorCallExpression = 91,
966
- TypeDereferencedVariableGetterDeclaration = 92,
967
- TypeDereferencedVariableSetterDeclaration = 93,
968
- JsNamespaceDestructuringStatement = 94
894
+ IsExpression = 30,
895
+ NestedMethodDeclaration = 31,
896
+ NestedMethodDeclarationStatement = 32,
897
+ LocalVariableDeclaration = 33,
898
+ LocalVariableDeclarationStatement = 34,
899
+ NotExpression = 35,
900
+ NumericLiteral = 36,
901
+ OnErrorClause = 37,
902
+ MethodLiteral = 38,
903
+ PrefixUnaryExpression = 39,
904
+ MeasureLiteral = 40,
905
+ ReferenceExpression = 41,
906
+ LoopStatement = 42,
907
+ ReturnStatement = 43,
908
+ Package = 44,
909
+ TextLiteral = 45,
910
+ TextTemplateLiteral = 46,
911
+ TypeConstructorDeclaration = 47,
912
+ TypeDestructorDeclaration = 48,
913
+ TypeIndexedGetterDeclaration = 49,
914
+ TypeIndexedSetterDeclaration = 50,
915
+ TypeMethodDeclaration = 51,
916
+ TypeVariableDeclaration = 52,
917
+ TypeVariableGetterDeclaration = 53,
918
+ TypeVariableSetterDeclaration = 54,
919
+ SwitchStatement = 55,
920
+ Tag = 56,
921
+ TernaryExpression = 57,
922
+ ThisExpression = 58,
923
+ ValueParameterDeclaration = 59,
924
+ VariantDeclaration = 60,
925
+ WhileStatement = 61,
926
+ YieldStatement = 62,
927
+ ArrayLiteral = 63,
928
+ TypeAccessExpression = 64,
929
+ VariableAccessExpression = 65,
930
+ MethodAccessExpression = 66,
931
+ ImplicitVariantAccessExpression = 67,
932
+ VariantAccessExpression = 68,
933
+ TypeVariableAccessExpression = 69,
934
+ TypeMethodAccessExpression = 70,
935
+ ConstructorCallExpression = 71,
936
+ TryCatchFinallyStatement = 72,
937
+ InlineJsExpression = 73,
938
+ AssignmentExpression = 74,
939
+ CommaExpression = 75,
940
+ BaseConstructorCallExpression = 76,
941
+ JsImportSpecifier = 77,
942
+ JsIndexedAccessExpression = 78,
943
+ EsModuleImportDirectiveStatement = 79,
944
+ CjsModuleImportDirectiveStatement = 80,
945
+ JsObjectLiteral = 81,
946
+ JsObjectLiteralProperty = 82,
947
+ JsPropertyAccessExpression = 83,
948
+ JsFunctionLiteral = 84,
949
+ JsTypeOfExpression = 85,
950
+ JsInstanceOfExpression = 86,
951
+ JsIdentifierExpression = 87,
952
+ DereferenceExpression = 88,
953
+ BaseExpression = 89,
954
+ OwnConstructorCallExpression = 90,
955
+ TypeDereferencedVariableGetterDeclaration = 91,
956
+ TypeDereferencedVariableSetterDeclaration = 92,
957
+ JsNamespaceDestructuringStatement = 93
969
958
  }
970
959
  export declare const enum AssignmentOperatorKind {
971
960
  Equals = 0,
@@ -1,9 +1,10 @@
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.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.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.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.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
+ export type LocalDeclaration = ir.LocalVariableDeclaration | ir.NestedMethodDeclaration;
8
9
  export type LValueExpression = ir.VariableAccessExpression | ir.TypeVariableAccessExpression | ir.IndexedAccessExpression | ir.JsIndexedAccessExpression | ir.JsPropertyAccessExpression | ir.ThisExpression | ir.DereferenceExpression;
9
10
  export declare function isLValueExpression(node: Expression): node is LValueExpression;
@@ -10,7 +10,7 @@ export interface AliasTypeEntity {
10
10
  getName(): Name;
11
11
  getContainingPackage(): PackageEntity;
12
12
  /**
13
- * При повторных вызовах метод должен возвращать один и тот же экземпляр класса AliasedType.
13
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса AliasedType.
14
14
  */
15
15
  getAliasedType(): AliasedType;
16
16
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -12,8 +12,11 @@ export interface DereferenceOperatorEntity {
12
12
  getContainer(): TypeMemberEntityContainer;
13
13
  isStatic(): boolean;
14
14
  isHidden(): EntityHidingLevel | undefined;
15
+ isRedefinable(): boolean;
16
+ isRedefined(): boolean;
15
17
  isAbstract(): boolean;
16
18
  getTags(): readonly Tag[];
19
+ getOverriddenMember(): types.DereferenceOperator | undefined;
17
20
  }
18
21
  export type DereferenceOperatorEntityDefinition = {
19
22
  kind: DefinitionKind.Source;
@@ -27,6 +30,7 @@ export declare class TypeDereferenceOperatorDeclarationEntity implements Derefer
27
30
  private readonly _getterDeclaration;
28
31
  private readonly _setterDeclaration;
29
32
  private readonly _getterOrSetterDeclaration;
33
+ private readonly _overriddenMember;
30
34
  constructor(analyzer: Analyzer, getterDeclaration: TypeDereferencedVariableGetterDeclaration | undefined, setterDeclaration: TypeDereferencedVariableSetterDeclaration | undefined);
31
35
  getType(): types.Type;
32
36
  getGetter(): GetterEntity | undefined;
@@ -35,6 +39,9 @@ export declare class TypeDereferenceOperatorDeclarationEntity implements Derefer
35
39
  getContainer(): TypeMemberEntityContainer;
36
40
  isStatic(): boolean;
37
41
  isHidden(): EntityHidingLevel | undefined;
42
+ isRedefinable(): boolean;
43
+ isRedefined(): boolean;
38
44
  isAbstract(): boolean;
39
45
  getTags(): readonly Tag[];
46
+ getOverriddenMember(): types.DereferenceOperator | undefined;
40
47
  }
@@ -13,8 +13,11 @@ export interface IndexerEntity {
13
13
  getContainer(): TypeMemberEntityContainer;
14
14
  isStatic(): boolean;
15
15
  isHidden(): EntityHidingLevel | undefined;
16
+ isRedefinable(): boolean;
17
+ isRedefined(): boolean;
16
18
  isAbstract(): boolean;
17
19
  getTags(): readonly Tag[];
20
+ getOverriddenMember(): types.Indexer | undefined;
18
21
  }
19
22
  export type IndexerEntityDefinition = {
20
23
  kind: DefinitionKind.Source;
@@ -34,6 +37,7 @@ export declare class TypeIndexerDeclarationEntity implements SourceIndexerEntity
34
37
  private readonly _setterDeclaration;
35
38
  private readonly _getterOrSetterDeclaration;
36
39
  private readonly _parameters;
40
+ private readonly _overriddenMember;
37
41
  private get parameters();
38
42
  constructor(analyzer: Analyzer, getterDeclaration: TypeIndexedGetterDeclaration | undefined, setterDeclaration: TypeIndexedSetterDeclaration | undefined);
39
43
  getParameter(node: ParameterDeclaration): ParameterVariableEntity;
@@ -45,7 +49,10 @@ export declare class TypeIndexerDeclarationEntity implements SourceIndexerEntity
45
49
  getContainer(): TypeMemberEntityContainer;
46
50
  isStatic(): boolean;
47
51
  isHidden(): EntityHidingLevel | undefined;
52
+ isRedefinable(): boolean;
53
+ isRedefined(): boolean;
48
54
  isAbstract(): boolean;
49
55
  getTags(): readonly Tag[];
56
+ getOverriddenMember(): types.Indexer | undefined;
50
57
  private createParameters;
51
58
  }
@@ -6,7 +6,7 @@ import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
8
  import type { PackageEntity } from './index.js';
9
- import { DefinitionKind, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
9
+ import { BaseObjectType, DefinitionKind, EntityHidingLevel, EntityKind, ParameterVariableEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
10
10
  export type MethodTypeEntity = PackageMethodTypeEntity | AnonymousMethodTypeEntity;
11
11
  export interface PackageMethodTypeEntity extends IMethodTypeEntity {
12
12
  readonly subkind: 'package';
@@ -30,6 +30,10 @@ interface IMethodTypeEntity {
30
30
  isHidden(): EntityHidingLevel | undefined;
31
31
  getTags(): readonly Tag[];
32
32
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
33
+ /**
34
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса BaseObjectType.
35
+ */
36
+ getBaseObjectType(): BaseObjectType;
33
37
  }
34
38
  export type MethodTypeEntityDefinition = {
35
39
  kind: DefinitionKind.Source;
@@ -47,6 +51,7 @@ export declare class PackageMethodTypeDeclarationEntity implements PackageMethod
47
51
  private readonly _typeParameters;
48
52
  private readonly _valueParameters;
49
53
  private readonly _members;
54
+ private readonly _baseObjectType;
50
55
  constructor(_analyzer: Analyzer, _node: PackageMethodTypeDeclaration);
51
56
  getNaming(): EntityNaming;
52
57
  getName(): Name;
@@ -61,6 +66,7 @@ export declare class PackageMethodTypeDeclarationEntity implements PackageMethod
61
66
  isHidden(): EntityHidingLevel | undefined;
62
67
  getTags(): readonly Tag[];
63
68
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
69
+ getBaseObjectType(): BaseObjectType;
64
70
  }
65
71
  export declare class AnonymousMethodTypeDeclarationEntity implements AnonymousMethodTypeEntity {
66
72
  private readonly _analyzer;
@@ -69,6 +75,7 @@ export declare class AnonymousMethodTypeDeclarationEntity implements AnonymousMe
69
75
  readonly subkind = "anonymous";
70
76
  private readonly _valueParameters;
71
77
  private readonly _members;
78
+ private readonly _baseObjectType;
72
79
  constructor(_analyzer: Analyzer, _node: AnonymousMethodTypeDeclaration);
73
80
  getNaming(): EntityNaming;
74
81
  getTypeParameters(): readonly TypeParameterEntity[];
@@ -82,6 +89,7 @@ export declare class AnonymousMethodTypeDeclarationEntity implements AnonymousMe
82
89
  getTags(): readonly Tag[];
83
90
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
84
91
  getContainingPackage(): PackageEntity;
92
+ getBaseObjectType(): BaseObjectType;
85
93
  }
86
94
  export declare class UnfinishedIntrinsicAnonymousMethodTypeEntity {
87
95
  private readonly _unfinishedValue;
@@ -23,16 +23,18 @@ interface IStructuredTypeEntity {
23
23
  getTypeParameters(): readonly TypeParameterEntity[];
24
24
  getMembers(): OriginalTypeEntityMembers;
25
25
  getDefinition(): StructuredTypeEntityDefinition;
26
+ isBasic(): boolean;
27
+ isAbstract(): boolean;
26
28
  isAspect(): boolean;
27
29
  isRefObject(): boolean;
28
30
  isPlainObject(): boolean;
29
31
  getArity(): number;
30
32
  /**
31
- * При повторных вызовах метод должен возвращать один и тот же экземпляр класса BaseObjectType.
33
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса BaseObjectType.
32
34
  */
33
35
  getBaseObjectType(): BaseObjectType;
34
36
  /**
35
- * При повторных вызовах метод должен возвращать один и тот же экземпляр класса BaseAspectTypes.
37
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса BaseAspectTypes.
36
38
  */
37
39
  getBaseAspectTypes(): BaseAspectTypes;
38
40
  isHidden(): EntityHidingLevel | undefined;
@@ -125,6 +127,8 @@ export declare class PackageStructuredTypeDeclarationEntity implements PackageSt
125
127
  getTypeParameters(): readonly TypeParameterEntity[];
126
128
  getMembers(): OriginalTypeEntityMembers;
127
129
  getDefinition(): StructuredTypeEntityDefinition;
130
+ isBasic(): boolean;
131
+ isAbstract(): boolean;
128
132
  isAspect(): boolean;
129
133
  isRefObject(): boolean;
130
134
  isPlainObject(): boolean;
@@ -150,6 +154,8 @@ export declare class SourcePackageStructuredTypeDeclarationData {
150
154
  getTypeParameters(): readonly TypeParameterEntity[];
151
155
  getMembers(): OriginalTypeEntityMembers;
152
156
  getDefinition(): StructuredTypeEntityDefinition;
157
+ isBasic(): boolean;
158
+ isAbstract(): boolean;
153
159
  isAspect(): boolean;
154
160
  isRefObject(): boolean;
155
161
  isPlainObject(): boolean;
@@ -173,6 +179,8 @@ export declare class AnonymousStructuredTypeDeclarationEntity implements Anonymo
173
179
  getTypeParameters(): readonly TypeParameterEntity[];
174
180
  getMembers(): OriginalTypeEntityMembers;
175
181
  getDefinition(): StructuredTypeEntityDefinition;
182
+ isBasic(): boolean;
183
+ isAbstract(): boolean;
176
184
  isAspect(): boolean;
177
185
  isRefObject(): boolean;
178
186
  isPlainObject(): boolean;
@@ -187,7 +195,7 @@ export declare class AnonymousStructuredTypeDeclarationEntity implements Anonymo
187
195
  export declare class UnfinishedIntrinsicPackageStructuredTypeEntity {
188
196
  private readonly _unfinishedValue;
189
197
  get unfinishedValue(): PackageStructuredTypeEntity;
190
- constructor(analyzer: Analyzer, name: Name, containingPackage: PackageEntity, typeParameters: readonly TypeParameterEntity[], isAspect: boolean, isRefObject: boolean, baseObjectType: types.StructuredType | undefined, baseAspectTypes: readonly types.StructuredType[], isHidden: EntityHidingLevel | undefined, substitutionApplicationMode: SubstitutionApplicationMode);
198
+ constructor(analyzer: Analyzer, name: Name, containingPackage: PackageEntity, typeParameters: readonly TypeParameterEntity[], isBasic: boolean, isAbstract: boolean, isAspect: boolean, isRefObject: boolean, baseObjectType: types.StructuredType | undefined, baseAspectTypes: readonly types.StructuredType[], isHidden: EntityHidingLevel | undefined, substitutionApplicationMode: SubstitutionApplicationMode);
191
199
  finish(ownNamedMembers: readonly NamedTypeMemberEntity[], ownOperators: readonly OperatorEntity[], ownConstructors: readonly ConstructorEntity[], ownDestructors: readonly DestructorEntity[], ownIndexers: readonly IndexerEntity[], ownDereferenceOperators: readonly DereferenceOperatorEntity[]): PackageStructuredTypeEntity;
192
200
  }
193
201
  export declare class UnfinishedIntrinsicAnonymousStructuredTypeEntity {
@@ -7,7 +7,7 @@ export interface TypeParameterEntity {
7
7
  readonly kind: EntityKind.TypeParameter;
8
8
  getName(): Name;
9
9
  /**
10
- * При повторных вызовах метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
10
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
11
11
  */
12
12
  getConstraint(): TypeParameterConstraint;
13
13
  getDefaultType(): types.Type | undefined;
@@ -6,7 +6,7 @@ import * as types from '../types/index.js';
6
6
  import { EntityNaming } from './EntityNaming.js';
7
7
  import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
8
  import { OriginalVariants } from './Variants.js';
9
- import { DefinitionKind, EntityHidingLevel, EntityKind, PackageEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
9
+ import { BaseObjectType, DefinitionKind, EntityHidingLevel, EntityKind, PackageEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
10
10
  export type VariantTypeEntity = PackageVariantTypeEntity | AnonymousVariantTypeEntity;
11
11
  export interface PackageVariantTypeEntity extends IVariantTypeEntity {
12
12
  readonly subkind: 'package';
@@ -29,6 +29,10 @@ interface IVariantTypeEntity {
29
29
  isHidden(): EntityHidingLevel | undefined;
30
30
  getTags(): readonly Tag[];
31
31
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
32
+ /**
33
+ * При каждом вызове метод должен возвращать один и тот же экземпляр класса BaseObjectType.
34
+ */
35
+ getBaseObjectType(): BaseObjectType;
32
36
  }
33
37
  export type VariantTypeEntityDefinition = {
34
38
  kind: DefinitionKind.Source;
@@ -45,6 +49,7 @@ export declare class PackageVariantTypeDeclarationEntity implements PackageVaria
45
49
  private readonly _variants;
46
50
  private readonly _members;
47
51
  private readonly _underlyingType;
52
+ private readonly _baseObjectType;
48
53
  constructor(_analyzer: Analyzer, _node: PackageVariantTypeDeclaration);
49
54
  getNaming(): EntityNaming;
50
55
  getName(): Name;
@@ -58,6 +63,7 @@ export declare class PackageVariantTypeDeclarationEntity implements PackageVaria
58
63
  isHidden(): EntityHidingLevel | undefined;
59
64
  getTags(): readonly Tag[];
60
65
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
66
+ getBaseObjectType(): BaseObjectType;
61
67
  }
62
68
  export declare class AnonymousVariantTypeDeclarationEntity implements AnonymousVariantTypeEntity {
63
69
  private readonly _analyzer;
@@ -67,6 +73,7 @@ export declare class AnonymousVariantTypeDeclarationEntity implements AnonymousV
67
73
  private readonly _variants;
68
74
  private readonly _underlyingType;
69
75
  private readonly _members;
76
+ private readonly _baseObjectType;
70
77
  constructor(_analyzer: Analyzer, _node: AnonymousVariantTypeDeclaration);
71
78
  getVariants(): OriginalVariants;
72
79
  getMembers(): OriginalTypeEntityMembers;
@@ -79,5 +86,6 @@ export declare class AnonymousVariantTypeDeclarationEntity implements AnonymousV
79
86
  getTags(): readonly Tag[];
80
87
  getSubstitutionApplicationMode(): SubstitutionApplicationMode;
81
88
  getContainingPackage(): PackageEntity;
89
+ getBaseObjectType(): BaseObjectType;
82
90
  }
83
91
  export {};
@@ -1,10 +1,5 @@
1
1
  import { TokenKind } from './TokenKind.js';
2
- export declare const enum Notation {
3
- Artel = 0,
4
- Nzon = 1
5
- }
6
2
  export interface ScannerOptions {
7
- notation?: Notation;
8
3
  startPosition?: number;
9
4
  length?: number;
10
5
  skipWhitespace?: boolean;
@@ -19,7 +14,6 @@ export declare class Token {
19
14
  export declare class Scanner {
20
15
  readonly text: string;
21
16
  private token;
22
- private notation;
23
17
  private skipWhitespace;
24
18
  private endPosition;
25
19
  private currentPosition;
@@ -1,3 +1,3 @@
1
1
  export declare function withoutQuotes(text: string): string;
2
- export declare function withoutTextTemplateQuotes(text: string): string;
2
+ export declare function withoutTemplateQuotes(text: string): string;
3
3
  export declare function unescapeText(text: string, normalizeCRLF?: boolean): string;