@idlizer/arktscgen 2.1.9-arktscgen-9 → 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 (263) hide show
  1. package/build/libarkts-copy/generator/options.json5 +115 -3
  2. package/build/libarkts-copy/native/mingw.cross +13 -0
  3. package/build/libarkts-copy/native/src/bridges.cc +58 -227
  4. package/build/libarkts-copy/native/src/common.cc +49 -8
  5. package/build/libarkts-copy/native/src/generated/bridges.cc +1641 -44
  6. package/build/libarkts-copy/package.json +11 -14
  7. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +28 -51
  8. package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +1 -1
  9. package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +6 -5
  10. package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +5 -2
  11. package/build/libarkts-copy/src/arkts-api/node-cache.ts +4 -0
  12. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +7 -6
  13. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +3 -1
  14. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +25 -6
  15. package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/ImportPathManager.ts → arkts-api/node-utilities/OpaqueTypeNode.ts} +8 -17
  16. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +11 -10
  17. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +8 -6
  18. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +6 -0
  19. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +3 -15
  20. package/build/libarkts-copy/src/arkts-api/static/global.ts +28 -1
  21. package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +46 -6
  22. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +3 -3
  23. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +58 -90
  24. package/build/libarkts-copy/src/arkts-api/visitor.ts +965 -365
  25. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +5 -0
  26. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +601 -13
  27. package/build/libarkts-copy/src/generated/index.ts +3 -2
  28. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +3 -2
  29. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +3 -2
  30. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +3 -2
  31. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +6 -7
  32. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +6 -7
  33. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +4 -0
  34. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +6 -7
  35. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +6 -7
  36. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +5 -6
  37. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +6 -7
  38. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +3 -0
  39. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +5 -6
  40. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +5 -6
  41. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +5 -6
  42. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +5 -6
  43. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +5 -6
  44. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +5 -6
  45. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +6 -7
  46. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +5 -6
  47. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +6 -7
  48. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +5 -6
  49. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +5 -6
  50. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +5 -6
  51. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +9 -8
  52. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +3 -2
  53. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +5 -6
  54. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +15 -8
  55. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +5 -6
  56. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +5 -6
  57. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +6 -7
  58. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +5 -6
  59. package/build/libarkts-copy/src/generated/peers/Decorator.ts +5 -6
  60. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +5 -6
  61. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +5 -6
  62. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +5 -6
  63. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +5 -6
  64. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +5 -6
  65. package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +7 -8
  66. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +5 -6
  67. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +5 -6
  68. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +5 -6
  69. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +6 -7
  70. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +6 -7
  71. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +5 -6
  72. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +5 -6
  73. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +7 -8
  74. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +5 -6
  75. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +3 -4
  76. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +5 -6
  77. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +5 -6
  78. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +9 -10
  79. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +5 -6
  80. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +6 -7
  81. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +5 -6
  82. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +5 -6
  83. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +5 -6
  84. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +6 -7
  85. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +5 -6
  86. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +5 -6
  87. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +9 -10
  88. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +5 -6
  89. package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -2
  90. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +5 -6
  91. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +5 -6
  92. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +5 -6
  93. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +4 -5
  94. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +6 -7
  95. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +6 -7
  96. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +3 -0
  97. package/build/libarkts-copy/src/generated/peers/Identifier.ts +7 -8
  98. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +5 -6
  99. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +5 -6
  100. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +5 -6
  101. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +5 -6
  102. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +5 -6
  103. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +5 -6
  104. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +5 -6
  105. package/build/libarkts-copy/src/generated/peers/Literal.ts +3 -2
  106. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +3 -2
  107. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +3 -2
  108. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +5 -10
  109. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +5 -6
  110. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +5 -6
  111. package/build/libarkts-copy/src/generated/peers/NamedType.ts +5 -6
  112. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +5 -6
  113. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +5 -6
  114. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +10 -9
  115. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +5 -6
  116. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +5 -6
  117. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +5 -6
  118. package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +5 -6
  119. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +5 -6
  120. package/build/libarkts-copy/src/generated/peers/Property.ts +6 -7
  121. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +5 -6
  122. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +6 -7
  123. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +7 -6
  124. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +5 -6
  125. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +6 -0
  126. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +5 -6
  127. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +3 -0
  128. package/build/libarkts-copy/src/generated/peers/Statement.ts +3 -2
  129. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +6 -7
  130. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +5 -6
  131. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +5 -6
  132. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +5 -6
  133. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +5 -6
  134. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +5 -6
  135. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +5 -6
  136. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +5 -6
  137. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +5 -6
  138. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +6 -7
  139. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +5 -6
  140. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +5 -6
  141. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +6 -7
  142. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +6 -7
  143. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +5 -6
  144. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +5 -6
  145. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +5 -6
  146. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +5 -6
  147. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +5 -6
  148. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +5 -6
  149. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +5 -6
  150. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +5 -6
  151. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +5 -6
  152. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +5 -6
  153. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +5 -6
  154. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +5 -6
  155. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +5 -6
  156. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +5 -6
  157. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +5 -6
  158. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +5 -6
  159. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +5 -6
  160. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +5 -6
  161. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +5 -6
  162. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +5 -6
  163. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +5 -6
  164. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +5 -6
  165. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +5 -6
  166. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +5 -6
  167. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +5 -6
  168. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +5 -6
  169. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +5 -6
  170. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +5 -6
  171. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +5 -6
  172. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +5 -6
  173. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +6 -7
  174. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +5 -6
  175. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +5 -6
  176. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +5 -6
  177. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +6 -7
  178. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +5 -6
  179. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +5 -6
  180. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +5 -6
  181. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +5 -6
  182. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +5 -6
  183. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +5 -6
  184. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +5 -6
  185. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +5 -6
  186. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +5 -6
  187. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +5 -6
  188. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +6 -7
  189. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +5 -6
  190. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +5 -6
  191. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +5 -6
  192. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +6 -7
  193. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +3 -2
  194. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +3 -2
  195. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +3 -2
  196. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +5 -6
  197. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +5 -6
  198. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +5 -6
  199. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +5 -6
  200. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +3 -0
  201. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +5 -6
  202. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +6 -7
  203. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +5 -6
  204. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +5 -6
  205. package/build/libarkts-copy/src/index.ts +2 -0
  206. package/build/libarkts-copy/src/plugin-utils.ts +8 -1
  207. package/build/libarkts-copy/src/reexport-for-generated.ts +8 -0
  208. package/build/libarkts-copy/src/tracer.ts +172 -0
  209. package/lib/index.js +1357 -510
  210. package/package.json +2 -2
  211. package/build/libarkts-copy/src/arkts-api/peers/SourcePosition.ts +0 -38
  212. package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +0 -45
  213. package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +0 -45
  214. package/build/libarkts-copy/src/wrapper-compat/README.md +0 -20
  215. package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +0 -46
  216. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +0 -454
  217. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +0 -99
  218. package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +0 -88
  219. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +0 -38
  220. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +0 -35
  221. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +0 -38
  222. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +0 -27
  223. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +0 -45
  224. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +0 -27
  225. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +0 -73
  226. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +0 -51
  227. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +0 -42
  228. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +0 -39
  229. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +0 -43
  230. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +0 -28
  231. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +0 -37
  232. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +0 -28
  233. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +0 -37
  234. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +0 -42
  235. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +0 -46
  236. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +0 -30
  237. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +0 -37
  238. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +0 -27
  239. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +0 -46
  240. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +0 -28
  241. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +0 -47
  242. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +0 -40
  243. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +0 -36
  244. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +0 -41
  245. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +0 -42
  246. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +0 -39
  247. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +0 -26
  248. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +0 -38
  249. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +0 -34
  250. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +0 -33
  251. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +0 -105
  252. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +0 -38
  253. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +0 -38
  254. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +0 -34
  255. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +0 -16
  256. package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +0 -108
  257. package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +0 -889
  258. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +0 -69
  259. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +0 -190
  260. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +0 -198
  261. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +0 -327
  262. package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +0 -421
  263. package/build/libarkts-copy/src/wrapper-compat/index.ts +0 -20
@@ -1,6 +1,6 @@
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
  "*": {
@@ -23,19 +23,18 @@
23
23
  "./plugins/build/src/**/*"
24
24
  ],
25
25
  "config": {
26
- "gen_version": "2.1.9-arktscgen-8",
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",
@@ -70,18 +69,16 @@
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,22 +123,13 @@ 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 {
151
- throw new Error("Not implemented");
152
- }
153
- _SourcePositionIndex(context: KNativePointer, instance: KNativePointer): KInt {
154
- throw new Error("Not implemented");
155
- }
156
- _SourcePositionLine(context: KNativePointer, instance: KNativePointer): KInt {
132
+ _SourcePositionCol(context: KNativePointer, instance: KNativePointer): KInt {
157
133
  throw new Error("Not implemented");
158
134
  }
159
135
  _ConfigGetOptions(config: KNativePointer): KNativePointer {
@@ -162,6 +138,9 @@ export class Es2pandaNativeModule {
162
138
  _OptionsArkTsConfig(context: KNativePointer, options: KNativePointer): KNativePointer {
163
139
  throw new Error("Not implemented");
164
140
  }
141
+ _Checker_CreateOpaqueTypeNode(context: KNativePointer, type: KNativePointer): KNativePointer {
142
+ throw new Error("Not implemented");
143
+ }
165
144
  _Checker_ScriptFunctionSignature(context: KNativePointer, node: KNativePointer): KNativePointer {
166
145
  throw new Error("Not implemented");
167
146
  }
@@ -177,33 +156,30 @@ export class Es2pandaNativeModule {
177
156
  _Checker_ScriptFunctionSetPreferredReturnType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
178
157
  throw new Error("Not implemented");
179
158
  }
180
- _Checker_TypeToString(context: KNativePointer, type: KNativePointer): KNativePointer {
159
+ _Checker_ExpressionGetPreferredType(context: KNativePointer, node: KNativePointer): KNativePointer {
181
160
  throw new Error("Not implemented");
182
161
  }
183
- _Checker_TypeNodeGetType(context: KNativePointer, node: KNativePointer): KNativePointer {
162
+ _Checker_ExpressionSetPreferredType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
184
163
  throw new Error("Not implemented");
185
164
  }
186
- _JsdocStringFromDeclaration(context: KPtr, node: KPtr): KPtr {
187
- throw new Error("Not implemented")
188
- }
189
-
190
- // From koala-wrapper
191
- _ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
192
- throw new Error("Not implemented")
165
+ _Checker_TypeToString(context: KNativePointer, type: KNativePointer): KNativePointer {
166
+ throw new Error("Not implemented");
193
167
  }
194
- _IsMethodDefinition(node: KPtr): KBoolean {
195
- throw new Error("Not implemented")
168
+ _Checker_TypeClone(context: KNativePointer, type: KNativePointer): KNativePointer {
169
+ throw new Error("Not implemented");
196
170
  }
197
- _SourceRangeStart(context: KNativePointer, range: KNativePointer): KNativePointer {
198
- throw new Error("Not implemented")
171
+ _Checker_TypeNodeGetType(context: KNativePointer, node: KNativePointer): KNativePointer {
172
+ throw new Error("Not implemented");
199
173
  }
200
- _SourceRangeEnd(context: KNativePointer, range: KNativePointer): KNativePointer {
174
+ _ScriptFunctionSetParams(context: KNativePointer, receiver: KNativePointer, paramsList: BigUint64Array, paramsListLength: KUInt): void {
201
175
  throw new Error("Not implemented")
202
176
  }
203
- _CreateSourceRange(context: KNativePointer, start: KNativePointer, end: KNativePointer): KNativePointer {
177
+ _ClassDefinitionSetBody(context: KNativePointer, receiver: KNativePointer, body: BigUint64Array, bodyLength: KUInt): void {
204
178
  throw new Error("Not implemented")
205
179
  }
206
- _IsArrayExpression(node: KPtr): KBoolean {
180
+
181
+ // From koala-wrapper
182
+ _ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
207
183
  throw new Error("Not implemented")
208
184
  }
209
185
  _ETSParserGetGlobalProgramAbsName(context: KNativePointer): KNativePointer {
@@ -222,10 +198,6 @@ export class Es2pandaNativeModule {
222
198
  _LogDiagnostic(context: KNativePointer, kind: KNativePointer, argv: string[], argc: number, pos: KNativePointer): void {
223
199
  throw new Error("Not implemented")
224
200
  }
225
- _LogDiagnosticWithSuggestion(context: KNativePointer, diagnosticInfo: KNativePointer,
226
- suggestionInfo?: KNativePointer): void {
227
- throw new Error("Not implemented")
228
- }
229
201
  _SetUpSoPath(soPath: string): void {
230
202
  throw new Error("Not implemented")
231
203
  }
@@ -241,15 +213,20 @@ export class Es2pandaNativeModule {
241
213
  _GenerateTsDeclarationsFromContext(config: KPtr, outputDeclEts: String, outputEts: String, exportAll: KBoolean, isolated: KBoolean, recordFile: String): KPtr {
242
214
  throw new Error("Not implemented")
243
215
  }
244
- _GenerateStaticDeclarationsFromContext(config: KPtr, outputPath: String): KPtr {
245
- throw new Error("Not implemented")
246
- }
247
216
  _AstNodeProgram(context: KNativePointer, instance: KNativePointer): KNativePointer {
248
217
  throw new Error("Not implemented")
249
218
  }
250
219
  _CreateContextGenerateAbcForExternalSourceFiles(config: KPtr, fileCount: KInt, filenames: string[]): KPtr {
251
220
  throw new Error('Not implemented');
252
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
+ }
253
230
  }
254
231
 
255
232
  export function findNativeModule(): string {
@@ -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
+ }
@@ -14,18 +14,19 @@
14
14
  */
15
15
 
16
16
  import { Program } from "../../generated"
17
+ import { traceGlobal } from "../../tracer"
17
18
 
18
19
  export function dumpProgramInfo(program: Program) {
19
- console.log(`Program info:`)
20
- console.log(`\tAbsoluteName: ${program.absoluteName}`)
21
- console.log(`\tFileName: ${program.fileName}`)
22
- console.log(`\tFileNameWithExtension: ${program.fileNameWithExtension}`)
23
- console.log(`\tModuleName: ${program.moduleName}`)
24
- console.log(`\tModulePrefix: ${program.modulePrefix}`)
25
- console.log(`\tRelativeFilePath: ${program.relativeFilePath}`)
26
- console.log(`\tResolvedFilePath: ${program.resolvedFilePath}`)
27
- console.log(`\tSourceFileFolder: ${program.sourceFileFolder}`)
28
- 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}`)
29
30
  }
30
31
 
31
32
  export function dumpProgramSrcFormatted(program: Program, recursive: boolean, withLines: boolean = true) {
@@ -17,18 +17,21 @@ import { isNullPtr, KInt, KNativePointer, nullptr } from "@koalaui/interop"
17
17
  import { global } from "../static/global"
18
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
  }
@@ -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
 
@@ -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,7 @@ 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
51
71
  public static isContextGenerateAbcForExternalSourceFiles: boolean = false
52
72
 
53
73
  private static _es2panda: Es2pandaNativeModule | undefined = undefined
@@ -77,4 +97,11 @@ export class global {
77
97
 
78
98
  // Check node type values during node creation
79
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()
80
107
  }