@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,69 +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
-
16
- import { int32 } from "@koalaui/common"
17
- import {
18
- Access,
19
- ArrayDecoder,
20
- CallbackRegistry,
21
- NativeStringBase,
22
- nullptr,
23
- pointer,
24
- providePlatformDefinedData,
25
- withByteArray
26
- } from "@koalaui/interop"
27
- import { global } from "../static/global"
28
-
29
- class NativeString extends NativeStringBase {
30
- constructor(ptr: pointer) {
31
- super(ptr)
32
- }
33
- protected bytesLength(): int32 {
34
- return global.interop._StringLength(this.ptr)
35
- }
36
- protected getData(data: Uint8Array): void {
37
- withByteArray(data, Access.WRITE, (dataPtr: pointer) => {
38
- global.interop._StringData(this.ptr, dataPtr, data.length)
39
- })
40
- }
41
- close(): void {
42
- global.interop._InvokeFinalizer(this.ptr, global.interop._GetStringFinalizer())
43
- this.ptr = nullptr
44
- }
45
- }
46
-
47
- providePlatformDefinedData({
48
- nativeString(ptr: pointer): NativeStringBase {
49
- return new NativeString(ptr)
50
- },
51
- nativeStringArrayDecoder(): ArrayDecoder<NativeStringBase> {
52
- throw new Error("Not yet implemented")
53
- },
54
- callbackRegistry(): CallbackRegistry | undefined {
55
- return undefined
56
- }
57
- })
58
-
59
- export class NativePtrDecoder extends ArrayDecoder<pointer> {
60
- getArraySize(blob: pointer) {
61
- return global.interop._GetPtrVectorSize(blob)
62
- }
63
- disposeArray(blob: pointer): void {
64
- // Improve:
65
- }
66
- getArrayElement(blob: pointer, index: int32): pointer {
67
- return global.interop._GetPtrVectorElement(blob, index)
68
- }
69
- }
@@ -1,198 +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
-
16
- import { global } from '../static/global';
17
- import { isNumber, throwError } from '../../../utils';
18
- import {
19
- KInt,
20
- KNativePointer as KPtr,
21
- KNativePointer,
22
- nullptr,
23
- withString,
24
- withStringArray,
25
- } from '@koalaui/interop';
26
- import { NativePtrDecoder } from './nativePtrDecoder';
27
- import { Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from '../../../generated/Es2pandaEnums';
28
- import { classByPeer } from '../class-by-peer';
29
- import type { AstNode } from '../peers/AstNode';
30
- import { ArktsObject } from '../../../arkts-api/peers/ArktsObject';
31
- import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums';
32
-
33
- export const arrayOfNullptr = new BigUint64Array([nullptr]);
34
-
35
- export const allFlags = Object.values(Es2pandaModifierFlags)
36
- .filter(isNumber)
37
- .reduce((prev, next) => prev | next, 0);
38
-
39
- export function assertValidPeer(peer: KPtr, expectedKind: Es2pandaAstNodeType): void {
40
- if (peer === nullptr) {
41
- throwError(`invalid peer`);
42
- }
43
- const peerType = global.generatedEs2panda._AstNodeTypeConst(global.context, peer);
44
- if (peerType !== expectedKind) {
45
- throwError(`expected: ${Es2pandaAstNodeType[expectedKind]}, got: ${Es2pandaAstNodeType[peerType]}`);
46
- }
47
- }
48
-
49
- export function acceptNativeObjectArrayResult<T extends ArktsObject>(
50
- arrayObject: KNativePointer,
51
- factory: (instance: KNativePointer) => T
52
- ): T[] {
53
- return new NativePtrDecoder().decode(arrayObject).map(factory);
54
- }
55
-
56
- export function unpackNonNullableNode<T extends AstNode>(peer: KNativePointer): T {
57
- if (peer === nullptr) {
58
- throwError('peer is NULLPTR (maybe you should use unpackNode)');
59
- }
60
- return classByPeer(peer) as T;
61
- }
62
-
63
- export function unpackNode<T extends AstNode>(peer: KNativePointer): T | undefined {
64
- if (peer === nullptr) {
65
- return undefined;
66
- }
67
- return classByPeer(peer) as T;
68
- }
69
-
70
- export function passNode(node: ArktsObject | undefined): KNativePointer {
71
- return node?.peer ?? nullptr;
72
- }
73
-
74
- // meaning unpackNonNullableNodeArray
75
- export function unpackNodeArray<T extends AstNode>(nodesPtr: KNativePointer): T[] {
76
- if (nodesPtr === nullptr) {
77
- throwError('nodesPtr is NULLPTR (maybe you should use unpackNodeArray)');
78
- }
79
- return new NativePtrDecoder().decode(nodesPtr).map((peer: KNativePointer) => unpackNonNullableNode(peer));
80
- }
81
-
82
- export function passNodeArray(nodes: readonly AstNode[] | undefined): BigUint64Array {
83
- return new BigUint64Array(nodes?.map((node) => BigInt(node.peer)) ?? []);
84
- }
85
-
86
- export function unpackNonNullableObject<T extends ArktsObject>(
87
- Type: { new (peer: KNativePointer): T },
88
- peer: KNativePointer
89
- ): T {
90
- if (peer === nullptr) {
91
- throwError('peer is NULLPTR (maybe you should use unpackObject)');
92
- }
93
- return new Type(peer);
94
- }
95
-
96
- export function unpackObject<T extends ArktsObject>(
97
- Type: { new (peer: KNativePointer): T },
98
- peer: KNativePointer
99
- ): T | undefined {
100
- if (peer === nullptr) {
101
- return undefined;
102
- }
103
- return new Type(peer);
104
- }
105
-
106
- export { unpackString } from "../../../arkts-api/utilities/private"
107
-
108
- export function passString(str: string | undefined): string {
109
- if (str === undefined) {
110
- return '';
111
- }
112
- return withString(str, (it: string) => it);
113
- }
114
-
115
- export function passStringArray(strings: readonly string[]): string[] {
116
- return withStringArray(strings, (it: string[]) => it);
117
- }
118
-
119
- export function passNodeWithNewModifiers<T extends AstNode>(node: T, modifiers: KInt): T {
120
- return (unpackNonNullableNode(node.peer) as T).updateModifiers(modifiers);
121
- }
122
-
123
- export function scriptFunctionHasBody(peer: KNativePointer): boolean {
124
- const flags = global.generatedEs2panda._ScriptFunctionFlagsConst(global.context, peer);
125
- return (
126
- (flags & Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_EXTERNAL) === 0 &&
127
- (flags & Es2pandaScriptFunctionFlags.SCRIPT_FUNCTION_FLAGS_EXTERNAL_OVERLOAD) === 0
128
- );
129
- }
130
-
131
- // Improve: remove this
132
- // Improve: update scopes and other data
133
- export function updatePeerByNode<T extends AstNode>(peer: KNativePointer, original: T | undefined): KNativePointer {
134
- if (peer === nullptr) {
135
- throwError('updatePeerByNode called on NULLPTR');
136
- }
137
- if (original === undefined) {
138
- return peer;
139
- }
140
- global.generatedEs2panda._AstNodeSetOriginalNode(global.context, peer, original.peer);
141
- global.generatedEs2panda._AstNodeSetParent(
142
- global.context,
143
- peer,
144
- global.generatedEs2panda._AstNodeParent(global.context, original.peer)
145
- );
146
- global.es2panda._AstNodeSetChildrenParentPtr(global.context, peer);
147
- global.generatedEs2panda._AstNodeClearModifier(global.context, peer, allFlags);
148
- global.generatedEs2panda._AstNodeAddModifier(global.context, peer, original.modifiers);
149
- global.es2panda._AstNodeSetChildrenParentPtr(global.context, peer);
150
- return peer;
151
- }
152
-
153
- // Improve: update scopes and other data
154
- export function updateNodeByNode<T extends AstNode>(node: T, original: AstNode): T {
155
- if (original.peer === nullptr) {
156
- throwError('update called on NULLPTR');
157
- }
158
- global.generatedEs2panda._AstNodeSetOriginalNode(global.context, node.peer, original.peer);
159
- global.generatedEs2panda._AstNodeSetParent(
160
- global.context,
161
- node.peer,
162
- global.generatedEs2panda._AstNodeParent(global.context, original.peer)
163
- );
164
- global.es2panda._AstNodeSetChildrenParentPtr(global.context, node.peer);
165
- return node;
166
- }
167
-
168
- export function nodeType(node: AstNode): Es2pandaAstNodeType {
169
- return global.generatedEs2panda._AstNodeTypeConst(global.context, passNode(node));
170
- }
171
-
172
- /**
173
- * @deprecated
174
- */
175
- export function compose<T extends AstNode, ARGS extends any[]>(
176
- create: (...args: ARGS) => T,
177
- update: (node: T, original: T) => T = updateNodeByNode
178
- ): (node: T, ...args: ARGS) => T {
179
- return (node: T, ...args: ARGS) => update(create(...args), node);
180
- }
181
-
182
- export function updateThenAttach<T extends AstNode, ARGS extends any[]>(
183
- update: (original: T, ...args: ARGS) => T,
184
- ...attachFuncs: ((node: T, original: T) => T)[]
185
- ): (node: T, ...args: ARGS) => T {
186
- return (node: T, ...args: ARGS) => {
187
- let _node: T = update(node, ...args);
188
- attachFuncs.forEach((attach) => {
189
- _node = attach(_node, node);
190
- });
191
- return _node;
192
- };
193
- }
194
-
195
- export function attachModifiers<T extends AstNode>(node: T, original: T): T {
196
- node.modifiers = original.modifiers;
197
- return node;
198
- }
@@ -1,327 +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
-
16
- import { global } from '../static/global';
17
- import { isNumber, throwError, getEnumName } from '../../../utils';
18
- import { KNativePointer, KInt, nullptr } from '@koalaui/interop';
19
- import { passNode, passString, passStringArray, unpackNodeArray, unpackNonNullableNode, unpackString } from './private';
20
- import { isFunctionDeclaration, isMemberExpression, isMethodDefinition, isNumberLiteral } from '../factory/nodeTests';
21
- import {
22
- Es2pandaContextState,
23
- Es2pandaMethodDefinitionKind,
24
- Es2pandaModifierFlags,
25
- } from '../../../generated/Es2pandaEnums';
26
- import type { AstNode } from '../peers/AstNode';
27
- import {
28
- ClassDefinition,
29
- ClassProperty,
30
- ETSImportDeclaration,
31
- ImportSpecifier,
32
- isClassDefinition,
33
- isIdentifier,
34
- isObjectExpression,
35
- isProperty,
36
- isScriptFunction,
37
- isTSInterfaceDeclaration,
38
- Property,
39
- type AnnotationUsage,
40
- } from '../../../generated';
41
- import { Program } from '../peers/Program';
42
- import { clearNodeCache, nodeByType } from '../class-by-peer';
43
- import { SourcePosition } from '../../../arkts-api/peers/SourcePosition';
44
- import { MemberExpression } from '../to-be-generated/MemberExpression';
45
-
46
- export function proceedToState(state: Es2pandaContextState, context: KNativePointer, forceDtsEmit = false): void {
47
- console.log('[TS WRAPPER] PROCEED TO STATE: ', getEnumName(Es2pandaContextState, state));
48
- if (global.es2panda._ContextState(context) === Es2pandaContextState.ES2PANDA_STATE_ERROR) {
49
- clearNodeCache();
50
- processErrorState(state, context, forceDtsEmit);
51
- }
52
- if (state <= global.es2panda._ContextState(context)) {
53
- console.log('[TS WRAPPER] PROCEED TO STATE: SKIPPING');
54
- return;
55
- }
56
- clearNodeCache();
57
- global.es2panda._ProceedToState(context, state);
58
- processErrorState(state, context, forceDtsEmit);
59
- }
60
-
61
- function processErrorState(state: Es2pandaContextState, context: KNativePointer, forceDtsEmit = false): void {
62
- try {
63
- if (global.es2panda._ContextState(context) === Es2pandaContextState.ES2PANDA_STATE_ERROR && !forceDtsEmit) {
64
- const errorMessage = unpackString(global.es2panda._ContextErrorMessage(context));
65
- if (errorMessage === undefined) {
66
- throwError(`Could not get ContextErrorMessage`);
67
- }
68
- throwError([`Failed to proceed to ${Es2pandaContextState[state]}`, errorMessage].join(`\n`));
69
- }
70
- } catch (e) {
71
- global.es2panda._DestroyContext(context);
72
- throw e;
73
- }
74
- }
75
-
76
- export function startChecker(): boolean {
77
- return global.es2panda._CheckerStartChecker(global.context);
78
- }
79
-
80
- export function recheckSubtree(node: AstNode): void {
81
- global.es2panda._AstNodeRecheck(global.context, node.peer);
82
- }
83
-
84
- export function rebindSubtree(node: AstNode): void {
85
- global.es2panda._AstNodeRebind(global.context, node.peer);
86
- }
87
-
88
- export function getDecl(node: AstNode): AstNode | undefined {
89
- if (isMemberExpression(node)) {
90
- return getDeclFromArrayOrObjectMember(node);
91
- }
92
- if (isObjectExpression(node)) {
93
- return getPeerObjectDecl(passNode(node));
94
- }
95
- const decl = getPeerDecl(passNode(node));
96
- if (!!decl) {
97
- return decl;
98
- }
99
- if (!!node.parent && isProperty(node.parent)) {
100
- return getDeclFromProperty(node.parent);
101
- }
102
- return undefined;
103
- }
104
-
105
- function getDeclFromProperty(node: Property): AstNode | undefined {
106
- if (!node.key) {
107
- return undefined;
108
- }
109
- if (!!node.parent && !isObjectExpression(node.parent)) {
110
- return getPeerDecl(passNode(node.key));
111
- }
112
- return getDeclFromObjectExpressionProperty(node);
113
- }
114
-
115
- function getDeclFromObjectExpressionProperty(node: Property): AstNode | undefined {
116
- const declNode = getPeerObjectDecl(passNode(node.parent));
117
- if (!declNode || !node.key || !isIdentifier(node.key)) {
118
- return undefined;
119
- }
120
- let body: readonly AstNode[] = [];
121
- if (isClassDefinition(declNode)) {
122
- body = declNode.body;
123
- } else if (isTSInterfaceDeclaration(declNode)) {
124
- body = declNode.body?.body ?? [];
125
- }
126
- return body.find(
127
- (statement) =>
128
- isMethodDefinition(statement) &&
129
- statement.kind === Es2pandaMethodDefinitionKind.METHOD_DEFINITION_KIND_GET &&
130
- !!statement.name &&
131
- !!node.key &&
132
- isIdentifier(node.key) &&
133
- statement.name.name === node.key.name
134
- );
135
- }
136
-
137
- function getDeclFromArrayOrObjectMember(node: MemberExpression): AstNode | undefined {
138
- if (isNumberLiteral(node.property)) {
139
- return getDecl(node.object);
140
- }
141
- return getDecl(node.property);
142
- }
143
-
144
- export function getPeerDecl(peer: KNativePointer): AstNode | undefined {
145
- const decl = global.es2panda._DeclarationFromIdentifier(global.context, peer);
146
- if (decl === nullptr) {
147
- return undefined;
148
- }
149
- return unpackNonNullableNode(decl);
150
- }
151
-
152
- export function getPeerObjectDecl(peer: KNativePointer): AstNode | undefined {
153
- const decl = global.es2panda._ClassVariableDeclaration(global.context, peer);
154
- if (decl === nullptr) {
155
- return undefined;
156
- }
157
- return unpackNonNullableNode(decl);
158
- }
159
-
160
- export function getAnnotations(node: AstNode): readonly AnnotationUsage[] {
161
- if (!isFunctionDeclaration(node) && !isScriptFunction(node) && !isClassDefinition(node)) {
162
- throwError('for now annotations allowed only for: functionDeclaration, scriptFunction, classDefinition');
163
- }
164
- return unpackNodeArray(global.es2panda._AnnotationAllowedAnnotations(global.context, node.peer, nullptr));
165
- }
166
-
167
- export function getOriginalNode(node: AstNode): AstNode {
168
- if (node === undefined) {
169
- // Improve: fix this
170
- throwError('there is no arkts pair of ts node (unable to getOriginalNode)');
171
- }
172
- if (node.originalPeer === nullptr) {
173
- return node;
174
- }
175
- return unpackNonNullableNode(node.originalPeer);
176
- }
177
-
178
- export function getFileName(): string {
179
- return global.filePath;
180
- }
181
-
182
- export function classDefinitionSetFromStructModifier(node: ClassDefinition): void {
183
- global.generatedEs2panda._ClassDefinitionSetFromStructModifier(global.context, node.peer);
184
- }
185
-
186
- export function classDefinitionIsFromStructConst(node: ClassDefinition): boolean {
187
- return global.generatedEs2panda._ClassDefinitionIsFromStructConst(global.context, node.peer);
188
- }
189
-
190
- export function ImportSpecifierSetRemovable(node: ImportSpecifier): void {
191
- global.generatedEs2panda._ImportSpecifierSetRemovable(global.context, node.peer, true);
192
- }
193
-
194
- export function ImportSpecifierIsRemovableConst(node: ImportSpecifier): boolean {
195
- return global.generatedEs2panda._ImportSpecifierIsRemovableConst(global.context, node.peer);
196
- }
197
-
198
- // Improve: It seems like Definition overrides AstNode modifiers
199
- // with its own modifiers which is completely unrelated set of flags.
200
- // Use this function if you need
201
- // the language level modifiers: public, declare, export, etc.
202
- export function classDefinitionFlags(node: ClassDefinition): Es2pandaModifierFlags {
203
- return global.generatedEs2panda._AstNodeModifiers(global.context, node.peer);
204
- }
205
-
206
- // Improve: Import statements should be inserted to the statements
207
- export function importDeclarationInsert(node: ETSImportDeclaration, program: Program): void {
208
- global.es2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, node.peer);
209
- }
210
-
211
- export function getProgramFromAstNode(node: AstNode): Program {
212
- return new Program(global.es2panda._AstNodeProgram(global.context, node.peer));
213
- }
214
-
215
- export function hasModifierFlag(node: AstNode, flag: Es2pandaModifierFlags): boolean {
216
- if (!node) return false;
217
-
218
- let modifiers;
219
- if (isClassDefinition(node)) {
220
- modifiers = classDefinitionFlags(node);
221
- } else {
222
- modifiers = node.modifiers;
223
- }
224
- return (modifiers & flag) === flag;
225
- }
226
-
227
- // Improve: ClassProperty's optional flag is set by AstNode's modifiers flags.
228
- export function classPropertySetOptional(node: ClassProperty, value: boolean): ClassProperty {
229
- if (value) {
230
- node.modifiers |= Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL;
231
- } else {
232
- node.modifiers &= Es2pandaModifierFlags.MODIFIER_FLAGS_OPTIONAL;
233
- }
234
- return node;
235
- }
236
-
237
- export function modifiersToString(modifiers: Es2pandaModifierFlags): string {
238
- return Object.values(Es2pandaModifierFlags)
239
- .filter(isNumber)
240
- .map((it) => {
241
- console.log(it.valueOf(), Es2pandaModifierFlags[it], modifiers.valueOf() & it);
242
- return (modifiers.valueOf() & it) === it ? Es2pandaModifierFlags[it] : '';
243
- })
244
- .join(' ');
245
- }
246
- export function destroyConfig(config: KNativePointer): void {
247
- global.es2panda._DestroyConfig(config);
248
- global.resetConfig();
249
- }
250
-
251
- export function setAllParents(ast: AstNode): void {
252
- global.es2panda._AstNodeUpdateAll(global.context, ast.peer);
253
- }
254
-
255
- export function generateTsDeclarationsFromContext(
256
- outputDeclEts: string,
257
- outputEts: string,
258
- exportAll: boolean,
259
- isolated: boolean,
260
- recordFile: string
261
- ): KInt {
262
- return global.es2panda._GenerateTsDeclarationsFromContext(
263
- global.context,
264
- passString(outputDeclEts),
265
- passString(outputEts),
266
- exportAll,
267
- isolated,
268
- recordFile
269
- );
270
- }
271
-
272
- export function generateStaticDeclarationsFromContext(outputPath: string): KInt {
273
- return global.es2panda._GenerateStaticDeclarationsFromContext(
274
- global.context,
275
- passString(outputPath)
276
- );
277
- }
278
-
279
- export function isDefaultAccessModifierClassProperty(property: ClassProperty): boolean {
280
- return global.generatedEs2panda._ClassPropertyIsDefaultAccessModifierConst(global.context, property.peer);
281
- }
282
-
283
- export function getStartPosition(node: AstNode): SourcePosition {
284
- return new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, node.peer));
285
- }
286
-
287
- export function getEndPosition(node: AstNode): SourcePosition {
288
- return new SourcePosition(global.generatedEs2panda._AstNodeEndConst(global.context, node.peer));
289
- }
290
-
291
- export function MemInitialize(): void {
292
- global.es2panda._MemInitialize();
293
- }
294
-
295
- export function MemFinalize(): void {
296
- global.es2panda._MemFinalize();
297
- }
298
-
299
- export function CreateGlobalContext(
300
- config: KNativePointer,
301
- externalFileList: string[],
302
- fileNum: KInt,
303
- lspUsage: boolean
304
- ): KNativePointer {
305
- return global.es2panda._CreateGlobalContext(config, passStringArray(externalFileList), fileNum, lspUsage);
306
- }
307
-
308
- export function DestroyGlobalContext(context: KNativePointer): void {
309
- global.es2panda._DestroyGlobalContext(context);
310
- }
311
-
312
- export function CreateCacheContextFromFile(
313
- configPtr: KNativePointer,
314
- filename: string,
315
- globalContext: KNativePointer,
316
- isExternal: Boolean
317
- ): KNativePointer {
318
- return global.es2panda._CreateCacheContextFromFile(configPtr, passString(filename), globalContext, isExternal);
319
- }
320
-
321
- export function insertGlobalStructInfo(structName: string): void {
322
- global.es2panda._InsertGlobalStructInfo(global.context, passString(structName));
323
- }
324
-
325
- export function hasGlobalStructInfo(structName: string): boolean {
326
- return global.es2panda._HasGlobalStructInfo(global.context, passString(structName));
327
- }