@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
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@koalaui/libarkts",
3
- "version": "1.7.6+devel",
3
+ "version": "1.7.9+devel",
4
4
  "bin": "./lib/es2panda",
5
5
  "typesVersions": {
6
6
  "*": {
7
7
  "./compat/*": [
8
- "./build/wrapper-compat/index.d.ts"
8
+ "./lib/types/wrapper-compat/index.d.ts"
9
9
  ],
10
10
  "*": [
11
- "./lib/build/index.d.ts"
11
+ "./lib/types/index.d.ts"
12
12
  ]
13
13
  }
14
14
  },
@@ -23,19 +23,18 @@
23
23
  "./plugins/build/src/**/*"
24
24
  ],
25
25
  "config": {
26
- "gen_version": "2.1.9-arktscgen-7",
27
26
  "panda_sdk_path": "../../incremental/tools/panda/node_modules/@panda/sdk",
28
- "ohos_panda_sdk_path": "../build/sdk",
29
27
  "panda_sdk_version": "next"
30
28
  },
31
29
  "dependencies": {
32
30
  "@koalaui/ets-tsc": "4.9.5-r6",
33
- "@koalaui/build-common": "1.7.6+devel",
34
- "@koalaui/compat": "1.7.6+devel",
35
- "@koalaui/common": "1.7.6+devel",
36
- "@koalaui/harness": "1.7.6+devel",
37
- "@koalaui/interop": "1.7.6+devel",
38
- "@koalaui/fast-arktsc": "file:../fast-arktsc",
31
+ "@koalaui/build-common": "1.7.9+devel",
32
+ "@koalaui/compat": "1.7.9+devel",
33
+ "@koalaui/common": "1.7.9+devel",
34
+ "@koalaui/harness": "1.7.9+devel",
35
+ "@koalaui/interop": "1.7.9+devel",
36
+ "@koalaui/fast-arktsc": "1.7.9+devel",
37
+ "@idlizer/arktscgen": "2.1.10-arktscgen-1",
39
38
  "@types/mocha": "^9.1.0",
40
39
  "mocha": "^9.2.2",
41
40
  "node-addon-api": "8.0.0",
@@ -65,23 +64,21 @@
65
64
  "compile:js": "rm -rf lib/ && rollup -c rollup.lib.mjs && rollup -c rollup.es2panda.mjs",
66
65
  "compile:plugins": "rollup -c ./rollup.printer-plugin.mjs",
67
66
  "direct": "fast-arktsc --config arktsconfig.json --compiler ../../incremental/tools/panda/arkts/ui2abc --link-name ./build/abc/main.abc && ninja -f build/abc/build.ninja",
68
- "simultaneous": "../../incremental/tools/panda/arkts/ui2abc --arktsconfig arktsconfig.json --output ./build/abc/main.abc:./build/abc/library.abc plugins/input/main.ets:plugins/input/library.ets",
67
+ "simultaneous": "mkdir -p build/abc && bash ../../incremental/tools/panda/arkts/ui2abc --simultaneous --arktsconfig arktsconfig.json --output ./build/abc/main.abc:./build/abc/library.abc plugins/input/main.ets:plugins/input/library.ets",
69
68
  "run": "npm run compile && npm run compile:plugins && npm run simultaneous",
70
69
  "run:memo": "npm run compile && npm run compile:plugins && npm run compile --prefix ../memo-plugin && npm run memo",
71
70
  "run:abc": "$npm_package_config_panda_sdk_path/linux_host_tools/bin/ark --load-runtimes=ets --boot-panda-files=$npm_package_config_panda_sdk_path/ets/etsstdlib.abc ./main.abc main.ETSGLOBAL::main",
72
71
  "mocha": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0",
73
- "mocha:ohos": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0",
74
72
  "test:light": "npm run mocha",
75
73
  "test": "npm run compile:native && npm run test:light",
76
74
  "test:golden": "npm run compile:native && TEST_GOLDEN=1 npm run test:light",
77
75
  "compile:playground": "cd playground && meson setup build && meson compile -C build",
78
- "run:playground": "npm run compile:playground && ./playground/build/playground.out",
76
+ "run:playground": "npm run compile:playground && mkdir -p build && ./playground/build/playground _ --extension ets --stdlib ../../incremental/tools/panda/node_modules/@panda/sdk/ets/stdlib --output build/playground.abc ./playground/src/main.ets",
79
77
  "panda:sdk:clean": "cd ../../incremental/tools/panda && rimraf node_modules",
80
78
  "panda:sdk:install": "cd ../../incremental/tools/panda && echo \"Installing panda sdk $npm_package_config_panda_sdk_version\" && PANDA_SDK_VERSION=$npm_package_config_panda_sdk_version npm run panda:sdk:install",
81
79
  "panda:sdk:reinstall": "npm run panda:sdk:clean && npm run panda:sdk:install",
82
80
  "regenerate:current": "rimraf -rf src/generated && npm run compile -C ../../../arktscgen && node ../../../arktscgen --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize --debug",
83
- "regenerate": "rimraf -rf src/generated && npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize",
84
- "regenerate:ohos": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize",
81
+ "regenerate": "rimraf -rf src/generated && arktscgen --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize",
85
82
  "reinstall:regenerate": "npm run panda:sdk:reinstall && npm run regenerate && git diff --shortstat"
86
83
  }
87
- }
84
+ }
@@ -39,18 +39,9 @@ export class Es2pandaNativeModule {
39
39
  _AstNodeRebind(context: KPtr, node: KPtr): void {
40
40
  throw new Error("Not implemented")
41
41
  }
42
- _AstNodeRecheck(context: KPtr, node: KPtr): void {
43
- throw new Error("Not implemented")
44
- }
45
42
  _ContextState(context: KPtr): KInt {
46
43
  throw new Error("Not implemented")
47
44
  }
48
- _ContextErrorMessage(context: KPtr): KPtr {
49
- throw new Error("Not implemented")
50
- }
51
- _GetAllErrorMessages(context: KPtr): KPtr {
52
- throw new Error("Not implemented")
53
- }
54
45
  _AstNodeChildren(context: KPtr, node: KPtr): KPtr {
55
46
  throw new Error("Not implemented")
56
47
  }
@@ -90,12 +81,6 @@ export class Es2pandaNativeModule {
90
81
  _ProceedToState(context: KPtr, state: number): void {
91
82
  throw new Error("Not implemented")
92
83
  }
93
- _ContextProgram(context: KPtr): KPtr {
94
- throw new Error("Not implemented")
95
- }
96
- _ProgramAst(context: KPtr, program: KPtr): KPtr {
97
- throw new Error("Not implemented")
98
- }
99
84
  _CheckerStartChecker(context: KPtr): KBoolean {
100
85
  throw new Error("Not implemented")
101
86
  }
@@ -108,6 +93,9 @@ export class Es2pandaNativeModule {
108
93
  _AstNodeSetChildrenParentPtr(context: KPtr, node: KPtr): void {
109
94
  throw new Error("Not implemented")
110
95
  }
96
+ _AstNodeOnUpdate(context: KPtr, newNode: KPtr, replacedNode: KPtr): void {
97
+ throw new Error("Not implemented")
98
+ }
111
99
  _AstNodeUpdateAll(context: KPtr, node: KPtr): void {
112
100
  throw new Error("Not implemented")
113
101
  }
@@ -117,9 +105,6 @@ export class Es2pandaNativeModule {
117
105
  _DeclNode(context: KPtr, decl: KPtr): KPtr {
118
106
  throw new Error("Not implemented")
119
107
  }
120
- _DeclarationFromIdentifier(context: KPtr, identifier: KPtr): KPtr {
121
- throw new Error("Not implemented")
122
- }
123
108
  _ProgramSourceFilePath(context: KNativePointer, instance: KNativePointer): KNativePointer {
124
109
  throw new Error("Not implemented");
125
110
  }
@@ -138,28 +123,31 @@ export class Es2pandaNativeModule {
138
123
  _ETSParserBuildImportDeclaration(context: KNativePointer, importKinds: KInt, specifiers: KNativePointerArray, specifiersSequenceLength: KUInt, source: KNativePointer, program: KNativePointer, flags: KInt): KNativePointer {
139
124
  throw new Error("Not implemented");
140
125
  }
141
- _InsertETSImportDeclarationAndParse(context: KNativePointer, program: KNativePointer, importDeclaration: KNativePointer): void {
142
- throw new Error("Not implemented");
143
- }
144
126
  _ImportPathManagerResolvePathConst(context: KNativePointer, importPathManager: KNativePointer, currentModulePath: String, importPath: String, sourcePosition: KNativePointer): KNativePointer {
145
127
  throw new Error("Not implemented");
146
128
  }
147
129
  _ETSParserGetImportPathManager(context: KNativePointer): KPtr {
148
130
  throw new Error("Not implemented");
149
131
  }
150
- _CreateSourcePosition(context: KNativePointer, index: KInt, line: KInt): KNativePointer {
132
+ _SourcePositionCol(context: KNativePointer, instance: KNativePointer): KInt {
151
133
  throw new Error("Not implemented");
152
134
  }
153
- _SourcePositionIndex(context: KNativePointer, instance: KNativePointer): KInt {
135
+ _ConfigGetOptions(config: KNativePointer): KNativePointer {
154
136
  throw new Error("Not implemented");
155
137
  }
156
- _SourcePositionLine(context: KNativePointer, instance: KNativePointer): KInt {
138
+ _OptionsArkTsConfig(context: KNativePointer, options: KNativePointer): KNativePointer {
157
139
  throw new Error("Not implemented");
158
140
  }
159
- _ConfigGetOptions(config: KNativePointer): KNativePointer {
141
+ _Checker_CreateOpaqueTypeNode(context: KNativePointer, type: KNativePointer): KNativePointer {
160
142
  throw new Error("Not implemented");
161
143
  }
162
- _OptionsArkTsConfig(context: KNativePointer, options: KNativePointer): KNativePointer {
144
+ _Checker_ScriptFunctionSignature(context: KNativePointer, node: KNativePointer): KNativePointer {
145
+ throw new Error("Not implemented");
146
+ }
147
+ _Checker_ScriptFunctionSetSignature(context: KNativePointer, node: KNativePointer, signature: KNativePointer): void {
148
+ throw new Error("Not implemented");
149
+ }
150
+ _Checker_SignatureReturnType(context: KNativePointer, signature: KNativePointer): KNativePointer {
163
151
  throw new Error("Not implemented");
164
152
  }
165
153
  _Checker_ScriptFunctionGetPreferredReturnType(context: KNativePointer, node: KNativePointer): KNativePointer {
@@ -168,30 +156,30 @@ export class Es2pandaNativeModule {
168
156
  _Checker_ScriptFunctionSetPreferredReturnType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
169
157
  throw new Error("Not implemented");
170
158
  }
171
- _Checker_TypeToString(context: KNativePointer, type: KNativePointer): KNativePointer {
159
+ _Checker_ExpressionGetPreferredType(context: KNativePointer, node: KNativePointer): KNativePointer {
172
160
  throw new Error("Not implemented");
173
161
  }
174
- _Checker_TypeNodeGetType(context: KNativePointer, node: KNativePointer): KNativePointer {
162
+ _Checker_ExpressionSetPreferredType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
175
163
  throw new Error("Not implemented");
176
164
  }
177
-
178
- // From koala-wrapper
179
- _ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
180
- throw new Error("Not implemented")
165
+ _Checker_TypeToString(context: KNativePointer, type: KNativePointer): KNativePointer {
166
+ throw new Error("Not implemented");
181
167
  }
182
- _IsMethodDefinition(node: KPtr): KBoolean {
183
- throw new Error("Not implemented")
168
+ _Checker_TypeClone(context: KNativePointer, type: KNativePointer): KNativePointer {
169
+ throw new Error("Not implemented");
184
170
  }
185
- _SourceRangeStart(context: KNativePointer, range: KNativePointer): KNativePointer {
186
- throw new Error("Not implemented")
171
+ _Checker_TypeNodeGetType(context: KNativePointer, node: KNativePointer): KNativePointer {
172
+ throw new Error("Not implemented");
187
173
  }
188
- _SourceRangeEnd(context: KNativePointer, range: KNativePointer): KNativePointer {
174
+ _ScriptFunctionSetParams(context: KNativePointer, receiver: KNativePointer, paramsList: BigUint64Array, paramsListLength: KUInt): void {
189
175
  throw new Error("Not implemented")
190
176
  }
191
- _CreateSourceRange(context: KNativePointer, start: KNativePointer, end: KNativePointer): KNativePointer {
177
+ _ClassDefinitionSetBody(context: KNativePointer, receiver: KNativePointer, body: BigUint64Array, bodyLength: KUInt): void {
192
178
  throw new Error("Not implemented")
193
179
  }
194
- _IsArrayExpression(node: KPtr): KBoolean {
180
+
181
+ // From koala-wrapper
182
+ _ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
195
183
  throw new Error("Not implemented")
196
184
  }
197
185
  _ETSParserGetGlobalProgramAbsName(context: KNativePointer): KNativePointer {
@@ -200,20 +188,16 @@ export class Es2pandaNativeModule {
200
188
  _CreateDiagnosticKind(context: KNativePointer, message: string, type: Es2pandaPluginDiagnosticType): KNativePointer {
201
189
  throw new Error("Not implemented")
202
190
  }
203
- _CreateDiagnosticInfo(context: KNativePointer, kind: KNativePointer, args: string[], argc: number): KNativePointer {
191
+ _CreateDiagnosticInfo(context: KNativePointer, kind: KNativePointer, args: string[], argc: number, pos: KNativePointer): KNativePointer {
204
192
  throw new Error("Not implemented")
205
193
  }
206
194
  _CreateSuggestionInfo(context: KNativePointer, kind: KNativePointer, args: string[],
207
- argc: number, substitutionCode: string): KNativePointer {
195
+ argc: number, substitutionCode: string, range: KNativePointer): KNativePointer {
208
196
  throw new Error("Not implemented")
209
197
  }
210
198
  _LogDiagnostic(context: KNativePointer, kind: KNativePointer, argv: string[], argc: number, pos: KNativePointer): void {
211
199
  throw new Error("Not implemented")
212
200
  }
213
- _LogDiagnosticWithSuggestion(context: KNativePointer, diagnosticInfo: KNativePointer,
214
- suggestionInfo?: KNativePointer, range?: KNativePointer): void {
215
- throw new Error("Not implemented")
216
- }
217
201
  _SetUpSoPath(soPath: string): void {
218
202
  throw new Error("Not implemented")
219
203
  }
@@ -226,10 +210,7 @@ export class Es2pandaNativeModule {
226
210
  _ProgramCanSkipPhases(context: KNativePointer, program: KNativePointer): boolean {
227
211
  throw new Error("Not implemented")
228
212
  }
229
- _GenerateTsDeclarationsFromContext(config: KPtr, outputDeclEts: String, outputEts: String, exportAll: KBoolean, isolated: KBoolean): KPtr {
230
- throw new Error("Not implemented")
231
- }
232
- _GenerateStaticDeclarationsFromContext(config: KPtr, outputPath: String): KPtr {
213
+ _GenerateTsDeclarationsFromContext(config: KPtr, outputDeclEts: String, outputEts: String, exportAll: KBoolean, isolated: KBoolean, recordFile: String): KPtr {
233
214
  throw new Error("Not implemented")
234
215
  }
235
216
  _AstNodeProgram(context: KNativePointer, instance: KNativePointer): KNativePointer {
@@ -238,6 +219,14 @@ export class Es2pandaNativeModule {
238
219
  _CreateContextGenerateAbcForExternalSourceFiles(config: KPtr, fileCount: KInt, filenames: string[]): KPtr {
239
220
  throw new Error('Not implemented');
240
221
  }
222
+
223
+ _GetCompilationMode(config: KNativePointer): KInt {
224
+ throw new Error('Not implemented');
225
+ }
226
+
227
+ _CreateTypeNodeFromTsType(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
228
+ throw new Error('Not implemented');
229
+ }
241
230
  }
242
231
 
243
232
  export function findNativeModule(): string {
@@ -270,4 +259,4 @@ export function initGeneratedEs2panda(): GeneratedEs2pandaNativeModule {
270
259
  // registerNativeModule("InteropNativeModule", NativeModule)
271
260
  loadNativeModuleLibrary("NativeModule", instance)
272
261
  return instance
273
- }
262
+ }
@@ -62,7 +62,7 @@ export class ImportStorage {
62
62
  Es2pandaImportFlags.IMPORT_FLAGS_NONE, // Improve: where to get it?
63
63
  )
64
64
  )
65
- global.es2panda._InsertETSImportDeclarationAndParse(global.context, this.program.peer, importDeclaration.peer)
65
+ global.generatedEs2panda._InsertETSImportDeclarationAndParse(global.context, this.program.peer, importDeclaration.peer)
66
66
  newStatements.push(importDeclaration)
67
67
  } else {
68
68
  newStatements.push(statement)
@@ -16,17 +16,18 @@
16
16
  import { Es2pandaAstNodeType } from "../generated/Es2pandaEnums"
17
17
  import { throwError } from "../utils"
18
18
  import { global } from "./static/global"
19
- import { KNativePointer, nullptr } from "@koalaui/interop"
19
+ import { KNativePointer } from "@koalaui/interop"
20
20
  import { AstNode } from "./peers/AstNode"
21
21
  import { NodeCache } from "./node-cache"
22
22
 
23
23
  export const nodeByType = new Map<Es2pandaAstNodeType, (peer: KNativePointer) => AstNode>([])
24
24
 
25
- export function classByPeer<T extends AstNode>(peer: KNativePointer): T {
26
- if (peer === nullptr) {
27
- throwError('classByPeer: peer is NULLPTR')
25
+ export function nodeFrom<T extends AstNode>(peer: KNativePointer): T {
26
+ const fromCache = NodeCache.get<T>(peer)
27
+ if (fromCache) {
28
+ return fromCache
28
29
  }
29
30
  const type = global.generatedEs2panda._AstNodeTypeConst(global.context, peer)
30
31
  const create = nodeByType.get(type) ?? throwError(`unknown node type: ${type}`)
31
- return NodeCache.cached(peer, create)
32
+ return create(peer) as T
32
33
  }
@@ -47,11 +47,12 @@ import { createMethodDefinition, updateMethodDefinition } from "../node-utilitie
47
47
  import { createTSInterfaceDeclaration, updateTSInterfaceDeclaration } from "../node-utilities/TSInterfaceDeclaration"
48
48
  import { updateTryStatement } from "../node-utilities/TryStatement"
49
49
  import { createAssignmentExpression, updateAssignmentExpression } from "../node-utilities/AssignmentExpression"
50
- import { updateObjectExpression } from "../node-utilities/ObjectExpression"
50
+ import { createObjectExpression, updateObjectExpression } from "../node-utilities/ObjectExpression"
51
51
  import { updateETSTuple } from "../node-utilities/ETSTuple"
52
52
  import { createArrayExpression, updateArrayExpression } from "../node-utilities/ArrayExpression"
53
53
  import { updateBlockStatement } from "../node-utilities/BlockStatement"
54
54
  import { updateETSModule } from "../node-utilities/ETSModule"
55
+ import { createOpaqueTypeNode } from "../node-utilities/OpaqueTypeNode"
55
56
 
56
57
  export const factory = {
57
58
  ...generatedFactory,
@@ -110,7 +111,7 @@ export const factory = {
110
111
  createAssignmentExpression,
111
112
  updateAssignmentExpression,
112
113
 
113
- createObjectExpression: ObjectExpression.createObjectExpression,
114
+ createObjectExpression,
114
115
  updateObjectExpression,
115
116
 
116
117
  createETSTuple: ETSTuple.create2ETSTuple,
@@ -123,4 +124,6 @@ export const factory = {
123
124
  updateBlockStatement,
124
125
 
125
126
  updateInterfaceBody : generatedFactory.updateTSInterfaceBody,
127
+
128
+ createOpaqueTypeNode,
126
129
  }
@@ -29,6 +29,10 @@ export class NodeCache {
29
29
  return node as T
30
30
  }
31
31
 
32
+ static get<T extends AstNode>(pointer: KNativePointer): T | undefined {
33
+ return NodeCache.cache.get(pointer) as T | undefined
34
+ }
35
+
32
36
  public static addToCache(pointer: KNativePointer, node: AstNode) {
33
37
  NodeCache.cache.set(pointer, node)
34
38
  }
@@ -14,12 +14,13 @@
14
14
  */
15
15
 
16
16
  import { ArkTsConfig } from "../../generated"
17
+ import { traceGlobal } from "../../tracer"
17
18
 
18
19
  export function dumpArkTsConfigInfo(arkTsConfig: ArkTsConfig) {
19
- console.log(`ArkTsConfig info:`)
20
- console.log(`\tBaseUrl: ${arkTsConfig.baseUrl}`)
21
- console.log(`\tConfigPath: ${arkTsConfig.configPath}`)
22
- console.log(`\tOutDir: ${arkTsConfig.outDir}`)
23
- console.log(`\tPackage: ${arkTsConfig.package}`)
24
- console.log(`\tRootDir: ${arkTsConfig.rootDir}`)
20
+ traceGlobal(() => `ArkTsConfig info:`)
21
+ traceGlobal(() => `\tBaseUrl: ${arkTsConfig.baseUrl}`)
22
+ traceGlobal(() => `\tConfigPath: ${arkTsConfig.configPath}`)
23
+ traceGlobal(() => `\tOutDir: ${arkTsConfig.outDir}`)
24
+ traceGlobal(() => `\tPackage: ${arkTsConfig.package}`)
25
+ traceGlobal(() => `\tRootDir: ${arkTsConfig.rootDir}`)
25
26
  }
@@ -17,6 +17,7 @@ import { global } from "../static/global"
17
17
  import { NumberLiteral } from "../../generated"
18
18
  import { isSameNativeObject } from "../peers/ArktsObject"
19
19
  import { updateNodeByNode } from "../utilities/private"
20
+ import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
20
21
 
21
22
  export function createNumberLiteral(
22
23
  value: number
@@ -25,7 +26,8 @@ export function createNumberLiteral(
25
26
  global.es2panda._CreateNumberLiteral(
26
27
  global.context,
27
28
  value
28
- )
29
+ ),
30
+ Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL,
29
31
  )
30
32
  }
31
33
 
@@ -13,22 +13,41 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
+ import { KNativePointer } from "@koalaui/interop"
16
17
  import { ObjectExpression, Expression } from "../../generated"
17
18
  import { isSameNativeObject } from "../peers/ArktsObject"
18
- import { nodeType, updateNodeByNode } from "../utilities/private"
19
+ import { updateNodeByNode } from "../utilities/private"
20
+ import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
21
+
22
+ export function createObjectExpression(
23
+ properties: readonly Expression[],
24
+ preferredReturnType?: KNativePointer,
25
+ ): ObjectExpression {
26
+ const result = ObjectExpression.createObjectExpression(
27
+ Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION,
28
+ properties,
29
+ false, // Improve: provide trailingComma value from native module through ObjectExpression?
30
+ )
31
+ if (preferredReturnType) {
32
+ result.setPreferredTypePointer(preferredReturnType)
33
+ }
34
+ return result
35
+ }
19
36
 
20
37
  export function updateObjectExpression(
21
38
  original: ObjectExpression,
22
- properties: readonly Expression[]
39
+ properties: readonly Expression[],
40
+ preferredReturnType?: KNativePointer,
23
41
  ): ObjectExpression {
24
- if (isSameNativeObject(properties, original.properties)){
42
+ if (isSameNativeObject(properties, original.properties)
43
+ && preferredReturnType == original.getPreferredTypePointer()) {
25
44
  return original
26
45
  }
27
46
  return updateNodeByNode(
28
- ObjectExpression.createObjectExpression(
29
- nodeType(original),
47
+ createObjectExpression(
30
48
  properties,
31
- false), // Improve: provide trailingComma value from native module through ObjectExpression?
49
+ preferredReturnType
50
+ ),
32
51
  original
33
52
  )
34
53
  }
@@ -13,22 +13,13 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { ArktsObject } from "../../../arkts-api/peers/ArktsObject"
17
- import { global } from "../static/global"
18
16
  import { KNativePointer } from "@koalaui/interop"
17
+ import { global } from "../static/global"
18
+ import { OpaqueTypeNode } from "../../generated"
19
+ import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
19
20
 
20
- export class ImportPathManager extends ArktsObject {
21
- constructor(peer: KNativePointer) {
22
- super(peer)
23
- }
24
-
25
- static create(): ImportPathManager {
26
- return new ImportPathManager(
27
- global.es2panda._ETSParserGetImportPathManager(global.context)
28
- );
29
- }
30
-
31
- resolvePath(currentModulePath: string, importPath: string): string {
32
- return ''; // Improve: no longer support this.
33
- }
34
- }
21
+ export function createOpaqueTypeNode(
22
+ typePointer: KNativePointer
23
+ ): OpaqueTypeNode {
24
+ return new OpaqueTypeNode(global.es2panda._Checker_CreateOpaqueTypeNode(global.context, typePointer), Es2pandaAstNodeType.AST_NODE_TYPE_OPAQUE_TYPE_NODE)
25
+ }
@@ -13,30 +13,20 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { ExternalSource } from "../peers/ExternalSource"
17
- import { acceptNativeObjectArrayResult } from "../utilities/private"
18
- import { KNativePointer } from "@koalaui/interop"
19
- import { global } from "../static/global"
20
16
  import { Program } from "../../generated"
21
-
22
- export function programGetExternalSources(program: Program, context: KNativePointer = global.context): ExternalSource[] {
23
- return acceptNativeObjectArrayResult<ExternalSource>(
24
- global.es2panda._ProgramExternalSources(context, program.peer),
25
- (instance: KNativePointer) => new ExternalSource(instance)
26
- )
27
- }
17
+ import { traceGlobal } from "../../tracer"
28
18
 
29
19
  export function dumpProgramInfo(program: Program) {
30
- console.log(`Program info:`)
31
- console.log(`\tAbsoluteName: ${program.absoluteName}`)
32
- console.log(`\tFileName: ${program.fileName}`)
33
- console.log(`\tFileNameWithExtension: ${program.fileNameWithExtension}`)
34
- console.log(`\tModuleName: ${program.moduleName}`)
35
- console.log(`\tModulePrefix: ${program.modulePrefix}`)
36
- console.log(`\tRelativeFilePath: ${program.relativeFilePath}`)
37
- console.log(`\tResolvedFilePath: ${program.resolvedFilePath}`)
38
- console.log(`\tSourceFileFolder: ${program.sourceFileFolder}`)
39
- console.log(`\tSourceFilePath: ${program.sourceFilePath}`)
20
+ traceGlobal(() => `Program info:`)
21
+ traceGlobal(() => `\tAbsoluteName: ${program.absoluteName}`)
22
+ traceGlobal(() => `\tFileName: ${program.fileName}`)
23
+ traceGlobal(() => `\tFileNameWithExtension: ${program.fileNameWithExtension}`)
24
+ traceGlobal(() => `\tModuleName: ${program.moduleName}`)
25
+ traceGlobal(() => `\tModulePrefix: ${program.modulePrefix}`)
26
+ traceGlobal(() => `\tRelativeFilePath: ${program.relativeFilePath}`)
27
+ traceGlobal(() => `\tResolvedFilePath: ${program.resolvedFilePath}`)
28
+ traceGlobal(() => `\tSourceFileFolder: ${program.sourceFileFolder}`)
29
+ traceGlobal(() => `\tSourceFilePath: ${program.sourceFilePath}`)
40
30
  }
41
31
 
42
32
  export function dumpProgramSrcFormatted(program: Program, recursive: boolean, withLines: boolean = true) {
@@ -38,6 +38,7 @@ export function createScriptFunction(
38
38
  dataflags: Es2pandaModifierFlags,
39
39
  ident: Identifier | undefined,
40
40
  annotations: readonly AnnotationUsage[] | undefined,
41
+ signaturePointer?: KNativePointer,
41
42
  preferredReturnTypePointer?: KNativePointer,
42
43
  ) {
43
44
  const res = ScriptFunction.createScriptFunction(
@@ -53,6 +54,9 @@ export function createScriptFunction(
53
54
  ident,
54
55
  annotations,
55
56
  )
57
+ if (signaturePointer) {
58
+ res.setSignaturePointer(signaturePointer)
59
+ }
56
60
  if (preferredReturnTypePointer) {
57
61
  res.setPreferredReturnTypePointer(preferredReturnTypePointer)
58
62
  }
@@ -70,6 +74,7 @@ export function updateScriptFunction(
70
74
  dataflags: Es2pandaModifierFlags,
71
75
  ident: Identifier | undefined,
72
76
  annotations: readonly AnnotationUsage[] | undefined,
77
+ signaturePointer?: KNativePointer,
73
78
  preferredReturnTypePointer?: KNativePointer,
74
79
  ) {
75
80
  if (isSameNativeObject(databody, original.body)
@@ -81,6 +86,7 @@ export function updateScriptFunction(
81
86
  && isSameNativeObject(dataflags, original.modifierFlags)
82
87
  && isSameNativeObject(ident, original.id)
83
88
  && isSameNativeObject(annotations, original.annotations)
89
+ && signaturePointer == original.getSignaturePointer()
84
90
  && preferredReturnTypePointer == original.getPreferredReturnTypePointer()
85
91
  ) {
86
92
  return original
@@ -96,6 +102,7 @@ export function updateScriptFunction(
96
102
  dataflags,
97
103
  ident,
98
104
  annotations,
105
+ signaturePointer,
99
106
  preferredReturnTypePointer,
100
107
  ),
101
108
  original
@@ -15,20 +15,23 @@
15
15
 
16
16
  import { isNullPtr, KInt, KNativePointer, nullptr } from "@koalaui/interop"
17
17
  import { global } from "../static/global"
18
- import { allFlags, unpackNodeArray, unpackNonNullableNode, unpackString } from "../utilities/private"
18
+ import { allFlags, unpackNode, unpackNodeArray, unpackNonNullableNode, unpackString } from "../utilities/private"
19
19
  import { throwError } from "../../utils"
20
- import { Es2pandaModifierFlags } from "../../generated/Es2pandaEnums"
20
+ import { Es2pandaAstNodeType, Es2pandaModifierFlags } from "../../generated/Es2pandaEnums"
21
21
  import { ArktsObject } from "./ArktsObject"
22
- import { SourcePosition } from "./SourcePosition"
22
+ import { SourcePosition } from "../../generated/peers/SourcePosition"
23
23
  import { NodeCache } from "../node-cache"
24
24
 
25
25
  export abstract class AstNode extends ArktsObject {
26
- protected constructor(peer: KNativePointer) {
26
+ public readonly astNodeType: Es2pandaAstNodeType
27
+
28
+ protected constructor(peer: KNativePointer, astNodeType: Es2pandaAstNodeType) {
27
29
  global.profiler.nodeCreated()
28
30
  if (isNullPtr(peer)) {
29
31
  throwError(`attempted to create AstNode from nullptr`)
30
32
  }
31
33
  super(peer)
34
+ this.astNodeType = astNodeType
32
35
  this.setChildrenParentPtr()
33
36
  NodeCache.addToCache(peer, this)
34
37
  }
@@ -117,7 +120,7 @@ export abstract class AstNode extends ArktsObject {
117
120
 
118
121
  public get parent(): AstNode | undefined {
119
122
  const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer);
120
- return unpackNonNullableNode(parent);
123
+ return unpackNode(parent);
121
124
  }
122
125
 
123
126
  public set parent(node: AstNode | undefined) {
@@ -153,9 +156,8 @@ export abstract class AstNode extends ArktsObject {
153
156
  public override onUpdate(original: AstNode): void {
154
157
  // Improve: Update modifiers only for specific AST nodes in the generated factory code
155
158
  this.modifierFlags = original.modifierFlags
156
- global.generatedEs2panda._AstNodeSetOriginalNode(global.context, this.peer, original.originalPeer)
157
- global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, global.generatedEs2panda._AstNodeParent(global.context, original.peer))
158
- this.setChildrenParentPtr()
159
+
160
+ global.es2panda._AstNodeOnUpdate(global.context, this.peer, original.peer)
159
161
  }
160
162
 
161
163
  public get isExport(): boolean {
@@ -17,6 +17,7 @@ import { ArktsObject } from "./ArktsObject"
17
17
  import { global } from "../static/global"
18
18
  import { passStringArray } from "../utilities/private"
19
19
  import { KNativePointer, nullptr } from "@koalaui/interop"
20
+ import { Es2pandaCompilationMode } from "../../generated/Es2pandaEnums"
20
21
 
21
22
  export class Config extends ArktsObject {
22
23
  constructor(peer: KNativePointer) {
@@ -55,5 +56,10 @@ export class Config extends ArktsObject {
55
56
  }
56
57
  }
57
58
 
59
+ get compilationMode(): Es2pandaCompilationMode {
60
+ return global.es2panda._GetCompilationMode(this.peer);
61
+ }
62
+
63
+
58
64
  readonly path: string
59
65
  }
@@ -52,22 +52,10 @@ export class Context extends ArktsObject {
52
52
  );
53
53
  }
54
54
 
55
- static createFromFile(filePath: string, configPath: string, stdlibPath: string, outputPath: string): Context | undefined {
56
- const config = Config.create([
57
- "",
58
- "--arktsconfig",
59
- configPath,
60
- '--extension',
61
- 'ets',
62
- '--stdlib',
63
- stdlibPath,
64
- filePath,
65
- '--output',
66
- outputPath,
67
- ])
55
+ static createFromFile(filePath: string): Context {
68
56
  return new Context(
69
57
  global.es2panda._CreateContextFromFile(
70
- config.peer,
58
+ global.config,
71
59
  passString(filePath)
72
60
  )
73
61
  )
@@ -112,7 +100,7 @@ export class Context extends ArktsObject {
112
100
  }
113
101
 
114
102
  get program(): Program {
115
- return new Program(global.es2panda._ContextProgram(this.peer));
103
+ return new Program(global.generatedEs2panda._ContextProgram(this.peer));
116
104
  }
117
105
  }
118
106