@artel/artc 0.6.25282 → 0.6.25283

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 (99) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +4 -8
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +1091 -973
  5. package/build/{chunk-VVFLEWSA.js → chunk-2Q4QKW7T.js} +6998 -6268
  6. package/build/{chunk-3DN3M64Y.js → chunk-7RAZAZE6.js} +2 -2
  7. package/build/{chunk-DURHSZYF.js → chunk-MJ2ZVHII.js} +1 -1
  8. package/build/types/analysis/Analyzer.d.ts +41 -74
  9. package/build/types/analysis/ResolvedImplementationPackage.d.ts +48 -0
  10. package/build/types/analysis/semantic-context/FieldWithInitializerSemanticContext.d.ts +4 -5
  11. package/build/types/analysis/semantic-context/SemanticContextBase.d.ts +4 -4
  12. package/build/types/analysis/semantic-context/SemanticContextValidatingNameConflicts.d.ts +4 -5
  13. package/build/types/analysis/semantic-context/SourceFileSemanticContext.d.ts +4 -4
  14. package/build/types/analysis/semantic-context/SubprogramSemanticContext.d.ts +4 -5
  15. package/build/types/analysis/semantic-context/TypeSemanticContext.d.ts +8 -8
  16. package/build/types/common/HelperPhrases.d.ts +2 -1
  17. package/build/types/common/LocalizationHelper.d.ts +6 -4
  18. package/build/types/diagnostic/DiagnosticCode.d.ts +10 -0
  19. package/build/types/emitter/EntityMap.d.ts +1 -1
  20. package/build/types/emitter/ir/Nodes.d.ts +11 -2
  21. package/build/types/entities/Entity.d.ts +0 -12
  22. package/build/types/entities/EntityLocalizationContext.d.ts +1 -2
  23. package/build/types/entities/IEntity.d.ts +2 -1
  24. package/build/types/entities/OperatorKind.d.ts +6 -3
  25. package/build/types/entities/TypeEntity.d.ts +4 -4
  26. package/build/types/entities/interfaces/AliasTypeEntity.d.ts +3 -8
  27. package/build/types/entities/interfaces/ConstructorEntity.d.ts +0 -4
  28. package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +0 -4
  29. package/build/types/entities/interfaces/DestructorEntity.d.ts +0 -4
  30. package/build/types/entities/interfaces/FunctionEntity.d.ts +1 -8
  31. package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +0 -8
  32. package/build/types/entities/interfaces/GetterEntity.d.ts +0 -4
  33. package/build/types/entities/interfaces/IndexerEntity.d.ts +0 -4
  34. package/build/types/entities/interfaces/OperatorEntity.d.ts +0 -4
  35. package/build/types/entities/interfaces/PackageAliasEntity.d.ts +0 -5
  36. package/build/types/entities/interfaces/PackageEntity.d.ts +1 -9
  37. package/build/types/entities/interfaces/SetterEntity.d.ts +0 -4
  38. package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +0 -8
  39. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +1 -0
  40. package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +1 -7
  41. package/build/types/entities/interfaces/TypeParameterEntity.d.ts +0 -2
  42. package/build/types/entities/interfaces/VariableEntity.d.ts +1 -11
  43. package/build/types/entities/interfaces/VariantTypeEntity.d.ts +1 -8
  44. package/build/types/entities/intrinsic/IntrinsicFunctionTypeEntity.d.ts +3 -3
  45. package/build/types/entities/intrinsic/IntrinsicStructuredTypeEntity.d.ts +3 -3
  46. package/build/types/entities/intrinsic/IntrinsicTypeParameterEntity.d.ts +2 -4
  47. package/build/types/entities/source/SourceAliasTypeEntity.d.ts +1 -2
  48. package/build/types/entities/source/SourceFunctionTypeEntity.d.ts +1 -3
  49. package/build/types/entities/source/SourceStructuredTypeEntity.d.ts +1 -3
  50. package/build/types/entities/source/SourceTextTranslationEntity.d.ts +1 -0
  51. package/build/types/entities/source/SourceTypeExtensionEntity.d.ts +1 -2
  52. package/build/types/entities/source/SourceTypeParameterEntity.d.ts +1 -2
  53. package/build/types/entities/source/SourceVariantTypeEntity.d.ts +1 -3
  54. package/build/types/entities/translated/TranslatedAliasTypeEntity.d.ts +1 -3
  55. package/build/types/entities/translated/TranslatedFunctionTypeEntity.d.ts +1 -5
  56. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +1 -5
  57. package/build/types/entities/translated/TranslatedTypeExtensionEntity.d.ts +1 -3
  58. package/build/types/entities/translated/TranslatedTypeParameterEntity.d.ts +1 -3
  59. package/build/types/entities/translated/TranslatedVariantTypeEntity.d.ts +1 -5
  60. package/build/types/parser/KeywordDictionary.d.ts +10 -2
  61. package/build/types/parser/TokenKind.d.ts +46 -44
  62. package/build/types/services/CustomRequests.d.ts +17 -6
  63. package/build/types/services/DisplayService.d.ts +9 -1
  64. package/build/types/services/LanguageServer.d.ts +3 -4
  65. package/build/types/services/ScriptEditingService.d.ts +25 -0
  66. package/build/types/services/Types.d.ts +6 -0
  67. package/build/types/services/source-generation/EntityToSyntax.d.ts +12 -0
  68. package/build/types/tree/BaseNode.d.ts +56 -2
  69. package/build/types/tree/KeywordFlags.d.ts +28 -0
  70. package/build/types/tree/KeywordKind.d.ts +3 -1
  71. package/build/types/tree/Nodes.d.ts +4 -18
  72. package/build/types/tree/NodesDebug.d.ts +9 -0
  73. package/build/types/tree/OperatorKind.d.ts +6 -3
  74. package/build/types/tree/SyntaxFactory.d.ts +31 -29
  75. package/build/types/tree/SyntaxToCode.d.ts +3 -0
  76. package/build/types/tree/TokenFlags.d.ts +15 -0
  77. package/build/types/tree/TokenKind.d.ts +58 -44
  78. package/build/types/tree/Utils.d.ts +2 -2
  79. package/build/types/tree/index.d.ts +2 -1
  80. package/build/types/ts-interop/Entities.d.ts +1 -11
  81. package/build/types/ts-interop/TsInteropContext.d.ts +1 -2
  82. package/build/types/types/AliasType.d.ts +0 -1
  83. package/build/types/types/FunctionType.d.ts +0 -1
  84. package/build/types/types/IntersectionType.d.ts +0 -1
  85. package/build/types/types/ParameterType.d.ts +0 -1
  86. package/build/types/types/StructuredType.d.ts +1 -2
  87. package/build/types/types/SubstitutionStubType.d.ts +21 -0
  88. package/build/types/types/Type.d.ts +4 -3
  89. package/build/types/types/TypeFactory.d.ts +2 -1
  90. package/build/types/types/UnionType.d.ts +0 -1
  91. package/build/types/types/UnresolvedType.d.ts +0 -1
  92. package/build/types/types/VariantType.d.ts +0 -1
  93. package/build/types/types/index.d.ts +2 -1
  94. package/package.json +1 -1
  95. package/build/types/services/AddBlockToScriptService.d.ts +0 -17
  96. package/build/types/services/AssignFieldService.d.ts +0 -10
  97. package/build/types/services/DeleteBlockFromScriptService.d.ts +0 -6
  98. package/build/types/tree/Token.d.ts +0 -58
  99. /package/build/types/services/{ProjectItemsService.d.ts → WorkspaceItemsService.d.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  Compiler
3
- } from "./chunk-DURHSZYF.js";
3
+ } from "./chunk-MJ2ZVHII.js";
4
4
  import {
5
5
  ArtelVersion,
6
6
  Cached,
@@ -15,7 +15,7 @@ import {
15
15
  __async,
16
16
  performanceMeasurementStageNames,
17
17
  performanceMeasurementStages
18
- } from "./chunk-VVFLEWSA.js";
18
+ } from "./chunk-2Q4QKW7T.js";
19
19
 
20
20
  // source/executor/FileSystemUri.ts
21
21
  import { platform } from "os";
@@ -10,7 +10,7 @@ import {
10
10
  WellKnownDeclarationsLoadError,
11
11
  __async,
12
12
  createTsInteropInputsForCompilation
13
- } from "./chunk-VVFLEWSA.js";
13
+ } from "./chunk-2Q4QKW7T.js";
14
14
 
15
15
  // source/executor/Compiler.ts
16
16
  var Compiler = class {
@@ -28,9 +28,10 @@ import * as indexedAccessExpressionMeaning from './IndexedAccessExpressionMeanin
28
28
  import * as memberAccessExpressionResolution from './MemberAccessExpressionMeaning.js';
29
29
  import { ModifierFlags } from './ModifierFlags.js';
30
30
  import { NamedTypeSpecifierResolutionResult } from './NamedTypeSpecifierResolver.js';
31
- import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, FunctionTypeDeclaration, GetterDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, StructuredTypeDeclaration, TypeDeclaration, TypeWithMembersDeclaration, VariantTypeDeclaration } from './NodeTypeUtils.js';
31
+ import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, FunctionTypeDeclaration, GetterDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral, SetterDeclaration, StructuredTypeDeclaration, TypeWithMembersDeclaration, VariantTypeDeclaration } from './NodeTypeUtils.js';
32
32
  import * as objectExpressionMeaning from './ObjectExpressionMeaning.js';
33
33
  import { OwnAndBaseConstructorCallsCheckResult } from './OwnAndBaseConstructorCallsChecker.js';
34
+ import { ResolvedImplementationPackage } from './ResolvedImplementationPackage.js';
34
35
  import { ResolvedTextTranslationPackage } from './ResolvedTextTranslationPackage.js';
35
36
  import * as tags from './Tag.js';
36
37
  import * as tagMeaning from './TagMeaning.js';
@@ -65,7 +66,7 @@ export declare class Analyzer {
65
66
  readonly argumentToParameterMatchResult: ArgumentToParameterMatchResult;
66
67
  readonly overriddenMember: OverriddenMember;
67
68
  readonly tags: Tags;
68
- readonly linkedEntity: LinkedEntity;
69
+ readonly implementation: ImplementationEntity;
69
70
  readonly owningPlainObjectModificationCheck: OwningPlainObjectModificationCheck;
70
71
  readonly packageImports: PackageImports;
71
72
  readonly typeUtils: TypeUtils;
@@ -96,7 +97,7 @@ export declare class Analyzer {
96
97
  private textTranslationPackagesByTargetPackage;
97
98
  private primaryTextTranslationPackageByTargetPackage;
98
99
  private resolvedLocalizableTexts;
99
- private readonly linkedMultiPlatformPackagesByPlatform;
100
+ private readonly resolvedImplementationPackagesByPlatform;
100
101
  private readonly isFunctionGeneratorCheckResults;
101
102
  private readonly namedDeclarationsUsageCountResults;
102
103
  private readonly packageAndStaticVariablesInitializationDiagnostics;
@@ -262,8 +263,9 @@ export declare class Analyzer {
262
263
  getLocalizedPackageWithLocale(originalPackageEntity: e.PackageEntity, locale: PackageLocale): e.PackageEntity | undefined;
263
264
  enumerateAnalyzedTranslationPackages(): Query<AnalyzedTranslationPackage>;
264
265
  enumerateResolvedTextTranslationPackages(): Query<ResolvedTextTranslationPackage>;
265
- getLinkedMultiPlatformPackagesByPlatform(entity: e.PackageEntity): ReadonlyMap<PlatformKind, LinkedMultiPlatformPackage> | undefined;
266
- getLinkedMultiPlatformPackage(entity: e.PackageEntity, platform: PlatformKind): LinkedMultiPlatformPackage | undefined;
266
+ getResolvedImplementationPackagesByPlatform(interfacePackage: e.PackageEntity): ReadonlyMap<PlatformKind, ResolvedImplementationPackage> | undefined;
267
+ getResolvedImplementationPackageForInterfacePackage(interfacePackage: e.PackageEntity, platform: PlatformKind): ResolvedImplementationPackage | undefined;
268
+ getResolvedImplementationPackage(implementationPackage: e.PackageEntity): ResolvedImplementationPackage | undefined;
267
269
  getTextTranslationPackagesMap(): ReadonlyMap<e.PackageEntity, ResolvedTextTranslationPackage[]>;
268
270
  getTextTranslationPackagesOfTargetPackage(targetPackage: e.PackageEntity): ResolvedTextTranslationPackage[] | undefined;
269
271
  getPrimaryTextTranslationPackageOfTargetPackage(targetPackage: e.PackageEntity): ResolvedTextTranslationPackage | undefined;
@@ -305,7 +307,6 @@ export declare class Analyzer {
305
307
  validateSourcePackageMemberConflicts(pkg: project.ProgramOrTextTranslationPackage): readonly Diagnostic[];
306
308
  getNotExplicitlyImplementedAbstractMembers(typeEntity: e.TypeEntityWithMembers): readonly types.TypeMember[];
307
309
  getTypeMemberImplementationCheckResult(typeEntity: e.TypeEntityWithMembers): TypeMemberImplementationCheckResult;
308
- createEntityContextForTypeDeclaration(node: TypeDeclaration): e.EntityContext;
309
310
  isFunctionBlockWithImplicitlyReturnedExpression(node: tree.FunctionBlock): boolean;
310
311
  getLocalizedWellKnownDeclarations(locale: PackageLocale): WellKnownDeclarations;
311
312
  getLocalizedStandardTypes(locale: PackageLocale): types.StandardTypes;
@@ -319,6 +320,10 @@ export declare class Analyzer {
319
320
  checkTypeArgumentCount(typeArgumentCount: number, typeParameters: readonly e.TypeParameterEntity[], diagnostics?: DiagnosticAcceptor, nodeForDiagnostic?: tree.Node): boolean;
320
321
  checkTypeCanBeUsedAsValue(typeAccess: tree.Expression): boolean;
321
322
  getEntityDiagnosticLocation(entity: e.Entity, chooseSetter?: boolean): DiagnosticLocation | undefined;
323
+ createTypeMemberLookupContextWithinType(type: e.TypeEntity): {
324
+ hidingMatcher: e.IEntityHidingMatcher;
325
+ typeExtensionLookup: semanticContext.SemanticContext | undefined;
326
+ };
322
327
  private createTsInterop;
323
328
  }
324
329
  export declare class TsInteropInputs {
@@ -352,6 +357,9 @@ export declare namespace BinaryExpressionOperatorClassificationResult {
352
357
  const bitwiseAnd: BinaryExpressionOperatorClassificationResult;
353
358
  const bitwiseOr: BinaryExpressionOperatorClassificationResult;
354
359
  const bitwiseXor: BinaryExpressionOperatorClassificationResult;
360
+ const leftShift: BinaryExpressionOperatorClassificationResult;
361
+ const signedRightShift: BinaryExpressionOperatorClassificationResult;
362
+ const unsignedRightShift: BinaryExpressionOperatorClassificationResult;
355
363
  const and: BinaryExpressionOperatorClassificationResult;
356
364
  const or: BinaryExpressionOperatorClassificationResult;
357
365
  const xor: BinaryExpressionOperatorClassificationResult;
@@ -376,10 +384,12 @@ declare class Type {
376
384
  private readonly intersectionTypeSpecifierTypes;
377
385
  private readonly functionLiteralTypes;
378
386
  private readonly nodesForWhichReturnTypeInferenceDiagnosticHasBeenReported;
387
+ private recursionDepth;
379
388
  constructor(analyzer: Analyzer);
380
389
  ofExpression(node: tree.Expression, analysisOptions?: ExpressionAnalysisOptions): types.Type;
381
390
  ofTypeSpecifier(node: tree.TypeSpecifier): types.Type;
382
391
  ofAccessedOperator(operator: types.Operator): types.Type;
392
+ private ofExpressionWithoutGuard;
383
393
  private ofFunctionBlockLiteral;
384
394
  private ofFunctionLiteral;
385
395
  private ofRegularOrBlockFunctionLiteral;
@@ -562,8 +572,30 @@ declare class ValueLocalVariableEntity {
562
572
  ofDereferencedVariableSetterDeclaration(node: tree.DereferencedVariableSetterDeclaration): e.LocalVariableEntity;
563
573
  private createValueLocalVariableEntity;
564
574
  }
575
+ export declare enum SignatureComparisonOptions {
576
+ None = 0,
577
+ CompareNames = 1,
578
+ CompareReturnTypes = 2,
579
+ CheckTypeParameterCountIntersection = 4
580
+ }
581
+ type TypeComparer = (t1: types.Type, t2: types.Type) => boolean;
582
+ declare class SignatureComparer {
583
+ private readonly analyzer;
584
+ private readonly substitutionStubTypes;
585
+ constructor(analyzer: Analyzer);
586
+ areEqualFunctionEntities(function1: e.FunctionEntity, function2: e.FunctionEntity, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
587
+ areEqualMethods(method1: types.Method, method2: types.Method, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
588
+ areEqualSignaturesWithoutTypeParameters(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
589
+ areEqualTypeMemberSignaturesWithoutTypeParameters(member1: TypeMemberWithoutTypeParametersInSignature, member2: TypeMemberWithoutTypeParametersInSignature, options: SignatureComparisonOptions, typeComparer?: TypeComparer): boolean;
590
+ doTypeParameterCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
591
+ private areEqualParameters;
592
+ private areEqualTypeMemberParameters;
593
+ private areEqualTypes;
594
+ private createSubstitutionsWithStubTypes;
595
+ }
565
596
  declare class OverriddenMember {
566
597
  private readonly analyzer;
598
+ static readonly signatureComparisonOptions = SignatureComparisonOptions.None;
567
599
  private readonly namedMemberFinder;
568
600
  private readonly operatorFinder;
569
601
  private readonly indexerFinder;
@@ -586,7 +618,6 @@ declare class OverriddenMember {
586
618
  getOverriddenAndShadowedDereferenceOperators(node: DereferencedVariableAccessorDeclaration): OverriddenAndShadowedMembers<types.DereferenceOperator>;
587
619
  entityCanBeOverridden(entity: OverridableTypeMemberEntity): boolean;
588
620
  getMemberTypeOrReturnType(member: types.TypeMember): types.Type;
589
- findMatchingMembersInType(member: types.TypeMember, type: types.Type): readonly types.TypeMember[];
590
621
  private findOverriddenMembers;
591
622
  private findOverriddenOrShadowedNamedMembersInType;
592
623
  private findOverriddenOrShadowedOperatorsInType;
@@ -630,10 +661,10 @@ declare class Tags {
630
661
  private createTagFromNode;
631
662
  private argumentToTagArgument;
632
663
  }
633
- declare class LinkedEntity {
664
+ declare class ImplementationEntity {
634
665
  private readonly analyzer;
635
666
  constructor(analyzer: Analyzer);
636
- entityCanBeLinked(entity: e.Entity): boolean;
667
+ entityCanHaveImplementation(entity: e.Entity): boolean;
637
668
  ofType(entity: e.TypeEntity, platform: PlatformKind): e.TypeEntity | undefined;
638
669
  ofTypeWithMembers(entity: e.TypeEntityWithMembers, platform: PlatformKind): e.TypeEntityWithMembers | undefined;
639
670
  ofParameterType(entity: e.TypeParameterEntity, platform: PlatformKind): e.TypeParameterEntity | undefined;
@@ -643,49 +674,12 @@ declare class LinkedEntity {
643
674
  ofMethod(entity: e.MethodEntity, platform: PlatformKind): e.MethodEntity | undefined;
644
675
  ofOperator(entity: e.OperatorEntity, platform: PlatformKind): e.OperatorEntity | undefined;
645
676
  ofConstructor(entity: e.ConstructorEntity, platform: PlatformKind): e.ConstructorEntity | undefined;
677
+ ofDestructor(entity: e.DestructorEntity, platform: PlatformKind): e.DestructorEntity | undefined;
646
678
  ofIndexer(entity: e.IndexerEntity, platform: PlatformKind): e.IndexerEntity | undefined;
647
679
  ofDereferenceOperator(entity: e.DereferenceOperatorEntity, platform: PlatformKind): e.DereferenceOperatorEntity | undefined;
648
680
  ofGetter(entity: e.GetterEntity, platform: PlatformKind): e.GetterEntity | undefined;
649
681
  ofSetter(entity: e.SetterEntity, platform: PlatformKind): e.SetterEntity | undefined;
650
682
  }
651
- export declare class LinkedMultiPlatformPackage {
652
- readonly analyzer: Analyzer;
653
- readonly pkg: e.PackageEntity;
654
- readonly implementationPackage: e.PackageEntity;
655
- readonly targetPlatform: PlatformKind;
656
- private readonly memberLookup_;
657
- private readonly linkedTypesWithMembers;
658
- private readonly linkedParameterTypes;
659
- private get memberLookup();
660
- constructor(analyzer: Analyzer, pkg: e.PackageEntity, implementationPackage: e.PackageEntity, targetPlatform: PlatformKind);
661
- getLinkedVariable(entity: e.PackageVariableEntity): e.PackageVariableEntity | undefined;
662
- getLinkedMethod(entity: e.PackageFunctionEntity): e.PackageFunctionEntity | undefined;
663
- getLinkedTypeWithMembers(entity: e.TypeEntityWithMembers): LinkedTypeWithMembers | undefined;
664
- getLinkedParameterType(entity: e.TypeParameterEntity): e.TypeParameterEntity | undefined;
665
- /**
666
- * Используется для сравнения типов при связывании объявления из многоплатформенного пакета с объявлением из
667
- * реализационного пакета. В частности, при сравнении типов параметров для выбора правильной перегрузки
668
- * метода (конструктора, индексатора).
669
- */
670
- compareTypesDuringLinking(type1: types.Type, type2: types.Type): boolean;
671
- private findPackageType;
672
- private compareSubstitutionsDuringLinking;
673
- }
674
- export declare class LinkedTypeWithMembers {
675
- readonly analyzer: Analyzer;
676
- readonly externalType: e.TypeEntityWithMembers;
677
- readonly targetType: e.TypeEntityWithMembers;
678
- readonly linkedPackage: LinkedMultiPlatformPackage;
679
- private readonly memberLookup_;
680
- private get memberLookup();
681
- constructor(analyzer: Analyzer, externalType: e.TypeEntityWithMembers, targetType: e.TypeEntityWithMembers, linkedPackage: LinkedMultiPlatformPackage);
682
- getLinkedField(entity: e.FieldEntity): e.FieldEntity | undefined;
683
- getLinkedMethod(entity: e.MethodEntity): e.MethodEntity | undefined;
684
- getLinkedOperator(entity: e.OperatorEntity): e.OperatorEntity | undefined;
685
- getLinkedConstructor(entity: e.ConstructorEntity): e.ConstructorEntity | undefined;
686
- getLinkedIndexer(entity: e.IndexerEntity): e.IndexerEntity | undefined;
687
- getLinkedDereferenceOperator(entity: e.DereferenceOperatorEntity): e.DereferenceOperatorEntity | undefined;
688
- }
689
683
  declare class OwningPlainObjectModificationCheck {
690
684
  private analyzer;
691
685
  private readonly owningPlainObjectModificationCheckResult;
@@ -777,33 +771,6 @@ declare class TypeUtils {
777
771
  private getFlattenedConstituentTypesForCommonTypesSearch;
778
772
  private flattenTypeParameterConstraint;
779
773
  }
780
- declare class SignatureComparer {
781
- private readonly analyzer;
782
- private readonly stubParameterTypes;
783
- constructor(analyzer: Analyzer);
784
- areEqualFunctionEntities(function1: e.FunctionEntity, function2: e.FunctionEntity, options: SignatureComparisonOptions): boolean;
785
- /**
786
- * Метод аналогичен методу {@link areEqualFunctionEntities}.
787
- */
788
- areEqualMethods(method1: types.Method, method2: types.Method, options: SignatureComparisonOptions): boolean;
789
- /**
790
- * Проверяет, конфликтуют две сущности, имеющие параметры, но не имеющие параметры типа.
791
- *
792
- * Отношение "сущности, имеющие только параметры, конфликтуют" является транзитивным.
793
- */
794
- areEqualSignaturesWithoutTypeParameters(entity1: EntityWithoutTypeParametersInSignature, entity2: EntityWithoutTypeParametersInSignature): boolean;
795
- areEqualTypeMemberSignaturesWithoutTypeParameters(member1: TypeMemberWithoutTypeParametersInSignature, member2: TypeMemberWithoutTypeParametersInSignature): boolean;
796
- doTypeParameterCountsIntersect(typeParameters1: readonly e.TypeParameterEntity[], typeParameters2: readonly e.TypeParameterEntity[]): boolean;
797
- private areEqualParameters;
798
- private areEqualTypeMemberParameters;
799
- private createSubstitutionsWithStubTypes;
800
- }
801
- export declare enum SignatureComparisonOptions {
802
- None = 0,
803
- CompareNames = 1,
804
- CompareReturnTypes = 2,
805
- CheckTypeParameterCountIntersection = 4
806
- }
807
774
  declare class ConflictsCheck {
808
775
  private readonly analyzer;
809
776
  private static readonly signatureComparisonOptions;
@@ -0,0 +1,48 @@
1
+ import { ConstructorEntity, DereferenceOperatorEntity, DestructorEntity, FieldEntity, IndexerEntity, MethodEntity, OperatorEntity, PackageEntity, PackageFunctionEntity, PackageTypeEntity, PackageVariableEntity, TypeEntity } from '../entities/index.js';
2
+ import { PlatformKind } from '../project/index.js';
3
+ import { Analyzer } from './Analyzer.js';
4
+ export declare class ResolvedImplementationPackage {
5
+ private readonly analyzer;
6
+ readonly interfacePackage: PackageEntity;
7
+ readonly implementationPackage: PackageEntity;
8
+ readonly targetPlatform: PlatformKind;
9
+ private static signatureComparisonOptions_;
10
+ private static get signatureComparisonOptions();
11
+ private implementationPackageMembers_;
12
+ private readonly diagnostics;
13
+ private readonly variableImplementations;
14
+ private readonly functionImplementations;
15
+ private readonly typeImplementations;
16
+ private readonly typeMemberImplementations;
17
+ private hasReportedAllDiagnostics;
18
+ private get implementationPackageMembers();
19
+ constructor(analyzer: Analyzer, interfacePackage: PackageEntity, implementationPackage: PackageEntity, targetPlatform: PlatformKind);
20
+ ensureAllDiagnosticReported(): void;
21
+ getPackageVariableImplementation(entity: PackageVariableEntity): PackageVariableEntity | undefined;
22
+ getPackageFunctionImplementation(entity: PackageFunctionEntity): PackageFunctionEntity | undefined;
23
+ getPackageTypeImplementation(entity: PackageTypeEntity): PackageTypeEntity | undefined;
24
+ getFieldImplementation(entity: FieldEntity): FieldEntity | undefined;
25
+ getMethodImplementation(entity: MethodEntity): MethodEntity | undefined;
26
+ getOperatorImplementation(entity: OperatorEntity): OperatorEntity | undefined;
27
+ getConstructorImplementation(entity: ConstructorEntity): ConstructorEntity | undefined;
28
+ getDestructorImplementation(entity: DestructorEntity): DestructorEntity | undefined;
29
+ getIndexerImplementation(entity: IndexerEntity): IndexerEntity | undefined;
30
+ getDereferenceOperatorImplementation(entity: DereferenceOperatorEntity): DereferenceOperatorEntity | undefined;
31
+ static isTypeThatDoesNotRequireImplementation(entity: TypeEntity): boolean;
32
+ private getTypeMemberImplementations;
33
+ private findFieldImplementation;
34
+ private findMethodImplementation;
35
+ private findOperatorImplementation;
36
+ private findConstructorImplementation;
37
+ private findDestructorImplementation;
38
+ private findIndexerImplementation;
39
+ private findDereferenceOperatorImplementation;
40
+ private checkImplementationTypeMemberBasicModifier;
41
+ private checkImplementationTypeMemberAbstractModifier;
42
+ private areEqualFunctions;
43
+ private areEqualTypeMembersWithoutTypeParameters;
44
+ private areEqualTypes;
45
+ private areEqualSubstitutions;
46
+ private reportPackageDoesNotContainImplementationDiagnostic;
47
+ private reportTypeDoesNotContainImplementationDiagnostic;
48
+ }
@@ -1,5 +1,4 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import * as tree from '../../tree/index.js';
4
3
  import { Analyzer } from '../Analyzer.js';
5
4
  import { NamedDeclaration, TypeOrContainerWithTypes } from './Declarations.js';
@@ -14,8 +13,8 @@ export declare class FieldWithInitializerSemanticContext extends SemanticContext
14
13
  private readonly node;
15
14
  constructor(analyzer: Analyzer, node: tree.FieldDeclaration, outer: SemanticContextContainingTypeMember);
16
15
  isStatic(): boolean;
17
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
18
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
19
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
20
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
16
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
17
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
18
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
19
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
21
20
  }
@@ -22,10 +22,10 @@ export declare abstract class SemanticContextBase {
22
22
  abstract getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
23
23
  abstract getTryStatementContext(): TryStatementContextKind | undefined;
24
24
  abstract isStatic(): boolean;
25
- abstract getOwnTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
26
- abstract getOwnTypesOrContainersWithTypesByName(name: Name, hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
27
- abstract getOwnNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
28
- abstract getOwnNamedDeclarationsByName(name: Name, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
25
+ abstract getOwnTypesOrContainersWithTypes(initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
26
+ abstract getOwnTypesOrContainersWithTypesByName(name: Name, initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
27
+ abstract getOwnNamedDeclarations(initialContext: SemanticContext, noInstanceMembers?: boolean): readonly NamedDeclaration[];
28
+ abstract getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, noInstanceMembers?: boolean): readonly NamedDeclaration[];
29
29
  getContainingSourceFile(): SourceFile;
30
30
  getContainingPackage(): PackageEntity;
31
31
  getHidingMatcher(): IEntityHidingMatcher;
@@ -1,6 +1,5 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import { DiagnosticAcceptor } from '../../diagnostic/Diagnostic.js';
3
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
4
3
  import { LocalVariableEntity, NestedFunctionEntity, ParameterEntity, TypeParameterEntity } from '../../entities/index.js';
5
4
  import * as tree from '../../tree/index.js';
6
5
  import { Analyzer } from '../Analyzer.js';
@@ -28,10 +27,10 @@ export declare abstract class SemanticContextValidatingNameConflictsBase extends
28
27
  constructor(analyzer: Analyzer);
29
28
  protected abstract createMemberEntities(): readonly MemberOfSemanticContextValidatingNameConflicts[];
30
29
  protected abstract createMemberEntitiesForTypeLookup(): readonly MemberOfSemanticContextValidatingNameConflictsForTypeLookup[];
31
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
32
- getOwnTypesOrContainersWithTypesByName(name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
33
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
34
- getOwnNamedDeclarationsByName(name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
30
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
31
+ getOwnTypesOrContainersWithTypesByName(name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
32
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
33
+ getOwnNamedDeclarationsByName(name: Name, _initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
35
34
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
36
35
  private getMemberEntityDictionary;
37
36
  private validateNestedFunctionsConflicts;
@@ -35,10 +35,10 @@ export declare class SourceFileSemanticContext extends SemanticContextBase {
35
35
  getTryStatementContext(): TryStatementContextKind | undefined;
36
36
  isStatic(): boolean;
37
37
  getDiagnosticArgumentFactory(): DiagnosticArgumentFactory;
38
- getOwnTypesOrContainersWithTypes(hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
39
- getOwnTypesOrContainersWithTypesByName(name: Name, hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
40
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): NamedDeclaration[];
41
- getOwnNamedDeclarationsByName(name: Name, _noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
38
+ getOwnTypesOrContainersWithTypes(initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
39
+ getOwnTypesOrContainersWithTypesByName(name: Name, initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
40
+ getOwnNamedDeclarations(initialContext: SemanticContext, _noInstanceMembers?: boolean): NamedDeclaration[];
41
+ getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
42
42
  getOwnTypeExtensionsByType(type: TypeEntity, hidingMatcher?: IEntityHidingMatcher): TypeExtensionEntity[];
43
43
  getTextTranslationEntityByTextKey(key: TextKey): readonly TextTranslationEntity[];
44
44
  validateNameConflicts(diagnostics: DiagnosticAcceptor): void;
@@ -1,5 +1,4 @@
1
1
  import { Name } from '../../common/index.js';
2
- import { IEntityHidingMatcher } from '../../entities/EntityHiding.js';
3
2
  import * as tree from '../../tree/index.js';
4
3
  import { Analyzer } from '../Analyzer.js';
5
4
  import { DereferencedVariableAccessorDeclaration, FieldAccessorDeclaration, FunctionDeclaration, IndexedElementAccessorDeclaration, PackageVariableAccessorDeclaration, RegularOrBlockFunctionLiteral } from '../NodeTypeUtils.js';
@@ -19,10 +18,10 @@ export declare abstract class OutermostSemanticContextOfSubprogram extends Seman
19
18
  readonly kind = "outermost-of-subprogram";
20
19
  abstract getContainingSubprogram(): SubprogramInfo;
21
20
  getTryStatementContext(): TryStatementContextKind | undefined;
22
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
23
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
24
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
25
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
21
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
22
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
23
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
24
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
26
25
  }
27
26
  export declare class FunctionSemanticContext extends OutermostSemanticContextOfSubprogram {
28
27
  readonly outer: SemanticContext;
@@ -28,10 +28,10 @@ export declare class OutermostSemanticContextOfType extends SemanticContextWithP
28
28
  getContainingTypeOrTypeExtension(): TypeOrTypeExtension | undefined;
29
29
  getContainingSubprogram(): SubprogramInfo | undefined;
30
30
  isStatic(): boolean;
31
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
32
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
33
- getOwnNamedDeclarations(_noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
34
- getOwnNamedDeclarationsByName(_name: Name, _noInstanceMembers?: boolean, _hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
31
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
32
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
33
+ getOwnNamedDeclarations(_initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
34
+ getOwnNamedDeclarationsByName(_name: Name, _initialContext: SemanticContext, _noInstanceMembers?: boolean): readonly NamedDeclaration[];
35
35
  private getContainingType;
36
36
  }
37
37
  type TypeDeclarationWithTypeParameters = tree.PackageStructuredTypeDeclaration | tree.PackageVariantTypeDeclaration | tree.PackageAliasTypeDeclaration | tree.PackageFunctionTypeDeclaration;
@@ -47,10 +47,10 @@ export declare class TypeParametersOfTypeSemanticContext extends SemanticContext
47
47
  }
48
48
  declare abstract class TypeOrExtensionBodySemanticContext extends SemanticContextWithParent {
49
49
  protected abstract memberLookup: TypeMemberLookup;
50
- getOwnTypesOrContainersWithTypes(_hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
51
- getOwnTypesOrContainersWithTypesByName(_name: Name, _hidingMatcher?: IEntityHidingMatcher): readonly TypeOrContainerWithTypes[];
52
- getOwnNamedDeclarations(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): NamedDeclaration[];
53
- getOwnNamedDeclarationsByName(name: Name, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly NamedDeclaration[];
50
+ getOwnTypesOrContainersWithTypes(_initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
51
+ getOwnTypesOrContainersWithTypesByName(_name: Name, _initialContext: SemanticContext): readonly TypeOrContainerWithTypes[];
52
+ getOwnNamedDeclarations(initialContext: SemanticContext, noInstanceMembers?: boolean): NamedDeclaration[];
53
+ getOwnNamedDeclarationsByName(name: Name, initialContext: SemanticContext, noInstanceMembers?: boolean): readonly NamedDeclaration[];
54
54
  getOwnOperators(noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly types.Operator[];
55
55
  getOwnOperatorsByKind(kind: OperatorKind, noInstanceMembers?: boolean, hidingMatcher?: IEntityHidingMatcher): readonly types.Operator[];
56
56
  private convertNamedMember;
@@ -10,6 +10,7 @@ export declare const enum HelperPhraseKind {
10
10
  Overloads = 7,
11
11
  EnumeratorMethodName = 8,
12
12
  InvokeMethodName = 9,
13
- EmptyUnionType = 10
13
+ EmptyUnionType = 10,
14
+ Stub = 11
14
15
  }
15
16
  export declare function getHelperPhrase(kind: HelperPhraseKind, locale: PackageLocale): string;
@@ -1,13 +1,15 @@
1
1
  import { OperatorKind } from '../entities/OperatorKind.js';
2
+ import { Keyword } from '../parser/KeywordDictionary.js';
2
3
  import { ReservedIdentifierKind } from '../parser/ReservedIdentifierDictionary.js';
3
4
  import * as tree from '../tree/index.js';
4
5
  import { HelperPhraseKind } from './HelperPhrases.js';
5
6
  import { PackageDialect, PackageLocale } from './index.js';
6
7
  export declare class LocalizationHelper {
7
- static localizeKeyword(kind: tree.KeywordKind, locale: PackageLocale, dialect?: PackageDialect): readonly string[];
8
- static localizeKeywordAndTakeFirst(kind: tree.KeywordKind, locale: PackageLocale, dialect?: PackageDialect): string;
8
+ static localizeKeyword(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect): readonly Keyword[];
9
+ static localizeKeywordAndTakeFirst(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect): string;
10
+ static localizeKeywordAndTakeBest(kind: tree.KeywordKind, locale: PackageLocale, dialect: PackageDialect, preferredFlags?: tree.KeywordFlags): string;
9
11
  static localizeReservedIdentifier(kind: ReservedIdentifierKind, locale: PackageLocale): string;
10
12
  static localizeHelperPhrase(kind: HelperPhraseKind, locale: PackageLocale): string;
11
- static localizeOperatorKind(kind: OperatorKind, locale: PackageLocale, dialect?: PackageDialect): string;
12
- static localizeSyntacticalOperatorKind(kind: tree.OperatorKind, locale: PackageLocale, dialect?: PackageDialect): string;
13
+ static localizeOperatorKind(kind: OperatorKind, locale: PackageLocale, dialect: PackageDialect): string;
14
+ static localizeSyntacticalOperatorKind(kind: tree.OperatorKind, locale: PackageLocale, dialect: PackageDialect): string;
13
15
  }
@@ -231,6 +231,16 @@ export declare enum DiagnosticCode {
231
231
  TranslatedDeclarations0And1HaveTheSameTranslatedNamesButDifferentSourceNames23 = 2192,
232
232
  TranslatedOverridingMember0MustTheSameNameAsBaseMember1 = 2193,
233
233
  TextTranslationAlreadyExistsInTheTextTranslationPackage = 2194,
234
+ PackageDoesNotContainImplementationOf0 = 2195,
235
+ TypeDoesNotContainImplementationOf0 = 2196,
236
+ ImplementationVariableMustNotBeConstOrHaveWriteFunctionToMatchInterfacePackageVariable0 = 2197,
237
+ ImplementationFunctionMustBeAsyncToMatchInterfacePackageFunction0 = 2198,
238
+ ImplementationFunctionMustNotBeAsyncToMatchInterfacePackageFunction0 = 2199,
239
+ ImplementationTypeMustBeBasicToMatchInterfacePackageType0 = 2200,
240
+ ImplementationTypeMustNotBeAbstractToMatchInterfacePackageType0 = 2201,
241
+ ImplementationTypeMemberMustBeBasicToMatchInterfacePackageTypeMember0 = 2202,
242
+ ImplementationTypeMemberMustNotBeAbstractToMatchInterfacePackageTypeMember0 = 2203,
243
+ ImplementationTypeMemberMustHaveWriteFunctionToMatchInterfacePackageTypeMember0 = 2204,
234
244
  CannotFindTsLibDirectoryBaseSearchPaths0 = 3000,
235
245
  SourceFile0IsNotPartOfThePackageAndWontBeLoaded = 3001,
236
246
  ProgramWithoutMainPackageCannotBeCompiled = 3002,
@@ -15,7 +15,7 @@ export declare class EntityMap {
15
15
  private readonly functions;
16
16
  private readonly typeOrExtensions;
17
17
  private readonly packages;
18
- private readonly linkedPackages;
18
+ private readonly implementationPackages;
19
19
  constructor(analyzer: Analyzer, targetPlatform: PlatformKind);
20
20
  getVariableEntity(entity: analyzerEntities.VariableEntity): emitterEntities.VariableEntity;
21
21
  getNamedFunctionEntity(entity: analyzerEntities.NamedFunctionEntity): emitterEntities.FunctionEntity;
@@ -1081,7 +1081,13 @@ export declare const enum AssignmentOperatorKind {
1081
1081
  SubtractEquals = 2,
1082
1082
  MultiplyEquals = 3,
1083
1083
  DivideEquals = 4,
1084
- IntegerDivideEquals = 5
1084
+ IntegerDivideEquals = 5,
1085
+ BitwiseAndEquals = 6,
1086
+ BitwiseOrEquals = 7,
1087
+ BitwiseXorEquals = 8,
1088
+ LeftShiftEquals = 9,
1089
+ SignedRightShiftEquals = 10,
1090
+ UnsignedRightShiftEquals = 11
1085
1091
  }
1086
1092
  export declare const enum PrefixUnaryExpressionOperatorKind {
1087
1093
  Plus = 0,
@@ -1108,5 +1114,8 @@ export declare const enum BinaryExpressionOperatorKind {
1108
1114
  Modulo = 15,
1109
1115
  BitwiseAnd = 16,
1110
1116
  BitwiseOr = 17,
1111
- BitwiseXor = 18
1117
+ BitwiseXor = 18,
1118
+ LeftShift = 19,
1119
+ SignedRightShift = 20,
1120
+ UnsignedRightShift = 21
1112
1121
  }
@@ -1,8 +1,5 @@
1
1
  import { Analyzer } from '../analysis/Analyzer.js';
2
- import { SemanticContext } from '../analysis/semantic-context/SemanticContext.js';
3
- import { PackageDialect, PackageLocale } from '../common/index.js';
4
2
  import * as types from '../types/index.js';
5
- import { IEntityHidingMatcher } from './EntityHiding.js';
6
3
  import { AliasTypeEntity } from './interfaces/AliasTypeEntity.js';
7
4
  import { ConstructorEntity } from './interfaces/ConstructorEntity.js';
8
5
  import { DereferenceOperatorEntity } from './interfaces/DereferenceOperatorEntity.js';
@@ -99,15 +96,6 @@ export type EntityWithParameters = Exclude<EntityContainingParameter, PackageEnt
99
96
  export declare function isEntityWithParameters(entity: Entity): entity is EntityWithParameters;
100
97
  export type NamedFunctionEntity = PackageFunctionEntity | MethodEntity | NestedFunctionEntity;
101
98
  export declare function isNamedFunctionEntity(entity: Entity): entity is NamedFunctionEntity;
102
- export declare class EntityContext {
103
- readonly containingPackage: PackageEntity;
104
- readonly hidingMatcher: IEntityHidingMatcher;
105
- readonly typeExtensionLookup: SemanticContext | undefined;
106
- get locale(): PackageLocale;
107
- get packageDialect(): PackageDialect;
108
- constructor(containingPackage: PackageEntity, hidingMatcher: IEntityHidingMatcher, typeExtensionLookup: SemanticContext | undefined);
109
- static fromSemanticContext(semanticContext: SemanticContext): EntityContext;
110
- }
111
99
  export declare function entityToStringDecorator<T extends {
112
100
  new (...args: any[]): Entity;
113
101
  }>(constructor: T): void;
@@ -1,7 +1,7 @@
1
1
  import { AnalyzedTranslationPackage } from '../analysis/AnalyzedTranslationPackage.js';
2
2
  import { Analyzer } from '../analysis/Analyzer.js';
3
3
  import * as types from '../types/index.js';
4
- import { AliasTypeEntity, AnonymousFunctionTypeEntity, AnonymousStructuredTypeEntity, AnonymousVariantTypeEntity, ConstructorEntity, DereferenceOperatorEntity, DestructorEntity, Entity, EntityContext, FieldEntity, FunctionTypeEntity, GetterEntity, IndexerEntity, MethodEntity, NamedTypeMemberEntity, OperatorEntity, PackageEntity, PackageFunctionEntity, PackageFunctionTypeEntity, PackageMemberEntity, PackageStructuredTypeEntity, PackageTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, ParameterEntity, SetterEntity, StructuredTypeEntity, TypeEntity, TypeEntityWithMembers, TypeExtensionEntity, TypeMemberEntity, TypeParameterEntity, TypeWithMembersOrExtensionEntity, VariantTypeEntity } from './index.js';
4
+ import { AliasTypeEntity, AnonymousFunctionTypeEntity, AnonymousStructuredTypeEntity, AnonymousVariantTypeEntity, ConstructorEntity, DereferenceOperatorEntity, DestructorEntity, Entity, FieldEntity, FunctionTypeEntity, GetterEntity, IndexerEntity, MethodEntity, NamedTypeMemberEntity, OperatorEntity, PackageEntity, PackageFunctionEntity, PackageFunctionTypeEntity, PackageMemberEntity, PackageStructuredTypeEntity, PackageTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, ParameterEntity, SetterEntity, StructuredTypeEntity, TypeEntity, TypeEntityWithMembers, TypeExtensionEntity, TypeMemberEntity, TypeParameterEntity, TypeWithMembersOrExtensionEntity, VariantTypeEntity } from './index.js';
5
5
  export declare class EntityLocalizationContext {
6
6
  private readonly analyzer;
7
7
  private readonly translationPackage;
@@ -43,7 +43,6 @@ export declare class EntityLocalizationContext {
43
43
  getLocalizedEntityForPossiblyNotLocalizableEntity(entity: Entity): Entity;
44
44
  createLocalizedType(type: types.Type): types.Type;
45
45
  createLocalizedSubstitutions(substitutions: types.Substitutions): types.Substitutions;
46
- createLocalizedEntityContext(context: EntityContext): EntityContext;
47
46
  private getOwnTranslatedEntity;
48
47
  private getOwnTranslatedTypeEntity;
49
48
  private getOwnTranslatedTypeParameterEntity;
@@ -1,7 +1,7 @@
1
1
  import { Tag } from '../analysis/Tag.js';
2
2
  import { Translation } from '../analysis/Translation.js';
3
3
  import { PackageDialect, PackageLocale } from '../common/index.js';
4
- import { EntityKind, PackageEntity } from './index.js';
4
+ import { Entity, EntityKind, PackageEntity } from './index.js';
5
5
  export interface IEntity {
6
6
  readonly kind: EntityKind;
7
7
  getContainingPackage(): PackageEntity;
@@ -9,4 +9,5 @@ export interface IEntity {
9
9
  getLocale(): PackageLocale;
10
10
  getDialect(): PackageDialect;
11
11
  getTags(): readonly Tag[];
12
+ getOriginalEntity(): Entity;
12
13
  }
@@ -18,12 +18,15 @@ export declare enum OperatorKind {
18
18
  Xor = 15,
19
19
  BitwiseAnd = 16,
20
20
  BitwiseOr = 17,
21
- BitwiseXor = 18
21
+ BitwiseXor = 18,
22
+ LeftShift = 19,
23
+ SignedRightShift = 20,
24
+ UnsignedRightShift = 21
22
25
  }
23
26
  /**
24
27
  * Виды операторов, задаваемых токенами (`+`, `-`, `*=` и др.).
25
28
  */
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;
29
+ 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 | OperatorKind.LeftShift | OperatorKind.SignedRightShift | OperatorKind.UnsignedRightShift;
27
30
  export declare function isOperatorDefinedByToken(kind: OperatorKind): kind is KindOfOperatorDefinedByToken;
28
31
  /**
29
32
  * Виды операторов, задаваемых ключевыми словами (`и`, `или`, `не` и др.)
@@ -38,7 +41,7 @@ export declare function isUnaryOperator(kind: OperatorKind): kind is UnaryOperat
38
41
  /**
39
42
  * Виды двухместных операторов. Объявление двухместного оператора должно содержать один параметр.
40
43
  */
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;
44
+ 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 | OperatorKind.LeftShift | OperatorKind.SignedRightShift | OperatorKind.UnsignedRightShift;
42
45
  export declare function isBinaryOperator(kind: OperatorKind): kind is BinaryOperatorKind;
43
46
  export type KindOfUnaryOperatorDefinedByToken = UnaryOperatorKind & KindOfOperatorDefinedByToken;
44
47
  export type KindOfUnaryOperatorDefinedByKeyword = UnaryOperatorKind & KindOfOperatorDefinedByKeyword;
@@ -1,15 +1,15 @@
1
- import { Tag } from '../analysis/Tag.js';
2
1
  import { IEntity } from './IEntity.js';
3
- import { AliasTypeEntity, EntityContext, EntityKind, FunctionTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from './index.js';
2
+ import { AliasTypeEntity, EntityKind, FunctionTypeEntity, StructuredTypeEntity, TypeParameterEntity, VariantTypeEntity } from './index.js';
4
3
  export type TypeEntity = StructuredTypeEntity | FunctionTypeEntity | VariantTypeEntity | AliasTypeEntity | TypeParameterEntity;
5
4
  export declare namespace TypeEntity {
6
5
  function isAbstract(entity: TypeEntity): boolean;
6
+ function isAbstractOrAliasedAbstract(entity: TypeEntity): boolean;
7
+ function isBasic(entity: TypeEntity): boolean;
8
+ function isBasicOrAliasedBasic(entity: TypeEntity): boolean;
7
9
  }
8
10
  export interface ITypeEntity extends IEntity {
9
11
  readonly kind: EntityKind.Type;
10
12
  readonly typeEntityKind: TypeEntityKind;
11
- getContext(): EntityContext;
12
- getTags(): readonly Tag[];
13
13
  }
14
14
  export declare enum TypeEntityKind {
15
15
  Function = 0,