@idlizer/arktscgen 2.1.7 → 2.1.9-arktscgen-5

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 (328) hide show
  1. package/build/libarkts-copy/generator/options.json5 +34 -0
  2. package/build/libarkts-copy/native/meson.build +128 -75
  3. package/build/libarkts-copy/native/meson_options.txt +6 -0
  4. package/build/libarkts-copy/native/src/bridges.cc +271 -8
  5. package/build/libarkts-copy/native/src/common.cc +168 -47
  6. package/build/libarkts-copy/native/src/common.h +53 -8
  7. package/build/libarkts-copy/native/src/generated/bridges.cc +2625 -319
  8. package/build/libarkts-copy/package.json +31 -17
  9. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +98 -4
  10. package/build/libarkts-copy/src/arkts-api/AbstractVisitor.ts +1 -1
  11. package/build/libarkts-copy/src/arkts-api/ChainExpressionFilter.ts +78 -0
  12. package/build/libarkts-copy/src/arkts-api/CheckedBackFilter.ts +86 -8
  13. package/build/libarkts-copy/src/arkts-api/CompileWithCache.ts +193 -0
  14. package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +78 -0
  15. package/build/libarkts-copy/src/arkts-api/InferVoidReturnType.ts +89 -0
  16. package/build/libarkts-copy/src/arkts-api/ProgramProvider.ts +50 -0
  17. package/build/libarkts-copy/src/arkts-api/SetBaseOverloads.ts +10 -17
  18. package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +2 -3
  19. package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +18 -6
  20. package/build/libarkts-copy/src/arkts-api/index.ts +10 -1
  21. package/build/libarkts-copy/src/arkts-api/node-cache.ts +8 -4
  22. package/build/libarkts-copy/src/arkts-api/node-utilities/AnnotationUsage.ts +29 -0
  23. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +25 -0
  24. package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +1 -1
  25. package/build/libarkts-copy/src/arkts-api/node-utilities/BlockStatement.ts +29 -0
  26. package/build/libarkts-copy/src/arkts-api/node-utilities/CallExpression.ts +2 -2
  27. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDeclaration.ts +54 -0
  28. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDefinition.ts +1 -1
  29. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassProperty.ts +3 -3
  30. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSFunctionType.ts +2 -2
  31. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSImportDeclaration.ts +3 -33
  32. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSParameterExpression.ts +3 -9
  33. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSStructDeclaration.ts +1 -1
  34. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTuple.ts +1 -1
  35. package/build/libarkts-copy/src/arkts-api/node-utilities/MemberExpression.ts +1 -1
  36. package/build/libarkts-copy/src/arkts-api/node-utilities/MethodDefinition.ts +2 -2
  37. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +2 -2
  38. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +1 -1
  39. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +40 -0
  40. package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +2 -2
  41. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +1 -1
  42. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +1 -1
  43. package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclaration.ts +1 -1
  44. package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclarator.ts +1 -1
  45. package/build/libarkts-copy/src/arkts-api/peers/ArktsObject.ts +3 -1
  46. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +80 -15
  47. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +8 -1
  48. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +71 -4
  49. package/build/libarkts-copy/src/arkts-api/peers/{Program.ts → ExternalSource.ts} +2 -22
  50. package/build/libarkts-copy/src/arkts-api/peers/Options.ts +34 -0
  51. package/build/libarkts-copy/src/arkts-api/plugins.ts +26 -12
  52. package/build/libarkts-copy/src/arkts-api/static/global.ts +10 -4
  53. package/build/libarkts-copy/src/arkts-api/static/profiler.ts +180 -23
  54. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +22 -24
  55. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +54 -12
  56. package/build/libarkts-copy/src/arkts-api/visitor.ts +32 -37
  57. package/build/libarkts-copy/src/arkts-api/wrapper-compat.ts +32 -0
  58. package/build/libarkts-copy/src/checkSdk.ts +25 -0
  59. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +450 -442
  60. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +769 -63
  61. package/build/libarkts-copy/src/generated/factory.ts +12 -15
  62. package/build/libarkts-copy/src/generated/index.ts +10 -3
  63. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +7 -1
  64. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +7 -1
  65. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +7 -1
  66. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +64 -6
  67. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +16 -4
  68. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +67 -0
  69. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +17 -5
  70. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +46 -6
  71. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +13 -3
  72. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +17 -5
  73. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +7 -1
  74. package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +7 -1
  75. package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +7 -1
  76. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +13 -3
  77. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +13 -3
  78. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +13 -3
  79. package/build/libarkts-copy/src/generated/peers/BindingProps.ts +7 -1
  80. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +14 -4
  81. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +30 -7
  82. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +13 -3
  83. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +16 -4
  84. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +24 -3
  85. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +16 -4
  86. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +13 -3
  87. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +13 -3
  88. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +37 -4
  89. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +136 -42
  90. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +28 -4
  91. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +13 -3
  92. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +43 -5
  93. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +13 -3
  94. package/build/libarkts-copy/src/generated/peers/CodeGen.ts +7 -1
  95. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +13 -3
  96. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +16 -4
  97. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +13 -3
  98. package/build/libarkts-copy/src/generated/peers/Declaration.ts +7 -1
  99. package/build/libarkts-copy/src/generated/peers/Decorator.ts +13 -3
  100. package/build/libarkts-copy/src/generated/peers/{OverloadInfo.ts → DiagnosticInfo.ts} +8 -2
  101. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +13 -3
  102. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +13 -3
  103. package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +7 -1
  104. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +14 -4
  105. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +14 -4
  106. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +20 -5
  107. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +14 -4
  108. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +63 -4
  109. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +14 -4
  110. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +17 -5
  111. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +17 -5
  112. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +14 -4
  113. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +14 -4
  114. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +54 -12
  115. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +14 -4
  116. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +7 -1
  117. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +14 -4
  118. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +14 -4
  119. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +26 -8
  120. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +14 -4
  121. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +17 -5
  122. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +14 -4
  123. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +19 -4
  124. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +14 -4
  125. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +22 -4
  126. package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +7 -1
  127. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +13 -3
  128. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +13 -3
  129. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +30 -7
  130. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +30 -3
  131. package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -1
  132. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +13 -3
  133. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +13 -3
  134. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +13 -3
  135. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +10 -2
  136. package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +7 -1
  137. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +50 -6
  138. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +16 -4
  139. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +7 -1
  140. package/build/libarkts-copy/src/generated/peers/IRNode.ts +7 -1
  141. package/build/libarkts-copy/src/generated/peers/Identifier.ts +24 -5
  142. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +18 -3
  143. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +32 -4
  144. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +13 -3
  145. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +13 -3
  146. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +13 -3
  147. package/build/libarkts-copy/src/generated/peers/ImportSource.ts +7 -1
  148. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +13 -3
  149. package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +7 -1
  150. package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +7 -1
  151. package/build/libarkts-copy/src/generated/peers/LabelPair.ts +7 -1
  152. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +13 -3
  153. package/build/libarkts-copy/src/generated/peers/Literal.ts +15 -1
  154. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +7 -1
  155. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +7 -1
  156. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +13 -3
  157. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +13 -3
  158. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +30 -10
  159. package/build/libarkts-copy/src/generated/peers/NamedType.ts +13 -3
  160. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +13 -3
  161. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +13 -3
  162. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +25 -9
  163. package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +7 -1
  164. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +14 -4
  165. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +13 -3
  166. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +14 -4
  167. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +13 -3
  168. package/build/libarkts-copy/src/generated/peers/Program.ts +189 -0
  169. package/build/libarkts-copy/src/generated/peers/Property.ts +16 -4
  170. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +13 -3
  171. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +16 -4
  172. package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +7 -1
  173. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +81 -10
  174. package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +7 -1
  175. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +13 -3
  176. package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +7 -1
  177. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +7 -1
  178. package/build/libarkts-copy/src/generated/peers/SourceRange.ts +7 -1
  179. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +14 -4
  180. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +46 -9
  181. package/build/libarkts-copy/src/generated/peers/Statement.ts +7 -1
  182. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +16 -4
  183. package/build/libarkts-copy/src/generated/peers/{ETSDynamicFunctionType.ts → SuggestionInfo.ts} +7 -5
  184. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +14 -4
  185. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +14 -4
  186. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +14 -4
  187. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +14 -4
  188. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +14 -4
  189. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +14 -4
  190. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +14 -4
  191. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +14 -4
  192. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +17 -5
  193. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +14 -4
  194. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +14 -4
  195. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +52 -6
  196. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +17 -5
  197. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +14 -4
  198. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +14 -4
  199. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +14 -4
  200. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +14 -4
  201. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +14 -4
  202. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +14 -4
  203. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +14 -4
  204. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +14 -4
  205. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +82 -8
  206. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +14 -4
  207. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +14 -4
  208. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +14 -4
  209. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +14 -4
  210. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +14 -4
  211. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +14 -4
  212. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +14 -4
  213. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +14 -4
  214. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +14 -4
  215. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +14 -4
  216. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +14 -4
  217. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +14 -4
  218. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +14 -4
  219. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +14 -4
  220. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +14 -4
  221. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +14 -4
  222. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +14 -4
  223. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +14 -4
  224. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +14 -4
  225. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +14 -4
  226. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +14 -4
  227. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +59 -6
  228. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +14 -4
  229. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +14 -4
  230. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +14 -4
  231. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +47 -7
  232. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +19 -4
  233. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +14 -4
  234. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +14 -4
  235. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +14 -4
  236. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +14 -4
  237. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +14 -4
  238. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +14 -4
  239. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +14 -4
  240. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +14 -4
  241. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +14 -4
  242. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +17 -5
  243. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +14 -4
  244. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +14 -4
  245. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +14 -4
  246. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +17 -5
  247. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +37 -3
  248. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +7 -1
  249. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +7 -1
  250. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +14 -4
  251. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +19 -4
  252. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +13 -3
  253. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +14 -4
  254. package/build/libarkts-copy/src/generated/peers/VReg.ts +7 -1
  255. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +7 -1
  256. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +52 -8
  257. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +17 -5
  258. package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +7 -1
  259. package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +7 -1
  260. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +19 -4
  261. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +14 -4
  262. package/build/libarkts-copy/src/index.ts +13 -1
  263. package/build/libarkts-copy/src/plugin-utils.ts +117 -0
  264. package/build/libarkts-copy/src/utils.ts +17 -28
  265. package/build/libarkts-copy/src/wrapper-compat/README.md +16 -0
  266. package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +46 -0
  267. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +454 -0
  268. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +99 -0
  269. package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +88 -0
  270. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +38 -0
  271. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +35 -0
  272. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +38 -0
  273. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +27 -0
  274. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +45 -0
  275. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +27 -0
  276. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +73 -0
  277. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +51 -0
  278. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +42 -0
  279. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +39 -0
  280. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +43 -0
  281. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +28 -0
  282. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +37 -0
  283. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +28 -0
  284. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +37 -0
  285. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +42 -0
  286. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +46 -0
  287. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +30 -0
  288. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +37 -0
  289. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +27 -0
  290. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +46 -0
  291. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +28 -0
  292. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +47 -0
  293. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +40 -0
  294. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +36 -0
  295. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +41 -0
  296. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +42 -0
  297. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +39 -0
  298. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ArktsObject.ts +45 -0
  299. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +26 -0
  300. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Config.ts +53 -0
  301. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Context.ts +60 -0
  302. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +39 -0
  303. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +33 -0
  304. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +33 -0
  305. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts +34 -0
  306. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +105 -0
  307. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +38 -0
  308. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +38 -0
  309. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +33 -0
  310. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +16 -0
  311. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/globalUtils.ts +27 -0
  312. package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +108 -0
  313. package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +907 -0
  314. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +69 -0
  315. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +190 -0
  316. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +198 -0
  317. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +325 -0
  318. package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +421 -0
  319. package/build/libarkts-copy/src/wrapper-compat/index.ts +20 -0
  320. package/lib/index.js +330 -149
  321. package/package.json +2 -2
  322. package/templates/Es2pandaEnums.ts +4 -0
  323. package/templates/Es2pandaNativeModule.ts +5 -1
  324. package/templates/factory.ts +5 -1
  325. package/templates/index.ts +5 -1
  326. package/templates/node-map.ts +5 -1
  327. package/templates/peer.ts +5 -1
  328. package/build/libarkts-copy/README.md +0 -36
@@ -1,3 +1,18 @@
1
+ /*
2
+ * Copyright (c) 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
+
1
16
  {
2
17
  "irHack": [
3
18
  "AnnotationUsage",
@@ -11,6 +26,8 @@
11
26
  "es2panda_Impl",
12
27
  "es2panda_Config",
13
28
  "es2panda_ExternalSource",
29
+ "es2panda_OverloadInfo",
30
+ "es2panda_GlobalContext"
14
31
  ],
15
32
  "partial": [
16
33
  {
@@ -92,6 +109,14 @@
92
109
  "SetExtensionAccessorType" // ETSFunction type ambiguity
93
110
  ]
94
111
  },
112
+ {
113
+ interface: "ArkTsConfig",
114
+ methods: [
115
+ "EntriesConst",
116
+ "FilesConst",
117
+ "Parse",
118
+ ]
119
+ },
95
120
  ]
96
121
  },
97
122
  nonNullable: [
@@ -220,5 +245,14 @@
220
245
  }
221
246
  ]
222
247
  },
248
+ {
249
+ name: "Program",
250
+ methods: [
251
+ {
252
+ name: "Ast",
253
+ types: ["returnType"]
254
+ }
255
+ ]
256
+ }
223
257
  ],
224
258
  }
@@ -1,75 +1,128 @@
1
- # Copyright (c) 2025 Huawei Device Co., Ltd.
2
- # Licensed under the Apache License, Version 2.0 (the "License");
3
- # you may not use this file except in compliance with the License.
4
- # You may obtain a copy of the License at
5
- #
6
- # http://www.apache.org/licenses/LICENSE-2.0
7
- #
8
- # Unless required by applicable law or agreed to in writing, software
9
- # distributed under the License is distributed on an "AS IS" BASIS,
10
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
- # See the License for the specific language governing permissions and
12
- # limitations under the License.
13
-
14
- project(
15
- 'es2panda_interop',
16
- 'cpp',
17
- version: '1.0',
18
- default_options: [
19
- 'cpp_std=c++17',
20
- 'buildtype=debug',
21
- ],
22
- )
23
-
24
- sources = [
25
- './src/common.cc',
26
- './src/bridges.cc',
27
- './src/generated/bridges.cc',
28
- get_option('interop_src_dir') / 'common-interop.cc',
29
- get_option('interop_src_dir') / 'callback-resource.cc',
30
- get_option('interop_src_dir') / 'interop-logging.cc',
31
- get_option('interop_src_dir') / 'napi/convertors-napi.cc',
32
- ]
33
-
34
- cflags = [
35
- '-DKOALA_INTEROP_MODULE=NativeModule',
36
- '-DINTEROP_LIBRARY_NAME=' + get_option('lib_name'),
37
- '-DKOALA_USE_NODE_VM',
38
- '-DKOALA_NAPI',
39
- ]
40
-
41
- if (target_machine.system() == 'windows')
42
- cflags += ['-DKOALA_WINDOWS']
43
- if (meson.get_compiler('cpp').get_id() == 'msvc')
44
- # apply node.exe symbol loading hook
45
- sources += [
46
- get_option('interop_src_dir') / 'napi/win-dynamic-node.cc'
47
- ]
48
- endif
49
- else
50
- cflags += ['-DKOALA_LINUX']
51
- endif
52
-
53
- shared_library(
54
- get_option('lib_name'),
55
- sources,
56
- override_options: [
57
- 'b_lundef=false',
58
- ],
59
- install: true,
60
- name_prefix: '',
61
- name_suffix: 'node',
62
- include_directories: [
63
- './src/',
64
- get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public',
65
- get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda',
66
- get_option('interop_src_dir'),
67
- get_option('interop_src_dir') / 'types',
68
- get_option('interop_src_dir') / 'napi',
69
- get_option('node_modules_dir') / 'node-api-headers/include',
70
- get_option('node_modules_dir') / 'node-addon-api',
71
- ],
72
- cpp_args: cflags,
73
- link_args: [],
74
- dependencies: []
75
- )
1
+ # Copyright (c) 2025 Huawei Device Co., Ltd.
2
+ # Licensed under the Apache License, Version 2.0 (the "License");
3
+ # you may not use this file except in compliance with the License.
4
+ # You may obtain a copy of the License at
5
+ #
6
+ # http://www.apache.org/licenses/LICENSE-2.0
7
+ #
8
+ # Unless required by applicable law or agreed to in writing, software
9
+ # distributed under the License is distributed on an "AS IS" BASIS,
10
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11
+ # See the License for the specific language governing permissions and
12
+ # limitations under the License.
13
+
14
+ project(
15
+ 'es2panda_interop',
16
+ 'cpp',
17
+ version: '1.0',
18
+ default_options: [
19
+ 'cpp_std=c++17',
20
+ 'buildtype=release',
21
+ ],
22
+ )
23
+
24
+ sources = [
25
+ './src/common.cc',
26
+ './src/bridges.cc',
27
+ './src/generated/bridges.cc',
28
+ get_option('interop_src_dir') / 'common-interop.cc',
29
+ get_option('interop_src_dir') / 'callback-resource.cc',
30
+ get_option('interop_src_dir') / 'interop-logging.cc',
31
+ get_option('interop_src_dir') / 'napi/convertors-napi.cc',
32
+ ]
33
+
34
+ cflags = [
35
+ '-DKOALA_INTEROP_MODULE=NativeModule',
36
+ '-DINTEROP_LIBRARY_NAME=' + get_option('lib_name'),
37
+ '-DKOALA_USE_NODE_VM',
38
+ '-DKOALA_NAPI',
39
+ ]
40
+
41
+ if (target_machine.system() == 'windows')
42
+ cflags += ['-DKOALA_WINDOWS']
43
+ if (meson.get_compiler('cpp').get_id() == 'msvc')
44
+ # apply node.exe symbol loading hook
45
+ sources += [
46
+ get_option('interop_src_dir') / 'napi/win-dynamic-node.cc'
47
+ ]
48
+ endif
49
+ else
50
+ cflags += ['-DKOALA_LINUX']
51
+ endif
52
+
53
+ arch = target_machine.cpu()
54
+
55
+ oses = { 'darwin': 'macos' } # rename meson default names to convenient ones
56
+ archs = { 'x86_64': 'x64', 'aarch64': 'arm64', 'armv7-a': 'arm32', 'wasm32': 'wasm' }
57
+
58
+ os = target_machine.system()
59
+ os = oses.get(os, os)
60
+ arch = target_machine.cpu()
61
+ arch = archs.get(arch, arch)
62
+
63
+ cflags_cross = []
64
+ cflags_host = []
65
+ suffix_host = '_' + arch
66
+ suffix_cross = ''
67
+
68
+ if get_option('cross_compile')
69
+ if arch == 'arm64'
70
+ cflags_cross = ['--target=x86_64-linux-gnu']
71
+ suffix_cross = '_x64'
72
+ endif
73
+ if arch == 'x64'
74
+ cflags_cross = ['--target=aarch64-linux-gnu']
75
+ suffix_cross = '_arm64'
76
+ endif
77
+ endif
78
+
79
+ shared_library(
80
+ get_option('lib_name') + suffix_host,
81
+ sources,
82
+ override_options: [
83
+ 'b_lundef=false',
84
+ ],
85
+ install: true,
86
+ name_prefix: '',
87
+ name_suffix: 'node',
88
+ include_directories: [
89
+ './src/',
90
+ get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public',
91
+ get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda',
92
+ get_option('interop_src_dir'),
93
+ get_option('interop_src_dir') / 'types',
94
+ get_option('interop_src_dir') / 'napi',
95
+ get_option('node_modules_dir') / 'node-api-headers/include',
96
+ get_option('node_modules_dir') / 'node-addon-api',
97
+ ],
98
+ cpp_args: cflags + cflags_host,
99
+ link_args: [cflags_host],
100
+ dependencies: []
101
+ )
102
+
103
+ if get_option('cross_compile')
104
+ # sudo apt install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
105
+ shared_library(
106
+ get_option('lib_name') + suffix_cross,
107
+ sources,
108
+ override_options: [
109
+ 'b_lundef=false',
110
+ ],
111
+ install: true,
112
+ name_prefix: '',
113
+ name_suffix: 'node',
114
+ include_directories: [
115
+ './src/',
116
+ get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public',
117
+ get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda',
118
+ get_option('interop_src_dir'),
119
+ get_option('interop_src_dir') / 'types',
120
+ get_option('interop_src_dir') / 'napi',
121
+ get_option('node_modules_dir') / 'node-api-headers/include',
122
+ get_option('node_modules_dir') / 'node-addon-api',
123
+ ],
124
+ cpp_args: cflags + cflags_cross,
125
+ link_args: [cflags_cross],
126
+ dependencies: []
127
+ )
128
+ endif
@@ -35,3 +35,9 @@ option(
35
35
  value : 'es2panda',
36
36
  description : 'name of shared library'
37
37
  )
38
+ option(
39
+ 'cross_compile',
40
+ type : 'boolean',
41
+ value : false,
42
+ description : 'whether to build binaries for all architectures or just for current'
43
+ )
@@ -15,6 +15,10 @@
15
15
 
16
16
  #include "common.h"
17
17
 
18
+ #include <set>
19
+ #include <string>
20
+ #include <mutex>
21
+
18
22
  KNativePointer impl_AstNodeRecheck(KNativePointer contextPtr, KNativePointer nodePtr)
19
23
  {
20
24
  auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
@@ -149,14 +153,6 @@ KNativePointer impl_ContextProgram(KNativePointer contextPtr)
149
153
  }
150
154
  KOALA_INTEROP_1(ContextProgram, KNativePointer, KNativePointer)
151
155
 
152
- KNativePointer impl_ProgramAst(KNativePointer contextPtr, KNativePointer programPtr)
153
- {
154
- auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
155
- auto program = reinterpret_cast<es2panda_Program*>(programPtr);
156
- return GetImpl()->ProgramAst(context, program);
157
- }
158
- KOALA_INTEROP_2(ProgramAst, KNativePointer, KNativePointer, KNativePointer)
159
-
160
156
  KBoolean impl_IsIdentifier(KNativePointer nodePtr)
161
157
  {
162
158
  auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
@@ -232,6 +228,25 @@ static KNativePointer impl_ProgramExternalSources(KNativePointer contextPtr, KNa
232
228
  }
233
229
  KOALA_INTEROP_2(ProgramExternalSources, KNativePointer, KNativePointer, KNativePointer);
234
230
 
231
+ static KNativePointer impl_ProgramDirectExternalSources(KNativePointer contextPtr, KNativePointer instancePtr)
232
+ {
233
+ auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
234
+ auto&& instance = reinterpret_cast<es2panda_Program *>(instancePtr);
235
+ std::size_t sourceLen = 0;
236
+ auto externalSources = GetImpl()->ProgramDirectExternalSources(context, instance, &sourceLen);
237
+ return new std::vector<void*>(externalSources, externalSources + sourceLen);
238
+ }
239
+ KOALA_INTEROP_2(ProgramDirectExternalSources, KNativePointer, KNativePointer, KNativePointer);
240
+
241
+ static KNativePointer impl_ProgramSourceFilePath(KNativePointer contextPtr, KNativePointer instancePtr)
242
+ {
243
+ auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
244
+ auto&& instance = reinterpret_cast<es2panda_Program *>(instancePtr);
245
+ auto&& result = GetImpl()->ProgramSourceFilePathConst(context, instance);
246
+ return StageArena::strdup(result);
247
+ }
248
+ KOALA_INTEROP_2(ProgramSourceFilePath, KNativePointer, KNativePointer, KNativePointer);
249
+
235
250
  static KNativePointer impl_ExternalSourceName(KNativePointer instance)
236
251
  {
237
252
  auto&& _instance_ = reinterpret_cast<es2panda_ExternalSource *>(instance);
@@ -331,3 +346,251 @@ KNativePointer impl_CreateSourceRange(KNativePointer context, KNativePointer sta
331
346
  return GetImpl()->CreateSourceRange(_context_, _start_, _end_);
332
347
  }
333
348
  KOALA_INTEROP_3(CreateSourceRange, KNativePointer, KNativePointer, KNativePointer, KNativePointer);
349
+
350
+ KNativePointer impl_ConfigGetOptions(KNativePointer config)
351
+ {
352
+ const auto _config = reinterpret_cast<es2panda_Config *>(config);
353
+ auto result = GetImpl()->ConfigGetOptions(_config);
354
+ return (void*)result;
355
+ }
356
+ KOALA_INTEROP_1(ConfigGetOptions, KNativePointer, KNativePointer)
357
+
358
+ KNativePointer impl_OptionsArkTsConfig(KNativePointer context, KNativePointer options)
359
+ {
360
+ const auto _context = reinterpret_cast<es2panda_Context *>(context);
361
+ const auto _options = reinterpret_cast<es2panda_Options *>(options);
362
+ auto result = GetImpl()->OptionsUtilArkTSConfigConst(_context, _options);
363
+ return (void*)result;
364
+ }
365
+ KOALA_INTEROP_2(OptionsArkTsConfig, KNativePointer, KNativePointer, KNativePointer)
366
+
367
+ KNativePointer impl_CreateCacheContextFromFile(KNativePointer configPtr, KStringPtr& source_file_namePtr, KNativePointer globalContextPtr, KBoolean isExternal) {
368
+ auto config = reinterpret_cast<es2panda_Config*>(configPtr);
369
+ auto globalContext = reinterpret_cast<es2panda_GlobalContext*>(globalContextPtr);
370
+ return GetImpl()->CreateCacheContextFromFile(config, getStringCopy(source_file_namePtr), globalContext, isExternal);
371
+ }
372
+ KOALA_INTEROP_4(CreateCacheContextFromFile, KNativePointer, KNativePointer, KStringPtr, KNativePointer, KBoolean)
373
+
374
+ KNativePointer impl_CreateGlobalContext(KNativePointer configPtr, KStringArray externalFileListPtr, KUInt fileNum, KBoolean LspUsage) {
375
+ auto config = reinterpret_cast<es2panda_Config*>(configPtr);
376
+ const int headerLen = 4;
377
+ const char** files = StageArena::allocArray<const char*>(fileNum);
378
+ uint8_t* filesPtr = (uint8_t*)externalFileListPtr;
379
+ std::size_t position = headerLen;
380
+ std::size_t strLen;
381
+ for (std::size_t i = 0; i < static_cast<std::size_t>(fileNum); ++i) {
382
+ strLen = unpackUInt(filesPtr + position);
383
+ position += headerLen;
384
+ files[i] = StageArena::strdup(std::string(reinterpret_cast<const char*>(filesPtr + position), strLen).c_str());
385
+ position += strLen;
386
+ }
387
+ return GetImpl()->CreateGlobalContext(config, files, fileNum, LspUsage);
388
+ }
389
+ KOALA_INTEROP_4(CreateGlobalContext, KNativePointer, KNativePointer, KStringArray, KUInt, KBoolean)
390
+
391
+ void impl_DestroyGlobalContext(KNativePointer globalContextPtr) {
392
+ auto globalContext = reinterpret_cast<es2panda_GlobalContext*>(globalContextPtr);
393
+ GetImpl()->DestroyGlobalContext(globalContext);
394
+ }
395
+ KOALA_INTEROP_V1(DestroyGlobalContext, KNativePointer)
396
+
397
+ // From koala-wrapper
398
+ // TODO check if some code should be generated
399
+
400
+ std::set<std::string> globalStructInfo;
401
+ std::mutex g_structMutex;
402
+
403
+ void impl_InsertGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr)
404
+ {
405
+ std::lock_guard<std::mutex> lock(g_structMutex);
406
+ globalStructInfo.insert(getStringCopy(instancePtr));
407
+ return;
408
+ }
409
+ KOALA_INTEROP_V2(InsertGlobalStructInfo, KNativePointer, KStringPtr);
410
+
411
+ KBoolean impl_HasGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr)
412
+ {
413
+ std::lock_guard<std::mutex> lock(g_structMutex);
414
+ return globalStructInfo.count(getStringCopy(instancePtr));
415
+ }
416
+ KOALA_INTEROP_2(HasGlobalStructInfo, KBoolean, KNativePointer, KStringPtr);
417
+
418
+ KNativePointer impl_ClassVariableDeclaration(KNativePointer context, KNativePointer classInstance)
419
+ {
420
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
421
+ const auto _classInstance = reinterpret_cast<es2panda_AstNode*>(classInstance);
422
+ auto _typedTsType = GetImpl()->TypedTsType(_context, _classInstance);
423
+ if (_typedTsType == nullptr) {
424
+ return nullptr;
425
+ }
426
+ const auto _instanceType = reinterpret_cast<es2panda_Type*>(_typedTsType);
427
+ auto _typeVar = GetImpl()->TypeVariable(_context, _instanceType);
428
+ if (_typeVar == nullptr) {
429
+ return nullptr;
430
+ }
431
+ const auto result = reinterpret_cast<es2panda_Declaration*>(GetImpl()->VariableDeclaration(_context, _typeVar));
432
+ const auto declNode = GetImpl()->DeclNode(_context, result);
433
+ return declNode;
434
+ }
435
+ KOALA_INTEROP_2(ClassVariableDeclaration, KNativePointer, KNativePointer, KNativePointer)
436
+
437
+ KBoolean impl_IsMethodDefinition(KNativePointer nodePtr)
438
+ {
439
+ auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
440
+ return GetImpl()->IsMethodDefinition(node);
441
+ }
442
+ KOALA_INTEROP_1(IsMethodDefinition, KBoolean, KNativePointer)
443
+ KNativePointer impl_TSInterfaceBodyBodyPtr(KNativePointer context, KNativePointer receiver)
444
+ {
445
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
446
+ const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
447
+ std::size_t length;
448
+ auto result = GetImpl()->TSInterfaceBodyBodyPtr(_context, _receiver, &length);
449
+ return StageArena::cloneVector(result, length);
450
+ }
451
+ KOALA_INTEROP_2(TSInterfaceBodyBodyPtr, KNativePointer, KNativePointer, KNativePointer);
452
+
453
+ KNativePointer impl_AnnotationDeclarationPropertiesPtrConst(KNativePointer context, KNativePointer receiver)
454
+ {
455
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
456
+ const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
457
+ std::size_t length;
458
+ auto result = GetImpl()->AnnotationDeclarationPropertiesPtrConst(_context, _receiver, &length);
459
+ return StageArena::cloneVector(result, length);
460
+ }
461
+ KOALA_INTEROP_2(AnnotationDeclarationPropertiesPtrConst, KNativePointer, KNativePointer, KNativePointer);
462
+
463
+ KNativePointer impl_SourceRangeStart(KNativePointer context, KNativePointer range)
464
+ {
465
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
466
+ const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
467
+ auto result = GetImpl()->SourceRangeStart(_context, _range);
468
+ return result;
469
+ }
470
+ KOALA_INTEROP_2(SourceRangeStart, KNativePointer, KNativePointer, KNativePointer)
471
+
472
+ KNativePointer impl_SourceRangeEnd(KNativePointer context, KNativePointer range) {
473
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
474
+ const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
475
+ auto result = GetImpl()->SourceRangeEnd(_context, _range);
476
+ return result;
477
+ }
478
+ KOALA_INTEROP_2(SourceRangeEnd, KNativePointer, KNativePointer, KNativePointer)
479
+
480
+ KBoolean impl_IsArrayExpression(KNativePointer nodePtr)
481
+ {
482
+ auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
483
+ return GetImpl()->IsArrayExpression(node);
484
+ }
485
+ KOALA_INTEROP_1(IsArrayExpression, KBoolean, KNativePointer)
486
+
487
+ KNativePointer impl_ETSParserGetGlobalProgramAbsName(KNativePointer contextPtr)
488
+ {
489
+ auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
490
+ auto result = GetImpl()->ETSParserGetGlobalProgramAbsName(context);
491
+ return new std::string(result);
492
+ }
493
+ KOALA_INTEROP_1(ETSParserGetGlobalProgramAbsName, KNativePointer, KNativePointer)
494
+
495
+ KNativePointer impl_CreateDiagnosticKind(KNativePointer context, KStringPtr& message, KInt type)
496
+ {
497
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
498
+ const auto _message = getStringCopy(message);
499
+ const auto _type = static_cast<es2panda_PluginDiagnosticType>(type);
500
+ return const_cast<es2panda_DiagnosticKind *>(GetImpl()->CreateDiagnosticKind(_context, _message, _type));
501
+ }
502
+ KOALA_INTEROP_3(CreateDiagnosticKind, KNativePointer, KNativePointer, KStringPtr, KInt)
503
+
504
+ KNativePointer impl_CreateDiagnosticInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr, KInt argc)
505
+ {
506
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
507
+ const auto _kind = reinterpret_cast<es2panda_DiagnosticKind*>(kind);
508
+ const std::size_t headerLen = 4;
509
+ const char** _args = new const char*[argc];
510
+ std::size_t position = headerLen;
511
+ std::size_t strLen;
512
+ for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
513
+ strLen = unpackUInt(argsPtr + position);
514
+ position += headerLen;
515
+ _args[i] = strdup(std::string(reinterpret_cast<const char*>(argsPtr + position), strLen).c_str());
516
+ position += strLen;
517
+ }
518
+ return GetImpl()->CreateDiagnosticInfo(_context, _kind, _args, argc);
519
+ }
520
+ KOALA_INTEROP_4(CreateDiagnosticInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt)
521
+
522
+ KNativePointer impl_CreateSuggestionInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr,
523
+ KInt argc, KStringPtr& substitutionCode)
524
+ {
525
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
526
+ const auto _kind = reinterpret_cast<es2panda_DiagnosticKind *>(kind);
527
+ const std::size_t headerLen = 4;
528
+ const char** _args = new const char*[argc];
529
+ std::size_t position = headerLen;
530
+ std::size_t strLen;
531
+ for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
532
+ strLen = unpackUInt(argsPtr + position);
533
+ position += headerLen;
534
+ _args[i] = strdup(std::string(reinterpret_cast<const char*>(argsPtr + position), strLen).c_str());
535
+ position += strLen;
536
+ }
537
+ const auto _substitutionCode = getStringCopy(substitutionCode);
538
+ return GetImpl()->CreateSuggestionInfo(_context, _kind, _args, argc, _substitutionCode);
539
+ }
540
+ KOALA_INTEROP_5(CreateSuggestionInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt, KStringPtr)
541
+
542
+ void impl_LogDiagnostic(KNativePointer context, KNativePointer kind, KStringArray argvPtr,
543
+ KInt argc, KNativePointer pos)
544
+ {
545
+ auto&& _context_ = reinterpret_cast<es2panda_Context *>(context);
546
+ auto&& _kind_ = reinterpret_cast<es2panda_DiagnosticKind *>(kind);
547
+ auto&& _pos_ = reinterpret_cast<es2panda_SourcePosition *>(pos);
548
+ const std::size_t headerLen = 4;
549
+ const char** argv = new const char*[argc];
550
+ std::size_t position = headerLen;
551
+ std::size_t strLen;
552
+ for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
553
+ strLen = unpackUInt(argvPtr + position);
554
+ position += headerLen;
555
+ argv[i] = strdup(std::string(reinterpret_cast<const char*>(argvPtr + position), strLen).c_str());
556
+ position += strLen;
557
+ }
558
+ GetImpl()->LogDiagnostic(_context_, _kind_, argv, argc, _pos_);
559
+ }
560
+ KOALA_INTEROP_V5(LogDiagnostic, KNativePointer, KNativePointer, KStringArray, KInt, KNativePointer)
561
+
562
+ void impl_LogDiagnosticWithSuggestion(KNativePointer context, KNativePointer diagnosticInfo,
563
+ KNativePointer suggestionInfo, KNativePointer range)
564
+ {
565
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
566
+ const auto _diagnosticInfo = reinterpret_cast<es2panda_DiagnosticInfo*>(diagnosticInfo);
567
+ const auto _suggestionInfo = reinterpret_cast<es2panda_SuggestionInfo*>(suggestionInfo);
568
+ const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
569
+ GetImpl()->LogDiagnosticWithSuggestion(_context, _diagnosticInfo, _suggestionInfo, _range);
570
+ }
571
+ KOALA_INTEROP_V4(LogDiagnosticWithSuggestion, KNativePointer, KNativePointer, KNativePointer, KNativePointer)
572
+
573
+ KInt impl_GenerateStaticDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputPath)
574
+ {
575
+ auto context = reinterpret_cast<es2panda_Context *>(contextPtr);
576
+ return GetImpl()->GenerateStaticDeclarationsFromContext(context, outputPath.data());
577
+ }
578
+ KOALA_INTEROP_2(GenerateStaticDeclarationsFromContext, KInt, KNativePointer, KStringPtr)
579
+
580
+ KNativePointer impl_AnnotationUsageIrPropertiesPtrConst(KNativePointer context, KNativePointer receiver)
581
+ {
582
+ const auto _context = reinterpret_cast<es2panda_Context*>(context);
583
+ const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
584
+ std::size_t length;
585
+ auto result = GetImpl()->AnnotationUsageIrPropertiesPtrConst(_context, _receiver, &length);
586
+ return StageArena::cloneVector(result, length);
587
+ }
588
+ KOALA_INTEROP_2(AnnotationUsageIrPropertiesPtrConst, KNativePointer, KNativePointer, KNativePointer);
589
+
590
+ KInt impl_GenerateTsDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputDeclEts, KStringPtr &outputEts,
591
+ KBoolean exportAll, KBoolean isolated)
592
+ {
593
+ auto context = reinterpret_cast<es2panda_Context *>(contextPtr);
594
+ return GetImpl()->GenerateTsDeclarationsFromContext(context, outputDeclEts.data(), outputEts.data(), exportAll, isolated );
595
+ }
596
+ KOALA_INTEROP_5(GenerateTsDeclarationsFromContext, KInt, KNativePointer, KStringPtr, KStringPtr, KBoolean, KBoolean)