@artel/artc 0.6.25191

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 (281) hide show
  1. package/build/Cli.js +20 -0
  2. package/build/api/Api.js +664 -0
  3. package/build/api/ApiNodeJS.js +20 -0
  4. package/build/api/ApiServices.js +12847 -0
  5. package/build/chunk-BQHCAH6D.js +588 -0
  6. package/build/chunk-O2JKESUU.js +63219 -0
  7. package/build/chunk-QRBDQKYM.js +94 -0
  8. package/build/types/Cli.d.ts +3 -0
  9. package/build/types/analysis/AccessedMethod.d.ts +53 -0
  10. package/build/types/analysis/AnalyzedTranslationPackage.d.ts +191 -0
  11. package/build/types/analysis/Analyzer.d.ts +665 -0
  12. package/build/types/analysis/AutotypeCallExpressionMeaning.d.ts +25 -0
  13. package/build/types/analysis/BaseExpressionMeaning.d.ts +47 -0
  14. package/build/types/analysis/BuiltInOperators.d.ts +14 -0
  15. package/build/types/analysis/CallArgumentToParameterMatchResult.d.ts +30 -0
  16. package/build/types/analysis/CallArgumentsToParametersMatcher.d.ts +44 -0
  17. package/build/types/analysis/CallExpressionMeaning.d.ts +39 -0
  18. package/build/types/analysis/ConstructorOverloadResolver.d.ts +34 -0
  19. package/build/types/analysis/DeclarationsUsageCounter.d.ts +18 -0
  20. package/build/types/analysis/DereferenceExpressionMeaning.d.ts +23 -0
  21. package/build/types/analysis/DiagnosticCollector.d.ts +68 -0
  22. package/build/types/analysis/EntityLocalizationHelper.d.ts +15 -0
  23. package/build/types/analysis/FindModifier.d.ts +4 -0
  24. package/build/types/analysis/FoundDeclaration.d.ts +19 -0
  25. package/build/types/analysis/IdentifierExpressionMeaning.d.ts +98 -0
  26. package/build/types/analysis/ImportedPackageNameTree.d.ts +22 -0
  27. package/build/types/analysis/IndexedAccessExpressionMeaning.d.ts +26 -0
  28. package/build/types/analysis/IndexerAccess.d.ts +10 -0
  29. package/build/types/analysis/Localization.d.ts +54 -0
  30. package/build/types/analysis/LocalizationContext.d.ts +15 -0
  31. package/build/types/analysis/Lookup.d.ts +23 -0
  32. package/build/types/analysis/NamedTypeResolver.d.ts +42 -0
  33. package/build/types/analysis/NamedTypeSpecifierResolver.d.ts +20 -0
  34. package/build/types/analysis/NodeTypeUtils.d.ts +28 -0
  35. package/build/types/analysis/ObjectExpressionMeaning.d.ts +38 -0
  36. package/build/types/analysis/OperationOverloadResolver.d.ts +19 -0
  37. package/build/types/analysis/OverloadResolver.d.ts +12 -0
  38. package/build/types/analysis/PackageMemberLookup.d.ts +15 -0
  39. package/build/types/analysis/PrefixUnaryOperatorResolver.d.ts +27 -0
  40. package/build/types/analysis/PropertyAccessExpressionMeaning.d.ts +100 -0
  41. package/build/types/analysis/Scope.d.ts +309 -0
  42. package/build/types/analysis/SemanticContext.d.ts +320 -0
  43. package/build/types/analysis/SemanticContextBuilder.d.ts +54 -0
  44. package/build/types/analysis/SourceFileMembers.d.ts +92 -0
  45. package/build/types/analysis/SourcePackageDependencyGraph.d.ts +41 -0
  46. package/build/types/analysis/SourcePackageMembersCreator.d.ts +6 -0
  47. package/build/types/analysis/StatementBlockScopeBuilder.d.ts +22 -0
  48. package/build/types/analysis/SubstitutedMethod.d.ts +49 -0
  49. package/build/types/analysis/TagMeaning.d.ts +26 -0
  50. package/build/types/analysis/Tags.d.ts +29 -0
  51. package/build/types/analysis/TargetTypeHint.d.ts +5 -0
  52. package/build/types/analysis/TypeInferrer.d.ts +9 -0
  53. package/build/types/analysis/TypeMemberLookup.d.ts +27 -0
  54. package/build/types/analysis/TypeOverloadResolver.d.ts +7 -0
  55. package/build/types/analysis/UserDefinableBinaryOperatorResolver.d.ts +37 -0
  56. package/build/types/analysis/Utils.d.ts +17 -0
  57. package/build/types/analysis/VariableAccess.d.ts +10 -0
  58. package/build/types/analysis/VariantLookup.d.ts +20 -0
  59. package/build/types/analysis/Visitor.d.ts +7 -0
  60. package/build/types/analysis/WellKnownDeclarations.d.ts +34 -0
  61. package/build/types/analysis/index.d.ts +8 -0
  62. package/build/types/api/Api.d.ts +59 -0
  63. package/build/types/api/ApiNodeJS.d.ts +5 -0
  64. package/build/types/api/ApiServices.d.ts +3 -0
  65. package/build/types/common/AccessKind.d.ts +4 -0
  66. package/build/types/common/ArtelFileCheck.d.ts +2 -0
  67. package/build/types/common/Cached.d.ts +6 -0
  68. package/build/types/common/CancellationToken.d.ts +13 -0
  69. package/build/types/common/Constants.d.ts +19 -0
  70. package/build/types/common/Debug.d.ts +10 -0
  71. package/build/types/common/Delayed.d.ts +7 -0
  72. package/build/types/common/ErrorHandlingStrategy.d.ts +3 -0
  73. package/build/types/common/FormatString.d.ts +5 -0
  74. package/build/types/common/HelperPhrases.d.ts +11 -0
  75. package/build/types/common/Interner.d.ts +4 -0
  76. package/build/types/common/L10nConfig.d.ts +1 -0
  77. package/build/types/common/Lazy.d.ts +9 -0
  78. package/build/types/common/LocalizationHelper.d.ts +10 -0
  79. package/build/types/common/Logger.d.ts +10 -0
  80. package/build/types/common/Name.d.ts +83 -0
  81. package/build/types/common/NameFormatConversion.d.ts +12 -0
  82. package/build/types/common/NonEmptyArray.d.ts +8 -0
  83. package/build/types/common/Option.d.ts +28 -0
  84. package/build/types/common/PackageDialect.d.ts +5 -0
  85. package/build/types/common/PackageLocale.d.ts +15 -0
  86. package/build/types/common/PackageLocaleGuard.d.ts +1 -0
  87. package/build/types/common/Path.d.ts +8 -0
  88. package/build/types/common/PerformanceMeasurement.d.ts +20 -0
  89. package/build/types/common/Query.d.ts +39 -0
  90. package/build/types/common/Range.d.ts +10 -0
  91. package/build/types/common/Result.d.ts +13 -0
  92. package/build/types/common/SearchName.d.ts +13 -0
  93. package/build/types/common/ThrottledCancellationToken.d.ts +17 -0
  94. package/build/types/common/TreeQuery.d.ts +53 -0
  95. package/build/types/common/TreeTraversal.d.ts +13 -0
  96. package/build/types/common/Uri.d.ts +28 -0
  97. package/build/types/common/UriTree.d.ts +41 -0
  98. package/build/types/common/UserLocale.d.ts +2 -0
  99. package/build/types/common/WithDiagnostics.d.ts +19 -0
  100. package/build/types/common/YieldExecution.d.ts +1 -0
  101. package/build/types/common/index.d.ts +32 -0
  102. package/build/types/diagnostic/Diagnostic.d.ts +21 -0
  103. package/build/types/diagnostic/DiagnosticCode.d.ts +146 -0
  104. package/build/types/diagnostic/DiagnosticData.d.ts +20 -0
  105. package/build/types/diagnostic/DiagnosticFormatter.d.ts +8 -0
  106. package/build/types/diagnostic/RangeDiagnostic.d.ts +19 -0
  107. package/build/types/emitter/BlockStatementTransformationResult.d.ts +10 -0
  108. package/build/types/emitter/CustomModuleLoader.d.ts +1 -0
  109. package/build/types/emitter/DebugStack.d.ts +10 -0
  110. package/build/types/emitter/Emitter.d.ts +61 -0
  111. package/build/types/emitter/EmitterContext.d.ts +342 -0
  112. package/build/types/emitter/EmitterGeneratedDeclarationKind.d.ts +36 -0
  113. package/build/types/emitter/EmitterPackage.d.ts +60 -0
  114. package/build/types/emitter/EntityNameProviders.d.ts +33 -0
  115. package/build/types/emitter/ExpressionTransformationResult.d.ts +17 -0
  116. package/build/types/emitter/GeneralLowering.d.ts +72 -0
  117. package/build/types/emitter/Internal.d.ts +10 -0
  118. package/build/types/emitter/IntrinsicEntities.d.ts +118 -0
  119. package/build/types/emitter/IrBuilder.d.ts +108 -0
  120. package/build/types/emitter/IrToJs.d.ts +113 -0
  121. package/build/types/emitter/JavaScriptName.d.ts +1 -0
  122. package/build/types/emitter/PackageMemberDeclarationTransformationResult.d.ts +17 -0
  123. package/build/types/emitter/SimpleTransformationResult.d.ts +14 -0
  124. package/build/types/emitter/StatementTransformationResult.d.ts +16 -0
  125. package/build/types/emitter/StructuredTypeMemberDeclarationTransformationResult.d.ts +13 -0
  126. package/build/types/emitter/TransformationContinuationAction.d.ts +4 -0
  127. package/build/types/emitter/Transformer.d.ts +282 -0
  128. package/build/types/emitter/TypeAccessExpressionTransformationResult.d.ts +12 -0
  129. package/build/types/emitter/error-boundary.d.ts +10 -0
  130. package/build/types/emitter/index.d.ts +1 -0
  131. package/build/types/emitter/ir/AccessedEntities.d.ts +19 -0
  132. package/build/types/emitter/ir/LoweringOptions.d.ts +34 -0
  133. package/build/types/emitter/ir/Nodes.d.ts +1585 -0
  134. package/build/types/emitter/ir/SourceLocation.d.ts +10 -0
  135. package/build/types/emitter/ir/index.d.ts +5 -0
  136. package/build/types/emitter/ir/types.d.ts +10 -0
  137. package/build/types/entities/AliasTypeEntity.d.ts +84 -0
  138. package/build/types/entities/BinaryOperatorEntity.d.ts +48 -0
  139. package/build/types/entities/ConstructorEntity.d.ts +99 -0
  140. package/build/types/entities/DereferenceOperatorEntity.d.ts +40 -0
  141. package/build/types/entities/DestructorEntity.d.ts +31 -0
  142. package/build/types/entities/EntityHiding.d.ts +27 -0
  143. package/build/types/entities/EntityNaming.d.ts +12 -0
  144. package/build/types/entities/GetterEntity.d.ts +86 -0
  145. package/build/types/entities/IndexerEntity.d.ts +51 -0
  146. package/build/types/entities/MethodEntity.d.ts +174 -0
  147. package/build/types/entities/MethodTypeEntity.d.ts +98 -0
  148. package/build/types/entities/PackageAliasEntity.d.ts +30 -0
  149. package/build/types/entities/PackageEntity.d.ts +56 -0
  150. package/build/types/entities/PackageMembers.d.ts +98 -0
  151. package/build/types/entities/SetterEntity.d.ts +78 -0
  152. package/build/types/entities/StructuredTypeEntity.d.ts +199 -0
  153. package/build/types/entities/SubstitutionApplicationMode.d.ts +4 -0
  154. package/build/types/entities/TypeEntityMembers.d.ts +36 -0
  155. package/build/types/entities/TypeExtensionEntity.d.ts +33 -0
  156. package/build/types/entities/TypeMemberContainer.d.ts +23 -0
  157. package/build/types/entities/TypeParameterEntity.d.ts +94 -0
  158. package/build/types/entities/UnaryOperatorEntity.d.ts +33 -0
  159. package/build/types/entities/VariableEntity.d.ts +423 -0
  160. package/build/types/entities/VariantEntity.d.ts +31 -0
  161. package/build/types/entities/VariantTypeEntity.d.ts +83 -0
  162. package/build/types/entities/Variants.d.ts +10 -0
  163. package/build/types/entities/index.d.ts +87 -0
  164. package/build/types/executor/CommandLineCompiler.d.ts +8 -0
  165. package/build/types/executor/Compiler.d.ts +15 -0
  166. package/build/types/executor/FileSystemUri.d.ts +5 -0
  167. package/build/types/executor/NodeCompiler.d.ts +39 -0
  168. package/build/types/executor/PhysicalFileSystem.d.ts +12 -0
  169. package/build/types/executor/PhysicalTypeScriptLibrariesProvider.d.ts +12 -0
  170. package/build/types/generated/BuiltInSystemPackages.d.ts +3 -0
  171. package/build/types/old/Executor.d.ts +14 -0
  172. package/build/types/old/JavaScriptEmitter.d.ts +1 -0
  173. package/build/types/old/JavaScriptEmittingVisitor.d.ts +1 -0
  174. package/build/types/old/NzonParser.d.ts +1 -0
  175. package/build/types/old/NzonScanner.d.ts +1 -0
  176. package/build/types/old/NzonSyntax.d.ts +1 -0
  177. package/build/types/old/RemoteWorkspaceFileSystem.d.ts +1 -0
  178. package/build/types/parser/CharacterCodes.d.ts +21 -0
  179. package/build/types/parser/ConvertTokenKind.d.ts +3 -0
  180. package/build/types/parser/KeywordDictionary.d.ts +12 -0
  181. package/build/types/parser/ParseNumber.d.ts +5 -0
  182. package/build/types/parser/Parser.d.ts +7 -0
  183. package/build/types/parser/ParserDiagnostic.d.ts +7 -0
  184. package/build/types/parser/ReservedIdentifierDictionary.d.ts +12 -0
  185. package/build/types/parser/Scanner.d.ts +60 -0
  186. package/build/types/parser/TokenKind.d.ts +73 -0
  187. package/build/types/parser/UnescapeText.d.ts +2 -0
  188. package/build/types/project/Compilation.d.ts +21 -0
  189. package/build/types/project/CompilationLoader.d.ts +104 -0
  190. package/build/types/project/FileSystemTree.d.ts +70 -0
  191. package/build/types/project/PackageConfigurationSerializer.d.ts +1 -0
  192. package/build/types/project/Position.d.ts +5 -0
  193. package/build/types/project/SourceFile.d.ts +21 -0
  194. package/build/types/project/SourcePackage.d.ts +151 -0
  195. package/build/types/project/TextFile.d.ts +11 -0
  196. package/build/types/project/configuration/BuildPackageApi.d.ts +75 -0
  197. package/build/types/project/configuration/ConfigurationConverter.d.ts +25 -0
  198. package/build/types/project/configuration/ConfigurationFileParser.d.ts +26 -0
  199. package/build/types/project/configuration/PackageConfigurationInterpreter.d.ts +27 -0
  200. package/build/types/project/configuration/types/PackageConfigurationEn.d.ts +90 -0
  201. package/build/types/project/configuration/types/PackageConfigurationRu.d.ts +91 -0
  202. package/build/types/project/index.d.ts +12 -0
  203. package/build/types/services/AddPropertyAssignmentService.d.ts +15 -0
  204. package/build/types/services/CompletionService.d.ts +95 -0
  205. package/build/types/services/CustomCommand.d.ts +120 -0
  206. package/build/types/services/DefinitionService.d.ts +19 -0
  207. package/build/types/services/DisplayService.d.ts +830 -0
  208. package/build/types/services/DocumentHighlightsService.d.ts +18 -0
  209. package/build/types/services/EvaluatableExpressionService.d.ts +15 -0
  210. package/build/types/services/FileSystemTreeDisplayService.d.ts +7 -0
  211. package/build/types/services/HoverService.d.ts +17 -0
  212. package/build/types/services/LanguageServer.d.ts +125 -0
  213. package/build/types/services/NodeSemanticInfo.d.ts +132 -0
  214. package/build/types/services/ProjectItemsService.d.ts +6 -0
  215. package/build/types/services/ReferencesService.d.ts +30 -0
  216. package/build/types/services/RenameService.d.ts +16 -0
  217. package/build/types/services/SelectionRangeService.d.ts +12 -0
  218. package/build/types/services/SemanticTokensService.d.ts +40 -0
  219. package/build/types/services/SourceFileItemsService.d.ts +42 -0
  220. package/build/types/services/TranslationService.d.ts +23 -0
  221. package/build/types/services/TreeUtils.d.ts +58 -0
  222. package/build/types/services/TypeDefinitionService.d.ts +9 -0
  223. package/build/types/services/Types.d.ts +22 -0
  224. package/build/types/services/Utils.d.ts +5 -0
  225. package/build/types/services/signature-help/SignatureHelpService.d.ts +17 -0
  226. package/build/types/services/signature-help/SignatureWithValueParameters.d.ts +114 -0
  227. package/build/types/services/signature-help/TypeParameterSignatureHelpProvider.d.ts +20 -0
  228. package/build/types/services/signature-help/ValueParametersSignatureHelpProvider.d.ts +15 -0
  229. package/build/types/services/signature-help/utils.d.ts +9 -0
  230. package/build/types/services/source-generation/EntityToSyntax.d.ts +47 -0
  231. package/build/types/services/source-generation/SourceGenerationService.d.ts +22 -0
  232. package/build/types/services/workspace/ClientTrackedSourceFiles.d.ts +41 -0
  233. package/build/types/services/workspace/CompilationController.d.ts +108 -0
  234. package/build/types/services/workspace/FileSystemTreeProviderBasedOnWatchedFileSystem.d.ts +61 -0
  235. package/build/types/services/workspace/ManuallyUpdatedFileSystemTreeProvider.d.ts +21 -0
  236. package/build/types/services/workspace/Workspace.d.ts +59 -0
  237. package/build/types/services/workspace/WorkspaceFileSystem.d.ts +5 -0
  238. package/build/types/services/workspace/WorkspaceFiles.d.ts +35 -0
  239. package/build/types/services/workspace/index.d.ts +7 -0
  240. package/build/types/tree/KeywordKind.d.ts +64 -0
  241. package/build/types/tree/NodeKind.d.ts +163 -0
  242. package/build/types/tree/TokenKind.d.ts +132 -0
  243. package/build/types/tree/TriviaKind.d.ts +7 -0
  244. package/build/types/tree/green/BaseNode.d.ts +12 -0
  245. package/build/types/tree/green/Nodes.d.ts +2235 -0
  246. package/build/types/tree/green/SyntaxFactory.d.ts +67 -0
  247. package/build/types/tree/green/SyntaxToCode.d.ts +116 -0
  248. package/build/types/tree/green/Token.d.ts +37 -0
  249. package/build/types/tree/green/Utils.d.ts +2 -0
  250. package/build/types/tree/green/index.d.ts +7 -0
  251. package/build/types/tree/index.d.ts +4 -0
  252. package/build/types/tree/red/BaseNode.d.ts +15 -0
  253. package/build/types/tree/red/Internal.d.ts +2 -0
  254. package/build/types/tree/red/NodePath.d.ts +10 -0
  255. package/build/types/tree/red/Nodes.d.ts +2237 -0
  256. package/build/types/tree/red/Token.d.ts +29 -0
  257. package/build/types/tree/red/Utils.d.ts +6 -0
  258. package/build/types/tree/red/index.d.ts +6 -0
  259. package/build/types/ts-interop/Entities.d.ts +634 -0
  260. package/build/types/ts-interop/TsInteropContext.d.ts +179 -0
  261. package/build/types/ts-interop/TsLibrariesProvider.d.ts +12 -0
  262. package/build/types/ts-interop/TsPackageContents.d.ts +64 -0
  263. package/build/types/ts-interop/TsPackageMembersCreator.d.ts +69 -0
  264. package/build/types/ts-interop/TsProgramLoader.d.ts +38 -0
  265. package/build/types/ts-interop/TsTypeMembersCreator.d.ts +45 -0
  266. package/build/types/ts-interop/Utils.d.ts +43 -0
  267. package/build/types/types/AliasType.d.ts +20 -0
  268. package/build/types/types/Internal.d.ts +1 -0
  269. package/build/types/types/MethodType.d.ts +23 -0
  270. package/build/types/types/ParameterType.d.ts +19 -0
  271. package/build/types/types/StandardTypes.d.ts +42 -0
  272. package/build/types/types/StructuredType.d.ts +25 -0
  273. package/build/types/types/Substitutions.d.ts +18 -0
  274. package/build/types/types/Type.d.ts +16 -0
  275. package/build/types/types/TypeFactory.d.ts +15 -0
  276. package/build/types/types/TypeMembers.d.ts +134 -0
  277. package/build/types/types/UnionType.d.ts +20 -0
  278. package/build/types/types/UnresolvedType.d.ts +16 -0
  279. package/build/types/types/VariantType.d.ts +19 -0
  280. package/build/types/types/index.d.ts +12 -0
  281. package/package.json +73 -0
@@ -0,0 +1,199 @@
1
+ import { Tag } from '../analysis/Tags.js';
2
+ import { Analyzer } from '../analysis/index.js';
3
+ import { Name } from '../common/index.js';
4
+ import { AnonymousStructuredTypeDeclaration, PackageStructuredTypeDeclaration } from '../tree/index.js';
5
+ import * as types from '../types/index.js';
6
+ import { EntityNaming } from './EntityNaming.js';
7
+ import { NamedTypeMemberEntity, OriginalTypeEntityMembers } from './TypeEntityMembers.js';
8
+ import type { DereferenceOperatorEntity, PackageEntity } from './index.js';
9
+ import { ConstructorEntity, DefinitionKind, DestructorEntity, EntityHidingLevel, EntityKind, IndexerEntity, SubstitutionApplicationMode, TypeParameterEntity } from './index.js';
10
+ export type StructuredTypeEntity = PackageStructuredTypeEntity | AnonymousStructuredTypeEntity;
11
+ export interface PackageStructuredTypeEntity extends IStructuredTypeEntity {
12
+ readonly subkind: 'package';
13
+ getName(): Name;
14
+ getContainingPackage(): PackageEntity;
15
+ }
16
+ export interface AnonymousStructuredTypeEntity extends IStructuredTypeEntity {
17
+ readonly subkind: 'anonymous';
18
+ getContainingPackage(): PackageEntity;
19
+ }
20
+ interface IStructuredTypeEntity {
21
+ readonly kind: EntityKind.StructuredType;
22
+ getNaming(): EntityNaming;
23
+ getTypeParameters(): readonly TypeParameterEntity[];
24
+ getMembers(): OriginalTypeEntityMembers;
25
+ getDefinition(): StructuredTypeEntityDefinition;
26
+ isAspect(): boolean;
27
+ isRefObject(): boolean;
28
+ isPlainObject(): boolean;
29
+ getArity(): number;
30
+ /**
31
+ * При повторных вызовах метод должен возвращать один и тот же экземпляр класса BaseObjectType.
32
+ */
33
+ getBaseObjectType(): BaseObjectType;
34
+ /**
35
+ * При повторных вызовах метод должен возвращать один и тот же экземпляр класса BaseAspectTypes.
36
+ */
37
+ getBaseAspectTypes(): BaseAspectTypes;
38
+ isHidden(): EntityHidingLevel | undefined;
39
+ getTags(): readonly Tag[];
40
+ getSubstitutionApplicationMode(): SubstitutionApplicationMode;
41
+ }
42
+ export type StructuredTypeEntityDefinition = {
43
+ kind: DefinitionKind.Source;
44
+ node: StructuredTypeEntityDefinitionNode;
45
+ } | {
46
+ kind: DefinitionKind.Intrinsic;
47
+ } | {
48
+ kind: DefinitionKind.TypeScript;
49
+ };
50
+ type StructuredTypeEntityDefinitionNode = PackageStructuredTypeDeclaration | AnonymousStructuredTypeDeclaration;
51
+ /**
52
+ * Класс позволяет работать с базовым объектным типом, исключая циклы наследования.
53
+ *
54
+ * Пример цикла наследования:
55
+ * ```artel
56
+ * тип А = объект Б { }
57
+ * тип Б = объект А { }
58
+ * ```
59
+ *
60
+ * Для типа `А` в поле `declared` будет указан тип `Б`, а в поле `cycleFree` - `undefined`.
61
+ */
62
+ export declare class BaseObjectType {
63
+ /**
64
+ * Базовый объектный тип, указанный пользователем (либо базовый тип по умолчанию).
65
+ */
66
+ readonly declared: types.Type | undefined;
67
+ private _state;
68
+ /**
69
+ * Базовый объектный тип, указанный пользователем, либо `undefined`, если указанный тип приводит к циклу.
70
+ */
71
+ get cycleFree(): types.Type | undefined;
72
+ /**
73
+ * Приводит ли указанный базовый объектный тип к циклу?
74
+ */
75
+ get causesCycle(): boolean;
76
+ constructor(declared: types.Type | undefined);
77
+ private getBaseObjectTypeResolutionResult;
78
+ /**
79
+ * @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
80
+ */
81
+ private resolveBaseObjectType;
82
+ }
83
+ /**
84
+ * Класс позволяет работать с базовыми аспектными типами, исключая циклы наследования.
85
+ *
86
+ * Пример цикла наследования:
87
+ * ```artel
88
+ * тип А = аспект Б { }
89
+ * тип Б = аспект А { }
90
+ * ```
91
+ *
92
+ * Для типа `А` в поле `declared` будет указан тип `Б`, а в поле `cycleFree` - `undefined`.
93
+ */
94
+ export declare class BaseAspectTypes {
95
+ /**
96
+ * Базовые аспектные типы, указанные пользователем.
97
+ */
98
+ readonly declared: readonly types.Type[];
99
+ private _state;
100
+ /**
101
+ * Базовые аспектные типы, указанные пользователем, которые не приводят к циклу.
102
+ */
103
+ get cycleFree(): readonly types.Type[];
104
+ /**
105
+ * Приводит ли хотя бы один базовый аспектный тип, указанный пользователем, к циклу?
106
+ */
107
+ get causesCycle(): boolean;
108
+ constructor(declared: readonly types.Type[]);
109
+ private getBaseAspectTypesResolutionResult;
110
+ /**
111
+ * @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
112
+ */
113
+ private resolveBaseAspectTypes;
114
+ }
115
+ export declare class PackageStructuredTypeDeclarationEntity implements PackageStructuredTypeEntity {
116
+ readonly kind = EntityKind.StructuredType;
117
+ readonly subkind = "package";
118
+ private readonly _analyzer;
119
+ private readonly _node;
120
+ private readonly _data;
121
+ constructor(analyzer: Analyzer, node: PackageStructuredTypeDeclaration);
122
+ getNaming(): EntityNaming;
123
+ getName(): Name;
124
+ getContainingPackage(): PackageEntity;
125
+ getTypeParameters(): readonly TypeParameterEntity[];
126
+ getMembers(): OriginalTypeEntityMembers;
127
+ getDefinition(): StructuredTypeEntityDefinition;
128
+ isAspect(): boolean;
129
+ isRefObject(): boolean;
130
+ isPlainObject(): boolean;
131
+ getArity(): number;
132
+ getBaseObjectType(): BaseObjectType;
133
+ getBaseAspectTypes(): BaseAspectTypes;
134
+ isHidden(): EntityHidingLevel | undefined;
135
+ getTags(): readonly Tag[];
136
+ getSubstitutionApplicationMode(): SubstitutionApplicationMode;
137
+ }
138
+ export declare class SourcePackageStructuredTypeDeclarationData {
139
+ private readonly _analyzer;
140
+ private readonly _node;
141
+ private readonly _entity;
142
+ private readonly _typeParameters;
143
+ private readonly _baseObjectType;
144
+ private readonly _baseAspectTypes;
145
+ private readonly _members;
146
+ constructor(analyzer: Analyzer, node: PackageStructuredTypeDeclaration, entity: PackageStructuredTypeEntity);
147
+ getNaming(): EntityNaming;
148
+ getName(): Name;
149
+ getContainingPackage(): PackageEntity;
150
+ getTypeParameters(): readonly TypeParameterEntity[];
151
+ getMembers(): OriginalTypeEntityMembers;
152
+ getDefinition(): StructuredTypeEntityDefinition;
153
+ isAspect(): boolean;
154
+ isRefObject(): boolean;
155
+ isPlainObject(): boolean;
156
+ getArity(): number;
157
+ getBaseObjectType(): BaseObjectType;
158
+ getBaseAspectTypes(): BaseAspectTypes;
159
+ isHidden(): EntityHidingLevel | undefined;
160
+ getTags(): readonly Tag[];
161
+ getSubstitutionApplicationMode(): SubstitutionApplicationMode;
162
+ }
163
+ export declare class AnonymousStructuredTypeDeclarationEntity implements AnonymousStructuredTypeEntity {
164
+ private readonly _analyzer;
165
+ private readonly _node;
166
+ readonly kind = EntityKind.StructuredType;
167
+ readonly subkind = "anonymous";
168
+ private readonly _baseObjectType;
169
+ private readonly _baseAspectTypes;
170
+ private readonly _members;
171
+ constructor(_analyzer: Analyzer, _node: AnonymousStructuredTypeDeclaration);
172
+ getNaming(): EntityNaming;
173
+ getTypeParameters(): readonly TypeParameterEntity[];
174
+ getMembers(): OriginalTypeEntityMembers;
175
+ getDefinition(): StructuredTypeEntityDefinition;
176
+ isAspect(): boolean;
177
+ isRefObject(): boolean;
178
+ isPlainObject(): boolean;
179
+ getArity(): number;
180
+ getBaseObjectType(): BaseObjectType;
181
+ getBaseAspectTypes(): BaseAspectTypes;
182
+ isHidden(): EntityHidingLevel | undefined;
183
+ getTags(): readonly Tag[];
184
+ getSubstitutionApplicationMode(): SubstitutionApplicationMode;
185
+ getContainingPackage(): PackageEntity;
186
+ }
187
+ export declare class UnfinishedIntrinsicPackageStructuredTypeEntity {
188
+ private readonly _unfinishedValue;
189
+ 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);
191
+ finish(ownNamedMembers: readonly NamedTypeMemberEntity[], ownConstructors: readonly ConstructorEntity[], ownDestructors: readonly DestructorEntity[], ownIndexers: readonly IndexerEntity[], ownDereferenceOperators: readonly DereferenceOperatorEntity[]): PackageStructuredTypeEntity;
192
+ }
193
+ export declare class UnfinishedIntrinsicAnonymousStructuredTypeEntity {
194
+ private readonly _unfinishedValue;
195
+ get unfinishedValue(): AnonymousStructuredTypeEntity;
196
+ constructor(analyzer: Analyzer, typeParameters: readonly TypeParameterEntity[], isAspect: boolean, isRefObject: boolean, baseObjectType: types.StructuredType | undefined, baseAspectTypes: readonly types.StructuredType[], isHidden: EntityHidingLevel | undefined, substitutionApplicationMode: SubstitutionApplicationMode, containingPackage: PackageEntity);
197
+ finish(ownNamedMembers: readonly NamedTypeMemberEntity[], ownConstructors: readonly ConstructorEntity[], ownDestructors: readonly DestructorEntity[], ownIndexers: readonly IndexerEntity[], ownDereferenceOperators: readonly DereferenceOperatorEntity[]): AnonymousStructuredTypeEntity;
198
+ }
199
+ export {};
@@ -0,0 +1,4 @@
1
+ export declare const enum SubstitutionApplicationMode {
2
+ SubstituteOwnSubstitutions = 0,
3
+ SubstituteOwnSubstitutionsAndMerge = 1
4
+ }
@@ -0,0 +1,36 @@
1
+ import { Name } from '../common/index.js';
2
+ import { BinaryOperatorEntity, BinaryOperatorKind } from './BinaryOperatorEntity.js';
3
+ import { ConstructorEntity } from './ConstructorEntity.js';
4
+ import { DestructorEntity } from './DestructorEntity.js';
5
+ import { IndexerEntity } from './IndexerEntity.js';
6
+ import { TypeMethodEntity } from './MethodEntity.js';
7
+ import { DereferenceOperatorEntity } from './DereferenceOperatorEntity.js';
8
+ import { UnaryOperatorEntity, UnaryOperatorKind } from './UnaryOperatorEntity.js';
9
+ import { TypeVariableEntity } from './VariableEntity.js';
10
+ export declare class OriginalTypeEntityMembers {
11
+ private readonly _namedMembers;
12
+ private readonly _constructors;
13
+ private readonly _destructors;
14
+ private readonly _indexers;
15
+ private readonly _referenceOperators;
16
+ private readonly _unaryOperators;
17
+ private readonly _binaryOperators;
18
+ private readonly _membersByUniversalName;
19
+ private readonly _unaryOperatorsByKind;
20
+ private readonly _binaryOperatorsByKind;
21
+ private get membersByUniversalName();
22
+ private get unaryOperatorByKind();
23
+ private get binaryOperatorByKind();
24
+ constructor(_namedMembers: readonly NamedTypeMemberEntity[], _constructors: readonly ConstructorEntity[], _destructors: readonly DestructorEntity[], _indexers: readonly IndexerEntity[], _referenceOperators: readonly DereferenceOperatorEntity[], _unaryOperators: readonly UnaryOperatorEntity[], _binaryOperators: readonly BinaryOperatorEntity[]);
25
+ getNamedMembers(): readonly NamedTypeMemberEntity[];
26
+ getNamedMembersByName(name: Name): readonly NamedTypeMemberEntity[];
27
+ getIndexers(): readonly IndexerEntity[];
28
+ getDereferenceOperators(): readonly DereferenceOperatorEntity[];
29
+ getConstructors(): readonly ConstructorEntity[];
30
+ getDestructors(): readonly DestructorEntity[];
31
+ getUnaryOperators(): readonly UnaryOperatorEntity[];
32
+ getUnaryOperatorsByKind(kind: UnaryOperatorKind): readonly UnaryOperatorEntity[];
33
+ getBinaryOperators(): readonly BinaryOperatorEntity[];
34
+ getBinaryOperatorsByKind(kind: BinaryOperatorKind): readonly BinaryOperatorEntity[];
35
+ }
36
+ export type NamedTypeMemberEntity = TypeVariableEntity | TypeMethodEntity;
@@ -0,0 +1,33 @@
1
+ import { Tag } from '../analysis/Tags.js';
2
+ import { Analyzer } from '../analysis/index.js';
3
+ import { TypeExtensionDeclaration } from '../tree/index.js';
4
+ import { OriginalTypeEntityMembers } from './TypeEntityMembers.js';
5
+ import { DefinitionKind, EntityHidingLevel, EntityKind, NamedTypeEntity, PackageEntity } from './index.js';
6
+ export interface TypeExtensionEntity {
7
+ readonly kind: EntityKind.TypeExtension;
8
+ getMembers(): OriginalTypeEntityMembers;
9
+ getContainingPackage(): PackageEntity;
10
+ getExtendedTypeEntity(): NamedTypeEntity | undefined;
11
+ getDefinition(): TypeExtensionEntityDefinition;
12
+ isHidden(): EntityHidingLevel | undefined;
13
+ getTags(): readonly Tag[];
14
+ }
15
+ type TypeExtensionEntityDefinition = {
16
+ kind: DefinitionKind.Source;
17
+ node: TypeExtensionDeclaration;
18
+ };
19
+ export declare class SourceTypeExtensionEntity implements TypeExtensionEntity {
20
+ readonly kind = EntityKind.TypeExtension;
21
+ private readonly _analyzer;
22
+ private readonly _node;
23
+ private readonly _members;
24
+ constructor(analyzer: Analyzer, node: TypeExtensionDeclaration);
25
+ getMembers(): OriginalTypeEntityMembers;
26
+ getContainingPackage(): PackageEntity;
27
+ getExtendedTypeEntity(): NamedTypeEntity | undefined;
28
+ getDefinition(): TypeExtensionEntityDefinition;
29
+ isHidden(): EntityHidingLevel | undefined;
30
+ getTags(): readonly Tag[];
31
+ private enumerateOwnMembers;
32
+ }
33
+ export {};
@@ -0,0 +1,23 @@
1
+ import { TypeExtensionEntity, TypeEntity, TypeEntityWithMembers } from './index.js';
2
+ export type TypeMemberEntityContainer = TypeMemberEntityContainer.Type | TypeMemberEntityContainer.TypeExtension;
3
+ export declare namespace TypeMemberEntityContainer {
4
+ export class Type implements ITypeMemberEntityContainer {
5
+ readonly typeEntity: TypeEntityWithMembers;
6
+ readonly kind = "type";
7
+ constructor(typeEntity: TypeEntityWithMembers);
8
+ getContextualType(): TypeEntityWithMembers | undefined;
9
+ getEntity(): TypeEntityWithMembers | TypeExtensionEntity;
10
+ }
11
+ export class TypeExtension implements ITypeMemberEntityContainer {
12
+ readonly typeExtension: TypeExtensionEntity;
13
+ readonly kind = "type-extension";
14
+ constructor(typeExtension: TypeExtensionEntity);
15
+ getContextualType(): TypeEntity | undefined;
16
+ getEntity(): TypeEntityWithMembers | TypeExtensionEntity;
17
+ }
18
+ interface ITypeMemberEntityContainer {
19
+ getContextualType(): TypeEntity | undefined;
20
+ getEntity(): TypeEntityWithMembers | TypeExtensionEntity;
21
+ }
22
+ export {};
23
+ }
@@ -0,0 +1,94 @@
1
+ import { Analyzer } from '../analysis/index.js';
2
+ import { Name } from '../common/index.js';
3
+ import { TypeParameterDeclaration } from '../tree/index.js';
4
+ import * as types from '../types/index.js';
5
+ import { AliasTypeEntity, DefinitionKind, Entity, EntityHidingLevel, EntityKind, MethodEntity, MethodTypeEntity, StructuredTypeEntity, VariantTypeEntity } from './index.js';
6
+ export interface TypeParameterEntity {
7
+ readonly kind: EntityKind.TypeParameter;
8
+ getName(): Name;
9
+ /**
10
+ * При повторных вызовах метод должен возвращать один и тот же экземпляр класса TypeParameterConstraint.
11
+ */
12
+ getConstraint(): TypeParameterConstraint;
13
+ getDefaultType(): types.Type | undefined;
14
+ getDefinition(): TypeParameterEntityDefinition;
15
+ getArity(): number;
16
+ getTypeParameters(): readonly TypeParameterEntity[];
17
+ getContainingEntity(): EntityContainingTypeParameter;
18
+ isHidden(): EntityHidingLevel | undefined;
19
+ }
20
+ export type TypeParameterEntityDefinition = {
21
+ kind: DefinitionKind.Source;
22
+ node: TypeParameterDeclaration;
23
+ } | {
24
+ kind: DefinitionKind.Intrinsic;
25
+ } | {
26
+ kind: DefinitionKind.TypeScript;
27
+ };
28
+ export type EntityContainingTypeParameter = VariantTypeEntity | MethodEntity | MethodTypeEntity | StructuredTypeEntity | AliasTypeEntity;
29
+ export declare function isEntityContainingTypeParameter(entity: Entity): entity is EntityContainingTypeParameter;
30
+ /**
31
+ * Класс позволяет работать с ограничением параметра шаблона, исключая циклы.
32
+ *
33
+ * Пример цикла:
34
+ * ```artel
35
+ * тип МойТип<Т1: Т2, Т2: Т1> = объект { }
36
+ * ```
37
+ *
38
+ * Для типа `Т1` в поле `declared` будет указан тип `Т2`, а в поле `cycleFree` - `undefined`.
39
+ */
40
+ export declare class TypeParameterConstraint {
41
+ /**
42
+ * Указанное пользователем ограничение параметра шаблона (либо ограничение по умолчанию если не указано явно).
43
+ */
44
+ readonly declared: types.Type | undefined;
45
+ private _state;
46
+ /**
47
+ * Указанное пользователем ограничение шаблона, либо `undefined`, если указанное ограничение шаблона приводит к циклу.
48
+ */
49
+ get cycleFree(): types.Type | undefined;
50
+ /**
51
+ * Приводит ли указанное пользователем ограничение шаблона к циклу?
52
+ */
53
+ get causesCycle(): boolean;
54
+ constructor(declared: types.Type | undefined);
55
+ private getConstraintResolutionResult;
56
+ /**
57
+ * @param circularityTrackingStack Если элементом массива является `false`, тип не создаёт цикл, если `true` - создаёт.
58
+ */
59
+ private resolveConstraint;
60
+ }
61
+ export declare class SourceTypeParameterEntity implements TypeParameterEntity {
62
+ private readonly _analyzer;
63
+ private readonly _node;
64
+ readonly kind = EntityKind.TypeParameter;
65
+ private readonly _definition;
66
+ private readonly _constraint;
67
+ private readonly _default;
68
+ constructor(_analyzer: Analyzer, _node: TypeParameterDeclaration);
69
+ getName(): Name;
70
+ getConstraint(): TypeParameterConstraint;
71
+ getDefaultType(): types.Type | undefined;
72
+ getDefinition(): TypeParameterEntityDefinition;
73
+ getArity(): number;
74
+ getTypeParameters(): readonly TypeParameterEntity[];
75
+ getContainingEntity(): EntityContainingTypeParameter;
76
+ isHidden(): EntityHidingLevel | undefined;
77
+ }
78
+ export declare class IntrinsicTypeParameterEntity implements TypeParameterEntity {
79
+ private readonly _name;
80
+ private readonly _constraint;
81
+ private readonly _defaultValue;
82
+ private readonly _containingEntity;
83
+ readonly kind = EntityKind.TypeParameter;
84
+ private readonly _typeParameterConstraint;
85
+ constructor(_name: Name, _constraint: types.Type | undefined, _defaultValue: types.Type | undefined, _containingEntity: EntityContainingTypeParameter);
86
+ getName(): Name;
87
+ getConstraint(): TypeParameterConstraint;
88
+ getDefaultType(): types.Type | undefined;
89
+ getDefinition(): TypeParameterEntityDefinition;
90
+ getArity(): number;
91
+ getTypeParameters(): readonly TypeParameterEntity[];
92
+ getContainingEntity(): EntityContainingTypeParameter;
93
+ isHidden(): EntityHidingLevel | undefined;
94
+ }
@@ -0,0 +1,33 @@
1
+ import * as types from '../types/index.js';
2
+ import { DefinitionKind, EntityHidingLevel, EntityKind, TypeMemberEntityContainer } from './index.js';
3
+ export interface UnaryOperatorEntity {
4
+ readonly kind: EntityKind.UnaryOperator;
5
+ getOperatorKind(): UnaryOperatorKind;
6
+ getOperandType(): types.Type;
7
+ getResultType(): types.Type;
8
+ getDefinition(): UnaryOperatorDefinition;
9
+ getContainer(): TypeMemberEntityContainer;
10
+ isHidden(): EntityHidingLevel | undefined;
11
+ }
12
+ export type UnaryOperatorDefinition = {
13
+ kind: DefinitionKind.Intrinsic;
14
+ };
15
+ export declare enum UnaryOperatorKind {
16
+ Plus = 0,
17
+ Minus = 1,
18
+ Not = 2
19
+ }
20
+ export declare class IntrinsicUnaryOperatorEntity implements UnaryOperatorEntity {
21
+ readonly _operatorKind: UnaryOperatorKind;
22
+ private readonly _operandType;
23
+ private readonly _resultType;
24
+ private readonly _container;
25
+ readonly kind = EntityKind.UnaryOperator;
26
+ constructor(_operatorKind: UnaryOperatorKind, _operandType: types.Type, _resultType: types.Type, _container: TypeMemberEntityContainer);
27
+ getOperatorKind(): UnaryOperatorKind;
28
+ getOperandType(): types.Type;
29
+ getResultType(): types.Type;
30
+ getDefinition(): UnaryOperatorDefinition;
31
+ getContainer(): TypeMemberEntityContainer;
32
+ isHidden(): EntityHidingLevel | undefined;
33
+ }