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

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