@idlizer/arktscgen 2.1.9-arktscgen-8 → 2.1.10-arktscgen-2

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 (268) hide show
  1. package/build/libarkts-copy/generator/options.json5 +141 -3
  2. package/build/libarkts-copy/native/mingw.cross +13 -0
  3. package/build/libarkts-copy/native/src/bridges.cc +101 -232
  4. package/build/libarkts-copy/native/src/common.cc +55 -10
  5. package/build/libarkts-copy/native/src/common.h +1 -0
  6. package/build/libarkts-copy/native/src/generated/bridges.cc +1669 -44
  7. package/build/libarkts-copy/package.json +14 -17
  8. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +39 -50
  9. package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +1 -1
  10. package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +6 -5
  11. package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +5 -2
  12. package/build/libarkts-copy/src/arkts-api/node-cache.ts +4 -0
  13. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +7 -6
  14. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +3 -1
  15. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +25 -6
  16. package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/ImportPathManager.ts → arkts-api/node-utilities/OpaqueTypeNode.ts} +8 -17
  17. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +11 -21
  18. package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +7 -0
  19. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +10 -8
  20. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +6 -0
  21. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +3 -15
  22. package/build/libarkts-copy/src/arkts-api/peers/ExternalSource.ts +4 -0
  23. package/build/libarkts-copy/src/arkts-api/plugins.ts +3 -4
  24. package/build/libarkts-copy/src/arkts-api/static/global.ts +29 -1
  25. package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +68 -5
  26. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +3 -3
  27. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +74 -42
  28. package/build/libarkts-copy/src/arkts-api/visitor.ts +965 -364
  29. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +98 -91
  30. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +610 -13
  31. package/build/libarkts-copy/src/generated/factory.ts +2 -2
  32. package/build/libarkts-copy/src/generated/index.ts +3 -2
  33. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +3 -2
  34. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +3 -2
  35. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +3 -2
  36. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +6 -7
  37. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +6 -7
  38. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +4 -0
  39. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +6 -7
  40. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +6 -7
  41. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +5 -6
  42. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +6 -7
  43. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +3 -0
  44. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +5 -6
  45. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +5 -6
  46. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +5 -6
  47. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +5 -6
  48. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +5 -6
  49. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +5 -6
  50. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +6 -7
  51. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +5 -6
  52. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +6 -7
  53. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +5 -6
  54. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +5 -6
  55. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +7 -8
  56. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +9 -8
  57. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +3 -2
  58. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +5 -6
  59. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +15 -8
  60. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +5 -6
  61. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +5 -6
  62. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +6 -7
  63. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +5 -6
  64. package/build/libarkts-copy/src/generated/peers/Decorator.ts +5 -6
  65. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +5 -6
  66. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +5 -6
  67. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +5 -6
  68. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +5 -6
  69. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +5 -6
  70. package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +7 -8
  71. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +5 -6
  72. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +5 -6
  73. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +5 -6
  74. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +6 -7
  75. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +6 -7
  76. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +5 -6
  77. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +5 -6
  78. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +7 -8
  79. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +5 -6
  80. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +3 -4
  81. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +5 -6
  82. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +5 -6
  83. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +9 -10
  84. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +5 -6
  85. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +6 -7
  86. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +5 -6
  87. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +5 -6
  88. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +5 -6
  89. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +6 -7
  90. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +5 -6
  91. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +5 -6
  92. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +9 -10
  93. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +5 -6
  94. package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -2
  95. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +5 -6
  96. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +5 -6
  97. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +5 -6
  98. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +4 -5
  99. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +6 -7
  100. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +6 -7
  101. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +3 -0
  102. package/build/libarkts-copy/src/generated/peers/Identifier.ts +7 -8
  103. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +5 -6
  104. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +5 -6
  105. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +5 -6
  106. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +5 -6
  107. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +5 -6
  108. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +5 -6
  109. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +5 -6
  110. package/build/libarkts-copy/src/generated/peers/Literal.ts +3 -2
  111. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +3 -2
  112. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +3 -2
  113. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +5 -10
  114. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +5 -6
  115. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +5 -6
  116. package/build/libarkts-copy/src/generated/peers/NamedType.ts +5 -6
  117. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +5 -6
  118. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +5 -6
  119. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +10 -9
  120. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +5 -6
  121. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +5 -6
  122. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +5 -6
  123. package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +5 -6
  124. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +5 -6
  125. package/build/libarkts-copy/src/generated/peers/Program.ts +2 -0
  126. package/build/libarkts-copy/src/generated/peers/Property.ts +6 -7
  127. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +5 -6
  128. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +6 -7
  129. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +19 -6
  130. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +5 -6
  131. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +6 -0
  132. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +5 -6
  133. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +3 -0
  134. package/build/libarkts-copy/src/generated/peers/Statement.ts +3 -2
  135. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +6 -7
  136. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +5 -6
  137. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +5 -6
  138. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +5 -6
  139. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +5 -6
  140. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +5 -6
  141. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +5 -6
  142. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +5 -6
  143. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +5 -6
  144. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +6 -7
  145. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +5 -6
  146. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +5 -6
  147. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +6 -7
  148. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +6 -7
  149. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +5 -6
  150. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +5 -6
  151. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +5 -6
  152. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +5 -6
  153. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +5 -6
  154. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +5 -6
  155. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +5 -6
  156. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +5 -6
  157. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +5 -6
  158. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +5 -6
  159. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +5 -6
  160. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +5 -6
  161. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +5 -6
  162. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +5 -6
  163. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +5 -6
  164. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +5 -6
  165. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +5 -6
  166. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +5 -6
  167. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +5 -6
  168. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +5 -6
  169. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +5 -6
  170. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +5 -6
  171. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +5 -6
  172. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +5 -6
  173. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +5 -6
  174. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +5 -6
  175. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +5 -6
  176. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +5 -6
  177. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +5 -6
  178. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +5 -6
  179. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +6 -7
  180. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +5 -6
  181. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +5 -6
  182. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +5 -6
  183. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +6 -7
  184. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +5 -6
  185. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +5 -6
  186. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +5 -6
  187. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +5 -6
  188. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +5 -6
  189. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +5 -6
  190. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +5 -6
  191. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +5 -6
  192. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +5 -6
  193. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +5 -6
  194. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +6 -7
  195. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +5 -6
  196. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +5 -6
  197. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +5 -6
  198. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +6 -7
  199. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +3 -2
  200. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +3 -2
  201. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +3 -2
  202. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +5 -6
  203. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +5 -6
  204. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +5 -6
  205. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +5 -6
  206. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +3 -0
  207. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +5 -6
  208. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +6 -7
  209. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +5 -6
  210. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +5 -6
  211. package/build/libarkts-copy/src/index.ts +2 -0
  212. package/build/libarkts-copy/src/plugin-utils.ts +21 -4
  213. package/build/libarkts-copy/src/reexport-for-generated.ts +11 -0
  214. package/build/libarkts-copy/src/tracer.ts +172 -0
  215. package/lib/index.js +1523 -611
  216. package/package.json +2 -2
  217. package/build/libarkts-copy/src/arkts-api/peers/SourcePosition.ts +0 -38
  218. package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +0 -45
  219. package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +0 -45
  220. package/build/libarkts-copy/src/wrapper-compat/README.md +0 -20
  221. package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +0 -46
  222. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +0 -454
  223. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +0 -99
  224. package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +0 -87
  225. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +0 -38
  226. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +0 -35
  227. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +0 -38
  228. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +0 -27
  229. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +0 -45
  230. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +0 -27
  231. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +0 -73
  232. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +0 -51
  233. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +0 -42
  234. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +0 -39
  235. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +0 -43
  236. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +0 -28
  237. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +0 -37
  238. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +0 -28
  239. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +0 -37
  240. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +0 -42
  241. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +0 -46
  242. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +0 -30
  243. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +0 -37
  244. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +0 -27
  245. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +0 -46
  246. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +0 -28
  247. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +0 -47
  248. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +0 -40
  249. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +0 -36
  250. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +0 -41
  251. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +0 -42
  252. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +0 -39
  253. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +0 -26
  254. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +0 -39
  255. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +0 -33
  256. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +0 -33
  257. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +0 -105
  258. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +0 -38
  259. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +0 -33
  260. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +0 -16
  261. package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +0 -108
  262. package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +0 -906
  263. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +0 -69
  264. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +0 -190
  265. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +0 -198
  266. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +0 -325
  267. package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +0 -421
  268. package/build/libarkts-copy/src/wrapper-compat/index.ts +0 -20
@@ -34,4 +34,8 @@ export class ExternalSource extends ArktsObject {
34
34
  (instance: KNativePointer) => new Program(instance)
35
35
  )
36
36
  }
37
+
38
+ static instantiate(peer: KNativePointer) {
39
+ return new ExternalSource(peer)
40
+ }
37
41
  }
@@ -16,13 +16,12 @@
16
16
  import { Es2pandaContextState } from "../generated/Es2pandaEnums"
17
17
  import { Program } from "../generated"
18
18
  import { ExternalSource } from "./peers/ExternalSource"
19
- import { programGetExternalSources } from "./node-utilities/Program"
20
19
  import { KNativePointer } from "@koalaui/interop"
21
20
  import { global } from "./static/global"
22
21
  import { RunTransformerHooks } from "../plugin-utils"
23
22
 
24
23
  export interface CompilationOptions {
25
- readonly isMainProgram: boolean,
24
+ readonly isProgramForCodegeneration: boolean,
26
25
  readonly state: Es2pandaContextState,
27
26
  }
28
27
 
@@ -49,10 +48,10 @@ export function defaultFilter(name: string) {
49
48
  return true
50
49
  }
51
50
 
52
- export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter, context: KNativePointer = global.context): Program[] {
51
+ export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter): Program[] {
53
52
  return [
54
53
  program,
55
- ...programGetExternalSources(program, context).flatMap((it: ExternalSource) => {
54
+ ...program.getExternalSources().flatMap((it: ExternalSource) => {
56
55
  if (filter(it.getName())) {
57
56
  return it.programs
58
57
  }
@@ -21,15 +21,34 @@ import { initInterop, InteropNativeModule } from "../../InteropNativeModule"
21
21
  import { Context } from "../peers/Context"
22
22
  import { Profiler } from "./profiler"
23
23
  import { ArkTsConfig } from "../../generated"
24
+ import { Config } from '../peers/Config';
25
+
26
+ export class UpdateTracker {
27
+ stack: boolean[] = []
28
+
29
+ push() {
30
+ this.stack.push(false)
31
+ }
32
+
33
+ update() {
34
+ this.stack[this.stack.length - 1] = true
35
+ }
36
+
37
+ check() {
38
+ return this.stack.pop()
39
+ }
40
+ }
24
41
 
25
42
  export class global {
26
43
  public static filePath: string = "./plugins/input/main.ets"
27
44
 
28
45
  public static arktsconfig?: ArkTsConfig
46
+ public static configObj?: Config;
29
47
 
30
48
  private static _config?: KNativePointer
31
49
  public static set config(config: KNativePointer) {
32
50
  global._config = config
51
+ global.configObj = new Config(global._config);
33
52
  }
34
53
  public static get config(): KNativePointer {
35
54
  return global._config ?? throwError('Global.config not initialized')
@@ -39,6 +58,7 @@ export class global {
39
58
  }
40
59
  public static resetConfig(): void {
41
60
  global._config = undefined
61
+ global.configObj = undefined;
42
62
  }
43
63
 
44
64
  // Improve: rename to contextPeer
@@ -47,7 +67,8 @@ export class global {
47
67
  }
48
68
 
49
69
  // Improve: rename to context when the pointer valued one is eliminated
50
- public static compilerContext: Context
70
+ public static compilerContext: Context | undefined
71
+ public static isContextGenerateAbcForExternalSourceFiles: boolean = false
51
72
 
52
73
  private static _es2panda: Es2pandaNativeModule | undefined = undefined
53
74
  public static get es2panda(): Es2pandaNativeModule {
@@ -76,4 +97,11 @@ export class global {
76
97
 
77
98
  // Check node type values during node creation
78
99
  public static validatePeerTypes = false
100
+
101
+ public static clearContext(): void {
102
+ global.compilerContext = undefined
103
+ }
104
+
105
+ // Keep track of update info to optimize performance
106
+ public static updateTracker: UpdateTracker = new UpdateTracker()
79
107
  }
@@ -13,13 +13,22 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
+ import { KInt, KNativePointer } from "@koalaui/interop"
16
17
  import type {
18
+ ClassDefinition,
17
19
  ETSModule,
20
+ Expression,
18
21
  MethodDefinition,
22
+ NumberLiteral,
23
+ Program,
19
24
  ScriptFunction,
25
+ SourcePosition,
20
26
  } from "../../generated"
27
+ import { ExternalSource } from "../peers/ExternalSource"
21
28
  import { Es2pandaModuleFlag } from "../../generated/Es2pandaEnums"
22
- import { global, KNativePointer } from "../../reexport-for-generated"
29
+ import { global } from "../static/global"
30
+ import { acceptNativeObjectArrayResult, passNodeArray } from "./private"
31
+ import type { AstNode } from "../peers/AstNode"
23
32
 
24
33
  export function extension_ETSModuleGetNamespaceFlag(this: ETSModule): Es2pandaModuleFlag {
25
34
  return (this.isETSScript ? Es2pandaModuleFlag.MODULE_FLAG_ETSSCRIPT : 0)
@@ -27,6 +36,7 @@ export function extension_ETSModuleGetNamespaceFlag(this: ETSModule): Es2pandaMo
27
36
  + (this.isNamespaceChainLastNode ? Es2pandaModuleFlag.MODULE_FLAG_NAMESPACE_CHAIN_LAST_NODE : 0)
28
37
  }
29
38
 
39
+ // this is a workaround for overloads not included in children list
30
40
  export function extension_MethodDefinitionSetChildrenParentPtr(this: MethodDefinition) {
31
41
  global.es2panda._AstNodeSetChildrenParentPtr(global.context, this.peer)
32
42
  const overloads = this.overloads
@@ -38,16 +48,23 @@ export function extension_MethodDefinitionSetChildrenParentPtr(this: MethodDefin
38
48
 
39
49
  export function extension_MethodDefinitionOnUpdate(this: MethodDefinition, original: MethodDefinition): void {
40
50
  this.setChildrenParentPtr()
41
- // Improve: Update modifiers only for specific AST nodes in the generated factory code
42
- this.modifierFlags = original.modifierFlags
43
- global.generatedEs2panda._AstNodeSetOriginalNode(global.context, this.peer, original.originalPeer)
44
- global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, global.generatedEs2panda._AstNodeParent(global.context, original.peer))
51
+ global.es2panda._AstNodeOnUpdate(global.context, this.peer, original.peer)
45
52
  const originalBase = original.baseOverloadMethod
46
53
  if (originalBase) {
47
54
  this.setBaseOverloadMethod(originalBase)
48
55
  }
49
56
  }
50
57
 
58
+ // Improve: generate checker related stuff
59
+ export function extension_ScriptFunctionGetSignaturePointer(this: ScriptFunction): KNativePointer {
60
+ return global.es2panda._Checker_ScriptFunctionSignature(global.context, this.peer)
61
+ }
62
+
63
+ export function extension_ScriptFunctionSetSignaturePointer(this: ScriptFunction, signaturePointer: KNativePointer): void {
64
+ global.es2panda._Checker_ScriptFunctionSetSignature(global.context, this.peer, signaturePointer)
65
+ }
66
+
67
+ // Improve: perhaps "preferredReturnType" stuff can be removed later if "signature" is always enough
51
68
  export function extension_ScriptFunctionGetPreferredReturnTypePointer(this: ScriptFunction): KNativePointer {
52
69
  return global.es2panda._Checker_ScriptFunctionGetPreferredReturnType(global.context, this.peer)
53
70
  }
@@ -55,3 +72,49 @@ export function extension_ScriptFunctionGetPreferredReturnTypePointer(this: Scri
55
72
  export function extension_ScriptFunctionSetPreferredReturnTypePointer(this: ScriptFunction, typePointer: KNativePointer): void {
56
73
  global.es2panda._Checker_ScriptFunctionSetPreferredReturnType(global.context, this.peer, typePointer)
57
74
  }
75
+
76
+ // Improve: generate checker related stuff
77
+ export function extension_ExpressionGetPreferredTypePointer(this: Expression): KNativePointer {
78
+ return global.es2panda._Checker_ExpressionGetPreferredType(global.context, this.peer)
79
+ }
80
+
81
+ export function extension_ExpressionSetPreferredTypePointer(this: Expression, typePointer: KNativePointer): void {
82
+ global.es2panda._Checker_ExpressionSetPreferredType(global.context, this.peer, typePointer)
83
+ }
84
+
85
+ // Improve: generate methods with string[] args or return type
86
+ export function extension_ProgramGetExternalSources(this: Program): ExternalSource[] {
87
+ return acceptNativeObjectArrayResult<ExternalSource>(
88
+ global.es2panda._ProgramExternalSources(global.context, this.peer),
89
+ ExternalSource.instantiate,
90
+ )
91
+ }
92
+
93
+ // Improve: SourcePositionLine is global in idl
94
+ export function extension_SourcePositionGetLine(this: SourcePosition): KInt {
95
+ return global.generatedEs2panda._SourcePositionLine(global.context, this.peer)
96
+ }
97
+
98
+ // Improve: SourcePositionCol is not described in idl
99
+ export function extension_SourcePositionGetCol(this: SourcePosition): KInt {
100
+ return global.es2panda._SourcePositionCol(global.context, this.peer)
101
+ }
102
+
103
+ export function extension_SourcePositionToString(this: SourcePosition): string {
104
+ return `:${this.getLine() + 1}:${this.getCol()}`
105
+ }
106
+
107
+ // Improve: weird API
108
+ export function extension_NumberLiteralValue(this: NumberLiteral): number {
109
+ return +this.dumpSrc()
110
+ }
111
+
112
+ // Improve: weird API
113
+ export function extension_ScriptFunctionSetParams(this: ScriptFunction, params: readonly Expression[]): void {
114
+ global.es2panda._ScriptFunctionSetParams(global.context, this.peer, passNodeArray(params), params.length)
115
+ }
116
+
117
+ // Improve: weird API
118
+ export function extension_ClassDefinitionSetBody(this: ClassDefinition, body: readonly AstNode[]): void {
119
+ global.es2panda._ClassDefinitionSetBody(global.context, this.peer, passNodeArray(body), body.length)
120
+ }
@@ -25,7 +25,7 @@ import {
25
25
  } from "@koalaui/interop"
26
26
  import { NativePtrDecoder } from "./nativePtrDecoder"
27
27
  import { Es2pandaAstNodeType, Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from "../../generated/Es2pandaEnums"
28
- import { classByPeer } from "../class-by-peer"
28
+ import { nodeFrom } from "../class-by-peer"
29
29
  import { AstNode } from "../peers/AstNode"
30
30
  import { ArktsObject } from "../peers/ArktsObject"
31
31
 
@@ -72,14 +72,14 @@ export function unpackNonNullableNode<T extends AstNode>(peer: KNativePointer):
72
72
  if (peer === nullptr) {
73
73
  throwError('peer is NULLPTR (maybe you should use unpackNode)')
74
74
  }
75
- return classByPeer(peer)
75
+ return nodeFrom(peer)
76
76
  }
77
77
 
78
78
  export function unpackNode<T extends AstNode>(peer: KNativePointer): T | undefined {
79
79
  if (peer === nullptr) {
80
80
  return undefined
81
81
  }
82
- return classByPeer<T>(peer)
82
+ return nodeFrom<T>(peer)
83
83
  }
84
84
 
85
85
  export function passNode(node: ArktsObject | undefined): KNativePointer {
@@ -16,9 +16,10 @@
16
16
  import { global } from "../static/global"
17
17
  import { isNumber, throwError, withWarning } from "../../utils"
18
18
  import { KNativePointer, nullptr, KInt} from "@koalaui/interop"
19
- import { passNode, passNodeArray, unpackNodeArray, unpackNonNullableNode, passString, unpackString } from "./private"
20
- import { Es2pandaContextState, Es2pandaModifierFlags, Es2pandaMethodDefinitionKind, Es2pandaPrimitiveType } from "../../generated/Es2pandaEnums"
19
+ import { passNode, passNodeArray, unpackNodeArray, unpackNonNullableNode, passString, unpackString, nodeType } from "./private"
20
+ import { Es2pandaContextState, Es2pandaModifierFlags, Es2pandaMethodDefinitionKind, Es2pandaPrimitiveType, Es2pandaScriptFunctionFlags, Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
21
21
  import type { AstNode } from "../peers/AstNode"
22
+ import { SourcePosition } from "../../generated"
22
23
  import { isSameNativeObject } from "../peers/ArktsObject"
23
24
  import {
24
25
  type AnnotationUsage,
@@ -48,6 +49,7 @@ import { Context } from "../peers/Context"
48
49
  import { NodeCache } from "../node-cache"
49
50
  import { listPrograms } from "../plugins"
50
51
  import { factory } from "../factory/nodeFactory"
52
+ import { traceGlobal } from "../../tracer"
51
53
 
52
54
  /**
53
55
  * Improve: Replace or remove with better naming
@@ -55,16 +57,16 @@ import { factory } from "../factory/nodeFactory"
55
57
  * @deprecated
56
58
  */
57
59
  export function createETSModuleFromContext(): ETSModule {
58
- let program = global.es2panda._ContextProgram(global.context)
60
+ let program = global.generatedEs2panda._ContextProgram(global.context)
59
61
  if (program == nullptr) {
60
62
  throw new Error(`Program is null for context ${global.context.toString(16)}`)
61
63
  }
62
- const ast = global.es2panda._ProgramAst(global.context, program)
64
+ const ast = global.generatedEs2panda._ProgramAst(global.context, program)
63
65
  if (ast == nullptr) {
64
66
  throw new Error(`AST is null for program ${program.toString(16)}`)
65
67
 
66
68
  }
67
- return new ETSModule(ast)
69
+ return new ETSModule(ast, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE)
68
70
  }
69
71
 
70
72
  /**
@@ -82,10 +84,10 @@ export function createETSModuleFromSource(
82
84
  }
83
85
  global.compilerContext = Context.createFromString(source)
84
86
  proceedToState(state)
85
- let program = global.es2panda._ContextProgram(global.compilerContext.peer)
87
+ let program = global.generatedEs2panda._ContextProgram(global.compilerContext.peer)
86
88
  if (program == nullptr)
87
89
  throw new Error(`Program is null for ${source} 0x${global.compilerContext.peer.toString(16)}`)
88
- return new ETSModule(global.es2panda._ProgramAst(global.context, program))
90
+ return new ETSModule(global.generatedEs2panda._ProgramAst(global.context, program), Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE)
89
91
  }
90
92
 
91
93
  export function metaDatabase(fileName: string): string {
@@ -95,7 +97,8 @@ export function metaDatabase(fileName: string): string {
95
97
 
96
98
  export function checkErrors() {
97
99
  if (global.es2panda._ContextState(global.context) === Es2pandaContextState.ES2PANDA_STATE_ERROR) {
98
- console.log(unpackString(global.es2panda._GetAllErrorMessages(global.context)))
100
+ traceGlobal(() => `Terminated due to compilation errors occured`)
101
+ console.log(unpackString(global.generatedEs2panda._GetAllErrorMessages(global.context)))
99
102
  // global.es2panda._DestroyConfig(global.config)
100
103
  process.exit(1)
101
104
  }
@@ -105,49 +108,63 @@ export function proceedToState(state: Es2pandaContextState): void {
105
108
  if (state <= global.es2panda._ContextState(global.context)) {
106
109
  return
107
110
  }
111
+ NodeCache.clear()
108
112
  const before = Date.now()
113
+ traceGlobal(() => `Proceeding to state ${Es2pandaContextState[state]}: start`)
109
114
  global.es2panda._ProceedToState(global.context, state)
115
+ traceGlobal(() => `Proceeding to state ${Es2pandaContextState[state]}: done`)
110
116
  const after = Date.now()
111
117
  global.profiler.proceededToState(after-before)
112
- NodeCache.clear()
113
118
  checkErrors()
114
119
  }
115
120
 
116
121
  /** @deprecated Use {@link rebindContext} instead */
117
122
  export function rebindSubtree(node: AstNode): void {
123
+ NodeCache.clear()
124
+ traceGlobal(() => `Rebind: start`)
118
125
  global.es2panda._AstNodeRebind(global.context, node.peer)
126
+ traceGlobal(() => `Rebind: done`)
119
127
  checkErrors()
120
128
  }
121
129
 
122
130
  /** @deprecated Use {@link recheckSubtree} instead */
123
131
  export function recheckSubtree(node: AstNode): void {
124
- global.es2panda._AstNodeRecheck(global.context, node.peer)
132
+ NodeCache.clear()
133
+ traceGlobal(() => `Recheck: start`)
134
+ global.generatedEs2panda._AstNodeRecheck(global.context, node.peer)
135
+ traceGlobal(() => `Recheck: done`)
125
136
  checkErrors()
126
137
  }
127
138
 
128
139
  export function rebindContext(context: KNativePointer = global.context): void {
140
+ NodeCache.clear()
141
+ traceGlobal(() => `Rebind: start`)
129
142
  global.es2panda._AstNodeRebind(
130
143
  context,
131
- global.es2panda._ProgramAst(
144
+ global.generatedEs2panda._ProgramAst(
132
145
  context,
133
- global.es2panda._ContextProgram(
146
+ global.generatedEs2panda._ContextProgram(
134
147
  context
135
148
  )
136
149
  )
137
150
  )
151
+ traceGlobal(() => `Rebind: done`)
138
152
  checkErrors()
139
153
  }
140
154
 
141
155
  export function recheckContext(context: KNativePointer = global.context): void {
142
- global.es2panda._AstNodeRecheck(
156
+ NodeCache.clear()
157
+ traceGlobal(() => `Recheck: start`)
158
+ global.generatedEs2panda._AstNodeRecheck(
143
159
  context,
144
- global.es2panda._ProgramAst(
160
+ global.generatedEs2panda._ProgramAst(
145
161
  context,
146
- global.es2panda._ContextProgram(
162
+ global.generatedEs2panda._ContextProgram(
147
163
  context,
148
164
  )
149
165
  )
150
166
  )
167
+ traceGlobal(() => `Recheck: done`)
151
168
  checkErrors()
152
169
  }
153
170
 
@@ -208,7 +225,7 @@ function getDeclFromArrayOrObjectMember(node: MemberExpression): AstNode | undef
208
225
  }
209
226
 
210
227
  export function getPeerDecl(peer: KNativePointer): AstNode | undefined {
211
- const decl = global.es2panda._DeclarationFromIdentifier(global.context, peer)
228
+ const decl = global.generatedEs2panda._DeclarationFromIdentifier(global.context, peer)
212
229
  if (decl === nullptr) {
213
230
  return undefined
214
231
  }
@@ -245,6 +262,12 @@ export function getFileName(): string {
245
262
  return global.filePath
246
263
  }
247
264
 
265
+ export function getJsDoc(node: AstNode): string | undefined {
266
+ const result = unpackString(global.generatedEs2panda._JsdocStringFromDeclaration(global.context, node.peer))
267
+ return result === 'Empty Jsdoc' ? undefined : result
268
+ }
269
+
270
+
248
271
  // Improve: It seems like Definition overrides AstNode modifiers
249
272
  // with it's own modifiers which is completely unrelated set of flags.
250
273
  // Use this function if you need
@@ -307,30 +330,20 @@ export function findStdlib(): string {
307
330
  return `${sdk}/ets/stdlib`
308
331
  }
309
332
 
310
- export function collectDependencies(files: string[], configPath: string): string[] {
311
- const result = new Set<string>()
312
- for (let file of files) {
313
- const context = Context.createFromFile(file, configPath, findStdlib(), "/tmp/foo.abc")!
314
- global.compilerContext = context
315
- proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED)
316
- listPrograms(context.program).forEach(it => result.add(it.absoluteName))
317
- context.destroy()
318
- }
319
- return Array.from(result)
320
- }
321
-
322
333
  export function generateTsDeclarationsFromContext(
323
334
  outputDeclEts: string,
324
335
  outputEts: string,
325
336
  exportAll: boolean,
326
- isolated: boolean
337
+ isolated: boolean,
338
+ recordFile: string
327
339
  ): KInt {
328
340
  return global.es2panda._GenerateTsDeclarationsFromContext(
329
341
  global.context,
330
342
  passString(outputDeclEts),
331
343
  passString(outputEts),
332
344
  exportAll,
333
- isolated
345
+ isolated,
346
+ recordFile
334
347
  );
335
348
  }
336
349
 
@@ -343,23 +356,42 @@ export function getProgramFromAstNode(node: AstNode): Program {
343
356
  }
344
357
 
345
358
  export function importDeclarationInsert(node: ETSImportDeclaration, program: Program): void {
346
- global.es2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, node.peer)
359
+ global.generatedEs2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, node.peer)
347
360
  }
348
361
 
349
- export function tryConvertCheckerTypeToTypeNode(typePeer: KNativePointer | undefined): TypeNode | undefined {
362
+ export function signatureReturnType(signature: KNativePointer): KNativePointer {
363
+ if (!signature) {
364
+ return nullptr
365
+ }
366
+ return global.es2panda._Checker_SignatureReturnType(global.context, signature)
367
+ }
368
+
369
+ export function convertCheckerTypeToTypeNode(typePeer: KNativePointer | undefined): TypeNode | undefined {
350
370
  if (!typePeer) {
351
371
  return undefined
352
372
  }
353
- const str = unpackString(global.es2panda._Checker_TypeToString(global.context, typePeer))
354
- if (str == "void") {
355
- return factory.createETSPrimitiveType(Es2pandaPrimitiveType.PRIMITIVE_TYPE_VOID)
373
+ return factory.createOpaqueTypeNode(
374
+ global.es2panda._Checker_TypeClone(global.context, typePeer)
375
+ )
376
+ }
377
+
378
+ export function originalSourcePositionString(node: AstNode | undefined) {
379
+ if (!node) {
380
+ return `[undefined]`
356
381
  }
357
- if (str == "String" || str == "StringerNode") {
358
- return factory.createETSTypeReference(
359
- factory.createETSTypeReferencePart(
360
- factory.createIdentifier(str)
361
- )
362
- )
382
+ const originalPeer = node.originalPeer
383
+ const sourcePosition = new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, originalPeer))
384
+ const program = new Program(global.es2panda._AstNodeProgram(global.context, originalPeer))
385
+ if (!program.peer) {
386
+ // This can happen if we are calling this method on node that is in update now and parent chain does not lead to program
387
+ return `[${global.filePath}${sourcePosition.toString()}]`
363
388
  }
364
- return undefined
389
+ return `[${program.absoluteName}${sourcePosition.toString()}]`
390
+ }
391
+
392
+ export function generateStaticDeclarationsFromContext(outputPath: string): KInt {
393
+ return global.generatedEs2panda._GenerateStaticDeclarationsFromContext(
394
+ global.context,
395
+ passString(outputPath)
396
+ );
365
397
  }