@artel/artc 0.6.26039 → 0.9.26001

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 (213) hide show
  1. package/build/Cli.js +3 -3
  2. package/build/api/Api.js +19 -15
  3. package/build/api/ApiNodeJS.js +3 -3
  4. package/build/api/ApiServices.js +11426 -5066
  5. package/build/{chunk-LTJPPRSR.js → chunk-FLMCFMMG.js} +87218 -50777
  6. package/build/{chunk-AEW4TILW.js → chunk-V2TFXOVJ.js} +1 -1
  7. package/build/{chunk-5VVFNKOH.js → chunk-XMOVE7NP.js} +2 -2
  8. package/build/types/analysis/Analyzer.d.ts +6 -1
  9. package/build/types/analysis/TypeMemberLookup.d.ts +3 -1
  10. package/build/types/analysis/WellKnownDeclarations.d.ts +54 -0
  11. package/build/types/analysis/a/Analyzer.d.ts +10 -10
  12. package/build/types/analysis/a/IdentifierExpressionMeaning.d.ts +3 -3
  13. package/build/types/analysis/a/MemberAccessExpressionMeaning.d.ts +3 -3
  14. package/build/types/analysis/a/ModifierValidator.d.ts +3 -2
  15. package/build/types/analysis/a/ResolvedTranslationPackage.d.ts +2 -1
  16. package/build/types/analysis/a/SourceFileAnalyzer.d.ts +1 -1
  17. package/build/types/analysis/a/SourcePackageMembersCreator.d.ts +1 -2
  18. package/build/types/analysis/a/TreeQuery.d.ts +1 -2
  19. package/build/types/analysis/a/TypeMemberLookup.d.ts +3 -1
  20. package/build/types/analysis/a/semantic-context/FieldWithInitializerSemanticContext.d.ts +3 -3
  21. package/build/types/analysis/a/semantic-context/SemanticContext.d.ts +2 -2
  22. package/build/types/analysis/a/semantic-context/SemanticContextBuilder.d.ts +10 -12
  23. package/build/types/analysis/a/semantic-context/SpecialLocalDeclarationsBuilder.d.ts +0 -1
  24. package/build/types/analysis/a/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +5 -4
  25. package/build/types/analysis/a/semantic-context/SubprogramSemanticContext.d.ts +11 -10
  26. package/build/types/analysis/a/semantic-context/TypeSemanticContext.d.ts +13 -13
  27. package/build/types/analysis/m/Analyzer.d.ts +425 -1
  28. package/build/types/analysis/m/ArgumentToParameterMatchResult.d.ts +23 -0
  29. package/build/types/analysis/m/ArgumentsToParametersMatcher.d.ts +40 -0
  30. package/build/types/analysis/m/BaseExpressionMeaning.d.ts +25 -0
  31. package/build/types/analysis/m/CallExpressionMeaning.d.ts +72 -0
  32. package/build/types/analysis/m/ConstructorCallResolver.d.ts +24 -0
  33. package/build/types/analysis/m/DeclarationsUsageCounter.d.ts +12 -0
  34. package/build/types/analysis/m/DereferenceExpressionMeaning.d.ts +28 -0
  35. package/build/types/analysis/m/ExpressionAnalysisOptions.d.ts +21 -0
  36. package/build/types/analysis/m/FunctionAccessResolver.d.ts +19 -0
  37. package/build/types/analysis/m/IdentifierExpressionMeaning.d.ts +137 -0
  38. package/build/types/analysis/m/IndexedAccessExpressionMeaning.d.ts +32 -0
  39. package/build/types/analysis/m/InstanceFieldsInitializationValidator.d.ts +18 -0
  40. package/build/types/analysis/m/MemberAccessExpressionMeaning.d.ts +137 -0
  41. package/build/types/analysis/m/ModifierFlags.d.ts +20 -0
  42. package/build/types/analysis/m/NamedTypeResolver.d.ts +44 -0
  43. package/build/types/analysis/m/NamedTypeSpecifierResolver.d.ts +19 -0
  44. package/build/types/analysis/m/ObjectExpressionMeaning.d.ts +29 -0
  45. package/build/types/analysis/m/OverloadResolver.d.ts +104 -0
  46. package/build/types/analysis/m/OwnAndBaseConstructorCallsChecker.d.ts +36 -0
  47. package/build/types/analysis/m/PackageAndStaticVariablesInitializationValidator.d.ts +17 -0
  48. package/build/types/analysis/m/ReachabilityChecker.d.ts +27 -0
  49. package/build/types/analysis/m/ReductionSourceMemberFinder.d.ts +17 -0
  50. package/build/types/analysis/m/ReservedNameDictionary.d.ts +15 -0
  51. package/build/types/analysis/m/ResolvedTranslationPackage.d.ts +68 -0
  52. package/build/types/analysis/m/ReturnTypeInferrer.d.ts +13 -0
  53. package/build/types/analysis/m/SourceFileAnalyzer.d.ts +131 -0
  54. package/build/types/analysis/m/SourcePackageMembersCreator.d.ts +7 -0
  55. package/build/types/analysis/m/SourceTypeMembersCreator.d.ts +9 -0
  56. package/build/types/analysis/m/StaticDeclarationMeaning.d.ts +32 -0
  57. package/build/types/analysis/m/SyntacticAccessKind.d.ts +6 -0
  58. package/build/types/analysis/m/TagMeaning.d.ts +70 -0
  59. package/build/types/analysis/m/TextIdentity.d.ts +7 -0
  60. package/build/types/analysis/m/TranslatedEntityNameConflictsValidator.d.ts +28 -0
  61. package/build/types/analysis/m/TreeQuery.d.ts +15 -0
  62. package/build/types/analysis/m/TypeArgumentInferrer.d.ts +52 -0
  63. package/build/types/analysis/m/TypeInferrer.d.ts +11 -0
  64. package/build/types/analysis/m/TypeMemberLookup.d.ts +4 -1
  65. package/build/types/analysis/m/TypeNarrower.d.ts +31 -0
  66. package/build/types/analysis/m/TypeOverloadResolver.d.ts +9 -0
  67. package/build/types/analysis/m/UserDefinableBinaryOperatorResolver.d.ts +34 -0
  68. package/build/types/analysis/m/UserDefinableUnaryOperatorResolver.d.ts +23 -0
  69. package/build/types/analysis/m/VariableIsAssignedChecker.d.ts +11 -0
  70. package/build/types/analysis/m/VariableIsNotAssignedChecker.d.ts +12 -0
  71. package/build/types/analysis/m/control-flow/GraphBuilder.d.ts +52 -0
  72. package/build/types/analysis/m/control-flow/GraphVisualizer.d.ts +12 -0
  73. package/build/types/analysis/m/control-flow/NarrowableExpression.d.ts +5 -0
  74. package/build/types/analysis/m/control-flow/NarrowableReference.d.ts +72 -0
  75. package/build/types/analysis/m/control-flow/Nodes.d.ts +112 -0
  76. package/build/types/analysis/m/control-flow/index.d.ts +5 -0
  77. package/build/types/analysis/m/semantic-context/Declarations.d.ts +94 -0
  78. package/build/types/analysis/m/semantic-context/FieldWithInitializerSemanticContext.d.ts +28 -0
  79. package/build/types/analysis/m/semantic-context/SemanticContext.d.ts +14 -0
  80. package/build/types/analysis/m/semantic-context/SemanticContextBase.d.ts +190 -0
  81. package/build/types/analysis/m/semantic-context/SemanticContextBuilder.d.ts +69 -0
  82. package/build/types/analysis/m/semantic-context/SemanticContextValidatingNameConflicts.d.ts +51 -0
  83. package/build/types/analysis/m/semantic-context/SemanticContextWithParent.d.ts +12 -0
  84. package/build/types/analysis/m/semantic-context/SourceFileSemanticContext.d.ts +63 -0
  85. package/build/types/analysis/m/semantic-context/StaticDeclarationSemanticContext.d.ts +26 -0
  86. package/build/types/analysis/m/semantic-context/SubprogramBodyAndParametersSemanticContext.d.ts +108 -0
  87. package/build/types/analysis/m/semantic-context/SubprogramSemanticContext.d.ts +92 -0
  88. package/build/types/analysis/m/semantic-context/TypeSemanticContext.d.ts +93 -0
  89. package/build/types/analysis/m/semantic-context/index.d.ts +10 -0
  90. package/build/types/common/LocalizationHelper.d.ts +3 -1
  91. package/build/types/common/LocalizationHelperA.d.ts +0 -2
  92. package/build/types/common/LocalizationHelperM.d.ts +13 -0
  93. package/build/types/common/Name.d.ts +1 -1
  94. package/build/types/common/index.d.ts +1 -0
  95. package/build/types/diagnostic/DiagnosticCode.d.ts +211 -192
  96. package/build/types/diagnostic/TokenDiagnosticM.d.ts +2 -0
  97. package/build/types/emitter/EmitPhaseName.d.ts +2 -2
  98. package/build/types/emitter/EmitterContext.d.ts +4 -4
  99. package/build/types/emitter/Entities.d.ts +4 -2
  100. package/build/types/emitter/IrBuilderM.d.ts +124 -0
  101. package/build/types/emitter/IrFactory.d.ts +2 -2
  102. package/build/types/entities/Entity.d.ts +8 -5
  103. package/build/types/entities/EntityLocalizationContext.d.ts +3 -2
  104. package/build/types/entities/OperatorKind.d.ts +13 -18
  105. package/build/types/entities/Translation.d.ts +4 -3
  106. package/build/types/entities/interfaces/AliasTypeEntity.d.ts +4 -1
  107. package/build/types/entities/interfaces/DereferenceOperatorEntity.d.ts +3 -1
  108. package/build/types/entities/interfaces/FunctionEntity.d.ts +3 -1
  109. package/build/types/entities/interfaces/FunctionTypeEntity.d.ts +3 -1
  110. package/build/types/entities/interfaces/IndexerEntity.d.ts +4 -1
  111. package/build/types/entities/interfaces/PackageAliasEntity.d.ts +4 -1
  112. package/build/types/entities/interfaces/PackageEntity.d.ts +2 -1
  113. package/build/types/entities/interfaces/ReducedTypeEntity.d.ts +3 -1
  114. package/build/types/entities/interfaces/StructuredTypeEntity.d.ts +9 -2
  115. package/build/types/entities/interfaces/TextTranslationEntity.d.ts +4 -1
  116. package/build/types/entities/interfaces/TypeExtensionEntity.d.ts +4 -1
  117. package/build/types/entities/interfaces/TypeParameterEntity.d.ts +7 -3
  118. package/build/types/entities/interfaces/VariableEntity.d.ts +3 -2
  119. package/build/types/entities/interfaces/VariantTypeEntity.d.ts +3 -1
  120. package/build/types/entities/interfaces/m/ConstructorEntityM.d.ts +10 -0
  121. package/build/types/entities/interfaces/m/DestructorEntityM.d.ts +8 -0
  122. package/build/types/entities/interfaces/m/index.d.ts +2 -0
  123. package/build/types/entities/source/a/SourceFunctionEntity.d.ts +1 -1
  124. package/build/types/entities/source/a/SourcePackageEntity.d.ts +2 -1
  125. package/build/types/entities/source/a/SourceStructuredTypeEntity.d.ts +3 -5
  126. package/build/types/entities/source/m/SourceAliasTypeEntity.d.ts +32 -0
  127. package/build/types/entities/source/m/SourceConstructorEntity.d.ts +40 -0
  128. package/build/types/entities/source/m/SourceDestructorEntity.d.ts +38 -0
  129. package/build/types/entities/source/m/SourceFunctionEntity.d.ts +252 -0
  130. package/build/types/entities/source/m/SourceFunctionTypeEntity.d.ts +35 -0
  131. package/build/types/entities/source/m/SourceGetterEntity.d.ts +122 -0
  132. package/build/types/entities/source/m/SourceIndexerEntity.d.ts +36 -0
  133. package/build/types/entities/source/m/SourcePackageAliasEntity.d.ts +22 -0
  134. package/build/types/entities/source/m/SourcePackageEntity.d.ts +68 -0
  135. package/build/types/entities/source/m/SourceSetterEntity.d.ts +122 -0
  136. package/build/types/entities/source/m/SourceStructuredTypeEntity.d.ts +111 -0
  137. package/build/types/entities/source/m/SourceTextTranslationEntity.d.ts +29 -0
  138. package/build/types/entities/source/m/SourceTypeParameterEntity.d.ts +30 -0
  139. package/build/types/entities/source/m/SourceVariableEntity.d.ts +447 -0
  140. package/build/types/entities/source/m/SourceVariantTypeEntity.d.ts +38 -0
  141. package/build/types/entities/source/m/index.d.ts +15 -0
  142. package/build/types/entities/translated/TranslatedPackageEntity.d.ts +2 -1
  143. package/build/types/entities/translated/TranslatedStructuredTypeEntity.d.ts +33 -1
  144. package/build/types/entities/translated/source/a/SourceTranslatedPackageStructuredTypeEntity.d.ts +8 -2
  145. package/build/types/entities/translated/source/m/SourceTranslatedAliasTypeEntity.d.ts +14 -0
  146. package/build/types/entities/translated/source/m/SourceTranslatedDestructorEntity.d.ts +12 -0
  147. package/build/types/entities/translated/source/m/SourceTranslatedFunctionEntity.d.ts +24 -0
  148. package/build/types/entities/translated/source/m/SourceTranslatedFunctionTypeEntity.d.ts +13 -0
  149. package/build/types/entities/translated/source/m/SourceTranslatedIndexerEntity.d.ts +12 -0
  150. package/build/types/entities/translated/source/m/SourceTranslatedPackageEntity.d.ts +19 -0
  151. package/build/types/entities/translated/source/m/SourceTranslatedPackageStructuredTypeEntity.d.ts +26 -0
  152. package/build/types/entities/translated/source/m/SourceTranslatedPackageVariantTypeEntity.d.ts +14 -0
  153. package/build/types/entities/translated/source/m/SourceTranslatedReducedTypeEntity.d.ts +14 -0
  154. package/build/types/entities/translated/source/m/index.d.ts +9 -0
  155. package/build/types/parser/a/KeywordDictionary.d.ts +2 -3
  156. package/build/types/parser/a/Parser.d.ts +2 -2
  157. package/build/types/parser/m/ConvertTokenKind.d.ts +3 -0
  158. package/build/types/parser/m/KeywordDictionary.d.ts +33 -0
  159. package/build/types/parser/m/Parser.d.ts +7 -0
  160. package/build/types/parser/m/Scanner.d.ts +56 -0
  161. package/build/types/parser/m/TokenKind.d.ts +81 -0
  162. package/build/types/parser/m/TriviaInterner.d.ts +8 -0
  163. package/build/types/project/SourceFile.d.ts +5 -6
  164. package/build/types/services/LanguageServer.d.ts +23 -12
  165. package/build/types/services/a/NodeSemanticInfo.d.ts +2 -2
  166. package/build/types/services/common/WorkspaceItemsService.d.ts +1 -0
  167. package/build/types/services/common/completion/Types.d.ts +8 -2
  168. package/build/types/services/common/display/DisplayService.d.ts +3 -0
  169. package/build/types/services/common/display/Types.d.ts +2 -2
  170. package/build/types/services/m/CodeActionsService.d.ts +10 -0
  171. package/build/types/services/m/CompletionService.d.ts +60 -0
  172. package/build/types/services/m/DefinitionService.d.ts +11 -0
  173. package/build/types/services/m/DisplayService.d.ts +52 -0
  174. package/build/types/services/m/EvaluatableExpressionService.d.ts +10 -0
  175. package/build/types/services/m/HoverService.d.ts +11 -0
  176. package/build/types/services/m/NodeSemanticInfo.d.ts +46 -0
  177. package/build/types/services/m/RenameService.d.ts +11 -0
  178. package/build/types/services/m/SelectionRangeService.d.ts +7 -0
  179. package/build/types/services/m/SemanticTokensService.d.ts +11 -0
  180. package/build/types/services/m/SourceFileItemsService.d.ts +10 -0
  181. package/build/types/services/m/TranslationService.d.ts +23 -0
  182. package/build/types/services/m/TranslationsGenerationService.d.ts +7 -0
  183. package/build/types/services/m/TreeUtils.d.ts +58 -0
  184. package/build/types/services/m/references/DefinitionInfoFinder.d.ts +6 -0
  185. package/build/types/services/m/references/ReferencesFinder.d.ts +7 -0
  186. package/build/types/services/m/signature-help/ParametersSignatureHelpProvider.d.ts +15 -0
  187. package/build/types/services/m/signature-help/SignatureHelpService.d.ts +6 -0
  188. package/build/types/services/m/signature-help/SignatureWithParameters.d.ts +94 -0
  189. package/build/types/services/m/signature-help/TypeParameterSignatureHelpProvider.d.ts +21 -0
  190. package/build/types/services/m/signature-help/utils.d.ts +9 -0
  191. package/build/types/tree/a/KeywordKind.d.ts +1 -3
  192. package/build/types/tree/a/NodeKind.d.ts +113 -114
  193. package/build/types/tree/a/Nodes.d.ts +6 -5
  194. package/build/types/tree/a/OperatorKind.d.ts +5 -0
  195. package/build/types/tree/a/Types.d.ts +9 -4
  196. package/build/types/tree/m/BaseNode.d.ts +8 -40
  197. package/build/types/tree/m/KeywordFlags.d.ts +4 -0
  198. package/build/types/tree/m/KeywordKind.d.ts +40 -0
  199. package/build/types/tree/m/NodeKind.d.ts +147 -2
  200. package/build/types/tree/m/Nodes.d.ts +2064 -9
  201. package/build/types/tree/m/NodesDebug.d.ts +9 -0
  202. package/build/types/tree/m/OperatorKind.d.ts +39 -0
  203. package/build/types/tree/m/SyntaxToCode.d.ts +107 -0
  204. package/build/types/tree/m/Token.d.ts +46 -0
  205. package/build/types/tree/m/TokenFlags.d.ts +12 -0
  206. package/build/types/tree/m/TokenKind.d.ts +61 -60
  207. package/build/types/tree/m/TreeTraversal.d.ts +18 -0
  208. package/build/types/tree/m/Types.d.ts +46 -0
  209. package/build/types/tree/m/Utils.d.ts +7 -0
  210. package/build/types/tree/m/index.d.ts +9 -0
  211. package/build/types/types/StandardTypes.d.ts +2 -0
  212. package/package.json +2 -2
  213. /package/build/types/diagnostic/{TokenDiagnostic.d.ts → TokenDiagnosticA.d.ts} +0 -0
@@ -30,10 +30,10 @@ export declare class WellKnownDeclarationKeys {
30
30
  static readonly fieldProxyReadMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u043E\u0441\u0440\u0435\u0434\u043D\u0438\u043A\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439\u041E\u0431\u044A\u0435\u043A\u0442\u0430.\u043F\u0440\u043E\u0447\u0438\u0442\u0430\u0442\u044C";
31
31
  static readonly fieldProxyWriteMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u041F\u043E\u0441\u0440\u0435\u0434\u043D\u0438\u043A\u041F\u0435\u0440\u0435\u043C\u0435\u043D\u043D\u043E\u0439\u041E\u0431\u044A\u0435\u043A\u0442\u0430.\u0437\u0430\u043F\u0438\u0441\u0430\u0442\u044C";
32
32
  static readonly referenceConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0420\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F.\u0414\u0436\u0430\u0432\u0430\u0421\u043A\u0440\u0438\u043F\u0442.\u0421\u0441\u044B\u043B\u043A\u0430";
33
- static readonly textTemplateConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430(\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B,\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F)";
34
- static readonly textTemplateToTextMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430.\u0432-\u0442\u0435\u043A\u0441\u0442()";
35
- static readonly localizableTextTemplateConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u043C\u044B\u0439(\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B,\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F,\u043A\u043B\u044E\u0447,\u043F\u0430\u043A\u0435\u0442)";
36
- static readonly localizableTextTemplateTranslateMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0428\u0430\u0431\u043B\u043E\u043D\u0422\u0435\u043A\u0441\u0442\u0430\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u043C\u044B\u0439.\u043F\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438()";
33
+ static readonly textTemplateConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0422\u0435\u043A\u0441\u0442\u0428\u0430\u0431\u043B\u043E\u043D\u043D\u044B\u0439(\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B,\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F)";
34
+ static readonly textTemplateToTextMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0422\u0435\u043A\u0441\u0442\u0428\u0430\u0431\u043B\u043E\u043D\u043D\u044B\u0439.\u0432-\u0442\u0435\u043A\u0441\u0442()";
35
+ static readonly localizableTextTemplateConstructor = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0422\u0435\u043A\u0441\u0442\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u043C\u044B\u0439(\u0444\u0440\u0430\u0433\u043C\u0435\u043D\u0442\u044B,\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F,\u043A\u043B\u044E\u0447,\u043F\u0430\u043A\u0435\u0442)";
36
+ static readonly localizableTextTemplateTranslateMethod = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0422\u0435\u043A\u0441\u0442\u041F\u0435\u0440\u0435\u0432\u043E\u0434\u0438\u043C\u044B\u0439.\u043F\u0435\u0440\u0435\u0432\u0435\u0441\u0442\u0438()";
37
37
  static readonly symbolIteratorField = "\u0432\u0441\u0435\u043E\u0431\u0449\u0435\u0435 Platform.JavaScript.Symbol.iterator";
38
38
  static readonly inlineJsFunction = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0412\u0437\u0430\u0438\u043C\u043E\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435.\u043F\u043E\u0434\u0441\u0442\u0430\u0432\u0438\u0442\u044C-\u0440\u043E\u0434\u043D\u043E\u0439-\u043A\u043E\u0434";
39
39
  static readonly numberIsIntegerFunction = "\u0410\u0440\u0442\u0435\u043B\u044C.\u0420\u0435\u0430\u043B\u0438\u0437\u0430\u0446\u0438\u044F.\u0414\u0436\u0430\u0432\u0430\u0421\u043A\u0440\u0438\u043F\u0442.\u0447\u0438\u0441\u043B\u043E-\u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F-\u0446\u0435\u043B\u044B\u043C";
@@ -1,4 +1,4 @@
1
- import { PackageLocale } from '../common/index.js';
1
+ import { PackageDialect, PackageLocale } from '../common/index.js';
2
2
  import { JavaScriptImplementationConfig } from '../project/SourcePackage.js';
3
3
  export interface FunctionEntity {
4
4
  readonly kind: 'method';
@@ -140,6 +140,7 @@ export type PackageMemberEntity = FunctionEntity | VariableEntity | TypeOrExtens
140
140
  export interface PackageEntity {
141
141
  readonly kind: 'package';
142
142
  name: string;
143
+ dialect: PackageDialect;
143
144
  locale: PackageLocale;
144
145
  members: readonly PackageMemberEntity[];
145
146
  details: PackageEntityDetails;
@@ -199,10 +200,11 @@ export declare class IntrinsicFunctionEntity implements FunctionEntity {
199
200
  }
200
201
  export declare class IntrinsicPackageEntity implements PackageEntity {
201
202
  name: string;
203
+ dialect: PackageDialect;
202
204
  locale: PackageLocale;
203
205
  readonly kind = "package";
204
206
  members: readonly PackageMemberEntity[];
205
207
  details: PackageEntityDetails;
206
- constructor(name: string, locale: PackageLocale);
208
+ constructor(name: string, dialect: PackageDialect, locale: PackageLocale);
207
209
  }
208
210
  export {};
@@ -0,0 +1,124 @@
1
+ import { Analyzer } from '../analysis/m/Analyzer.js';
2
+ import { DeclarationsUsageMap } from '../analysis/DeclarationsUsageMap.js';
3
+ import { SourceFile, SourcePackageM } from '../project/index.js';
4
+ import * as commonTree from '../tree/index.js';
5
+ import { EmitterContext } from './EmitterContext.js';
6
+ import { EntityMap } from './EntityMap.js';
7
+ import * as ir from './ir/index.js';
8
+ export declare class IrBuilderM {
9
+ private readonly ectx;
10
+ private readonly entityMap;
11
+ private readonly declarationUsageInfoOfAllPackages;
12
+ private readonly typesCreatedFromLocalTypes;
13
+ private readonly textTemplateToTextMethod_;
14
+ private sourceFile;
15
+ private declarationsUsageInfoOfSourceFile;
16
+ private declarationsUsageInfoOfPackageSourceFiles;
17
+ private id;
18
+ private currentLoopLabel;
19
+ private get analyzer();
20
+ private get textTemplateToTextMethod();
21
+ constructor(ectx: EmitterContext, entityMap: EntityMap, declarationUsageInfoOfAllPackages: ReadonlyMap<commonTree.SourceFile, DeclarationsUsageMap>);
22
+ build(pkg: SourcePackageM): ir.Package;
23
+ private buildPackageMemberDeclarationList;
24
+ private buildBackingPackageVariables;
25
+ private buildPackageConstructorDeclaration;
26
+ private buildFunctionBlock;
27
+ private buildStatementBlock;
28
+ private buildStatementList;
29
+ private buildStatement;
30
+ private buildAssignmentStatement;
31
+ private buildContinueLoopStatement;
32
+ private buildBreakLoopStatement;
33
+ private buildPackageFunctionDeclaration;
34
+ private buildPackageTypeDeclaration;
35
+ private buildPackageAliasTypeDeclaration;
36
+ private buildPackageVariableDeclaration;
37
+ private buildPackageVariableGetterDeclaration;
38
+ private buildPackageVariableSetterDeclaration;
39
+ private buildBackingPackageVariable;
40
+ private buildVariantValueDeclaration;
41
+ private buildTypeMemberList;
42
+ private createDefaultStructuredTypeConstructor;
43
+ private buildIndexedElementGetterDeclaration;
44
+ private buildIndexedElementSetterDeclaration;
45
+ private buildMethodDeclaration;
46
+ private buildFieldDeclaration;
47
+ private buildComputedFieldDeclaration;
48
+ private buildFieldGetterDeclaration;
49
+ private buildFieldSetterDeclaration;
50
+ private buildBackingField;
51
+ private buildDisposeStatement;
52
+ private buildRunStatement;
53
+ private buildTryStatement;
54
+ private buildErrorStatement;
55
+ private buildImportantStatement;
56
+ private buildExpressionStatement;
57
+ private buildForStatement;
58
+ private buildIfStatement;
59
+ private buildElseIfClausesRecursively;
60
+ private buildNestedFunctionDeclarationStatement;
61
+ private buildParameterList;
62
+ private buildLocalVariableDeclarationStatement;
63
+ private buildLoopStatement;
64
+ private buildReturnStatement;
65
+ private buildSwitchStatement;
66
+ private buildCaseClause;
67
+ private isDefaultSwitchStatementCaseClause;
68
+ private buildWhileStatement;
69
+ private buildYieldStatement;
70
+ private buildExpression;
71
+ private applyImplicitConversionIfRequired;
72
+ private convertTextTemplateToText;
73
+ private expressionCanBeImplicitlyConverted;
74
+ private buildArrayLiteral;
75
+ private buildAssumptionExpression;
76
+ private buildBinaryExpression;
77
+ private buildCallExpression;
78
+ private buildIndexedAccessExpression;
79
+ private buildFunctionLiteral;
80
+ private buildFunctionBlockLiteral;
81
+ private buildParenthesizedExpression;
82
+ private buildPrefixUnaryExpression;
83
+ private buildMemberAccessExpression;
84
+ private convertVariableAccess;
85
+ private convertComputedAccess;
86
+ private buildReferenceExpression;
87
+ private buildConditionalExpression;
88
+ private buildCharLiteral;
89
+ private buildTextLiteral;
90
+ private buildLocalizableTextLiteral;
91
+ private buildTextTemplateLiteral;
92
+ private buildLocalizableTextTemplateLiteral;
93
+ private buildTokenExpression;
94
+ private buildKeywordExpression;
95
+ private buildObjectExpression;
96
+ private buildBaseExpression;
97
+ private buildDereferenceExpression;
98
+ private buildGenericSpecializationExpression;
99
+ private buildDefaultMatchExpression;
100
+ private buildIdentifierExpression;
101
+ private createExplicitReceiver;
102
+ private getEntityFromType;
103
+ private buildArgumentList;
104
+ private buildDecorators;
105
+ private buildTagAsDecorator;
106
+ private buildAndSaveTypeIfIsLocalTypeSpecifier;
107
+ private buildAndSaveLocalTypeDeclaration;
108
+ private buildLocalStructuredTypeDeclaration;
109
+ private getUnderlyingTypeKind;
110
+ private createAccessedFunctionFromOperatorMethod;
111
+ private expressionIsCallee;
112
+ private generateLoopLabel;
113
+ private buildTextTranslationDeclarationList;
114
+ private buildTextTranslationDeclaration;
115
+ private buildTextTranslationFunctionDeclaration;
116
+ private getSourceLocation;
117
+ }
118
+ export interface IrBuilderParams {
119
+ analyzer: Analyzer;
120
+ sourceFile: SourceFile;
121
+ declarationsUsageCountResult: DeclarationsUsageMap;
122
+ declarationsOfPackageSourceFilesUsageCountResults: readonly DeclarationsUsageMap[];
123
+ entityMap: EntityMap;
124
+ }
@@ -1,4 +1,4 @@
1
- import { AccessKind, PackageLocale } from '../common/index.js';
1
+ import { AccessKind, PackageDialect, PackageLocale } from '../common/index.js';
2
2
  import { EmitterContext } from './EmitterContext.js';
3
3
  import { ComputedNameInfo, FunctionEntity, FunctionEntityKind, NamedEntity, PackageEntity, Type, TypeOrExtensionEntity, VariableEntity } from './Entities.js';
4
4
  import * as ir from './ir/index.js';
@@ -132,4 +132,4 @@ export declare function packageVariableEntity(name: string, type: Type, containi
132
132
  export declare function typeMemberFunctionEntity(functionEntityKind: FunctionEntityKind, name: string, parameters: readonly VariableEntity[], returnType: Type, containingType: TypeOrExtensionEntity, isAsync: boolean, overriddenMembers: readonly FunctionEntity[], isBasic: boolean, isAbstract: boolean, isStatic: boolean, hasComputedName: ComputedNameInfo | undefined, hasObjectParameter: boolean): FunctionEntity;
133
133
  export declare function fieldAccessorEntity(name: string, field: VariableEntity, parameters: readonly VariableEntity[], returnType: Type, isSetter: boolean, overriddenMembers: readonly FunctionEntity[], isBasic: boolean, isAbstract: boolean, isStatic: boolean): FunctionEntity;
134
134
  export declare function packageFunctionEntity(name: string, parameters: readonly VariableEntity[], returnType: Type, containingPackage: PackageEntity, isAsync: boolean, isPackageConstructor: boolean, isPackageEntryPoint: boolean, isIntrinsic: boolean, hasObjectParameter: boolean): FunctionEntity;
135
- export declare function packageEntity(name: string, locale: PackageLocale, isPackageWithMainFunction: boolean, isMainPackage: boolean): PackageEntity;
135
+ export declare function packageEntity(name: string, dialect: PackageDialect, locale: PackageLocale, isPackageWithMainFunction: boolean, isMainPackage: boolean): PackageEntity;
@@ -6,10 +6,10 @@ import { IndexerEntity } from './interfaces/IndexerEntity.js';
6
6
  import { PackageAliasEntity } from './interfaces/PackageAliasEntity.js';
7
7
  import { PackageEntity } from './interfaces/PackageEntity.js';
8
8
  import { ReducedTypeEntity } from './interfaces/ReducedTypeEntity.js';
9
- import { AnonymousStructuredTypeEntity, PackageStructuredTypeEntity, StructuredTypeEntity } from './interfaces/StructuredTypeEntity.js';
9
+ import { AnonymousStructuredTypeEntity, LocalStructuredTypeEntity, PackageStructuredTypeEntity, StructuredTypeEntity } from './interfaces/StructuredTypeEntity.js';
10
10
  import { TextTranslationEntity } from './interfaces/TextTranslationEntity.js';
11
11
  import { TypeExtensionEntity } from './interfaces/TypeExtensionEntity.js';
12
- import { EntityContainingTypeParameter, TypeParameterEntity } from './interfaces/TypeParameterEntity.js';
12
+ import { EntityContainingTypeParameter, EntityWithFictiveTypeParameters, TypeParameterEntity } from './interfaces/TypeParameterEntity.js';
13
13
  import { EntityContainingParameter, FieldEntity, PackageVariableEntity, ParameterEntity, VariableEntity } from './interfaces/VariableEntity.js';
14
14
  import { PackageVariantTypeEntity, VariantTypeEntity } from './interfaces/VariantTypeEntity.js';
15
15
  import { TypeEntity } from './TypeEntity.js';
@@ -21,9 +21,11 @@ export declare const enum DefinitionKind {
21
21
  export type Entity = PackageEntity | VariableEntity | VariantTypeEntity | FunctionEntity | TypeParameterEntity | IndexerEntity | DereferenceOperatorEntity | FunctionTypeEntity | StructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | ReducedTypeEntity | TypeExtensionEntity | TextTranslationEntity;
22
22
  export type PackageTypeEntity = PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | ReducedTypeEntity;
23
23
  export declare function isPackageTypeEntity(entity: Entity): entity is PackageTypeEntity;
24
- export type NamedTypeEntity = PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | ReducedTypeEntity | TypeParameterEntity;
24
+ export type NamedTypeEntity = PackageStructuredTypeEntity | PackageVariantTypeEntity | AliasTypeEntity | ReducedTypeEntity | TypeParameterEntity | LocalStructuredTypeEntity;
25
25
  export type AnonymousTypeEntity = AnonymousStructuredTypeEntity | AnonymousFunctionTypeEntity;
26
+ export type LocalTypeEntity = LocalStructuredTypeEntity;
26
27
  export declare function isAnonymousTypeEntity(entity: Entity): entity is AnonymousTypeEntity;
28
+ export declare function isLocalTypeEntity(entity: Entity): entity is LocalTypeEntity;
27
29
  export type TypeEntityWithMembers = FunctionTypeEntity | StructuredTypeEntity | VariantTypeEntity | AliasTypeEntity | ReducedTypeEntity;
28
30
  export declare function isTypeEntityWithMembers(entity: Entity): entity is TypeEntityWithMembers;
29
31
  export type TypeOrExtensionEntity = TypeEntity | TypeExtensionEntity;
@@ -40,10 +42,11 @@ export type NamedPackageMemberEntity = PackageVariableEntity | PackageFunctionEn
40
42
  export declare function isNamedPackageMemberEntity(entity: Entity): entity is NamedPackageMemberEntity;
41
43
  export type NamedTypeMemberEntity = FieldEntity | MethodEntity;
42
44
  export declare function isNamedTypeMemberEntity(entity: Entity): entity is NamedTypeMemberEntity;
43
- export type NamedEntity = VariableEntity | PackageVariantTypeEntity | NamedFunctionEntity | TypeParameterEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | ReducedTypeEntity;
45
+ export type NamedEntity = VariableEntity | PackageVariantTypeEntity | NamedFunctionEntity | TypeParameterEntity | PackageStructuredTypeEntity | PackageAliasEntity | AliasTypeEntity | ReducedTypeEntity | LocalStructuredTypeEntity;
44
46
  export type PackageOrNestedFunctionEntity = PackageFunctionEntity | NestedFunctionEntity;
45
- export type EntityWithTypeParameters = EntityContainingTypeParameter;
47
+ export type EntityWithTypeParameters = Exclude<EntityContainingTypeParameter, EntityWithFictiveTypeParameters>;
46
48
  export declare function isEntityWithTypeParameters(entity: Entity): entity is EntityWithTypeParameters;
49
+ export declare function isEntityWithFictiveTypeParameters(entity: Entity): entity is EntityWithFictiveTypeParameters;
47
50
  export type EntityWithParameters = EntityContainingParameter;
48
51
  export declare function isEntityWithParameters(entity: Entity): entity is EntityWithParameters;
49
52
  export type NamedFunctionEntity = PackageFunctionEntity | MethodEntity | NestedFunctionEntity;
@@ -2,7 +2,7 @@ import { Analyzer } from '../analysis/Analyzer.js';
2
2
  import type * as types from '../types/index.js';
3
3
  import { Substitutions } from '../types/Substitutions.js';
4
4
  import { Entity, NamedTypeMemberEntity, PackageMemberEntity, PackageTypeEntity, TypeEntityWithMembers, TypeWithMembersOrExtensionEntity } from './Entity.js';
5
- import { AliasTypeEntity, AnonymousFunctionTypeEntity, AnonymousStructuredTypeEntity, DereferenceOperatorEntity, FieldEntity, FunctionTypeEntity, IndexerEntity, MethodEntity, NameTranslationPackageEntity, PackageEntity, PackageFunctionEntity, PackageStructuredTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, ParameterEntity, ReducedTypeEntity, StructuredTypeEntity, TypeExtensionEntity, TypeParameterEntity, VariantTypeEntity } from './interfaces/index.js';
5
+ import { AliasTypeEntity, AnonymousFunctionTypeEntity, AnonymousStructuredTypeEntity, DereferenceOperatorEntity, FieldEntity, FunctionTypeEntity, IndexerEntity, LocalStructuredTypeEntity, MethodEntity, NameTranslationPackageEntity, PackageEntity, PackageFunctionEntity, PackageStructuredTypeEntity, PackageVariableEntity, PackageVariantTypeEntity, ParameterEntity, ReducedTypeEntity, StructuredTypeEntity, TypeExtensionEntity, TypeParameterEntity, VariantTypeEntity } from './interfaces/index.js';
6
6
  import { TypeEntity } from './TypeEntity.js';
7
7
  import { TypeMemberEntity } from './TypeMemberEntity.js';
8
8
  export declare class EntityLocalizationContext {
@@ -22,6 +22,7 @@ export declare class EntityLocalizationContext {
22
22
  getLocalizedAnonymousFunctionTypeEntity(entity: AnonymousFunctionTypeEntity): AnonymousFunctionTypeEntity;
23
23
  getLocalizedPackageStructuredTypeEntity(entity: PackageStructuredTypeEntity): PackageStructuredTypeEntity;
24
24
  getLocalizedAnonymousStructuredTypeEntity(entity: AnonymousStructuredTypeEntity): AnonymousStructuredTypeEntity;
25
+ getLocalizedLocalStructuredTypeEntity(entity: LocalStructuredTypeEntity): LocalStructuredTypeEntity;
25
26
  getLocalizedAliasTypeEntity(entity: AliasTypeEntity): AliasTypeEntity;
26
27
  getLocalizedReducedTypeEntity(entity: ReducedTypeEntity): ReducedTypeEntity;
27
28
  getLocalizedTypeExtensionEntity(entity: TypeExtensionEntity): TypeExtensionEntity;
@@ -44,6 +45,6 @@ export declare class EntityLocalizationContext {
44
45
  private getOwnTranslatedTypeParameterEntity;
45
46
  private getOwnTranslatedParameterEntity;
46
47
  }
47
- export type LocalizableEntity = PackageEntity | PackageVariableEntity | FieldEntity | ParameterEntity | PackageVariantTypeEntity | PackageFunctionEntity | MethodEntity | TypeParameterEntity | IndexerEntity | DereferenceOperatorEntity | AnonymousFunctionTypeEntity | PackageStructuredTypeEntity | AnonymousStructuredTypeEntity | AliasTypeEntity | ReducedTypeEntity | TypeExtensionEntity;
48
+ export type LocalizableEntity = PackageEntity | PackageVariableEntity | FieldEntity | ParameterEntity | PackageVariantTypeEntity | PackageFunctionEntity | MethodEntity | TypeParameterEntity | IndexerEntity | DereferenceOperatorEntity | AnonymousFunctionTypeEntity | PackageStructuredTypeEntity | AnonymousStructuredTypeEntity | AliasTypeEntity | ReducedTypeEntity | TypeExtensionEntity | LocalStructuredTypeEntity;
48
49
  export declare function isLocalizableEntity(entity: Entity): entity is LocalizableEntity;
49
50
  export type LocalizablePackageMemberEntity = PackageMemberEntity & LocalizableEntity;
@@ -1,5 +1,4 @@
1
- import { KeywordKind } from '../tree/a/KeywordKind.js';
2
- import { OperatorKind as SyntacticalOperatorKind } from '../tree/a/OperatorKind.js';
1
+ import { PackageLocale } from '../common/PackageLocale.js';
3
2
  export declare enum OperatorKind {
4
3
  UnaryPlus = 0,
5
4
  UnaryMinus = 1,
@@ -26,33 +25,29 @@ export declare enum OperatorKind {
26
25
  /**
27
26
  * Виды операторов, задаваемых токенами (`+`, `-`, `*=` и др.).
28
27
  */
29
- export type KindOfOperatorDefinedByToken = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor | OperatorKind.LeftShift | OperatorKind.SignedRightShift | OperatorKind.UnsignedRightShift;
30
- export declare function isOperatorDefinedByToken(kind: OperatorKind): kind is KindOfOperatorDefinedByToken;
28
+ type OperatorKindDefinedByToken = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | OperatorKind.Modulo | OperatorKind.LessThan | OperatorKind.GreaterThan | OperatorKind.LessThanOrEqual | OperatorKind.GreaterThanOrEqual | OperatorKind.BitwiseAnd | OperatorKind.BitwiseOr | OperatorKind.BitwiseXor | OperatorKind.LeftShift | OperatorKind.SignedRightShift | OperatorKind.UnsignedRightShift;
29
+ export declare function isOperatorKindDefinedByToken(kind: OperatorKind): kind is OperatorKindDefinedByToken;
31
30
  /**
32
31
  * Виды операторов, задаваемых ключевыми словами (`и`, `или`, `не` и др.)
33
32
  */
34
- export type KindOfOperatorDefinedByKeyword = OperatorKind.Not | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor;
35
- export declare function isOperatorDefinedByKeyword(kind: OperatorKind): kind is KindOfOperatorDefinedByKeyword;
33
+ type OperatorKindDefinedByKeyword = OperatorKind.Not | OperatorKind.Or | OperatorKind.And | OperatorKind.Xor;
34
+ export declare function isOperatorKindDefinedByKeyword(kind: OperatorKind): kind is OperatorKindDefinedByKeyword;
36
35
  /**
37
36
  * Виды одноместных операторов. Объявление одноместного оператора не должно содержать ни одного параметра.
38
37
  */
39
38
  export type UnaryOperatorKind = OperatorKind.UnaryPlus | OperatorKind.UnaryMinus | OperatorKind.Not;
40
- export declare function isUnaryOperator(kind: OperatorKind): kind is UnaryOperatorKind;
39
+ export declare function isUnaryOperatorKind(kind: OperatorKind): kind is UnaryOperatorKind;
41
40
  /**
42
41
  * Виды двухместных операторов. Объявление двухместного оператора должно содержать один параметр.
43
42
  */
44
43
  export type BinaryOperatorKind = OperatorKind.Add | OperatorKind.Subtract | OperatorKind.Multiply | OperatorKind.Divide | 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;
45
- export declare function isBinaryOperator(kind: OperatorKind): kind is BinaryOperatorKind;
46
- export type KindOfUnaryOperatorDefinedByToken = UnaryOperatorKind & KindOfOperatorDefinedByToken;
47
- export type KindOfUnaryOperatorDefinedByKeyword = UnaryOperatorKind & KindOfOperatorDefinedByKeyword;
48
- export type KindOfBinaryOperatorDefinedByToken = BinaryOperatorKind & KindOfOperatorDefinedByToken;
49
- export type KindOfBinaryOperatorDefinedByKeyword = BinaryOperatorKind & KindOfOperatorDefinedByKeyword;
44
+ export declare function isBinaryOperatorKind(kind: OperatorKind): kind is BinaryOperatorKind;
50
45
  export declare const tokenTextByOperatorKind: {
51
- [T in KindOfOperatorDefinedByToken]: string;
46
+ [T in OperatorKindDefinedByToken]: string;
52
47
  };
53
- export declare const keywordKindByOperatorKind: {
54
- [T in KindOfOperatorDefinedByKeyword]: KeywordKind;
55
- };
56
- export declare const operatorKindsBySyntacticalOperatorKind: {
57
- [T in SyntacticalOperatorKind]: readonly OperatorKind[];
48
+ export declare const keywordTextByOperatorKindByLocale: {
49
+ readonly [T in PackageLocale]: {
50
+ readonly [T in OperatorKindDefinedByKeyword]: string;
51
+ };
58
52
  };
53
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { PackageLocale } from '../common/index.js';
2
2
  import { TranslationPackage } from '../project/index.js';
3
3
  import * as treeA from '../tree/a/index.js';
4
+ import * as treeM from '../tree/m/index.js';
4
5
  import { NameTranslationPackageEntity } from './index.js';
5
6
  export declare class Translation {
6
7
  readonly translationPackage: NameTranslationPackageEntity;
@@ -12,12 +13,12 @@ export declare class Translation {
12
13
  export type TranslationDefinition = SourceTranslationDefinition | IntrinsicTranslationDefinition;
13
14
  export declare class SourceTranslationDefinition {
14
15
  readonly nodeOrPackage: TranslationPackage | SourceTranslationDefinitionNode;
15
- readonly translatedNameIdentifier: treeA.Identifier | undefined;
16
+ readonly translatedNameIdentifier: treeA.Identifier | treeM.Identifier | undefined;
16
17
  readonly kind = "source";
17
- constructor(nodeOrPackage: TranslationPackage | SourceTranslationDefinitionNode, translatedNameIdentifier: treeA.Identifier | undefined);
18
+ constructor(nodeOrPackage: TranslationPackage | SourceTranslationDefinitionNode, translatedNameIdentifier: treeA.Identifier | treeM.Identifier | undefined);
18
19
  equals(other: TranslationDefinition): boolean;
19
20
  }
20
- export type SourceTranslationDefinitionNode = treeA.TranslationDeclaration | treeA.TypeMemberTranslation;
21
+ export type SourceTranslationDefinitionNode = treeA.TranslationDeclaration | treeA.TypeMemberTranslation | treeM.TranslationDeclaration | treeM.TypeMemberTranslation;
21
22
  export declare class IntrinsicTranslationDefinition {
22
23
  readonly kind = "intrinsic";
23
24
  constructor();
@@ -1,6 +1,7 @@
1
1
  import { Analyzer } from '../../analysis/Analyzer.js';
2
2
  import { Name } from '../../common/index.js';
3
3
  import * as treeA from '../../tree/a/index.js';
4
+ import * as treeM from '../../tree/m/index.js';
4
5
  import * as types from '../../types/index.js';
5
6
  import { DefinitionKind, EntityHidingLevel, EntityKind, ITypeEntity, SubstitutionApplicationMode, TypeEntityKind, TypeEntityMembers, TypeParameterEntity } from '../index.js';
6
7
  export interface AliasTypeEntity extends ITypeEntity {
@@ -22,10 +23,11 @@ export interface AliasTypeEntity extends ITypeEntity {
22
23
  }
23
24
  export type AliasTypeEntityDefinition = {
24
25
  kind: DefinitionKind.Source;
25
- node: treeA.PackageAliasTypeDeclaration;
26
+ node: AliasTypeEntityDefinitionNode;
26
27
  } | {
27
28
  kind: DefinitionKind.TypeScript;
28
29
  };
30
+ type AliasTypeEntityDefinitionNode = treeA.PackageAliasTypeDeclaration | treeM.PackageAliasTypeDeclaration;
29
31
  /**
30
32
  * Класс позволяет работать с правой частью тождественного типа (с "aliased type"), исключая циклы.
31
33
  *
@@ -86,3 +88,4 @@ export declare class CycleFreeAliasedTypeResolutionResult {
86
88
  readonly causesCycle: boolean;
87
89
  constructor(type: types.Type, causesCycle: boolean);
88
90
  }
91
+ export {};
@@ -66,7 +66,9 @@ export declare abstract class BaseDereferenceOperatorEntity implements Dereferen
66
66
  }
67
67
  export type DereferenceOperatorEntityDefinition = {
68
68
  kind: DefinitionKind.Source;
69
- nodes: ReadonlyArray<treeA.DereferencedVariableGetterDeclaration | treeA.DereferencedVariableSetterDeclaration>;
69
+ nodes: readonly DereferenceOperatorEntityDefinitionNode[];
70
70
  } | {
71
71
  kind: DefinitionKind.Intrinsic;
72
72
  };
73
+ type DereferenceOperatorEntityDefinitionNode = treeA.DereferencedVariableGetterDeclaration | treeA.DereferencedVariableSetterDeclaration;
74
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { Analyzer } from '../../analysis/Analyzer.js';
2
2
  import { Name, PackageDialect, PackageLocale } from '../../common/index.js';
3
3
  import * as treeA from '../../tree/a/index.js';
4
+ import * as treeM from '../../tree/m/index.js';
4
5
  import * as types from '../../types/index.js';
5
6
  import { DefinitionKind, TypeWithMembersOrExtensionEntity } from '../Entity.js';
6
7
  import { EntityHidingLevel } from '../EntityHiding.js';
@@ -163,10 +164,11 @@ export interface AnonymousFunctionEntity extends IFunctionEntity {
163
164
  }
164
165
  export type FunctionEntityDefinition = {
165
166
  kind: DefinitionKind.Source;
166
- node: treeA.PackageFunctionDeclaration | treeA.MethodDeclaration | treeA.NestedFunctionDeclaration | treeA.FunctionLiteral | treeA.FunctionBlockLiteral | treeA.ConstructorDeclaration | treeA.DestructorDeclaration | treeA.GetterDeclaration | treeA.SetterDeclaration;
167
+ node: FunctionEntityDefinitionNode;
167
168
  } | {
168
169
  kind: DefinitionKind.Intrinsic;
169
170
  } | {
170
171
  kind: DefinitionKind.TypeScript;
171
172
  };
173
+ type FunctionEntityDefinitionNode = treeA.PackageFunctionDeclaration | treeA.MethodDeclaration | treeA.NestedFunctionDeclaration | treeA.FunctionLiteral | treeA.FunctionBlockLiteral | treeA.ConstructorDeclaration | treeA.DestructorDeclaration | treeA.GetterDeclaration | treeA.SetterDeclaration | treeM.PackageFunctionDeclaration | treeM.MethodDeclaration | treeM.NestedFunctionDeclaration | treeM.FunctionLiteral | treeM.FunctionBlockLiteral | treeM.StaticMethodDeclaration | treeM.GetterDeclaration | treeM.SetterDeclaration;
172
174
  export {};
@@ -1,4 +1,5 @@
1
1
  import * as treeA from '../../tree/a/index.js';
2
+ import * as treeM from '../../tree/m/index.js';
2
3
  import * as types from '../../types/index.js';
3
4
  import { BaseObjectType } from '../BaseObjectType.js';
4
5
  import { DefinitionKind, EntityHidingLevel, EntityKind, EntityNaming, ITypeEntity, ParameterEntity, SubstitutionApplicationMode, TypeEntityKind, TypeEntityMembers, TypeParameterEntity } from '../index.js';
@@ -28,10 +29,11 @@ export interface AnonymousFunctionTypeEntity extends IFunctionTypeEntity {
28
29
  }
29
30
  export type FunctionTypeEntityDefinition = {
30
31
  kind: DefinitionKind.Source;
31
- node: treeA.AnonymousFunctionTypeDeclaration;
32
+ node: FunctionTypeEntityDefinitionNode;
32
33
  } | {
33
34
  kind: DefinitionKind.Intrinsic;
34
35
  } | {
35
36
  kind: DefinitionKind.TypeScript;
36
37
  };
38
+ type FunctionTypeEntityDefinitionNode = treeA.AnonymousFunctionTypeDeclaration | treeM.LocalFunctionTypeDeclaration;
37
39
  export {};
@@ -1,6 +1,7 @@
1
1
  import { Analyzer } from '../../analysis/Analyzer.js';
2
2
  import { PackageDialect, PackageLocale } from '../../common/index.js';
3
3
  import * as treeA from '../../tree/a/index.js';
4
+ import * as treeM from '../../tree/m/index.js';
4
5
  import * as types from '../../types/index.js';
5
6
  import { DefinitionKind, TypeWithMembersOrExtensionEntity } from '../Entity.js';
6
7
  import { EntityHidingLevel } from '../EntityHiding.js';
@@ -69,9 +70,11 @@ export declare abstract class BaseIndexerEntity implements IndexerEntity {
69
70
  }
70
71
  export type IndexerEntityDefinition = {
71
72
  kind: DefinitionKind.Source;
72
- nodes: ReadonlyArray<treeA.IndexedElementGetterDeclaration | treeA.IndexedElementSetterDeclaration>;
73
+ nodes: readonly IndexerEntityDefinitionNode[];
73
74
  } | {
74
75
  kind: DefinitionKind.Intrinsic;
75
76
  } | {
76
77
  kind: DefinitionKind.TypeScript;
77
78
  };
79
+ type IndexerEntityDefinitionNode = treeA.IndexedElementGetterDeclaration | treeA.IndexedElementSetterDeclaration | treeM.IndexedElementGetterDeclaration | treeM.IndexedElementSetterDeclaration;
80
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import * as treeA from '../../tree/a/index.js';
3
+ import * as treeM from '../../tree/m/index.js';
3
4
  import { IEntity } from '../IEntity.js';
4
5
  import { DefinitionKind, EntityHidingLevel, EntityKind, PackageEntity } from '../index.js';
5
6
  export interface PackageAliasEntity extends IEntity {
@@ -12,5 +13,7 @@ export interface PackageAliasEntity extends IEntity {
12
13
  }
13
14
  export type PackageAliasEntityDefinition = {
14
15
  kind: DefinitionKind.Source;
15
- node: treeA.PackageImport;
16
+ node: PackageAliasEntityDefinitionNode;
16
17
  };
18
+ type PackageAliasEntityDefinitionNode = treeA.PackageImport | treeM.PackageImport;
19
+ export {};
@@ -1,7 +1,7 @@
1
1
  import { PackageLocale } from '../../common/PackageLocale.js';
2
2
  import { JavaScriptImplementationConfig, PackageName, PlatformKind, SourcePackage } from '../../project/index.js';
3
3
  import { IEntity } from '../IEntity.js';
4
- import { AnonymousTypeEntity, DefinitionKind, EntityKind, EntityLocalizationContext, LocalizablePackageMemberEntity, PackageEntityMembers, TypeMemberEntity } from '../index.js';
4
+ import { AnonymousTypeEntity, DefinitionKind, EntityKind, EntityLocalizationContext, LocalizablePackageMemberEntity, PackageEntityMembers, TypeMemberEntity, LocalTypeEntity } from '../index.js';
5
5
  export type PackageEntity = ProgramPackageEntity | NameTranslationPackageEntity | TextTranslationPackageEntity;
6
6
  export interface IPackageEntity extends IEntity {
7
7
  readonly kind: EntityKind.Package;
@@ -28,6 +28,7 @@ export interface NameTranslationPackageEntity extends IPackageEntity {
28
28
  getTranslatedPackageMember(entity: LocalizablePackageMemberEntity): LocalizablePackageMemberEntity;
29
29
  getTranslatedTypeMember(entity: TypeMemberEntity): TypeMemberEntity;
30
30
  getTranslatedAnonymousTypeEntity(entity: AnonymousTypeEntity): AnonymousTypeEntity;
31
+ getTranslatedLocalTypeEntity(entity: LocalTypeEntity): LocalTypeEntity;
31
32
  }
32
33
  export interface TextTranslationPackageEntity extends IPackageEntity {
33
34
  readonly subkind: 'text-translation';
@@ -32,8 +32,9 @@ export interface ReducedTypeEntity extends ITypeEntity {
32
32
  }
33
33
  export type ReducedTypeEntityDefinition = {
34
34
  kind: DefinitionKind.Source;
35
- node: treeA.PackageReducedTypeDeclaration;
35
+ node: ReducedTypeEntityDefinitionNode;
36
36
  };
37
+ type ReducedTypeEntityDefinitionNode = treeA.PackageReducedTypeDeclaration;
37
38
  export declare class PreservedReducedTypeEntityMemberInfo<T extends types.TypeMember = types.TypeMember> {
38
39
  readonly reductionSourceMember: T | undefined;
39
40
  constructor(reductionSourceMember: T | undefined);
@@ -98,3 +99,4 @@ export declare class CycleFreeReductionSourceResolutionResult {
98
99
  readonly causesCycle: boolean;
99
100
  constructor(type: types.Type, causesCycle: boolean);
100
101
  }
102
+ export {};
@@ -1,9 +1,11 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import * as treeA from '../../tree/a/index.js';
3
+ import * as treeM from '../../tree/m/index.js';
3
4
  import { BaseAspectTypes } from '../BaseAspectTypes.js';
4
5
  import { BaseObjectType } from '../BaseObjectType.js';
5
6
  import { DefinitionKind, EntityHidingLevel, EntityKind, EntityNaming, ITypeEntity, SubstitutionApplicationMode, TypeEntityKind, TypeEntityMembers, TypeParameterEntity } from '../index.js';
6
- export type StructuredTypeEntity = PackageStructuredTypeEntity | AnonymousStructuredTypeEntity;
7
+ export type NamedStructuredTypeEntity = PackageStructuredTypeEntity | LocalStructuredTypeEntity;
8
+ export type StructuredTypeEntity = NamedStructuredTypeEntity | AnonymousStructuredTypeEntity;
7
9
  interface IStructuredTypeEntity extends ITypeEntity {
8
10
  readonly kind: EntityKind.Type;
9
11
  readonly typeEntityKind: TypeEntityKind.Structured;
@@ -32,6 +34,11 @@ export interface PackageStructuredTypeEntity extends IStructuredTypeEntity {
32
34
  getName(): Name;
33
35
  getOriginalEntity(): PackageStructuredTypeEntity;
34
36
  }
37
+ export interface LocalStructuredTypeEntity extends IStructuredTypeEntity {
38
+ readonly subkind: 'local';
39
+ getName(): Name;
40
+ getOriginalEntity(): LocalStructuredTypeEntity;
41
+ }
35
42
  export interface AnonymousStructuredTypeEntity extends IStructuredTypeEntity {
36
43
  readonly subkind: 'anonymous';
37
44
  getOriginalEntity(): AnonymousStructuredTypeEntity;
@@ -49,5 +56,5 @@ export type StructuredTypeEntityDefinition = {
49
56
  } | {
50
57
  kind: DefinitionKind.TypeScript;
51
58
  };
52
- type StructuredTypeEntityDefinitionNode = treeA.PackageStructuredTypeDeclaration | treeA.AnonymousStructuredTypeDeclaration;
59
+ type StructuredTypeEntityDefinitionNode = treeA.PackageStructuredTypeDeclaration | treeA.AnonymousStructuredTypeDeclaration | treeM.LocalStructuredTypeDeclaration | treeM.PackageTypeDeclaration | treeM.LocalStructuredTypeDeclaration;
53
60
  export {};
@@ -1,4 +1,5 @@
1
1
  import * as treeA from '../../tree/a/index.js';
2
+ import * as treeM from '../../tree/m/index.js';
2
3
  import { IEntity } from '../IEntity.js';
3
4
  import { DefinitionKind, EntityHidingLevel, EntityKind, ParameterEntity } from '../index.js';
4
5
  export interface TextTranslationEntity extends IEntity {
@@ -15,5 +16,7 @@ export interface TextTranslationEntity extends IEntity {
15
16
  }
16
17
  export type TextTranslationEntityDefinition = {
17
18
  kind: DefinitionKind.Source;
18
- node: treeA.TextTranslationSource;
19
+ node: TextTranslationEntityDefinitionNode;
19
20
  };
21
+ type TextTranslationEntityDefinitionNode = treeA.TextTranslationSource | treeM.TextTranslationSource;
22
+ export {};
@@ -1,4 +1,5 @@
1
1
  import * as treeA from '../../tree/a/index.js';
2
+ import * as treeM from '../../tree/m/index.js';
2
3
  import { IEntity } from '../IEntity.js';
3
4
  import { DefinitionKind, EntityHidingLevel, EntityKind, NamedTypeEntity, TypeEntityMembers } from '../index.js';
4
5
  export interface TypeExtensionEntity extends IEntity {
@@ -12,5 +13,7 @@ export interface TypeExtensionEntity extends IEntity {
12
13
  }
13
14
  export type TypeExtensionEntityDefinition = {
14
15
  kind: DefinitionKind.Source;
15
- node: treeA.TypeExtensionDeclaration;
16
+ node: TypeExtensionEntityDefinitionNode;
16
17
  };
18
+ type TypeExtensionEntityDefinitionNode = treeA.TypeExtensionDeclaration | treeM.PackageTypeDeclaration;
19
+ export {};
@@ -1,7 +1,8 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import * as treeA from '../../tree/a/index.js';
3
+ import * as treeM from '../../tree/m/index.js';
3
4
  import * as types from '../../types/index.js';
4
- import { AliasTypeEntity, DefinitionKind, EntityHidingLevel, EntityKind, FunctionTypeEntity, ITypeEntity, NamedFunctionEntity, ReducedTypeEntity, StructuredTypeEntity, TypeEntityKind, VariantTypeEntity } from '../index.js';
5
+ import { AliasTypeEntity, DefinitionKind, EntityHidingLevel, EntityKind, FunctionTypeEntity, ITypeEntity, NamedFunctionEntity, ReducedTypeEntity, StructuredTypeEntity, TypeEntityKind, TypeExtensionEntity, VariantTypeEntity } from '../index.js';
5
6
  export interface TypeParameterEntity extends ITypeEntity {
6
7
  readonly kind: EntityKind.Type;
7
8
  readonly typeEntityKind: TypeEntityKind.Parameter;
@@ -20,13 +21,15 @@ export interface TypeParameterEntity extends ITypeEntity {
20
21
  }
21
22
  export type TypeParameterEntityDefinition = {
22
23
  kind: DefinitionKind.Source;
23
- node: treeA.TypeParameterDeclaration;
24
+ node: TypeParameterEntityDefinitionNode;
24
25
  } | {
25
26
  kind: DefinitionKind.Intrinsic;
26
27
  } | {
27
28
  kind: DefinitionKind.TypeScript;
28
29
  };
29
- export type EntityContainingTypeParameter = VariantTypeEntity | NamedFunctionEntity | FunctionTypeEntity | StructuredTypeEntity | AliasTypeEntity | ReducedTypeEntity;
30
+ type TypeParameterEntityDefinitionNode = treeA.TypeParameterDeclaration | treeM.TypeParameterDeclaration;
31
+ export type EntityContainingTypeParameter = VariantTypeEntity | NamedFunctionEntity | FunctionTypeEntity | StructuredTypeEntity | AliasTypeEntity | ReducedTypeEntity | EntityWithFictiveTypeParameters;
32
+ export type EntityWithFictiveTypeParameters = TypeExtensionEntity;
30
33
  /**
31
34
  * Класс позволяет работать с ограничением параметра шаблона, исключая циклы.
32
35
  *
@@ -70,3 +73,4 @@ export declare class CycleFreeConstraintResolutionResult {
70
73
  constructor(type: types.Type | undefined, causesCycle: boolean);
71
74
  }
72
75
  export declare const emptyTypeParameterEntities: readonly TypeParameterEntity[];
76
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { Analyzer } from '../../analysis/Analyzer.js';
2
2
  import { Name, PackageDialect, PackageLocale } from '../../common/index.js';
3
3
  import * as treeA from '../../tree/a/index.js';
4
+ import * as treeM from '../../tree/m/index.js';
4
5
  import * as types from '../../types/index.js';
5
6
  import { AccessorEntity } from '../AccessorEntity.js';
6
7
  import { DefinitionKind, TypeWithMembersOrExtensionEntity } from '../Entity.js';
@@ -127,11 +128,11 @@ export type VariableEntityDefinition = {
127
128
  export type SourceVariableEntityDefinition = SingleSourceVariableEntityDefinition | MultiSourceVariableEntityDefinition;
128
129
  export type SingleSourceVariableEntityDefinition = {
129
130
  kind: 'single';
130
- node: treeA.PackageVariableDeclaration | treeA.FieldDeclaration | treeA.LocalVariableDeclaration | treeA.ForStatementVariableDeclaration | treeA.ErrorVariableDeclaration | treeA.ParameterDeclaration | treeA.VariantValueDeclaration | treeA.TranslationTextTemplateParameter;
131
+ node: treeA.PackageVariableDeclaration | treeA.FieldDeclaration | treeA.LocalVariableDeclaration | treeA.ForStatementVariableDeclaration | treeA.ErrorVariableDeclaration | treeA.ParameterDeclaration | treeA.VariantValueDeclaration | treeA.TranslationTextTemplateParameter | treeM.PackageVariableDeclaration | treeM.FieldDeclaration | treeM.LocalVariableDeclaration | treeM.ForStatementVariableDeclaration | treeM.ErrorVariableDeclaration | treeM.ParameterDeclaration | treeM.VariantValueDeclaration | treeM.TranslationTextTemplateParameter | treeM.StaticFieldDeclaration;
131
132
  };
132
133
  export type MultiSourceVariableEntityDefinition = {
133
134
  kind: 'multi';
134
- nodes: ReadonlyArray<treeA.PackageVariableGetterDeclaration | treeA.PackageVariableSetterDeclaration | treeA.FieldGetterDeclaration | treeA.FieldSetterDeclaration | treeA.ParameterDeclaration>;
135
+ nodes: ReadonlyArray<treeA.PackageVariableGetterDeclaration | treeA.PackageVariableSetterDeclaration | treeA.FieldGetterDeclaration | treeA.FieldSetterDeclaration | treeA.ParameterDeclaration | treeM.PackageVariableGetterDeclaration | treeM.PackageVariableSetterDeclaration | treeM.FieldGetterDeclaration | treeM.FieldSetterDeclaration | treeM.ParameterDeclaration | treeM.StaticFieldGetterDeclaration | treeM.StaticFieldSetterDeclaration>;
135
136
  };
136
137
  export type SpecialVariableEntityInfo = ResultSpecialVariableEntityInfo | ValueSpecialVariableEntityInfo | BackingSpecialVariableEntityInfo | ImplicitFunctionBlockParameterSpecialVariableEntityInfo;
137
138
  export declare class ResultSpecialVariableEntityInfo {
@@ -1,5 +1,6 @@
1
1
  import { Name } from '../../common/index.js';
2
2
  import * as treeA from '../../tree/a/index.js';
3
+ import * as treeM from '../../tree/m/index.js';
3
4
  import * as types from '../../types/index.js';
4
5
  import { BaseObjectType } from '../BaseObjectType.js';
5
6
  import { DefinitionKind, EntityHidingLevel, EntityKind, EntityNaming, ITypeEntity, SubstitutionApplicationMode, TypeEntityKind, TypeEntityMembers, TypeParameterEntity } from '../index.js';
@@ -28,8 +29,9 @@ export interface PackageVariantTypeEntity extends IVariantTypeEntity {
28
29
  }
29
30
  export type VariantTypeEntityDefinition = {
30
31
  kind: DefinitionKind.Source;
31
- node: treeA.PackageVariantDeclaration;
32
+ node: VariantTypeEntityDefinitionNode;
32
33
  } | {
33
34
  kind: DefinitionKind.TypeScript;
34
35
  };
36
+ type VariantTypeEntityDefinitionNode = treeA.PackageVariantDeclaration | treeM.PackageTypeDeclaration;
35
37
  export {};