@idlizer/arktscgen 2.1.7 → 2.1.9-arktscgen-4

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 (354) 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 +166 -45
  6. package/build/libarkts-copy/native/src/common.h +53 -8
  7. package/build/libarkts-copy/native/src/generated/bridges.cc +2654 -319
  8. package/build/libarkts-copy/package.json +31 -17
  9. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +97 -3
  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 +89 -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/AnnotationDeclaration.ts +32 -0
  23. package/build/libarkts-copy/src/arkts-api/node-utilities/AnnotationUsage.ts +37 -0
  24. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +26 -0
  25. package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +1 -1
  26. package/build/libarkts-copy/src/arkts-api/node-utilities/BinaryExpression.ts +37 -0
  27. package/build/libarkts-copy/src/arkts-api/node-utilities/BlockExpression.ts +27 -0
  28. package/build/libarkts-copy/src/arkts-api/node-utilities/BlockStatement.ts +29 -0
  29. package/build/libarkts-copy/src/arkts-api/node-utilities/CallExpression.ts +2 -2
  30. package/build/libarkts-copy/src/arkts-api/node-utilities/ChainExpression.ts +27 -0
  31. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDeclaration.ts +54 -0
  32. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDefinition.ts +1 -1
  33. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassProperty.ts +3 -3
  34. package/build/libarkts-copy/src/arkts-api/node-utilities/ConditionalExpression.ts +36 -0
  35. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSFunctionType.ts +2 -2
  36. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSImportDeclaration.ts +3 -33
  37. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSNewClassInstanceExpression.ts +34 -0
  38. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSParameterExpression.ts +3 -9
  39. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSPrimitiveType.ts +28 -0
  40. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSStructDeclaration.ts +1 -1
  41. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTuple.ts +1 -1
  42. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTypeReference.ts +27 -0
  43. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTypeReferencePart.ts +36 -0
  44. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSUndefinedType.ts +24 -0
  45. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSUnionType.ts +27 -0
  46. package/build/libarkts-copy/src/arkts-api/node-utilities/Identifier.ts +27 -0
  47. package/build/libarkts-copy/src/arkts-api/node-utilities/ImportSpecifier.ts +31 -0
  48. package/build/libarkts-copy/src/arkts-api/node-utilities/MemberExpression.ts +1 -1
  49. package/build/libarkts-copy/src/arkts-api/node-utilities/MethodDefinition.ts +2 -2
  50. package/build/libarkts-copy/src/arkts-api/node-utilities/NullLiteral.ts +24 -0
  51. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +2 -2
  52. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +1 -1
  53. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +40 -0
  54. package/build/libarkts-copy/src/arkts-api/node-utilities/ReturnStatement.ts +27 -0
  55. package/build/libarkts-copy/src/arkts-api/node-utilities/StringLiteral.ts +27 -0
  56. package/build/libarkts-copy/src/arkts-api/node-utilities/SuperExpression.ts +24 -0
  57. package/build/libarkts-copy/src/arkts-api/node-utilities/TSAsExpression.ts +36 -0
  58. package/build/libarkts-copy/src/arkts-api/node-utilities/TSClassImplements.ts +31 -0
  59. package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceBody.ts +28 -0
  60. package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +2 -2
  61. package/build/libarkts-copy/src/arkts-api/node-utilities/TSNonNullExpression.ts +27 -0
  62. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +1 -1
  63. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameterDeclaration.ts +31 -0
  64. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameterInstantiation.ts +30 -0
  65. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +1 -1
  66. package/build/libarkts-copy/src/arkts-api/node-utilities/TemplateLiteral.ts +35 -0
  67. package/build/libarkts-copy/src/arkts-api/node-utilities/ThisExpression.ts +24 -0
  68. package/build/libarkts-copy/src/arkts-api/node-utilities/UndefinedLiteral.ts +24 -0
  69. package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclaration.ts +1 -1
  70. package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclarator.ts +1 -1
  71. package/build/libarkts-copy/src/arkts-api/peers/ArktsObject.ts +3 -1
  72. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +75 -12
  73. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +8 -1
  74. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +71 -4
  75. package/build/libarkts-copy/src/arkts-api/peers/{Program.ts → ExternalSource.ts} +2 -22
  76. package/build/libarkts-copy/src/arkts-api/peers/Options.ts +34 -0
  77. package/build/libarkts-copy/src/arkts-api/plugins.ts +26 -12
  78. package/build/libarkts-copy/src/arkts-api/static/global.ts +7 -4
  79. package/build/libarkts-copy/src/arkts-api/static/profiler.ts +180 -23
  80. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +32 -8
  81. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +54 -12
  82. package/build/libarkts-copy/src/arkts-api/visitor.ts +32 -37
  83. package/build/libarkts-copy/src/arkts-api/wrapper-compat.ts +32 -0
  84. package/build/libarkts-copy/src/checkSdk.ts +25 -0
  85. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +448 -436
  86. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +778 -63
  87. package/build/libarkts-copy/src/generated/factory.ts +12 -15
  88. package/build/libarkts-copy/src/generated/index.ts +10 -3
  89. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +7 -1
  90. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +7 -1
  91. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +7 -1
  92. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +58 -6
  93. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +10 -4
  94. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +75 -0
  95. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +11 -5
  96. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +40 -6
  97. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +9 -3
  98. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +11 -5
  99. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +7 -1
  100. package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +7 -1
  101. package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +7 -1
  102. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +9 -3
  103. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +9 -3
  104. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +9 -3
  105. package/build/libarkts-copy/src/generated/peers/BindingProps.ts +7 -1
  106. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +10 -4
  107. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +26 -7
  108. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +9 -3
  109. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +10 -4
  110. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +20 -3
  111. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +10 -4
  112. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +9 -3
  113. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +9 -3
  114. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +33 -4
  115. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +128 -42
  116. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +28 -4
  117. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +9 -3
  118. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +39 -5
  119. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +9 -3
  120. package/build/libarkts-copy/src/generated/peers/CodeGen.ts +7 -1
  121. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +9 -3
  122. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +10 -4
  123. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +9 -3
  124. package/build/libarkts-copy/src/generated/peers/Declaration.ts +7 -1
  125. package/build/libarkts-copy/src/generated/peers/Decorator.ts +9 -3
  126. package/build/libarkts-copy/src/generated/peers/{OverloadInfo.ts → DiagnosticInfo.ts} +8 -2
  127. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +9 -3
  128. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +9 -3
  129. package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +7 -1
  130. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +10 -4
  131. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +10 -4
  132. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +16 -5
  133. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +10 -4
  134. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +59 -4
  135. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +10 -4
  136. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +11 -5
  137. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +11 -5
  138. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +10 -4
  139. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +10 -4
  140. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +46 -12
  141. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +10 -4
  142. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +7 -1
  143. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +10 -4
  144. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +10 -4
  145. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +14 -8
  146. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +10 -4
  147. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +11 -5
  148. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +10 -4
  149. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +15 -4
  150. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +10 -4
  151. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +16 -4
  152. package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +7 -1
  153. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +9 -3
  154. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +9 -3
  155. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +18 -7
  156. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +26 -3
  157. package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -1
  158. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +9 -3
  159. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +9 -3
  160. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +9 -3
  161. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +8 -2
  162. package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +7 -1
  163. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +44 -6
  164. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +10 -4
  165. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +7 -1
  166. package/build/libarkts-copy/src/generated/peers/IRNode.ts +7 -1
  167. package/build/libarkts-copy/src/generated/peers/Identifier.ts +16 -5
  168. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +14 -3
  169. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +28 -4
  170. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +9 -3
  171. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +9 -3
  172. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +9 -3
  173. package/build/libarkts-copy/src/generated/peers/ImportSource.ts +7 -1
  174. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +9 -3
  175. package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +7 -1
  176. package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +7 -1
  177. package/build/libarkts-copy/src/generated/peers/LabelPair.ts +7 -1
  178. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +9 -3
  179. package/build/libarkts-copy/src/generated/peers/Literal.ts +15 -1
  180. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +7 -1
  181. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +7 -1
  182. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +9 -3
  183. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +9 -3
  184. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +26 -10
  185. package/build/libarkts-copy/src/generated/peers/NamedType.ts +9 -3
  186. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +9 -3
  187. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +9 -3
  188. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +15 -9
  189. package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +7 -1
  190. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +10 -4
  191. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +9 -3
  192. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +10 -4
  193. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +9 -3
  194. package/build/libarkts-copy/src/generated/peers/Program.ts +194 -0
  195. package/build/libarkts-copy/src/generated/peers/Property.ts +10 -4
  196. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +9 -3
  197. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +10 -4
  198. package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +7 -1
  199. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +77 -10
  200. package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +7 -1
  201. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +9 -3
  202. package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +7 -1
  203. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +7 -1
  204. package/build/libarkts-copy/src/generated/peers/SourceRange.ts +7 -1
  205. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +10 -4
  206. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +46 -9
  207. package/build/libarkts-copy/src/generated/peers/Statement.ts +7 -1
  208. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +10 -4
  209. package/build/libarkts-copy/src/generated/peers/{ETSDynamicFunctionType.ts → SuggestionInfo.ts} +7 -5
  210. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +10 -4
  211. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +10 -4
  212. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +10 -4
  213. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +10 -4
  214. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +10 -4
  215. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +10 -4
  216. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +10 -4
  217. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +10 -4
  218. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +11 -5
  219. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +10 -4
  220. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +10 -4
  221. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +48 -6
  222. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +11 -5
  223. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +10 -4
  224. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +10 -4
  225. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +10 -4
  226. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +10 -4
  227. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +10 -4
  228. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +10 -4
  229. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +10 -4
  230. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +10 -4
  231. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +78 -8
  232. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +10 -4
  233. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +10 -4
  234. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +10 -4
  235. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +10 -4
  236. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +10 -4
  237. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +10 -4
  238. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +10 -4
  239. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +10 -4
  240. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +10 -4
  241. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +10 -4
  242. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +10 -4
  243. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +10 -4
  244. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +10 -4
  245. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +10 -4
  246. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +10 -4
  247. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +10 -4
  248. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +10 -4
  249. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +10 -4
  250. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +10 -4
  251. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +10 -4
  252. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +10 -4
  253. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +53 -6
  254. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +10 -4
  255. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +10 -4
  256. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +10 -4
  257. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +41 -7
  258. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +15 -4
  259. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +10 -4
  260. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +10 -4
  261. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +10 -4
  262. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +10 -4
  263. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +10 -4
  264. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +10 -4
  265. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +10 -4
  266. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +10 -4
  267. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +10 -4
  268. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +11 -5
  269. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +10 -4
  270. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +10 -4
  271. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +10 -4
  272. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +11 -5
  273. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +37 -3
  274. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +7 -1
  275. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +7 -1
  276. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +10 -4
  277. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +15 -4
  278. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +9 -3
  279. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +10 -4
  280. package/build/libarkts-copy/src/generated/peers/VReg.ts +7 -1
  281. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +7 -1
  282. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +48 -8
  283. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +11 -5
  284. package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +7 -1
  285. package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +7 -1
  286. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +15 -4
  287. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +10 -4
  288. package/build/libarkts-copy/src/index.ts +13 -1
  289. package/build/libarkts-copy/src/plugin-utils.ts +117 -0
  290. package/build/libarkts-copy/src/utils.ts +17 -28
  291. package/build/libarkts-copy/src/wrapper-compat/README.md +16 -0
  292. package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +46 -0
  293. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +454 -0
  294. package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +99 -0
  295. package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +88 -0
  296. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +38 -0
  297. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +35 -0
  298. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +38 -0
  299. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +27 -0
  300. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +45 -0
  301. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +27 -0
  302. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +73 -0
  303. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +51 -0
  304. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +42 -0
  305. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +39 -0
  306. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +43 -0
  307. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +28 -0
  308. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +37 -0
  309. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +28 -0
  310. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +37 -0
  311. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +42 -0
  312. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +46 -0
  313. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +30 -0
  314. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +37 -0
  315. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +27 -0
  316. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +46 -0
  317. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +28 -0
  318. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +47 -0
  319. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +40 -0
  320. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +36 -0
  321. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +41 -0
  322. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +42 -0
  323. package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +39 -0
  324. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ArktsObject.ts +45 -0
  325. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +26 -0
  326. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Config.ts +53 -0
  327. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Context.ts +60 -0
  328. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +39 -0
  329. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +33 -0
  330. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +33 -0
  331. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts +34 -0
  332. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +105 -0
  333. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +38 -0
  334. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +38 -0
  335. package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +33 -0
  336. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +16 -0
  337. package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/globalUtils.ts +27 -0
  338. package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +108 -0
  339. package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +907 -0
  340. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +69 -0
  341. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +190 -0
  342. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +198 -0
  343. package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +325 -0
  344. package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +421 -0
  345. package/build/libarkts-copy/src/wrapper-compat/index.ts +20 -0
  346. package/lib/index.js +323 -148
  347. package/package.json +2 -2
  348. package/templates/Es2pandaEnums.ts +4 -0
  349. package/templates/Es2pandaNativeModule.ts +5 -1
  350. package/templates/factory.ts +5 -1
  351. package/templates/index.ts +5 -1
  352. package/templates/node-map.ts +5 -1
  353. package/templates/peer.ts +5 -1
  354. package/build/libarkts-copy/README.md +0 -36
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { BlockStatement, Statement } from "../../generated"
17
+ import { isSameNativeObject } from "../peers/ArktsObject"
18
+ import { updateNodeByNode } from "../utilities/private"
19
+
20
+ export function createBlockStatement(statements: readonly Statement[]): BlockStatement {
21
+ return BlockStatement.createBlockStatement(statements)
22
+ }
23
+
24
+ export function updateBlockStatement(original: BlockStatement, statements: readonly Statement[]): BlockStatement {
25
+ if (isSameNativeObject(statements, original.statements)) {
26
+ return original
27
+ }
28
+ return updateNodeByNode(BlockStatement.createBlockStatement(statements), original)
29
+ }
@@ -24,7 +24,7 @@ export function createCallExpression(
24
24
  optional_arg: boolean = false,
25
25
  trailingComma: boolean = false,
26
26
  trailingBlock: BlockStatement | undefined = undefined,
27
- ) {
27
+ ): CallExpression {
28
28
  const res = CallExpression.createCallExpression(
29
29
  callee,
30
30
  _arguments,
@@ -46,7 +46,7 @@ export function updateCallExpression(
46
46
  optional_arg: boolean = false,
47
47
  trailingComma: boolean = false,
48
48
  trailingBlock: BlockStatement | undefined = undefined,
49
- ) {
49
+ ): CallExpression {
50
50
  if (isSameNativeObject(callee, original.callee)
51
51
  && isSameNativeObject(_arguments, original.arguments)
52
52
  && isSameNativeObject(typeParams, original.typeParams)
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ChainExpression, Expression } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateChainExpression(original: ChainExpression, expression?: Expression): ChainExpression {
21
+ if (isSameNativeObject(expression, original.expression)) {
22
+ return original;
23
+ }
24
+
25
+ const update = updateThenAttach(ChainExpression.updateChainExpression, attachModifiers);
26
+ return update(original, expression);
27
+ }
@@ -0,0 +1,54 @@
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
+
16
+ import {
17
+ ClassDeclaration,
18
+ ClassDefinition,
19
+ } from "../../generated"
20
+ import { isSameNativeObject } from "../peers/ArktsObject"
21
+ import { updateNodeByNode } from "../utilities/private"
22
+ import { Es2pandaModifierFlags } from "../../generated/Es2pandaEnums"
23
+
24
+ export function createClassDeclaration(
25
+ def?: ClassDefinition,
26
+ modifierFlags?: Es2pandaModifierFlags,
27
+ ): ClassDeclaration {
28
+ const res = ClassDeclaration.createClassDeclaration(
29
+ def,
30
+ )
31
+ if (modifierFlags) {
32
+ res.modifierFlags = modifierFlags
33
+ }
34
+ return res
35
+ }
36
+
37
+ export function updateClassDeclaration(
38
+ original: ClassDeclaration,
39
+ def?: ClassDefinition,
40
+ modifierFlags?: Es2pandaModifierFlags,
41
+ ): ClassDeclaration {
42
+ if (isSameNativeObject(def, original.definition)
43
+ && isSameNativeObject(modifierFlags, original.modifierFlags)
44
+ ) {
45
+ return original
46
+ }
47
+ return updateNodeByNode(
48
+ createClassDeclaration(
49
+ def,
50
+ modifierFlags,
51
+ ),
52
+ original
53
+ )
54
+ }
@@ -40,7 +40,7 @@ export function updateClassDefinition(
40
40
  body: readonly AstNode[],
41
41
  modifiers: Es2pandaClassDefinitionModifiers,
42
42
  flags: Es2pandaModifierFlags
43
- ) {
43
+ ): ClassDefinition {
44
44
  if (original.ctor !== undefined && !isMethodDefinition(original.ctor)) {
45
45
  throwError(`class definition constructor is not method definition: ${ctor?.dump()}`)
46
46
  }
@@ -18,14 +18,14 @@ import { Es2pandaModifierFlags } from "../../generated/Es2pandaEnums"
18
18
  import { isSameNativeObject } from "../peers/ArktsObject"
19
19
  import { updateNodeByNode } from "../utilities/private"
20
20
 
21
- export function createClassProperty(
21
+ export function createClassProperty(
22
22
  key: Expression | undefined,
23
23
  value: Expression | undefined,
24
24
  typeAnnotation: TypeNode | undefined,
25
25
  modifiers: Es2pandaModifierFlags,
26
26
  isComputed: boolean,
27
27
  annotations?: readonly AnnotationUsage[],
28
- ) {
28
+ ): ClassProperty {
29
29
  const res = ClassProperty.createClassProperty(
30
30
  key,
31
31
  value,
@@ -47,7 +47,7 @@ export function updateClassProperty(
47
47
  modifiers: Es2pandaModifierFlags,
48
48
  isComputed: boolean,
49
49
  annotations?: readonly AnnotationUsage[],
50
- ) {
50
+ ): ClassProperty {
51
51
  if (isSameNativeObject(key, original.key)
52
52
  && isSameNativeObject(value, original.value)
53
53
  && isSameNativeObject(typeAnnotation, original.typeAnnotation)
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ConditionalExpression, Expression } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateConditionalExpression(
21
+ original: ConditionalExpression,
22
+ test?: Expression,
23
+ consequent?: Expression,
24
+ alternate?: Expression
25
+ ): ConditionalExpression {
26
+ if (
27
+ isSameNativeObject(test, original.test) &&
28
+ isSameNativeObject(consequent, original.consequent) &&
29
+ isSameNativeObject(alternate, original.alternate)
30
+ ) {
31
+ return original;
32
+ }
33
+
34
+ const update = updateThenAttach(ConditionalExpression.updateConditionalExpression, attachModifiers);
35
+ return update(original, test, consequent, alternate);
36
+ }
@@ -25,7 +25,7 @@ export function createETSFunctionType(
25
25
  hasReceiver: boolean,
26
26
  funcFlags: Es2pandaScriptFunctionFlags,
27
27
  annotations?: readonly AnnotationUsage[],
28
- ) {
28
+ ): ETSFunctionType {
29
29
  const res = ETSFunctionType.createETSFunctionType(
30
30
  FunctionSignature.createFunctionSignature(
31
31
  typeParams,
@@ -49,7 +49,7 @@ export function updateETSFunctionType(
49
49
  hasReceiver: boolean,
50
50
  funcFlags: Es2pandaScriptFunctionFlags,
51
51
  annotations?: readonly AnnotationUsage[],
52
- ) {
52
+ ): ETSFunctionType {
53
53
  if (isSameNativeObject(typeParams, original.typeParams)
54
54
  && isSameNativeObject(params, original.params)
55
55
  && isSameNativeObject(returnTypeAnnotation, original.returnType)
@@ -15,43 +15,16 @@
15
15
 
16
16
  import { ETSImportDeclaration, StringLiteral } from "../../generated"
17
17
  import { isSameNativeObject } from "../peers/ArktsObject"
18
- import { passNode, passNodeArray, unpackNonNullableNode, updateNodeByNode } from "../utilities/private"
18
+ import { updateNodeByNode } from "../utilities/private"
19
19
  import { AstNode } from "../peers/AstNode"
20
- import { Es2pandaImportFlags, Es2pandaImportKinds } from "../../generated/Es2pandaEnums"
21
- import { global } from "../static/global"
22
- import { Program } from "../peers/Program"
23
-
24
- export function createETSImportDeclaration(
25
- source: StringLiteral | undefined,
26
- specifiers: readonly AstNode[],
27
- importKind: Es2pandaImportKinds,
28
- program: Program,
29
- flags: Es2pandaImportFlags
30
- ) {
31
- // TODO: check that plugin is on parsed stage
32
- const res = unpackNonNullableNode(
33
- global.es2panda._ETSParserBuildImportDeclaration(
34
- global.context,
35
- importKind,
36
- passNodeArray(specifiers),
37
- specifiers.length,
38
- passNode(source),
39
- program.peer,
40
- flags
41
- )
42
- )
43
- global.es2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, res.peer)
44
- // return new ETSImportDeclaration(res.peer)
45
- // according to es2panda developers, import declaration is added to ast by compiler
46
- }
20
+ import { Es2pandaImportKinds } from "../../generated/Es2pandaEnums"
47
21
 
48
22
  export function updateETSImportDeclaration(
49
23
  original: ETSImportDeclaration,
50
24
  source: StringLiteral | undefined,
51
25
  specifiers: readonly AstNode[],
52
26
  importKind: Es2pandaImportKinds
53
- ) {
54
- throw new Error("Do not update imports, insert them instead")
27
+ ): ETSImportDeclaration {
55
28
  if (isSameNativeObject(source, original.source)
56
29
  && isSameNativeObject(specifiers, original.specifiers)
57
30
  /* no getter for importKind */
@@ -59,11 +32,8 @@ export function updateETSImportDeclaration(
59
32
  /* TODO: probably should set importMetadata, but no getter provided yet */
60
33
  return original
61
34
  }
62
- /*
63
35
  return updateNodeByNode(
64
36
  ETSImportDeclaration.createETSImportDeclaration(source, specifiers, importKind),
65
37
  original
66
38
  )
67
- */
68
- return original
69
39
  }
@@ -0,0 +1,34 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSNewClassInstanceExpression, Expression } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateETSNewClassInstanceExpression(
21
+ original: ETSNewClassInstanceExpression,
22
+ typeReference: Expression | undefined,
23
+ _arguments: readonly Expression[]
24
+ ): ETSNewClassInstanceExpression {
25
+ if (
26
+ isSameNativeObject(typeReference, original.typeRef) &&
27
+ isSameNativeObject(_arguments, original.arguments)
28
+ ) {
29
+ return original;
30
+ }
31
+
32
+ const update = updateThenAttach(ETSNewClassInstanceExpression.updateETSNewClassInstanceExpression, attachModifiers);
33
+ return update(original, typeReference, _arguments);
34
+ }
@@ -21,16 +21,12 @@ export function createETSParameterExpression(
21
21
  identOrSpread: AnnotatedExpression | undefined,
22
22
  isOptional: boolean,
23
23
  initExpr?: Expression,
24
- typeAnnotation?: TypeNode,
25
24
  annotations?: readonly AnnotationUsage[]
26
- ) {
25
+ ): ETSParameterExpression {
27
26
  const res = ETSParameterExpression.createETSParameterExpression(identOrSpread, isOptional)
28
27
  if (initExpr) {
29
28
  res.setInitializer(initExpr)
30
29
  }
31
- if (typeAnnotation) {
32
- res.setTypeAnnotation(typeAnnotation)
33
- }
34
30
  if (annotations) {
35
31
  res.setAnnotations(annotations)
36
32
  }
@@ -42,19 +38,17 @@ export function updateETSParameterExpression(
42
38
  identOrSpread: AnnotatedExpression | undefined,
43
39
  isOptional: boolean,
44
40
  initExpr?: Expression,
45
- typeAnnotation?: TypeNode,
46
41
  annotations?: readonly AnnotationUsage[],
47
- ) {
42
+ ): ETSParameterExpression {
48
43
  if ((isSameNativeObject(identOrSpread, original.ident) || isSameNativeObject(identOrSpread, original.restParameter))
49
44
  && isSameNativeObject(isOptional, original.isOptional)
50
45
  && isSameNativeObject(initExpr, original.initializer)
51
- && isSameNativeObject(typeAnnotation, original.typeAnnotation)
52
46
  && isSameNativeObject(annotations, original.annotations)
53
47
  ) {
54
48
  return original
55
49
  }
56
50
  return updateNodeByNode(
57
- createETSParameterExpression(identOrSpread, isOptional, initExpr, typeAnnotation, annotations),
51
+ createETSParameterExpression(identOrSpread, isOptional, initExpr, annotations),
58
52
  original
59
53
  )
60
54
  }
@@ -0,0 +1,28 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSPrimitiveType } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+ import { Es2pandaPrimitiveType } from '../../generated/Es2pandaEnums';
20
+
21
+ export function updateETSPrimitiveType(original: ETSPrimitiveType, type: Es2pandaPrimitiveType): ETSPrimitiveType {
22
+ if (isSameNativeObject(type, original.primitiveType)) {
23
+ return original;
24
+ }
25
+
26
+ const update = updateThenAttach(ETSPrimitiveType.updateETSPrimitiveType, attachModifiers);
27
+ return update(original, type);
28
+ }
@@ -20,7 +20,7 @@ import { updateNodeByNode } from "../utilities/private"
20
20
  export function updateETSStructDeclaration(
21
21
  original: ETSStructDeclaration,
22
22
  def?: ClassDefinition
23
- ) {
23
+ ): ETSStructDeclaration {
24
24
  if (isSameNativeObject(def, original.definition)) {
25
25
  return original
26
26
  }
@@ -20,7 +20,7 @@ import { updateNodeByNode } from "../utilities/private"
20
20
  export function updateETSTuple(
21
21
  original: ETSTuple,
22
22
  typeList: readonly TypeNode[]
23
- ) {
23
+ ): ETSTuple {
24
24
  if (isSameNativeObject(typeList, original.tupleTypeAnnotationsList)) {
25
25
  return original
26
26
  }
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSTypeReference, ETSTypeReferencePart } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateETSTypeReference(original: ETSTypeReference, part?: ETSTypeReferencePart): ETSTypeReference {
21
+ if (isSameNativeObject(part, original.part)) {
22
+ return original;
23
+ }
24
+
25
+ const update = updateThenAttach(ETSTypeReference.updateETSTypeReference, attachModifiers);
26
+ return update(original, part);
27
+ }
@@ -0,0 +1,36 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSTypeReferencePart, Expression, TSTypeParameterInstantiation } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateETSTypeReferencePart(
21
+ original: ETSTypeReferencePart,
22
+ name?: Expression,
23
+ typeParams?: TSTypeParameterInstantiation,
24
+ prev?: ETSTypeReferencePart
25
+ ): ETSTypeReferencePart {
26
+ if (
27
+ isSameNativeObject(name, original.name) &&
28
+ isSameNativeObject(typeParams, original.typeParams) &&
29
+ isSameNativeObject(prev, original.previous)
30
+ ) {
31
+ return original;
32
+ }
33
+
34
+ const update = updateThenAttach(ETSTypeReferencePart.updateETSTypeReferencePart, attachModifiers);
35
+ return update(original, name, typeParams, prev);
36
+ }
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSUndefinedType } from '../../generated';
17
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
18
+
19
+ export function updateETSUndefinedType(original: ETSUndefinedType): ETSUndefinedType {
20
+ /* TODO: no getter provided yet */
21
+
22
+ const update = updateThenAttach(ETSUndefinedType.updateETSUndefinedType, attachModifiers);
23
+ return update(original);
24
+ }
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { ETSUnionType, TypeNode } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateETSUnionType(original: ETSUnionType, types: readonly TypeNode[]): ETSUnionType {
21
+ if (isSameNativeObject(types, original.types)) {
22
+ return original;
23
+ }
24
+
25
+ const update = updateThenAttach(ETSUnionType.updateETSUnionType, attachModifiers);
26
+ return update(original, types);
27
+ }
@@ -0,0 +1,27 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { Identifier, TypeNode } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateIdentifier(original: Identifier, name: string, typeAnnotation?: TypeNode): Identifier {
21
+ if (isSameNativeObject(name, original.name) && isSameNativeObject(typeAnnotation, original.typeAnnotation)) {
22
+ return original;
23
+ }
24
+
25
+ const update = updateThenAttach(Identifier.update2Identifier, attachModifiers);
26
+ return update(original, name, typeAnnotation);
27
+ }
@@ -0,0 +1,31 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { Identifier, ImportSpecifier } from '../../generated';
17
+ import { isSameNativeObject } from '../peers/ArktsObject';
18
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
19
+
20
+ export function updateImportSpecifier(
21
+ original: ImportSpecifier,
22
+ imported?: Identifier,
23
+ local?: Identifier
24
+ ): ImportSpecifier {
25
+ if (isSameNativeObject(imported, original.imported) && isSameNativeObject(local, original.local)) {
26
+ return original;
27
+ }
28
+
29
+ const update = updateThenAttach(ImportSpecifier.updateImportSpecifier, attachModifiers);
30
+ return update(original, imported, local);
31
+ }
@@ -25,7 +25,7 @@ export function updateMemberExpression(
25
25
  kind: Es2pandaMemberExpressionKind,
26
26
  computed: boolean,
27
27
  optional_arg: boolean
28
- ) {
28
+ ): MemberExpression {
29
29
  if (isSameNativeObject(object_arg, original.object)
30
30
  && isSameNativeObject(property, original.property)
31
31
  && isSameNativeObject(kind, original.kind)
@@ -29,7 +29,7 @@ export function createMethodDefinition(
29
29
  modifiers: Es2pandaModifierFlags,
30
30
  isComputed: boolean,
31
31
  overloads?: readonly MethodDefinition[]
32
- ) {
32
+ ): MethodDefinition {
33
33
  const res = MethodDefinition.createMethodDefinition(
34
34
  kind,
35
35
  key,
@@ -51,7 +51,7 @@ export function updateMethodDefinition(
51
51
  modifiers: Es2pandaModifierFlags,
52
52
  isComputed: boolean,
53
53
  overloads?: readonly MethodDefinition[]
54
- ) {
54
+ ): MethodDefinition {
55
55
  if (isSameNativeObject(kind, original.kind)
56
56
  && isSameNativeObject(key, original.key)
57
57
  && isSameNativeObject(value, original.value)
@@ -0,0 +1,24 @@
1
+ /*
2
+ * Copyright (c) 2024 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 { NullLiteral } from '../../generated';
17
+ import { attachModifiers, updateThenAttach } from '../utilities/private';
18
+
19
+ export function updateNullLiteral(original: NullLiteral): NullLiteral {
20
+ /* TODO: no getter provided yet */
21
+
22
+ const update = updateThenAttach(NullLiteral.updateNullLiteral, attachModifiers);
23
+ return update(original);
24
+ }
@@ -20,7 +20,7 @@ import { updateNodeByNode } from "../utilities/private"
20
20
 
21
21
  export function createNumberLiteral(
22
22
  value: number
23
- ) {
23
+ ): NumberLiteral {
24
24
  return new NumberLiteral(
25
25
  global.es2panda._CreateNumberLiteral(
26
26
  global.context,
@@ -32,7 +32,7 @@ export function createNumberLiteral(
32
32
  export function updateNumberLiteral(
33
33
  original: NumberLiteral,
34
34
  value: number
35
- ) {
35
+ ): NumberLiteral {
36
36
  if (isSameNativeObject(value.toString(), original.str)) {
37
37
  return original
38
38
  }