@idlizer/arktscgen 2.1.10-arktscgen-4 → 2.1.10-arktscgen-6

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 (287) hide show
  1. package/build/libarkts-copy/generator/options.json5 +24 -47
  2. package/build/libarkts-copy/native/meson.build +26 -10
  3. package/build/libarkts-copy/native/meson_options.txt +9 -3
  4. package/build/libarkts-copy/native/mingw.cross +2 -0
  5. package/build/libarkts-copy/native/src/bridges.cc +55 -159
  6. package/build/libarkts-copy/native/src/common.cc +316 -97
  7. package/build/libarkts-copy/native/src/common.h +22 -22
  8. package/build/libarkts-copy/native/src/memoryTracker.cc +5 -5
  9. package/build/libarkts-copy/native/src/memoryTracker.h +5 -5
  10. package/build/libarkts-copy/package.json +31 -25
  11. package/build/libarkts-copy/src/Es2pandaNativeModule.ts +139 -116
  12. package/build/libarkts-copy/src/InteropNativeModule.ts +18 -15
  13. package/build/libarkts-copy/src/arkts-api/AbstractVisitor.ts +24 -19
  14. package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +30 -31
  15. package/build/libarkts-copy/src/arkts-api/ProgramProvider.ts +30 -18
  16. package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +30 -12
  17. package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +38 -29
  18. package/build/libarkts-copy/src/arkts-api/index.ts +23 -24
  19. package/build/libarkts-copy/src/arkts-api/node-cache.ts +22 -13
  20. package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +8 -8
  21. package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +9 -21
  22. package/build/libarkts-copy/src/arkts-api/node-utilities/AssignmentExpression.ts +12 -14
  23. package/build/libarkts-copy/src/arkts-api/node-utilities/BlockStatement.ts +5 -5
  24. package/build/libarkts-copy/src/arkts-api/node-utilities/CallExpression.ts +26 -24
  25. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDefinition.ts +62 -32
  26. package/build/libarkts-copy/src/arkts-api/node-utilities/ClassProperty.ts +14 -13
  27. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSFunctionType.ts +24 -21
  28. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSImportDeclaration.ts +10 -12
  29. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSModule.ts +14 -18
  30. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSParameterExpression.ts +15 -16
  31. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSStructDeclaration.ts +5 -8
  32. package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTuple.ts +6 -12
  33. package/build/libarkts-copy/src/arkts-api/node-utilities/MemberExpression.ts +12 -11
  34. package/build/libarkts-copy/src/arkts-api/node-utilities/MethodDefinition.ts +14 -33
  35. package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +12 -23
  36. package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +17 -21
  37. package/build/libarkts-copy/src/arkts-api/node-utilities/OpaqueTypeNode.ts +9 -8
  38. package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +21 -16
  39. package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +52 -53
  40. package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +22 -32
  41. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +12 -14
  42. package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +10 -12
  43. package/build/libarkts-copy/src/arkts-api/node-utilities/TryStatement.ts +10 -9
  44. package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclarator.ts +10 -12
  45. package/build/libarkts-copy/src/arkts-api/peers/ArktsObject.ts +8 -8
  46. package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +53 -65
  47. package/build/libarkts-copy/src/arkts-api/peers/Config.ts +18 -25
  48. package/build/libarkts-copy/src/arkts-api/peers/Context.ts +35 -42
  49. package/build/libarkts-copy/src/arkts-api/peers/ExternalSource.ts +9 -9
  50. package/build/libarkts-copy/src/arkts-api/peers/ImportPathManager.ts +6 -8
  51. package/build/libarkts-copy/src/arkts-api/peers/Options.ts +8 -8
  52. package/build/libarkts-copy/src/arkts-api/plugins.ts +205 -32
  53. package/build/libarkts-copy/src/arkts-api/static/global.ts +35 -36
  54. package/build/libarkts-copy/src/arkts-api/static/globalUtils.ts +5 -5
  55. package/build/libarkts-copy/src/arkts-api/static/profiler.ts +107 -91
  56. package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +54 -37
  57. package/build/libarkts-copy/src/arkts-api/utilities/nativePtrDecoder.ts +86 -69
  58. package/build/libarkts-copy/src/arkts-api/utilities/performance.ts +41 -24
  59. package/build/libarkts-copy/src/arkts-api/utilities/private.ts +69 -62
  60. package/build/libarkts-copy/src/arkts-api/utilities/public.ts +254 -175
  61. package/build/libarkts-copy/src/arkts-api/visitor.ts +599 -756
  62. package/build/libarkts-copy/src/arkts-api/wrapper-compat.ts +8 -8
  63. package/build/libarkts-copy/src/checkSdk.ts +15 -18
  64. package/build/libarkts-copy/src/index.ts +29 -29
  65. package/build/libarkts-copy/src/memo-node-cache.ts +143 -0
  66. package/build/libarkts-copy/src/plugin-utils.ts +64 -45
  67. package/build/libarkts-copy/src/reexport-for-generated.ts +13 -10
  68. package/build/libarkts-copy/src/tracer.ts +76 -70
  69. package/build/libarkts-copy/src/ts-api/factory/nodeFactory.ts +134 -274
  70. package/build/libarkts-copy/src/ts-api/factory/nodeTests.ts +23 -23
  71. package/build/libarkts-copy/src/ts-api/index.ts +27 -35
  72. package/build/libarkts-copy/src/ts-api/static/enums.ts +3 -3
  73. package/build/libarkts-copy/src/ts-api/types.ts +535 -395
  74. package/build/libarkts-copy/src/ts-api/utilities/private.ts +116 -113
  75. package/build/libarkts-copy/src/ts-api/utilities/public.ts +18 -18
  76. package/build/libarkts-copy/src/ts-api/visitor/visitor.ts +33 -49
  77. package/build/libarkts-copy/src/utils.ts +103 -80
  78. package/build/libarkts-copy/tsconfig.json +3 -2
  79. package/lib/index.js +2713 -7729
  80. package/package.json +53 -52
  81. package/templates/Es2pandaNativeModule.ts +1 -0
  82. package/templates/peer.ts +1 -0
  83. package/build/libarkts-copy/native/src/generated/bridges.cc +0 -16375
  84. package/build/libarkts-copy/src/arkts-api/peers/DiagnosticKind.ts +0 -24
  85. package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +0 -1344
  86. package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +0 -5192
  87. package/build/libarkts-copy/src/generated/factory.ts +0 -1285
  88. package/build/libarkts-copy/src/generated/index.ts +0 -222
  89. package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +0 -44
  90. package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +0 -54
  91. package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +0 -45
  92. package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +0 -165
  93. package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +0 -84
  94. package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +0 -73
  95. package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +0 -109
  96. package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +0 -119
  97. package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +0 -65
  98. package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +0 -111
  99. package/build/libarkts-copy/src/generated/peers/AstDumper.ts +0 -49
  100. package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +0 -40
  101. package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +0 -40
  102. package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +0 -61
  103. package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +0 -61
  104. package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +0 -110
  105. package/build/libarkts-copy/src/generated/peers/BindingProps.ts +0 -40
  106. package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +0 -72
  107. package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +0 -94
  108. package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +0 -61
  109. package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +0 -78
  110. package/build/libarkts-copy/src/generated/peers/CallExpression.ts +0 -129
  111. package/build/libarkts-copy/src/generated/peers/CatchClause.ts +0 -74
  112. package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +0 -68
  113. package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +0 -58
  114. package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +0 -76
  115. package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +0 -365
  116. package/build/libarkts-copy/src/generated/peers/ClassElement.ts +0 -76
  117. package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +0 -62
  118. package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +0 -137
  119. package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +0 -66
  120. package/build/libarkts-copy/src/generated/peers/CodeGen.ts +0 -40
  121. package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +0 -82
  122. package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +0 -78
  123. package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +0 -58
  124. package/build/libarkts-copy/src/generated/peers/Declaration.ts +0 -40
  125. package/build/libarkts-copy/src/generated/peers/Decorator.ts +0 -62
  126. package/build/libarkts-copy/src/generated/peers/DiagnosticInfo.ts +0 -40
  127. package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +0 -60
  128. package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +0 -66
  129. package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +0 -40
  130. package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +0 -62
  131. package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +0 -102
  132. package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +0 -90
  133. package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +0 -69
  134. package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +0 -61
  135. package/build/libarkts-copy/src/generated/peers/ETSModule.ts +0 -129
  136. package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +0 -75
  137. package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +0 -79
  138. package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +0 -75
  139. package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +0 -58
  140. package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +0 -59
  141. package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +0 -189
  142. package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +0 -62
  143. package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +0 -55
  144. package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +0 -58
  145. package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +0 -59
  146. package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +0 -89
  147. package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +0 -66
  148. package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +0 -78
  149. package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +0 -58
  150. package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +0 -75
  151. package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +0 -63
  152. package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +0 -66
  153. package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +0 -40
  154. package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +0 -66
  155. package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +0 -64
  156. package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +0 -94
  157. package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +0 -82
  158. package/build/libarkts-copy/src/generated/peers/Expression.ts +0 -84
  159. package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +0 -67
  160. package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +0 -69
  161. package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +0 -72
  162. package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +0 -67
  163. package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +0 -106
  164. package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +0 -74
  165. package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +0 -70
  166. package/build/libarkts-copy/src/generated/peers/IRNode.ts +0 -40
  167. package/build/libarkts-copy/src/generated/peers/Identifier.ts +0 -162
  168. package/build/libarkts-copy/src/generated/peers/IfStatement.ts +0 -78
  169. package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +0 -87
  170. package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +0 -62
  171. package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +0 -61
  172. package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +0 -62
  173. package/build/libarkts-copy/src/generated/peers/ImportSource.ts +0 -40
  174. package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +0 -73
  175. package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +0 -40
  176. package/build/libarkts-copy/src/generated/peers/LabelPair.ts +0 -40
  177. package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +0 -68
  178. package/build/libarkts-copy/src/generated/peers/Literal.ts +0 -53
  179. package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +0 -45
  180. package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +0 -53
  181. package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +0 -115
  182. package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +0 -62
  183. package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +0 -152
  184. package/build/libarkts-copy/src/generated/peers/NamedType.ts +0 -84
  185. package/build/libarkts-copy/src/generated/peers/NewExpression.ts +0 -64
  186. package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +0 -58
  187. package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +0 -78
  188. package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +0 -40
  189. package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +0 -94
  190. package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +0 -58
  191. package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +0 -58
  192. package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +0 -101
  193. package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +0 -65
  194. package/build/libarkts-copy/src/generated/peers/Program.ts +0 -206
  195. package/build/libarkts-copy/src/generated/peers/Property.ts +0 -92
  196. package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +0 -65
  197. package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +0 -75
  198. package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +0 -40
  199. package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +0 -310
  200. package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +0 -40
  201. package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +0 -61
  202. package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +0 -40
  203. package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +0 -48
  204. package/build/libarkts-copy/src/generated/peers/SourceRange.ts +0 -40
  205. package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +0 -83
  206. package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +0 -120
  207. package/build/libarkts-copy/src/generated/peers/Statement.ts +0 -44
  208. package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +0 -66
  209. package/build/libarkts-copy/src/generated/peers/SuggestionInfo.ts +0 -40
  210. package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +0 -58
  211. package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +0 -70
  212. package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +0 -71
  213. package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +0 -58
  214. package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +0 -61
  215. package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +0 -84
  216. package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +0 -58
  217. package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +0 -58
  218. package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +0 -70
  219. package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +0 -71
  220. package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +0 -73
  221. package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +0 -112
  222. package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +0 -76
  223. package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +0 -61
  224. package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +0 -75
  225. package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +0 -69
  226. package/build/libarkts-copy/src/generated/peers/TSImportType.ts +0 -72
  227. package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +0 -73
  228. package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +0 -64
  229. package/build/libarkts-copy/src/generated/peers/TSInferType.ts +0 -62
  230. package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +0 -61
  231. package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +0 -160
  232. package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +0 -62
  233. package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +0 -62
  234. package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +0 -62
  235. package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +0 -72
  236. package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +0 -79
  237. package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +0 -61
  238. package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +0 -71
  239. package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +0 -68
  240. package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +0 -58
  241. package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +0 -66
  242. package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +0 -58
  243. package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +0 -58
  244. package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +0 -58
  245. package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +0 -74
  246. package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +0 -62
  247. package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +0 -80
  248. package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +0 -71
  249. package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +0 -75
  250. package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +0 -58
  251. package/build/libarkts-copy/src/generated/peers/TSThisType.ts +0 -58
  252. package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +0 -61
  253. package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +0 -151
  254. package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +0 -71
  255. package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +0 -61
  256. package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +0 -71
  257. package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +0 -121
  258. package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +0 -75
  259. package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +0 -62
  260. package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +0 -68
  261. package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +0 -62
  262. package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +0 -70
  263. package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +0 -58
  264. package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +0 -61
  265. package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +0 -58
  266. package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +0 -58
  267. package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +0 -69
  268. package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +0 -69
  269. package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +0 -68
  270. package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +0 -58
  271. package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +0 -62
  272. package/build/libarkts-copy/src/generated/peers/TryStatement.ts +0 -89
  273. package/build/libarkts-copy/src/generated/peers/TypeNode.ts +0 -81
  274. package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +0 -44
  275. package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +0 -45
  276. package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +0 -61
  277. package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +0 -70
  278. package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +0 -58
  279. package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +0 -68
  280. package/build/libarkts-copy/src/generated/peers/VReg.ts +0 -40
  281. package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +0 -50
  282. package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +0 -113
  283. package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +0 -79
  284. package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +0 -40
  285. package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +0 -40
  286. package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +0 -71
  287. package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +0 -64
@@ -17,37 +17,40 @@ import {
17
17
  KNativePointer as KPtr,
18
18
  KInt,
19
19
  registerNativeModuleLibraryName,
20
- loadNativeModuleLibrary
21
- } from "@koalaui/interop"
22
- import { findNativeModule } from "./Es2pandaNativeModule"
20
+ loadNativeModuleLibrary,
21
+ } from '@koalaui/interop';
22
+ import { findNativeModule } from './Es2pandaNativeModule';
23
23
 
24
24
  export class InteropNativeModule {
25
25
  _StringLength(ptr: KPtr): KInt {
26
- throw new Error("Not implemented")
26
+ throw new Error('Not implemented');
27
27
  }
28
28
  _StringData(ptr: KPtr, buffer: KPtr, length: KInt): void {
29
- throw new Error("Not implemented")
29
+ throw new Error('Not implemented');
30
30
  }
31
31
  _GetStringFinalizer(): KPtr {
32
- throw new Error("Not implemented")
32
+ throw new Error('Not implemented');
33
33
  }
34
- _RawUtf8ToString(ptr: KPtr): string {
35
- throw new Error("Not implemented")
34
+ _RawUtf8ToString(ptr: KPtr): string {
35
+ throw new Error('Not implemented');
36
36
  }
37
37
  _InvokeFinalizer(ptr: KPtr, finalizer: KPtr): void {
38
- throw new Error("Not implemented")
38
+ throw new Error('Not implemented');
39
+ }
40
+ _GetPtrVector(ptr: KPtr): BigUint64Array {
41
+ throw new Error('Not implemented');
39
42
  }
40
43
  _GetPtrVectorSize(ptr: KPtr): KInt {
41
- throw new Error("Not implemented")
44
+ throw new Error('Not implemented');
42
45
  }
43
46
  _GetPtrVectorElement(ptr: KPtr, index: KInt): KPtr {
44
- throw new Error("Not implemented")
47
+ throw new Error('Not implemented');
45
48
  }
46
49
  }
47
50
 
48
51
  export function initInterop(): InteropNativeModule {
49
- registerNativeModuleLibraryName("InteropNativeModule", findNativeModule())
50
- const instance = new InteropNativeModule()
51
- loadNativeModuleLibrary("InteropNativeModule", instance)
52
- return instance
52
+ registerNativeModuleLibraryName('InteropNativeModule', findNativeModule());
53
+ const instance = new InteropNativeModule();
54
+ loadNativeModuleLibrary('InteropNativeModule', instance);
55
+ return instance;
53
56
  }
@@ -13,38 +13,43 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { AstNode } from "./peers/AstNode"
17
- import { visitEachChild } from "./visitor"
18
- import { Program } from "../generated"
16
+ import { AstNode } from './peers/AstNode';
17
+ import { visitEachChild } from './visitor';
18
+ import { Program } from '../../generated';
19
19
 
20
20
  export interface VisitorOptions {
21
- program?: Program
21
+ program?: Program;
22
22
  }
23
23
 
24
24
  export abstract class AbstractVisitor {
25
- public program?: Program
25
+ public program?: Program;
26
26
 
27
27
  constructor(options?: VisitorOptions) {
28
28
  this.program = options?.program;
29
29
  }
30
30
 
31
- indentation = 0
31
+ indentation = 0;
32
32
 
33
- withIndentation<T>(exec: () => T) {
34
- this.indentation++
35
- const result = exec()
36
- this.indentation--
37
- return result
33
+ withIndentation<T>(exec: () => T): T {
34
+ this.indentation++;
35
+ const result = exec();
36
+ this.indentation--;
37
+ return result;
38
38
  }
39
39
 
40
- abstract visitor(node: AstNode, options?: object): AstNode
40
+ process(node: AstNode, options?: any): AstNode {
41
+ return this.visitor(node, options);
42
+ }
43
+
44
+ init(): void {}
45
+
46
+ reset(): void {
47
+ this.indentation = 0;
48
+ }
49
+
50
+ abstract visitor(node: AstNode, options?: any): AstNode;
41
51
 
42
- visitEachChild(node: AstNode, options?: object): AstNode {
43
- return this.withIndentation(() =>
44
- visitEachChild(
45
- node,
46
- it => this.visitor(it, options)
47
- )
48
- )
52
+ visitEachChild(node: AstNode, options?: any): AstNode {
53
+ return this.withIndentation((): AstNode => visitEachChild(node, (it): AstNode => this.visitor(it, options)));
49
54
  }
50
55
  }
@@ -13,41 +13,44 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { KNativePointer } from "@koalaui/interop"
17
- import { ETSModule, ImportDeclaration, isETSImportDeclaration, Program, Statement } from "../generated"
18
- import { passNode, passNodeArray, unpackNonNullableNode } from "./utilities/private"
19
- import { global } from "./static/global"
20
- import { Es2pandaImportFlags, Es2pandaImportKinds } from "../generated/Es2pandaEnums"
21
- import { factory } from "./factory/nodeFactory"
16
+ import { KNativePointer } from '@koalaui/interop';
17
+ import { ETSModule, ImportDeclaration, isETSImportDeclaration, Program, Statement } from '../../generated';
18
+ import { passNode, passNodeArray, unpackNonNullableNode } from './utilities/private';
19
+ import { global } from './static/global';
20
+ import { Es2pandaImportFlags, Es2pandaImportKinds } from '../../generated/Es2pandaEnums';
21
+ import { factory } from './factory/nodeFactory';
22
22
 
23
23
  export class ImportStorage {
24
24
  // Improve: migrate to wrappers instead of pointers
25
- private imports: Set<KNativePointer> = new Set<KNativePointer>()
26
- private importSources: Set<string | undefined> = new Set<string | undefined>()
25
+ private imports: Set<KNativePointer> = new Set<KNativePointer>();
26
+ private importSources: Set<string | undefined> = new Set<string | undefined>();
27
27
 
28
- constructor(private program: Program, private isParserState: boolean) {
28
+ constructor(
29
+ private program: Program,
30
+ private isParserState: boolean
31
+ ) {
29
32
  for (const statement of program.ast.statements) {
30
33
  if (isETSImportDeclaration(statement)) {
31
- this.imports.add(statement.peer)
34
+ this.imports.add(statement.peer);
32
35
  if (!isParserState) {
33
36
  // Improve: is source non nullable?
34
- this.importSources.add(statement.source?.str)
37
+ this.importSources.add(statement.source?.str);
35
38
  }
36
39
  }
37
40
  }
38
41
  }
39
42
 
40
- update() {
43
+ update(): void {
41
44
  // Save current statements
42
- const statements = this.program.ast.statements
45
+ const statements = this.program.ast.statements;
43
46
 
44
47
  // Update parser information
45
- const newStatements: Statement[] = []
48
+ const newStatements: Statement[] = [];
46
49
  for (const statement of statements) {
47
50
  if (isETSImportDeclaration(statement) && !this.imports.has(statement.peer)) {
48
51
  if (!this.isParserState && !this.importSources.has(statement.source?.str)) {
49
- console.warn("Attempt to insert import from new source after parsed state:")
50
- console.warn(statement.dumpSrc())
52
+ console.warn('Attempt to insert import from new source after parsed state:');
53
+ console.warn(statement.dumpSrc());
51
54
  }
52
55
 
53
56
  const importDeclaration = unpackNonNullableNode<ImportDeclaration>(
@@ -59,26 +62,22 @@ export class ImportStorage {
59
62
  statement.specifiers.length,
60
63
  passNode(statement.source),
61
64
  this.program.peer,
62
- Es2pandaImportFlags.IMPORT_FLAGS_NONE, // Improve: where to get it?
65
+ Es2pandaImportFlags.IMPORT_FLAGS_NONE // Improve: where to get it?
63
66
  )
64
- )
65
- global.generatedEs2panda._InsertETSImportDeclarationAndParse(global.context, this.program.peer, importDeclaration.peer)
66
- newStatements.push(importDeclaration)
67
+ );
68
+ global.generatedEs2panda._InsertETSImportDeclarationAndParse(
69
+ global.context,
70
+ this.program.peer,
71
+ importDeclaration.peer
72
+ );
73
+ newStatements.push(importDeclaration);
67
74
  } else {
68
- newStatements.push(statement)
75
+ newStatements.push(statement);
69
76
  }
70
77
  }
71
78
 
72
79
  // Drop import statements generated by compiler in the beginning of the ETSModule
73
- const module = this.program.ast as ETSModule
74
- this.program.setAst(
75
- factory.updateETSModule(
76
- module,
77
- newStatements,
78
- module.ident,
79
- module.getNamespaceFlag(),
80
- module.program,
81
- )
82
- )
80
+ const module = this.program.getAstCasted()
81
+ module.setStatements(newStatements)
83
82
  }
84
83
  }
@@ -13,38 +13,50 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { KNativePointer } from "@koalaui/interop"
17
- import { defaultFilter, listPrograms } from "./plugins"
18
- import { Program } from "../generated"
16
+ import { KNativePointer } from '@koalaui/interop';
17
+ import { defaultFilter, listPrograms } from './plugins';
18
+ import { Program } from '../../generated';
19
19
 
20
20
  export class ProgramProvider {
21
- // Improve: migrate to wrappers instead of pointers
22
- seenPrograms: Set<KNativePointer> = new Set<KNativePointer>()
23
- queue: Program[] = []
21
+ static programListCache: Map<string, Program[]> = new Map();
22
+ programListFromCache?: Program[];
23
+ seenPrograms: Set<KNativePointer> = new Set<KNativePointer>();
24
+ queue: Program[] = [];
24
25
 
25
- constructor(private mainProgram: Program, private readonly filter: (name: string) => boolean = defaultFilter) {
26
- this.seenPrograms.add(mainProgram.peer)
27
- this.queue = [mainProgram]
26
+ constructor(
27
+ private readonly mainProgram: Program,
28
+ private readonly stableDeps: boolean = false,
29
+ private readonly filter: (name: string) => boolean = defaultFilter,
30
+ ) {
31
+ this.seenPrograms.add(mainProgram.peer);
32
+ if (!stableDeps || !ProgramProvider.programListCache.has(mainProgram.absoluteName)) {
33
+ this.programListFromCache = [mainProgram]
34
+ ProgramProvider.programListCache.set(mainProgram.absoluteName, this.programListFromCache)
35
+ } else {
36
+ this.programListFromCache = ProgramProvider.programListCache.get(mainProgram.absoluteName)
37
+ }
38
+ this.queue = [...this.programListFromCache!]
28
39
  }
29
40
 
30
- updateQueue() {
31
- const listed = listPrograms(this.mainProgram, this.filter)
41
+ updateQueue(): void {
42
+ const listed = listPrograms(this.mainProgram, this.filter);
32
43
  for (const program of listed) {
33
44
  if (!this.seenPrograms.has(program.peer)) {
34
- this.seenPrograms.add(program.peer)
35
- this.queue.push(program)
45
+ this.seenPrograms.add(program.peer);
46
+ this.programListFromCache?.push(program)
47
+ this.queue.push(program);
36
48
  }
37
49
  }
38
50
  }
39
51
 
40
52
  next(): Program | undefined {
41
- if (this.queue.length == 0) {
42
- this.updateQueue()
43
- if (this.queue.length == 0) {
53
+ if (this.queue.length === 0 && (!this.stableDeps || this.programListFromCache?.length == 1)) {
54
+ this.updateQueue();
55
+ if (this.queue.length === 0) {
44
56
  // console.log("PROGRAMS:", this.seenPrograms.size)
45
- return undefined
57
+ return undefined;
46
58
  }
47
59
  }
48
- return this.queue.shift()
60
+ return this.queue.shift();
49
61
  }
50
62
  }
@@ -13,21 +13,39 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { Es2pandaAstNodeType } from "../generated/Es2pandaEnums"
17
- import { throwError } from "../utils"
18
- import { global } from "./static/global"
19
- import { KNativePointer } from "@koalaui/interop"
20
- import { AstNode } from "./peers/AstNode"
21
- import { NodeCache } from "./node-cache"
16
+ import { Es2pandaAstNodeType } from '../../generated/Es2pandaEnums';
17
+ import { throwError } from '../utils';
18
+ import { global } from './static/global';
19
+ import { KNativePointer } from '@koalaui/interop';
20
+ import { AstNode } from './peers/AstNode';
21
+ import { NodeCache } from './node-cache';
22
22
 
23
- export const nodeByType = new Map<Es2pandaAstNodeType, (peer: KNativePointer) => AstNode>([])
23
+ export const nodeByType = new Map<Es2pandaAstNodeType, (peer: KNativePointer) => AstNode>([]);
24
+
25
+ // TODO: These node types are "specially mapped" in the compiler, they don't have C++ classes
26
+ // See AST_NODE_REINTERPRET_MAPPING in the compiler source
27
+ // Do we need managed wrappers for them? Need to investigate.
28
+ export function nodeTypeFilter(type: Es2pandaAstNodeType): Es2pandaAstNodeType {
29
+ switch (type) {
30
+ case Es2pandaAstNodeType.AST_NODE_TYPE_REST_ELEMENT:
31
+ return Es2pandaAstNodeType.AST_NODE_TYPE_SPREAD_ELEMENT
32
+ case Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_PATTERN:
33
+ return Es2pandaAstNodeType.AST_NODE_TYPE_OBJECT_EXPRESSION
34
+ case Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_PATTERN:
35
+ return Es2pandaAstNodeType.AST_NODE_TYPE_ASSIGNMENT_EXPRESSION
36
+ case Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_PATTERN:
37
+ return Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_EXPRESSION
38
+ }
39
+ return type
40
+ }
24
41
 
25
42
  export function nodeFrom<T extends AstNode>(peer: KNativePointer, typeHint?: Es2pandaAstNodeType): T {
26
- const fromCache = NodeCache.get<T>(peer)
43
+ const fromCache = NodeCache.get<T>(peer);
27
44
  if (fromCache) {
28
- return fromCache
45
+ return fromCache;
29
46
  }
30
- const type = typeHint ?? global.generatedEs2panda._AstNodeTypeConst(global.context, peer)
31
- const create = nodeByType.get(type) ?? throwError(`unknown node type: ${type}`)
32
- return create(peer) as T
47
+
48
+ const type = nodeTypeFilter(typeHint ?? global.generatedEs2panda._AstNodeTypeConst(global.context, peer))
49
+ const create = nodeByType.get(type) ?? throwError(`unknown node type: ${type}`);
50
+ return create(peer) as T;
33
51
  }
@@ -24,41 +24,49 @@ import {
24
24
  ETSStructDeclaration,
25
25
  ETSTuple,
26
26
  ETSTypeReferencePart,
27
+ Identifier,
27
28
  MemberExpression,
28
29
  ObjectExpression,
29
30
  TryStatement,
30
31
  TSTypeParameter,
31
32
  VariableDeclarator,
32
- } from "../../generated"
33
- import { factory as generatedFactory } from "../../generated/factory"
34
- import { createScriptFunction, inplaceUpdateScriptFunction, updateScriptFunction } from "../node-utilities/ScriptFunction"
35
- import { inplaceUpdateCallExpression, updateCallExpression } from "../node-utilities/CallExpression"
36
- import { createNumberLiteral, updateNumberLiteral } from "../node-utilities/NumberLiteral"
37
- import { updateMemberExpression } from "../node-utilities/MemberExpression"
38
- import { createETSParameterExpression, updateETSParameterExpression } from "../node-utilities/ETSParameterExpression"
39
- import { updateTSTypeParameter } from "../node-utilities/TSTypeParameter"
40
- import { updateETSTypeReferencePart } from "../node-utilities/TSTypeReferencePart"
41
- import { updateETSImportDeclaration } from "../node-utilities/ETSImportDeclaration"
42
- import { updateVariableDeclarator } from "../node-utilities/VariableDeclarator"
43
- import { updateClassDefinition } from "../node-utilities/ClassDefinition"
44
- import { updateETSStructDeclaration } from "../node-utilities/ETSStructDeclaration"
45
- import { updateClassProperty } from "../node-utilities/ClassProperty"
46
- import { createETSFunctionType, updateETSFunctionType } from "../node-utilities/ETSFunctionType"
47
- import { createMethodDefinition, updateMethodDefinition } from "../node-utilities/MethodDefinition"
48
- import { createTSInterfaceDeclaration, updateTSInterfaceDeclaration } from "../node-utilities/TSInterfaceDeclaration"
49
- import { updateTryStatement } from "../node-utilities/TryStatement"
50
- import { createAssignmentExpression, updateAssignmentExpression } from "../node-utilities/AssignmentExpression"
51
- import { createObjectExpression, updateObjectExpression } from "../node-utilities/ObjectExpression"
52
- import { updateETSTuple } from "../node-utilities/ETSTuple"
53
- import { createArrayExpression, updateArrayExpression } from "../node-utilities/ArrayExpression"
54
- import { updateBlockStatement } from "../node-utilities/BlockStatement"
55
- import { updateETSModule } from "../node-utilities/ETSModule"
56
- import { createOpaqueTypeNode } from "../node-utilities/OpaqueTypeNode"
33
+ } from '../../../generated';
34
+ import { factory as generatedFactory } from '../../../generated/factory';
35
+ import {
36
+ createScriptFunction,
37
+ inplaceUpdateScriptFunction,
38
+ updateScriptFunction,
39
+ } from '../node-utilities/ScriptFunction';
40
+ import { inplaceUpdateCallExpression, updateCallExpression } from '../node-utilities/CallExpression';
41
+ import { createNumberLiteral, updateNumberLiteral } from '../node-utilities/NumberLiteral';
42
+ import { updateMemberExpression } from '../node-utilities/MemberExpression';
43
+ import { createETSParameterExpression, updateETSParameterExpression } from '../node-utilities/ETSParameterExpression';
44
+ import { updateTSTypeParameter } from '../node-utilities/TSTypeParameter';
45
+ import { updateETSTypeReferencePart } from '../node-utilities/TSTypeReferencePart';
46
+ import { updateETSImportDeclaration } from '../node-utilities/ETSImportDeclaration';
47
+ import { updateVariableDeclarator } from '../node-utilities/VariableDeclarator';
48
+ import { createClassDefinition, updateClassDefinition } from '../node-utilities/ClassDefinition';
49
+ import { updateETSStructDeclaration } from '../node-utilities/ETSStructDeclaration';
50
+ import { updateClassProperty } from '../node-utilities/ClassProperty';
51
+ import { createETSFunctionType, updateETSFunctionType } from '../node-utilities/ETSFunctionType';
52
+ import { createMethodDefinition, updateMethodDefinition } from '../node-utilities/MethodDefinition';
53
+ import { createTSInterfaceDeclaration, updateTSInterfaceDeclaration } from '../node-utilities/TSInterfaceDeclaration';
54
+ import { updateTryStatement } from '../node-utilities/TryStatement';
55
+ import { createAssignmentExpression, updateAssignmentExpression } from '../node-utilities/AssignmentExpression';
56
+ import { createObjectExpression, updateObjectExpression } from '../node-utilities/ObjectExpression';
57
+ import { updateETSTuple } from '../node-utilities/ETSTuple';
58
+ import { createArrayExpression, updateArrayExpression } from '../node-utilities/ArrayExpression';
59
+ import { updateBlockStatement } from '../node-utilities/BlockStatement';
60
+ import { updateETSModule } from '../node-utilities/ETSModule';
61
+ import { createOpaqueTypeNode } from '../node-utilities/OpaqueTypeNode';
57
62
 
58
63
  export const factory = {
59
64
  ...generatedFactory,
60
65
 
61
- createETSModule: ETSModule.createETSModule,
66
+ createIdentifier: Identifier.create2Identifier,
67
+ updateIdentifier: Identifier.update2Identifier,
68
+
69
+ createETSModule: ETSModule.create1ETSModule,
62
70
  updateETSModule,
63
71
 
64
72
  createCallExpression: CallExpression.createCallExpression,
@@ -93,8 +101,9 @@ export const factory = {
93
101
  createETSStructDeclaration: ETSStructDeclaration.createETSStructDeclaration,
94
102
  updateETSStructDeclaration,
95
103
 
96
- createClassDefinition: ClassDefinition.createClassDefinition,
104
+ createClassDefinition,
97
105
  updateClassDefinition,
106
+ update3ClassDefinition: ClassDefinition.update3ClassDefinition,
98
107
 
99
108
  createClassProperty: ClassProperty.createClassProperty,
100
109
  updateClassProperty,
@@ -126,10 +135,10 @@ export const factory = {
126
135
  createBlockStatement: BlockStatement.createBlockStatement,
127
136
  updateBlockStatement,
128
137
 
129
- updateInterfaceBody : generatedFactory.updateTSInterfaceBody,
138
+ updateInterfaceBody: generatedFactory.updateTSInterfaceBody,
130
139
 
131
140
  createClassStaticBlock: ClassStaticBlock.createClassStaticBlock,
132
141
  updateClassStaticBlock: ClassStaticBlock.updateClassStaticBlock,
133
142
 
134
143
  createOpaqueTypeNode,
135
- }
144
+ };
@@ -13,29 +13,28 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- export * from "../generated/Es2pandaEnums"
17
- export * from "../generated"
16
+ export * from '../../generated/Es2pandaEnums';
17
+ export * from '../../generated';
18
18
 
19
- export * from "./utilities/performance"
20
- export * from "./utilities/private"
21
- export * from "./utilities/public"
22
- export * from "./factory/nodeFactory"
23
- export * from "./visitor"
24
- export * from "./AbstractVisitor"
25
- export * from "./plugins"
26
- export * from "./ImportStorage"
27
- export * from "./ProgramProvider"
19
+ export * from './utilities/performance';
20
+ export * from './utilities/private';
21
+ export * from './utilities/public';
22
+ export * from './factory/nodeFactory';
23
+ export * from './visitor';
24
+ export * from './AbstractVisitor';
25
+ export * from './plugins';
26
+ export * from './ImportStorage';
27
+ export * from './ProgramProvider';
28
28
 
29
- export * from "./peers/AstNode"
30
- export * from "./peers/Config"
31
- export * from "./peers/Context"
32
- export { GlobalContext } from "./peers/Context"
33
- export * from "./peers/ExternalSource"
34
- export * from "./peers/Options"
35
- export * from "./peers/DiagnosticKind"
36
- export * from "./node-utilities/ArkTsConfig"
37
- export * from "./node-utilities/Program"
38
- export * from "./peers/ImportPathManager"
39
- export * from "./static/globalUtils"
40
- export { global as arktsGlobal } from "./static/global"
41
- export * from "./wrapper-compat"
29
+ export * from './peers/AstNode';
30
+ export * from './peers/Config';
31
+ export * from './peers/Context';
32
+ export { GlobalContext } from './peers/Context';
33
+ export * from './peers/ExternalSource';
34
+ export * from './peers/Options';
35
+ export * from './node-utilities/ArkTsConfig';
36
+ export * from './node-utilities/Program';
37
+ export * from './peers/ImportPathManager';
38
+ export * from './static/globalUtils';
39
+ export { global as arktsGlobal } from './static/global';
40
+ export * from './wrapper-compat';
@@ -13,31 +13,40 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { KNativePointer } from "@koalaui/interop"
17
- import { AstNode } from "./peers/AstNode"
16
+ import { KNativePointer } from '@koalaui/interop';
17
+ import { AstNode } from './peers/AstNode';
18
+
19
+ const useCache = false;
18
20
 
19
21
  export class NodeCache {
20
- private static cache = new Map<KNativePointer, AstNode>()
22
+ private static cache = new Map<KNativePointer, AstNode>();
21
23
 
22
24
  static cached<T extends AstNode>(pointer: KNativePointer, factory: (pointer: KNativePointer) => AstNode): T {
23
- const cached = NodeCache.cache.get(pointer)
24
- if (cached !== undefined) {
25
- return cached as T
25
+ if (!useCache) {
26
+ return factory(pointer) as T;
27
+ }
28
+ const cached = NodeCache.cache.get(pointer);
29
+ if (!!cached) {
30
+ return cached as T;
26
31
  }
27
- const node = factory(pointer)
28
- NodeCache.addToCache(pointer, node)
29
- return node as T
32
+ const node = factory(pointer);
33
+ NodeCache.addToCache(pointer, node);
34
+ return node as T;
30
35
  }
31
36
 
32
37
  static get<T extends AstNode>(pointer: KNativePointer): T | undefined {
33
- return NodeCache.cache.get(pointer) as T | undefined
38
+ return NodeCache.cache.get(pointer) as T | undefined;
34
39
  }
35
40
 
36
- public static addToCache(pointer: KNativePointer, node: AstNode) {
37
- NodeCache.cache.set(pointer, node)
41
+ public static addToCache(pointer: KNativePointer, node: AstNode): void {
42
+ if (useCache) {
43
+ NodeCache.cache.set(pointer, node);
44
+ }
38
45
  }
39
46
 
40
47
  public static clear(): void {
41
- NodeCache.cache.clear()
48
+ if (useCache) {
49
+ NodeCache.cache.clear();
50
+ }
42
51
  }
43
52
  }
@@ -13,14 +13,14 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { ArkTsConfig } from "../../generated"
17
- import { traceGlobal } from "../../tracer"
16
+ import { ArkTsConfig } from '../../../generated';
17
+ import { traceGlobal } from '../../tracer';
18
18
 
19
19
  export function dumpArkTsConfigInfo(arkTsConfig: ArkTsConfig) {
20
- traceGlobal(() => `ArkTsConfig info:`)
21
- traceGlobal(() => `\tBaseUrl: ${arkTsConfig.baseUrl}`)
22
- traceGlobal(() => `\tConfigPath: ${arkTsConfig.configPath}`)
23
- traceGlobal(() => `\tOutDir: ${arkTsConfig.outDir}`)
24
- traceGlobal(() => `\tPackage: ${arkTsConfig.package}`)
25
- traceGlobal(() => `\tRootDir: ${arkTsConfig.rootDir}`)
20
+ traceGlobal(() => `ArkTsConfig info:`);
21
+ traceGlobal(() => `\tBaseUrl: ${arkTsConfig.baseUrl}`);
22
+ traceGlobal(() => `\tConfigPath: ${arkTsConfig.configPath}`);
23
+ traceGlobal(() => `\tOutDir: ${arkTsConfig.outDir}`);
24
+ traceGlobal(() => `\tPackage: ${arkTsConfig.package}`);
25
+ traceGlobal(() => `\tRootDir: ${arkTsConfig.rootDir}`);
26
26
  }
@@ -13,30 +13,18 @@
13
13
  * limitations under the License.
14
14
  */
15
15
 
16
- import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
17
- import { ArrayExpression, Expression } from "../../generated"
18
- import { isSameNativeObject } from "../peers/ArktsObject"
19
- import { updateNodeByNode } from "../utilities/private"
16
+ import { Es2pandaAstNodeType } from '../../../generated/Es2pandaEnums';
17
+ import { ArrayExpression, Expression } from '../../../generated';
18
+ import { isSameNativeObject } from '../peers/ArktsObject';
19
+ import { updateNodeByNode } from '../utilities/private';
20
20
 
21
- export function createArrayExpression(
22
- elements: readonly Expression[]
23
- ): ArrayExpression {
24
- return ArrayExpression.create1ArrayExpression(
25
- Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_EXPRESSION,
26
- elements,
27
- false
28
- )
21
+ export function createArrayExpression(elements: readonly Expression[]): ArrayExpression {
22
+ return ArrayExpression.create1ArrayExpression(Es2pandaAstNodeType.AST_NODE_TYPE_ARRAY_EXPRESSION, elements, false);
29
23
  }
30
24
 
31
- export function updateArrayExpression(
32
- original: ArrayExpression,
33
- elements: readonly Expression[]
34
- ): ArrayExpression {
25
+ export function updateArrayExpression(original: ArrayExpression, elements: readonly Expression[]): ArrayExpression {
35
26
  if (isSameNativeObject(original.elements, elements)) {
36
- return original
27
+ return original;
37
28
  }
38
- return updateNodeByNode(
39
- createArrayExpression(elements),
40
- original
41
- )
29
+ return updateNodeByNode(createArrayExpression(elements), original);
42
30
  }