@idlizer/arktscgen 2.1.9-arktscgen-9 → 2.1.10-arktscgen-3

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 (296) hide show
  1. package/build/libarkts-copy/generator/options.json5 +199 -4
  2. package/build/libarkts-copy/native/meson.build +1 -0
  3. package/build/libarkts-copy/native/mingw.cross +13 -0
  4. package/build/libarkts-copy/native/src/bridges.cc +66 -229
  5. package/build/libarkts-copy/native/src/common.cc +37 -8
  6. package/build/libarkts-copy/native/src/generated/bridges.cc +2047 -766
  7. package/build/libarkts-copy/native/src/memoryTracker.cc +178 -0
  8. package/build/libarkts-copy/native/src/memoryTracker.h +52 -0
  9. package/build/libarkts-copy/package.json +11 -14
  10. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +41 -52
  11. package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +1 -1
  12. package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +7 -6
  13. package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +5 -2
  14. package/build/libarkts-copy/src/arkts-api/index.ts +2 -1
  15. package/build/libarkts-copy/src/arkts-api/node-cache.ts +9 -9
  16. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +7 -6
  17. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +3 -1
  18. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +25 -6
  19. package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/ImportPathManager.ts → arkts-api/node-utilities/OpaqueTypeNode.ts} +8 -17
  20. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +11 -10
  21. package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +1 -1
  22. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +12 -7
  23. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +6 -0
  24. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +3 -15
  25. package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/AstNode.ts → arkts-api/peers/DiagnosticKind.ts} +6 -8
  26. package/build/libarkts-copy/src/arkts-api/static/global.ts +28 -1
  27. package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +64 -7
  28. package/build/libarkts-copy/src/{wrapper-compat/arkts-api → arkts-api}/utilities/performance.ts +122 -3
  29. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +8 -22
  30. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +95 -93
  31. package/build/libarkts-copy/src/arkts-api/visitor.ts +971 -364
  32. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +6 -0
  33. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +686 -185
  34. package/build/libarkts-copy/src/generated/factory.ts +2 -3
  35. package/build/libarkts-copy/src/generated/index.ts +3 -2
  36. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +3 -3
  37. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +3 -3
  38. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +3 -3
  39. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +17 -20
  40. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +7 -9
  41. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +4 -1
  42. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +6 -12
  43. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +18 -21
  44. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +5 -7
  45. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +6 -8
  46. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +3 -1
  47. package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +0 -1
  48. package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +0 -1
  49. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +5 -7
  50. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +5 -7
  51. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +5 -7
  52. package/build/libarkts-copy/src/generated/peers/BindingProps.ts +0 -1
  53. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +5 -7
  54. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +5 -7
  55. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +5 -7
  56. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +7 -9
  57. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +11 -8
  58. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +6 -8
  59. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +5 -7
  60. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +5 -7
  61. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +6 -30
  62. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +35 -28
  63. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +5 -32
  64. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +6 -8
  65. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +25 -20
  66. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +6 -8
  67. package/build/libarkts-copy/src/generated/peers/CodeGen.ts +0 -1
  68. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +5 -7
  69. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +7 -9
  70. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +5 -7
  71. package/build/libarkts-copy/src/generated/peers/Declaration.ts +0 -1
  72. package/build/libarkts-copy/src/generated/peers/Decorator.ts +5 -7
  73. package/build/libarkts-copy/src/generated/peers/DiagnosticInfo.ts +0 -1
  74. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +5 -7
  75. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +5 -7
  76. package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +0 -1
  77. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +5 -7
  78. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +14 -9
  79. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +5 -7
  80. package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +7 -9
  81. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +5 -7
  82. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +17 -20
  83. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +5 -7
  84. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +6 -8
  85. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +6 -8
  86. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +5 -7
  87. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +5 -7
  88. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +20 -23
  89. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +5 -7
  90. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +4 -6
  91. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +5 -7
  92. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +5 -7
  93. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +9 -11
  94. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +7 -9
  95. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +9 -11
  96. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +5 -7
  97. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +5 -7
  98. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +6 -8
  99. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +6 -8
  100. package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +0 -1
  101. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +7 -9
  102. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +5 -7
  103. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +11 -13
  104. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +7 -9
  105. package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -3
  106. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +5 -7
  107. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +5 -7
  108. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +5 -7
  109. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +4 -6
  110. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +16 -23
  111. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +8 -10
  112. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +5 -2
  113. package/build/libarkts-copy/src/generated/peers/IRNode.ts +0 -1
  114. package/build/libarkts-copy/src/generated/peers/Identifier.ts +7 -18
  115. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +5 -7
  116. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +6 -8
  117. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +6 -8
  118. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +5 -7
  119. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +6 -8
  120. package/build/libarkts-copy/src/generated/peers/ImportSource.ts +0 -1
  121. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +7 -9
  122. package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +0 -1
  123. package/build/libarkts-copy/src/generated/peers/LabelPair.ts +0 -1
  124. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +6 -8
  125. package/build/libarkts-copy/src/generated/peers/Literal.ts +3 -3
  126. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +3 -3
  127. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +3 -3
  128. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +5 -11
  129. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +5 -7
  130. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +10 -12
  131. package/build/libarkts-copy/src/generated/peers/NamedType.ts +7 -9
  132. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +5 -7
  133. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +5 -7
  134. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +10 -10
  135. package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +0 -1
  136. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +5 -11
  137. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +5 -7
  138. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +5 -7
  139. package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +5 -7
  140. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +5 -7
  141. package/build/libarkts-copy/src/generated/peers/Program.ts +9 -2
  142. package/build/libarkts-copy/src/generated/peers/Property.ts +6 -8
  143. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +5 -7
  144. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +6 -8
  145. package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +0 -1
  146. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +27 -23
  147. package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +0 -1
  148. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +5 -7
  149. package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +0 -1
  150. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +8 -1
  151. package/build/libarkts-copy/src/generated/peers/SourceRange.ts +0 -1
  152. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +5 -11
  153. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +3 -1
  154. package/build/libarkts-copy/src/generated/peers/Statement.ts +3 -3
  155. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +6 -8
  156. package/build/libarkts-copy/src/generated/peers/SuggestionInfo.ts +0 -1
  157. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +5 -7
  158. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +5 -7
  159. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +6 -8
  160. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +5 -7
  161. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +5 -7
  162. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +5 -7
  163. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +5 -7
  164. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +5 -7
  165. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +7 -9
  166. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +5 -7
  167. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +6 -8
  168. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +8 -32
  169. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +6 -8
  170. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +5 -7
  171. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +6 -8
  172. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +6 -8
  173. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +6 -8
  174. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +5 -7
  175. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +5 -7
  176. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +6 -8
  177. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +5 -7
  178. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +19 -44
  179. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +5 -7
  180. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +5 -7
  181. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +5 -7
  182. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +6 -8
  183. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +6 -8
  184. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +5 -7
  185. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +5 -7
  186. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +5 -7
  187. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +5 -7
  188. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +5 -7
  189. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +5 -7
  190. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +5 -7
  191. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +5 -7
  192. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +5 -7
  193. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +5 -7
  194. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +5 -7
  195. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +7 -9
  196. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +6 -8
  197. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +5 -7
  198. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +5 -7
  199. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +5 -7
  200. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +32 -47
  201. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +5 -7
  202. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +5 -7
  203. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +5 -7
  204. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +17 -20
  205. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +6 -8
  206. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +5 -7
  207. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +5 -7
  208. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +5 -7
  209. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +7 -9
  210. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +5 -7
  211. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +5 -7
  212. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +5 -7
  213. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +5 -7
  214. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +7 -9
  215. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +6 -8
  216. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +6 -8
  217. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +5 -7
  218. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +5 -7
  219. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +7 -9
  220. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +13 -14
  221. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +3 -3
  222. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +3 -3
  223. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +5 -7
  224. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +5 -7
  225. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +5 -7
  226. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +5 -7
  227. package/build/libarkts-copy/src/generated/peers/VReg.ts +0 -1
  228. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +3 -1
  229. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +16 -26
  230. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +6 -8
  231. package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +0 -1
  232. package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +0 -1
  233. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +5 -7
  234. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +5 -7
  235. package/build/libarkts-copy/src/index.ts +4 -1
  236. package/build/libarkts-copy/src/plugin-utils.ts +8 -11
  237. package/build/libarkts-copy/src/reexport-for-generated.ts +1 -12
  238. package/build/libarkts-copy/src/tracer.ts +172 -0
  239. package/build/libarkts-copy/src/utils.ts +3 -0
  240. package/lib/index.js +1403 -544
  241. package/package.json +4 -3
  242. package/templates/factory.ts +0 -1
  243. package/templates/peer.ts +0 -1
  244. package/build/libarkts-copy/src/arkts-api/ChainExpressionFilter.ts +0 -79
  245. package/build/libarkts-copy/src/arkts-api/peers/SourcePosition.ts +0 -38
  246. package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +0 -45
  247. package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +0 -45
  248. package/build/libarkts-copy/src/wrapper-compat/README.md +0 -20
  249. package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +0 -46
  250. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +0 -454
  251. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +0 -99
  252. package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +0 -88
  253. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +0 -38
  254. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +0 -35
  255. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +0 -38
  256. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +0 -27
  257. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +0 -45
  258. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +0 -27
  259. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +0 -73
  260. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +0 -51
  261. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +0 -42
  262. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +0 -39
  263. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +0 -43
  264. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +0 -28
  265. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +0 -37
  266. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +0 -28
  267. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +0 -37
  268. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +0 -42
  269. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +0 -46
  270. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +0 -30
  271. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +0 -37
  272. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +0 -27
  273. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +0 -46
  274. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +0 -28
  275. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +0 -47
  276. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +0 -40
  277. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +0 -36
  278. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +0 -41
  279. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +0 -42
  280. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +0 -39
  281. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +0 -38
  282. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +0 -34
  283. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +0 -33
  284. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +0 -105
  285. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +0 -38
  286. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +0 -38
  287. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +0 -34
  288. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +0 -16
  289. package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +0 -108
  290. package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +0 -889
  291. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +0 -69
  292. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +0 -198
  293. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +0 -327
  294. package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +0 -421
  295. package/build/libarkts-copy/src/wrapper-compat/index.ts +0 -20
  296. package/templates/node-map.ts +0 -35
@@ -1,889 +0,0 @@
1
- /*
2
- * Copyright (c) 2022-2025 Huawei Device Co., Ltd.
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- */
15
- import { global } from '../../arkts-api/static/global';
16
- import { KInt, KNativePointer, KNativePointer as KPtr, nullptr } from '@koalaui/interop';
17
- import {
18
- Es2pandaAstNodeType,
19
- Es2pandaContextState,
20
- Es2pandaMethodDefinitionKind,
21
- Es2pandaTokenType,
22
- Es2pandaVariableDeclarationKind,
23
- Es2pandaVariableDeclaratorFlag,
24
- } from '../../generated/Es2pandaEnums';
25
- import {
26
- allFlags,
27
- arrayOfNullptr,
28
- assertValidPeer,
29
- passNode,
30
- passNodeArray,
31
- passString,
32
- unpackNode,
33
- unpackNodeArray,
34
- unpackNonNullableNode,
35
- updatePeerByNode,
36
- } from './utilities/private';
37
- import { proceedToState } from './utilities/public';
38
- import { AstNode } from '../../arkts-api/peers/AstNode';
39
- import { Config } from '../../arkts-api/peers/Config';
40
- import { Context } from '../../arkts-api/peers/Context';
41
- import { nodeByType } from './class-by-peer';
42
- import { MemberExpression } from './to-be-generated/MemberExpression';
43
- import {
44
- AnnotationUsage,
45
- ArrayExpression,
46
- BlockStatement,
47
- ClassDefinition,
48
- ETSModule,
49
- ETSTypeReference,
50
- ETSTypeReferencePart,
51
- Expression,
52
- Identifier,
53
- Literal,
54
- ObjectExpression,
55
- ScriptFunction,
56
- TSTypeParameterDeclaration,
57
- TSTypeParameterInstantiation,
58
- TypeNode,
59
- } from '../../generated';
60
-
61
- export class EtsScript extends ETSModule {
62
- static fromContext(): EtsScript {
63
- console.log('[TS WRAPPER] GET AST FROM CONTEXT');
64
- return new EtsScript(
65
- global.es2panda._ProgramAst(global.context, global.es2panda._ContextProgram(global.context))
66
- );
67
- }
68
-
69
- /**
70
- * @deprecated
71
- */
72
- static createFromSource(
73
- source: string,
74
- state: Es2pandaContextState = Es2pandaContextState.ES2PANDA_STATE_PARSED
75
- ): EtsScript {
76
- if (!global.configIsInitialized()) {
77
- global.config = Config.createDefault().peer;
78
- }
79
- global.compilerContext = Context.createFromString(source) as any; // Improve: commonize context
80
- proceedToState(state, global.context);
81
- return new EtsScript(
82
- global.es2panda._ProgramAst(global.context, global.es2panda._ContextProgram(global.context))
83
- );
84
- }
85
-
86
- /**
87
- * @deprecated
88
- */
89
- static updateByStatements(node: EtsScript, statements: readonly AstNode[]): EtsScript {
90
- global.generatedEs2panda._BlockStatementSetStatements(
91
- global.context,
92
- node.peer,
93
- passNodeArray(statements),
94
- statements.length
95
- );
96
- return node;
97
- }
98
- }
99
-
100
- export class ExpressionStatement extends AstNode {
101
- constructor(peer: KPtr) {
102
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_EXPRESSION_STATEMENT);
103
- super(peer);
104
- }
105
-
106
- static create(expression: AstNode): ExpressionStatement {
107
- return new ExpressionStatement(
108
- global.generatedEs2panda._CreateExpressionStatement(global.context, expression.peer)
109
- );
110
- }
111
-
112
- static update(node: ExpressionStatement, expression: AstNode): ExpressionStatement {
113
- return new ExpressionStatement(
114
- global.generatedEs2panda._UpdateExpressionStatement(global.context, node.peer, expression.peer)
115
- );
116
- }
117
-
118
- get expression(): AstNode {
119
- return unpackNonNullableNode(
120
- global.generatedEs2panda._ExpressionStatementGetExpressionConst(global.context, this.peer)
121
- );
122
- }
123
- /** @deprecated */
124
- setExpression(expr?: Expression): this {
125
- global.generatedEs2panda._ExpressionStatementSetExpression(global.context, this.peer, passNode(expr));
126
- return this;
127
- }
128
- }
129
-
130
- // Improve:
131
- // the CallExpression idl Create signature doesn't include the trailing block at all.
132
- // Need to clarify with the compiler people if they will provide create signature with a trailing block argument.
133
- export class CallExpression extends Expression {
134
- constructor(peer: KPtr) {
135
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_CALL_EXPRESSION);
136
- super(peer);
137
- this.expression = unpackNonNullableNode(
138
- global.generatedEs2panda._CallExpressionCallee(global.context, this.peer)
139
- );
140
- this.typeParams = unpackNode(global.generatedEs2panda._CallExpressionTypeParams(global.context, this.peer));
141
- this.typeArguments = this.typeParams
142
- ? unpackNodeArray(
143
- global.generatedEs2panda._TSTypeParameterInstantiationParamsConst(
144
- global.context,
145
- this.typeParams.peer
146
- )
147
- )
148
- : undefined;
149
- this.arguments = unpackNodeArray(global.generatedEs2panda._CallExpressionArguments(global.context, this.peer));
150
- }
151
-
152
- static create(
153
- expression: AstNode,
154
- typeArguments: readonly TypeNode[] | undefined,
155
- args: readonly AstNode[] | undefined,
156
- isOptional: boolean = false,
157
- trailingComma: boolean = false
158
- ): CallExpression {
159
- const peer = global.generatedEs2panda._CreateCallExpression(
160
- global.context,
161
- passNode(expression),
162
- passNodeArray(args),
163
- args?.length ?? 0,
164
- typeArguments
165
- ? passNode(TSTypeParameterInstantiation.createTSTypeParameterInstantiation(typeArguments))
166
- : nullptr,
167
- isOptional,
168
- trailingComma
169
- );
170
- return new CallExpression(peer);
171
- }
172
-
173
- static update(
174
- node: CallExpression,
175
- expression: AstNode,
176
- typeArguments: readonly TypeNode[] | undefined,
177
- args: readonly AstNode[] | undefined,
178
- isOptional: boolean = false,
179
- trailingComma: boolean = false
180
- ): CallExpression {
181
- const other = CallExpression.create(expression, typeArguments, args, isOptional, trailingComma)
182
- const peer = global.generatedEs2panda._UpdateCallExpression1(
183
- global.context,
184
- node.peer,
185
- other.peer,
186
- );
187
- return new CallExpression(peer);
188
- }
189
-
190
- get trailingBlock(): BlockStatement | undefined {
191
- return unpackNode(global.generatedEs2panda._CallExpressionTrailingBlockConst(global.context, this.peer));
192
- }
193
-
194
- setTralingBlock(trailingBlock: BlockStatement | undefined): this {
195
- if (!trailingBlock) return this;
196
- global.generatedEs2panda._CallExpressionSetTrailingBlock(global.context, this.peer, trailingBlock.peer);
197
- return this;
198
- }
199
-
200
- /** @deprecated */
201
- setCallee(callee?: Expression): this {
202
- global.generatedEs2panda._CallExpressionSetCallee(global.context, this.peer, passNode(callee));
203
- return this;
204
- }
205
-
206
- /** @deprecated */
207
- setTypeParams(typeParams?: TSTypeParameterInstantiation): this {
208
- global.generatedEs2panda._CallExpressionSetTypeParams(global.context, this.peer, passNode(typeParams));
209
- return this;
210
- }
211
-
212
- readonly expression: AstNode; // Expression
213
- readonly typeArguments: readonly TypeNode[] | undefined;
214
- readonly arguments: readonly Expression[];
215
- readonly typeParams: TSTypeParameterInstantiation | undefined;
216
- }
217
-
218
- export class AssignmentExpression extends AstNode {
219
- constructor(peer: KPtr) {
220
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_EXPRESSION);
221
- super(peer);
222
- }
223
-
224
- static create(left: AstNode, assignmentOperator: Es2pandaTokenType, right: AstNode): AssignmentExpression {
225
- return new AssignmentExpression(
226
- global.generatedEs2panda._CreateAssignmentExpression(
227
- global.context,
228
- passNode(left),
229
- passNode(right),
230
- assignmentOperator
231
- )
232
- );
233
- }
234
-
235
- static update(
236
- node: AssignmentExpression,
237
- left: AstNode,
238
- assignmentOperator: Es2pandaTokenType,
239
- right: AstNode
240
- ): AssignmentExpression {
241
- return new AssignmentExpression(
242
- global.generatedEs2panda._UpdateAssignmentExpression(
243
- global.context,
244
- node.peer,
245
- passNode(left),
246
- passNode(right),
247
- assignmentOperator
248
- )
249
- );
250
- }
251
-
252
- get left(): Expression | undefined {
253
- return unpackNode(global.generatedEs2panda._AssignmentExpressionLeftConst(global.context, this.peer));
254
- }
255
- get right(): Expression | undefined {
256
- return unpackNode(global.generatedEs2panda._AssignmentExpressionRightConst(global.context, this.peer));
257
- }
258
- get operatorType(): Es2pandaTokenType {
259
- return global.generatedEs2panda._AssignmentExpressionOperatorTypeConst(global.context, this.peer);
260
- }
261
- /** @deprecated */
262
- setRight(expr?: Expression): this {
263
- global.generatedEs2panda._AssignmentExpressionSetRight(global.context, this.peer, passNode(expr));
264
- return this;
265
- }
266
- /** @deprecated */
267
- setLeft(expr?: Expression): this {
268
- global.generatedEs2panda._AssignmentExpressionSetLeft(global.context, this.peer, passNode(expr));
269
- return this;
270
- }
271
- setOperatorType(operatorType: Es2pandaTokenType): this {
272
- global.generatedEs2panda._AssignmentExpressionSetOperatorType(global.context, this.peer, operatorType);
273
- return this;
274
- }
275
- }
276
-
277
- export class TSUnionType extends AstNode {
278
- constructor(peer: KPtr) {
279
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_TS_UNION_TYPE);
280
- super(peer);
281
- this.types = unpackNodeArray(global.generatedEs2panda._TSUnionTypeTypesConst(global.context, this.peer));
282
- }
283
-
284
- static create(node: undefined | TSUnionType, types: AstNode[]): TSUnionType {
285
- return new TSUnionType(
286
- updatePeerByNode(
287
- global.generatedEs2panda._CreateTSUnionType(global.context, passNodeArray(types), types.length),
288
- node
289
- )
290
- );
291
- }
292
-
293
- readonly types: readonly AstNode[];
294
- }
295
-
296
- export class NumberLiteral extends Literal {
297
- constructor(peer: KPtr) {
298
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL);
299
- super(peer);
300
- this.value = 0.0;
301
- }
302
-
303
- static create(value: number): NumberLiteral {
304
- return new NumberLiteral(global.es2panda._CreateNumberLiteral(global.context, value));
305
- }
306
-
307
- protected override dumpMessage(): string {
308
- return ` <value: ${this.value}>`;
309
- }
310
-
311
- readonly value: number = 0.0;
312
- }
313
-
314
- export class ArrowFunctionExpression extends Expression {
315
- constructor(peer: KPtr) {
316
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION);
317
- super(peer);
318
- this.scriptFunction = unpackNonNullableNode(
319
- global.generatedEs2panda._ArrowFunctionExpressionFunction(global.context, this.peer)
320
- );
321
- }
322
-
323
- static create(func: ScriptFunction): ArrowFunctionExpression {
324
- return new ArrowFunctionExpression(
325
- global.generatedEs2panda._CreateArrowFunctionExpression(global.context, passNode(func))
326
- );
327
- }
328
-
329
- static update(node: ArrowFunctionExpression, func: ScriptFunction): ArrowFunctionExpression {
330
- return new ArrowFunctionExpression(
331
- global.generatedEs2panda._UpdateArrowFunctionExpression(global.context, node.peer, passNode(func))
332
- );
333
- }
334
-
335
- get annotations(): AnnotationUsage[] {
336
- return unpackNodeArray(global.generatedEs2panda._ArrowFunctionExpressionAnnotations(global.context, this.peer));
337
- }
338
-
339
- setAnnotations(annotations: AnnotationUsage[]): this {
340
- global.generatedEs2panda._ArrowFunctionExpressionSetAnnotations(
341
- global.context,
342
- this.peer,
343
- passNodeArray(annotations),
344
- annotations.length
345
- );
346
-
347
- return this;
348
- }
349
-
350
- readonly scriptFunction: ScriptFunction;
351
- }
352
-
353
- export class FunctionDeclaration extends AstNode {
354
- constructor(peer: KPtr) {
355
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_DECLARATION);
356
- super(peer);
357
- this.scriptFunction = unpackNonNullableNode(
358
- global.generatedEs2panda._FunctionDeclarationFunction(global.context, this.peer)
359
- );
360
- this.parameters = unpackNodeArray(
361
- global.generatedEs2panda._ScriptFunctionParams(global.context, this.scriptFunction.peer)
362
- );
363
- this.name = unpackNode(global.generatedEs2panda._ScriptFunctionId(global.context, this.scriptFunction.peer));
364
- this.body = unpackNode(global.generatedEs2panda._ScriptFunctionBody(global.context, this.scriptFunction.peer));
365
- this.typeParamsDecl = unpackNode(
366
- global.generatedEs2panda._ScriptFunctionTypeParams(global.context, this.scriptFunction.peer)
367
- );
368
- this.returnType = unpackNode(
369
- global.generatedEs2panda._ScriptFunctionReturnTypeAnnotation(global.context, this.scriptFunction.peer)
370
- );
371
- this.isAnon = global.generatedEs2panda._FunctionDeclarationIsAnonymousConst(global.context, this.peer);
372
- }
373
-
374
- static create(
375
- scriptFunction: ScriptFunction,
376
- isAnon: boolean,
377
- annotations?: AnnotationUsage[]
378
- ): FunctionDeclaration {
379
- const res = new FunctionDeclaration(
380
- global.generatedEs2panda._CreateFunctionDeclaration(
381
- global.context,
382
- scriptFunction.peer,
383
- // Improve: support annotations
384
- arrayOfNullptr,
385
- 0,
386
- isAnon
387
- )
388
- );
389
- // Improve: maybe wrong
390
- res.modifiers = scriptFunction.modifiers;
391
- if (annotations) {
392
- res.annotations = annotations;
393
- }
394
- return res;
395
- }
396
-
397
- static update(
398
- node: FunctionDeclaration,
399
- scriptFunction: ScriptFunction,
400
- isAnon: boolean,
401
- annotations?: AnnotationUsage[]
402
- ): FunctionDeclaration {
403
- const res = new FunctionDeclaration(
404
- global.generatedEs2panda._UpdateFunctionDeclaration(
405
- global.context,
406
- node.peer,
407
- scriptFunction.peer,
408
- // Improve: support annotations
409
- passNodeArray(annotations),
410
- 0,
411
- isAnon
412
- )
413
- );
414
- if (annotations) {
415
- res.annotations = annotations;
416
- }
417
- return res;
418
- }
419
-
420
- get annotations(): AnnotationUsage[] {
421
- return unpackNodeArray(
422
- global.generatedEs2panda._FunctionDeclarationAnnotationsConst(global.context, this.peer)
423
- );
424
- }
425
-
426
- set annotations(newAnnotations: AnnotationUsage[]) {
427
- global.generatedEs2panda._FunctionDeclarationSetAnnotations(
428
- global.context,
429
- this.peer,
430
- passNodeArray(newAnnotations),
431
- newAnnotations.length
432
- );
433
- }
434
-
435
- readonly scriptFunction: ScriptFunction;
436
- readonly parameters: readonly AstNode[];
437
- readonly name?: Identifier;
438
- readonly body?: BlockStatement;
439
- readonly typeParamsDecl?: TSTypeParameterDeclaration;
440
- readonly returnType?: AstNode;
441
- readonly isAnon: boolean;
442
- }
443
-
444
- export class FunctionExpression extends AstNode {
445
- constructor(peer: KPtr) {
446
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_EXPRESSION);
447
- super(peer);
448
- this.scriptFunction = unpackNonNullableNode(
449
- global.generatedEs2panda._FunctionExpressionFunction(global.context, this.peer)
450
- );
451
- }
452
-
453
- static create(expression: ScriptFunction): FunctionExpression {
454
- return new FunctionExpression(
455
- global.generatedEs2panda._CreateFunctionExpression(global.context, passNode(expression))
456
- );
457
- }
458
-
459
- static update(node: FunctionExpression, expression: ScriptFunction): FunctionExpression {
460
- return new FunctionExpression(
461
- global.generatedEs2panda._UpdateFunctionExpression(global.context, node.peer, passNode(expression))
462
- );
463
- }
464
-
465
- readonly scriptFunction: ScriptFunction;
466
- }
467
-
468
- export class ETSParameterExpression extends Expression {
469
- constructor(peer: KPtr) {
470
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION);
471
- super(peer);
472
- }
473
-
474
- static create(identifier: Identifier, initializer: AstNode | undefined): ETSParameterExpression {
475
- if (initializer !== undefined) {
476
- return new ETSParameterExpression(
477
- global.generatedEs2panda._CreateETSParameterExpression1(
478
- global.context,
479
- passNode(identifier),
480
- passNode(initializer)
481
- )
482
- );
483
- }
484
- return new ETSParameterExpression(
485
- global.generatedEs2panda._CreateETSParameterExpression(global.context, passNode(identifier), false)
486
- );
487
- }
488
-
489
- static update(
490
- node: ETSParameterExpression,
491
- identifier: Identifier,
492
- initializer: AstNode | undefined
493
- ): ETSParameterExpression {
494
- if (initializer !== undefined) {
495
- return new ETSParameterExpression(
496
- global.generatedEs2panda._UpdateETSParameterExpression1(
497
- global.context,
498
- node.peer,
499
- passNode(identifier),
500
- passNode(initializer)
501
- )
502
- );
503
- }
504
- return new ETSParameterExpression(
505
- global.generatedEs2panda._UpdateETSParameterExpression(
506
- global.context,
507
- node.peer,
508
- passNode(identifier),
509
- false
510
- )
511
- );
512
- }
513
-
514
- get annotations(): AnnotationUsage[] {
515
- return unpackNodeArray(global.generatedEs2panda._ETSParameterExpressionAnnotations(global.context, this.peer/*, nullptr*/));
516
- }
517
-
518
- set annotations(newAnnotations: AnnotationUsage[]) {
519
- global.generatedEs2panda._ETSParameterExpressionSetAnnotations(
520
- global.context,
521
- this.peer,
522
- passNodeArray(newAnnotations),
523
- newAnnotations.length
524
- );
525
- }
526
-
527
- get type(): AstNode | undefined {
528
- return unpackNode(global.generatedEs2panda._ETSParameterExpressionTypeAnnotation(global.context, this.peer));
529
- }
530
-
531
- set type(t: AstNode | undefined) {
532
- if (t === undefined) return;
533
- global.generatedEs2panda._ETSParameterExpressionSetTypeAnnotation(global.context, this.peer, t.peer);
534
- }
535
-
536
- get optional(): Boolean {
537
- return global.generatedEs2panda._ETSParameterExpressionIsOptionalConst(global.context, this.peer);
538
- }
539
-
540
- get initializer(): Expression | undefined {
541
- return unpackNode(global.generatedEs2panda._ETSParameterExpressionInitializerConst(global.context, this.peer));
542
- }
543
-
544
- /** @deprecated */
545
- setInitializer(initExpr?: Expression): this {
546
- global.generatedEs2panda._ETSParameterExpressionSetInitializer(global.context, this.peer, passNode(initExpr));
547
- return this;
548
- }
549
-
550
- setOptional(value: boolean): this {
551
- global.generatedEs2panda._ETSParameterExpressionSetOptional(global.context, this.peer, value);
552
- return this;
553
- }
554
-
555
- get identifier(): Identifier {
556
- return unpackNonNullableNode(
557
- global.generatedEs2panda._ETSParameterExpressionIdentConst(global.context, this.peer)
558
- );
559
- }
560
-
561
- /** @deprecated */
562
- setIdent(ident?: Identifier): this {
563
- global.generatedEs2panda._ETSParameterExpressionSetIdent(global.context, this.peer, passNode(ident));
564
- return this;
565
- }
566
- }
567
-
568
- export class IfStatement extends AstNode {
569
- constructor(peer: KPtr) {
570
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_IF_STATEMENT);
571
- super(peer);
572
- this.test = unpackNonNullableNode(global.generatedEs2panda._IfStatementTest(global.context, this.peer));
573
- this.consequent = unpackNonNullableNode(
574
- global.generatedEs2panda._IfStatementConsequent(global.context, this.peer)
575
- );
576
- this.alternate = unpackNode(global.generatedEs2panda._IfStatementAlternate(global.context, this.peer));
577
- }
578
-
579
- static create(test: AstNode, consequent: AstNode, alternate?: AstNode): IfStatement {
580
- return new IfStatement(
581
- global.generatedEs2panda._CreateIfStatement(
582
- global.context,
583
- passNode(test),
584
- passNode(consequent),
585
- passNode(alternate)
586
- )
587
- );
588
- }
589
-
590
- static update(node: IfStatement, test: AstNode, consequent: AstNode, alternate?: AstNode): IfStatement {
591
- return new IfStatement(
592
- global.generatedEs2panda._UpdateIfStatement(
593
- global.context,
594
- node.peer,
595
- passNode(test),
596
- passNode(consequent),
597
- passNode(alternate)
598
- )
599
- );
600
- }
601
-
602
- test: AstNode;
603
- consequent: AstNode;
604
- alternate: AstNode | undefined;
605
- }
606
-
607
- export class StructDeclaration extends AstNode {
608
- constructor(peer: KPtr) {
609
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_STRUCT_DECLARATION);
610
- super(peer);
611
- // Improve: is struct definition the same as struct definition?
612
- this.definition = unpackNonNullableNode(
613
- global.generatedEs2panda._ClassDeclarationDefinition(global.context, this.peer)
614
- );
615
- }
616
-
617
- static create(definition: ClassDefinition): StructDeclaration {
618
- return new StructDeclaration(
619
- global.generatedEs2panda._CreateETSStructDeclaration(global.context, passNode(definition))
620
- );
621
- }
622
-
623
- static update(node: StructDeclaration, definition: ClassDefinition): StructDeclaration {
624
- return new StructDeclaration(
625
- global.generatedEs2panda._UpdateETSStructDeclaration(global.context, node.peer, passNode(definition))
626
- );
627
- }
628
-
629
- readonly definition: ClassDefinition;
630
- }
631
-
632
- export class MethodDefinition extends AstNode {
633
- constructor(peer: KPtr, key?: KPtr) {
634
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_METHOD_DEFINITION);
635
- super(peer);
636
- this.kind = global.generatedEs2panda._MethodDefinitionKindConst(global.context, this.peer);
637
- this.funcExpr = unpackNonNullableNode(global.generatedEs2panda._ClassElementValue(global.context, this.peer));
638
- this.scriptFunction = this.funcExpr.scriptFunction;
639
- assertValidPeer(this.scriptFunction.peer, Es2pandaAstNodeType.AST_NODE_TYPE_SCRIPT_FUNCTION);
640
-
641
- // Somehow the scriptFunction cannot attach method's key to its ident after checker
642
- if (key) {
643
- assertValidPeer(key, Es2pandaAstNodeType.AST_NODE_TYPE_IDENTIFIER);
644
- const _name = unpackNonNullableNode(key);
645
- this.scriptFunction = this.scriptFunction.setIdent(_name as Identifier);
646
- }
647
-
648
- this.name = unpackNonNullableNode(
649
- global.generatedEs2panda._ScriptFunctionId(global.context, this.scriptFunction.peer)
650
- );
651
- this.kind = global.generatedEs2panda._MethodDefinitionKindConst(global.context, this.peer);
652
- }
653
-
654
- static create(
655
- kind: Es2pandaMethodDefinitionKind,
656
- key: AstNode,
657
- value: ScriptFunction,
658
- modifiers: KInt,
659
- isComputed: boolean
660
- ): MethodDefinition {
661
- return new MethodDefinition(
662
- global.generatedEs2panda._CreateMethodDefinition(
663
- global.context,
664
- kind,
665
- passNode(key),
666
- passNode(FunctionExpression.create(value)),
667
- modifiers,
668
- isComputed
669
- ),
670
- key.peer
671
- );
672
- }
673
-
674
- static update(
675
- node: MethodDefinition,
676
- kind: Es2pandaMethodDefinitionKind,
677
- key: AstNode,
678
- value: ScriptFunction,
679
- modifiers: KInt,
680
- isComputed: boolean
681
- ): MethodDefinition {
682
- return new MethodDefinition(
683
- global.generatedEs2panda._UpdateMethodDefinition(
684
- global.context,
685
- node.peer,
686
- kind,
687
- passNode(key),
688
- passNode(FunctionExpression.update(node.funcExpr, value)),
689
- modifiers,
690
- isComputed
691
- ),
692
- key.peer
693
- );
694
- }
695
-
696
- // Improve: does not work
697
- isConstructor(): boolean {
698
- return global.generatedEs2panda._MethodDefinitionIsConstructorConst(global.context, this.peer);
699
- }
700
-
701
- get overloads(): readonly MethodDefinition[] {
702
- return unpackNodeArray(global.generatedEs2panda._MethodDefinitionOverloadsConst(global.context, this.peer));
703
- }
704
-
705
- setOverloads(overloads: readonly MethodDefinition[]): this {
706
- global.generatedEs2panda._MethodDefinitionSetOverloads(
707
- global.context,
708
- this.peer,
709
- passNodeArray(overloads),
710
- overloads.length
711
- );
712
- return this;
713
- }
714
-
715
- readonly kind: Es2pandaMethodDefinitionKind;
716
- readonly scriptFunction: ScriptFunction;
717
- readonly name: Identifier;
718
- readonly funcExpr: FunctionExpression;
719
- }
720
-
721
- export class VariableDeclaration extends AstNode {
722
- constructor(peer: KPtr) {
723
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATION);
724
- super(peer);
725
- this.declarationKind = global.generatedEs2panda._VariableDeclarationKindConst(global.context, this.peer);
726
- this.declarators = unpackNodeArray(
727
- global.generatedEs2panda._VariableDeclarationDeclaratorsConst(global.context, this.peer)
728
- );
729
- }
730
-
731
- static create(
732
- modifiers: KInt,
733
- kind: Es2pandaVariableDeclarationKind,
734
- declarators: readonly VariableDeclarator[]
735
- ): VariableDeclaration {
736
- const peer = global.generatedEs2panda._CreateVariableDeclaration(
737
- global.context,
738
- kind,
739
- passNodeArray(declarators),
740
- declarators.length
741
- );
742
- global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags);
743
- global.generatedEs2panda._AstNodeAddModifier(global.context, peer, modifiers);
744
- return new VariableDeclaration(peer);
745
- }
746
-
747
- static update(
748
- node: VariableDeclaration,
749
- modifiers: KInt,
750
- kind: Es2pandaVariableDeclarationKind,
751
- declarators: readonly VariableDeclarator[]
752
- ): VariableDeclaration {
753
- const peer = global.generatedEs2panda._UpdateVariableDeclaration(
754
- global.context,
755
- node.peer,
756
- kind,
757
- passNodeArray(declarators),
758
- declarators.length
759
- );
760
- global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags);
761
- global.generatedEs2panda._AstNodeAddModifier(global.context, peer, modifiers);
762
- return new VariableDeclaration(peer);
763
- }
764
-
765
- get annotations(): readonly AnnotationUsage[] {
766
- return unpackNodeArray(
767
- global.generatedEs2panda._VariableDeclarationAnnotationsConst(global.context, this.peer)
768
- );
769
- }
770
- /** @deprecated */
771
- setAnnotations(annotations: readonly AnnotationUsage[]): this {
772
- global.generatedEs2panda._VariableDeclarationSetAnnotations(
773
- global.context,
774
- this.peer,
775
- passNodeArray(annotations),
776
- annotations.length
777
- );
778
- return this;
779
- }
780
-
781
- readonly declarationKind: Es2pandaVariableDeclarationKind;
782
- readonly declarators: readonly VariableDeclarator[];
783
- }
784
-
785
- export class VariableDeclarator extends AstNode {
786
- constructor(peer: KPtr) {
787
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATOR);
788
- super(peer);
789
- this.name = unpackNonNullableNode(global.generatedEs2panda._VariableDeclaratorId(global.context, this.peer));
790
- }
791
-
792
- static create(
793
- flag: Es2pandaVariableDeclaratorFlag,
794
- name: Identifier,
795
- initializer: AstNode | undefined
796
- ): VariableDeclarator {
797
- const peer = global.generatedEs2panda._CreateVariableDeclarator(global.context, flag, passNode(name));
798
- if (initializer !== undefined) {
799
- global.generatedEs2panda._VariableDeclaratorSetInit(global.context, peer, initializer.peer);
800
- }
801
- return new VariableDeclarator(peer);
802
- }
803
-
804
- static update(
805
- node: VariableDeclarator,
806
- flag: Es2pandaVariableDeclaratorFlag,
807
- name: Identifier,
808
- initializer: AstNode | undefined
809
- ): VariableDeclarator {
810
- const peer = global.generatedEs2panda._UpdateVariableDeclarator(
811
- global.context,
812
- node.peer,
813
- flag,
814
- passNode(name)
815
- );
816
- if (initializer !== undefined) {
817
- global.generatedEs2panda._VariableDeclaratorSetInit(global.context, peer, initializer.peer);
818
- }
819
- return new VariableDeclarator(peer);
820
- }
821
-
822
- get initializer(): AstNode | undefined {
823
- return unpackNode(global.generatedEs2panda._VariableDeclaratorInit(global.context, this.peer));
824
- }
825
-
826
- /** @deprecated */
827
- setInit(init?: Expression): this {
828
- global.generatedEs2panda._VariableDeclaratorSetInit(global.context, this.peer, passNode(init));
829
- return this;
830
- }
831
-
832
- get flag(): Es2pandaVariableDeclaratorFlag {
833
- return global.generatedEs2panda._VariableDeclaratorFlag(global.context, this.peer);
834
- }
835
-
836
- readonly name: Identifier;
837
- }
838
-
839
- export class SuperExpression extends AstNode {
840
- constructor(peer: KPtr) {
841
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_SUPER_EXPRESSION);
842
- super(peer);
843
- this.id = unpackNode(global.generatedEs2panda._TSInterfaceDeclarationId(global.context, this.peer));
844
- }
845
-
846
- static create(): SuperExpression {
847
- return new SuperExpression(global.generatedEs2panda._CreateSuperExpression(global.context));
848
- }
849
-
850
- readonly id?: Identifier;
851
- }
852
-
853
- export class ETSStringLiteralType extends TypeNode {
854
- constructor(peer: KPtr) {
855
- assertValidPeer(peer, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_STRING_LITERAL_TYPE);
856
- super(peer);
857
- }
858
-
859
- static create(str: string): ETSStringLiteralType {
860
- return new ETSStringLiteralType(global.generatedEs2panda._CreateETSStringLiteralType(global.context, passString(str)));
861
- }
862
- }
863
-
864
- const pairs: [Es2pandaAstNodeType, { new (peer: KNativePointer): AstNode }][] = [
865
- [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE, EtsScript],
866
- [Es2pandaAstNodeType.AST_NODE_TYPE_IDENTIFIER, Identifier],
867
- [Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL, NumberLiteral],
868
- [Es2pandaAstNodeType.AST_NODE_TYPE_EXPRESSION_STATEMENT, ExpressionStatement],
869
- [Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_DECLARATION, FunctionDeclaration],
870
- [Es2pandaAstNodeType.AST_NODE_TYPE_SCRIPT_FUNCTION, ScriptFunction],
871
- [Es2pandaAstNodeType.AST_NODE_TYPE_BLOCK_STATEMENT, BlockStatement],
872
- [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_PARAMETER_EXPRESSION, ETSParameterExpression],
873
- [Es2pandaAstNodeType.AST_NODE_TYPE_TS_TYPE_PARAMETER_DECLARATION, TSTypeParameterDeclaration],
874
- [Es2pandaAstNodeType.AST_NODE_TYPE_CALL_EXPRESSION, CallExpression],
875
- [Es2pandaAstNodeType.AST_NODE_TYPE_MEMBER_EXPRESSION, MemberExpression],
876
- [Es2pandaAstNodeType.AST_NODE_TYPE_IF_STATEMENT, IfStatement],
877
- [Es2pandaAstNodeType.AST_NODE_TYPE_ARROW_FUNCTION_EXPRESSION, ArrowFunctionExpression],
878
- [Es2pandaAstNodeType.AST_NODE_TYPE_STRUCT_DECLARATION, StructDeclaration],
879
- [Es2pandaAstNodeType.AST_NODE_TYPE_METHOD_DEFINITION, MethodDefinition],
880
- [Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_EXPRESSION, AssignmentExpression],
881
- [Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATION, VariableDeclaration],
882
- [Es2pandaAstNodeType.AST_NODE_TYPE_VARIABLE_DECLARATOR, VariableDeclarator],
883
- [Es2pandaAstNodeType.AST_NODE_TYPE_FUNCTION_EXPRESSION, FunctionExpression],
884
- [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_TYPE_REFERENCE, ETSTypeReference],
885
- [Es2pandaAstNodeType.AST_NODE_TYPE_ETS_TYPE_REFERENCE_PART, ETSTypeReferencePart],
886
- [Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION, ObjectExpression],
887
- [Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_EXPRESSION, ArrayExpression],
888
- ];
889
- pairs.forEach(([nodeType, astNode]) => nodeByType.set(nodeType, astNode));