@idlizer/arktscgen 2.1.9-arktscgen-9 → 2.1.10-arktscgen-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/libarkts-copy/generator/options.json5 +199 -4
- package/build/libarkts-copy/native/meson.build +1 -0
- package/build/libarkts-copy/native/mingw.cross +13 -0
- package/build/libarkts-copy/native/src/bridges.cc +66 -229
- package/build/libarkts-copy/native/src/common.cc +37 -8
- package/build/libarkts-copy/native/src/generated/bridges.cc +2047 -766
- package/build/libarkts-copy/native/src/memoryTracker.cc +178 -0
- package/build/libarkts-copy/native/src/memoryTracker.h +52 -0
- package/build/libarkts-copy/package.json +11 -14
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +41 -52
- package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +7 -6
- package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +5 -2
- package/build/libarkts-copy/src/arkts-api/index.ts +2 -1
- package/build/libarkts-copy/src/arkts-api/node-cache.ts +9 -9
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +7 -6
- package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +3 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +25 -6
- package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/ImportPathManager.ts → arkts-api/node-utilities/OpaqueTypeNode.ts} +8 -17
- package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +11 -10
- package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +12 -7
- package/build/libarkts-copy/src/arkts-api/peers/Config.ts +6 -0
- package/build/libarkts-copy/src/arkts-api/peers/Context.ts +3 -15
- package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/AstNode.ts → arkts-api/peers/DiagnosticKind.ts} +6 -8
- package/build/libarkts-copy/src/arkts-api/static/global.ts +28 -1
- package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +64 -7
- package/build/libarkts-copy/src/{wrapper-compat/arkts-api → arkts-api}/utilities/performance.ts +122 -3
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +8 -22
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +95 -93
- package/build/libarkts-copy/src/arkts-api/visitor.ts +971 -364
- package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +6 -0
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +686 -185
- package/build/libarkts-copy/src/generated/factory.ts +2 -3
- package/build/libarkts-copy/src/generated/index.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +17 -20
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +4 -1
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +6 -12
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +18 -21
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/AstDumper.ts +3 -1
- package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BindingProps.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +11 -8
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +6 -30
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +35 -28
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +5 -32
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +25 -20
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/CodeGen.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/Declaration.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/DiagnosticInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +14 -9
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +17 -20
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +20 -23
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +4 -6
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +9 -11
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +9 -11
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +11 -13
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -3
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +4 -6
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +16 -23
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +8 -10
- package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +5 -2
- package/build/libarkts-copy/src/generated/peers/IRNode.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/Identifier.ts +7 -18
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ImportSource.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/LabelPair.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/Literal.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +5 -11
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +10 -12
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +10 -10
- package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +5 -11
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/Program.ts +9 -2
- package/build/libarkts-copy/src/generated/peers/Property.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +27 -23
- package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +8 -1
- package/build/libarkts-copy/src/generated/peers/SourceRange.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +5 -11
- package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +3 -1
- package/build/libarkts-copy/src/generated/peers/Statement.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/SuggestionInfo.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +8 -32
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +19 -44
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +32 -47
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +17 -20
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +7 -9
- package/build/libarkts-copy/src/generated/peers/TypeNode.ts +13 -14
- package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +3 -3
- package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/VReg.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +3 -1
- package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +16 -26
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +6 -8
- package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +0 -1
- package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +5 -7
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +5 -7
- package/build/libarkts-copy/src/index.ts +4 -1
- package/build/libarkts-copy/src/plugin-utils.ts +8 -11
- package/build/libarkts-copy/src/reexport-for-generated.ts +1 -12
- package/build/libarkts-copy/src/tracer.ts +172 -0
- package/build/libarkts-copy/src/utils.ts +3 -0
- package/lib/index.js +1403 -544
- package/package.json +4 -3
- package/templates/factory.ts +0 -1
- package/templates/peer.ts +0 -1
- package/build/libarkts-copy/src/arkts-api/ChainExpressionFilter.ts +0 -79
- package/build/libarkts-copy/src/arkts-api/peers/SourcePosition.ts +0 -38
- package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +0 -45
- package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +0 -45
- package/build/libarkts-copy/src/wrapper-compat/README.md +0 -20
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +0 -454
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +0 -99
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +0 -88
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +0 -35
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +0 -45
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +0 -73
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +0 -51
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +0 -39
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +0 -43
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +0 -30
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +0 -47
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +0 -40
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +0 -36
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +0 -41
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +0 -39
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +0 -34
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +0 -33
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +0 -105
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +0 -34
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +0 -16
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +0 -108
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +0 -889
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +0 -69
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +0 -198
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +0 -327
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +0 -421
- package/build/libarkts-copy/src/wrapper-compat/index.ts +0 -20
- package/templates/node-map.ts +0 -35
|
@@ -0,0 +1,178 @@
|
|
|
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
|
+
#include "memoryTracker.h"
|
|
17
|
+
|
|
18
|
+
#include <cstdint>
|
|
19
|
+
#include <fstream>
|
|
20
|
+
#include <iostream>
|
|
21
|
+
#include <sstream>
|
|
22
|
+
#include <system_error>
|
|
23
|
+
#include <vector>
|
|
24
|
+
#include <regex>
|
|
25
|
+
|
|
26
|
+
#ifdef _WIN32
|
|
27
|
+
#include <windows.h>
|
|
28
|
+
#include <psapi.h>
|
|
29
|
+
#elif defined(__APPLE__)
|
|
30
|
+
#include <mach/mach.h>
|
|
31
|
+
#include <sys/resource.h>
|
|
32
|
+
#elif defined(__linux__)
|
|
33
|
+
#include <sys/resource.h>
|
|
34
|
+
#include <unistd.h>
|
|
35
|
+
#endif
|
|
36
|
+
|
|
37
|
+
constexpr const char* UNIT_K = "kB";
|
|
38
|
+
constexpr size_t BYTES_PER_KB = 1024;
|
|
39
|
+
constexpr const char* MEMORY_STATUS_FILE = "/proc/self/status";
|
|
40
|
+
const std::regex VM_RSS_REGEX(R"#(VmRSS:\s*(\d+)\s*([kKmMgG]?B))#",
|
|
41
|
+
std::regex_constants::ECMAScript | std::regex_constants::icase);
|
|
42
|
+
const std::regex VM_SIZE_REGEX(R"#(VmSize:\s*(\d+)\s*([kKmMgG]?B))#",
|
|
43
|
+
std::regex_constants::ECMAScript | std::regex_constants::icase);
|
|
44
|
+
|
|
45
|
+
constexpr int MATCH_GROUP_VALUE = 1;
|
|
46
|
+
constexpr int MATCH_GROUP_UNIT = 2;
|
|
47
|
+
constexpr int MATCH_GROUP_SIZE = 3;
|
|
48
|
+
|
|
49
|
+
#if defined(_WIN32)
|
|
50
|
+
MemoryStats GetMemoryStats()
|
|
51
|
+
{
|
|
52
|
+
MemoryStats stats = {0, 0, 0, 0, 0};
|
|
53
|
+
PROCESS_MEMORY_COUNTERS_EX pmc;
|
|
54
|
+
if (GetProcessMemoryInfo(GetCurrentProcess(),
|
|
55
|
+
reinterpret_cast<PROCESS_MEMORY_COUNTERS*>(&pmc), sizeof(pmc))) {
|
|
56
|
+
stats.currentRss = pmc.WorkingSetSize;
|
|
57
|
+
stats.peakRss = pmc.PeakWorkingSetSize;
|
|
58
|
+
stats.currentVss = pmc.PrivateUsage; // 私有内存使用量
|
|
59
|
+
stats.pageFaultsMinor = pmc.PageFaultCount;
|
|
60
|
+
// Windows API不直接提供主缺页错误计数
|
|
61
|
+
stats.pageFaultsMajor = 0;
|
|
62
|
+
}
|
|
63
|
+
return stats;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
#elif defined(__APPLE__)
|
|
67
|
+
MemoryStats GetMemoryStats()
|
|
68
|
+
{
|
|
69
|
+
MemoryStats stats = {0, 0, 0, 0, 0};
|
|
70
|
+
struct rusage ru;
|
|
71
|
+
if (getrusage(RUSAGE_SELF, &ru) == 0) {
|
|
72
|
+
stats.currentRss = 0; // macOS需要专用API获取当前内存
|
|
73
|
+
stats.peakRss = ru.ru_maxrss; // macOS返回字节
|
|
74
|
+
stats.pageFaultsMinor = ru.ru_minflt;
|
|
75
|
+
stats.pageFaultsMajor = ru.ru_majflt;
|
|
76
|
+
|
|
77
|
+
// 获取当前内存使用 (macOS专用API)
|
|
78
|
+
task_basic_info info;
|
|
79
|
+
mach_msg_type_number_t count = TASK_BASIC_INFO_64_COUNT;
|
|
80
|
+
if (task_info(mach_task_self(), TASK_BASIC_INFO_64,
|
|
81
|
+
(task_info_t)&info, &count) == KERN_SUCCESS) {
|
|
82
|
+
stats.currentRss = info.resident_size; // 物理内存使用量
|
|
83
|
+
stats.currentVss = info.virtual_size; // 虚拟内存总量
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return stats;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
#elif defined(__linux__)
|
|
90
|
+
MemoryStats GetMemoryStats()
|
|
91
|
+
{
|
|
92
|
+
MemoryStats stats = {0, 0, 0, 0, 0};
|
|
93
|
+
struct rusage ru;
|
|
94
|
+
if (getrusage(RUSAGE_SELF, &ru) == 0) {
|
|
95
|
+
stats.peakRss = static_cast<size_t>(ru.ru_maxrss) * BYTES_PER_KB; // KB -> 字节
|
|
96
|
+
stats.pageFaultsMinor = ru.ru_minflt;
|
|
97
|
+
stats.pageFaultsMajor = ru.ru_majflt;
|
|
98
|
+
}
|
|
99
|
+
std::ifstream statusFile(MEMORY_STATUS_FILE);
|
|
100
|
+
if (!statusFile) {
|
|
101
|
+
return stats;
|
|
102
|
+
}
|
|
103
|
+
std::string line;
|
|
104
|
+
std::smatch matches;
|
|
105
|
+
while (std::getline(statusFile, line)) {
|
|
106
|
+
if (std::regex_match(line, matches, VM_RSS_REGEX) && matches.size() >= MATCH_GROUP_SIZE) {
|
|
107
|
+
stats.currentRss = std::stoull(matches[MATCH_GROUP_VALUE].str());
|
|
108
|
+
std::string unit = matches[MATCH_GROUP_UNIT].str();
|
|
109
|
+
if (unit == UNIT_K) {
|
|
110
|
+
stats.currentRss *= BYTES_PER_KB;
|
|
111
|
+
}
|
|
112
|
+
} else if (std::regex_match(line, matches, VM_SIZE_REGEX) && matches.size() >= MATCH_GROUP_SIZE) {
|
|
113
|
+
stats.currentVss = std::stoull(matches[MATCH_GROUP_VALUE].str());
|
|
114
|
+
std::string unit = matches[MATCH_GROUP_UNIT].str();
|
|
115
|
+
if (unit == UNIT_K) {
|
|
116
|
+
stats.currentVss *= BYTES_PER_KB;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return stats;
|
|
121
|
+
}
|
|
122
|
+
#endif
|
|
123
|
+
|
|
124
|
+
void MemoryTracker::Reset()
|
|
125
|
+
{
|
|
126
|
+
baseline = GetMemoryStats();
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
MemoryStats MemoryTracker::GetDelta()
|
|
130
|
+
{
|
|
131
|
+
MemoryStats current = GetMemoryStats();
|
|
132
|
+
MemoryStats delta = {
|
|
133
|
+
current.currentRss - baseline.currentRss,
|
|
134
|
+
current.peakRss - baseline.peakRss,
|
|
135
|
+
current.currentVss - baseline.currentVss,
|
|
136
|
+
current.pageFaultsMinor - baseline.pageFaultsMinor,
|
|
137
|
+
current.pageFaultsMajor - baseline.pageFaultsMajor
|
|
138
|
+
};
|
|
139
|
+
return delta;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
template<typename Func>
|
|
143
|
+
MemoryStats MemoryTracker::MeasureMemory(Func&& func)
|
|
144
|
+
{
|
|
145
|
+
Reset();
|
|
146
|
+
auto preStats = GetMemoryStats();
|
|
147
|
+
func();
|
|
148
|
+
auto postStats = GetMemoryStats();
|
|
149
|
+
|
|
150
|
+
return {
|
|
151
|
+
postStats.currentRss - preStats.currentRss,
|
|
152
|
+
postStats.peakRss - preStats.peakRss,
|
|
153
|
+
postStats.currentVss - preStats.currentVss,
|
|
154
|
+
postStats.pageFaultsMinor - preStats.pageFaultsMinor,
|
|
155
|
+
postStats.pageFaultsMajor - preStats.pageFaultsMajor
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
void MemoryTracker::Report(MemoryStats stats)
|
|
160
|
+
{
|
|
161
|
+
auto formatBytes = [](size_t bytes) -> std::string {
|
|
162
|
+
const double kb = BYTES_PER_KB;
|
|
163
|
+
const double mb = kb * BYTES_PER_KB;
|
|
164
|
+
const double gb = mb * BYTES_PER_KB;
|
|
165
|
+
|
|
166
|
+
if (bytes > gb) return std::to_string(bytes / gb) + " GB";
|
|
167
|
+
if (bytes > mb) return std::to_string(bytes / mb) + " MB";
|
|
168
|
+
if (bytes > kb) return std::to_string(bytes / kb) + " KB";
|
|
169
|
+
return std::to_string(bytes) + " B";
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
std::cout << "Current RSS: " << formatBytes(stats.currentRss) << "\n";
|
|
173
|
+
std::cout << "Peak RSS : " << formatBytes(stats.peakRss) << "\n";
|
|
174
|
+
std::cout << "VSS : " << formatBytes(stats.currentVss) << "\n";
|
|
175
|
+
std::cout << "FaultsMinor: " << stats.pageFaultsMinor << "\n";
|
|
176
|
+
std::cout << "FaultsMajor: " << stats.pageFaultsMajor << "\n";
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
#ifndef KOALA_MEMORY_TRACKER
|
|
17
|
+
#define KOALA_MEMORY_TRACKER
|
|
18
|
+
|
|
19
|
+
#include <cstddef>
|
|
20
|
+
#include <string>
|
|
21
|
+
|
|
22
|
+
// 内存统计结构体
|
|
23
|
+
struct MemoryStats {
|
|
24
|
+
size_t currentRss = 0; // 当前驻留集大小 (字节)
|
|
25
|
+
size_t peakRss = 0; // 峰值驻留集大小 (字节)
|
|
26
|
+
size_t currentVss = 0; // 当前虚拟内存大小 (字节)
|
|
27
|
+
size_t pageFaultsMinor = 0; // 小页错误次数
|
|
28
|
+
size_t pageFaultsMajor = 0; // 大页错误次数
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
class MemoryTracker {
|
|
32
|
+
public:
|
|
33
|
+
MemoryTracker()
|
|
34
|
+
{
|
|
35
|
+
Reset();
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
void Reset();
|
|
39
|
+
MemoryStats GetDelta();
|
|
40
|
+
|
|
41
|
+
template<typename Func>
|
|
42
|
+
MemoryStats MeasureMemory(Func&& func);
|
|
43
|
+
|
|
44
|
+
void Report(MemoryStats stats);
|
|
45
|
+
|
|
46
|
+
private:
|
|
47
|
+
MemoryStats baseline;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
MemoryStats GetMemoryStats();
|
|
51
|
+
|
|
52
|
+
#endif
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@koalaui/libarkts",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.9+devel",
|
|
4
4
|
"bin": "./lib/es2panda",
|
|
5
5
|
"typesVersions": {
|
|
6
6
|
"*": {
|
|
@@ -23,19 +23,18 @@
|
|
|
23
23
|
"./plugins/build/src/**/*"
|
|
24
24
|
],
|
|
25
25
|
"config": {
|
|
26
|
-
"gen_version": "2.1.9-arktscgen-8",
|
|
27
26
|
"panda_sdk_path": "../../incremental/tools/panda/node_modules/@panda/sdk",
|
|
28
|
-
"ohos_panda_sdk_path": "../build/sdk",
|
|
29
27
|
"panda_sdk_version": "next"
|
|
30
28
|
},
|
|
31
29
|
"dependencies": {
|
|
32
30
|
"@koalaui/ets-tsc": "4.9.5-r6",
|
|
33
|
-
"@koalaui/build-common": "1.7.
|
|
34
|
-
"@koalaui/compat": "1.7.
|
|
35
|
-
"@koalaui/common": "1.7.
|
|
36
|
-
"@koalaui/harness": "1.7.
|
|
37
|
-
"@koalaui/interop": "1.7.
|
|
38
|
-
"@koalaui/fast-arktsc": "
|
|
31
|
+
"@koalaui/build-common": "1.7.9+devel",
|
|
32
|
+
"@koalaui/compat": "1.7.9+devel",
|
|
33
|
+
"@koalaui/common": "1.7.9+devel",
|
|
34
|
+
"@koalaui/harness": "1.7.9+devel",
|
|
35
|
+
"@koalaui/interop": "1.7.9+devel",
|
|
36
|
+
"@koalaui/fast-arktsc": "1.7.9+devel",
|
|
37
|
+
"@idlizer/arktscgen": "2.1.10-arktscgen-2",
|
|
39
38
|
"@types/mocha": "^9.1.0",
|
|
40
39
|
"mocha": "^9.2.2",
|
|
41
40
|
"node-addon-api": "8.0.0",
|
|
@@ -70,18 +69,16 @@
|
|
|
70
69
|
"run:memo": "npm run compile && npm run compile:plugins && npm run compile --prefix ../memo-plugin && npm run memo",
|
|
71
70
|
"run:abc": "$npm_package_config_panda_sdk_path/linux_host_tools/bin/ark --load-runtimes=ets --boot-panda-files=$npm_package_config_panda_sdk_path/ets/etsstdlib.abc ./main.abc main.ETSGLOBAL::main",
|
|
72
71
|
"mocha": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0",
|
|
73
|
-
"mocha:ohos": "PANDA_SDK_PATH=${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} TS_NODE_PROJECT=./test/tsconfig.json mocha -r tsconfig-paths/register --reporter-option maxDiffSize=0",
|
|
74
72
|
"test:light": "npm run mocha",
|
|
75
73
|
"test": "npm run compile:native && npm run test:light",
|
|
76
74
|
"test:golden": "npm run compile:native && TEST_GOLDEN=1 npm run test:light",
|
|
77
75
|
"compile:playground": "cd playground && meson setup build && meson compile -C build",
|
|
78
|
-
"run:playground": "npm run compile:playground && ./playground/build/playground.
|
|
76
|
+
"run:playground": "npm run compile:playground && mkdir -p build && ./playground/build/playground _ --extension ets --stdlib ../../incremental/tools/panda/node_modules/@panda/sdk/ets/stdlib --output build/playground.abc ./playground/src/main.ets",
|
|
79
77
|
"panda:sdk:clean": "cd ../../incremental/tools/panda && rimraf node_modules",
|
|
80
78
|
"panda:sdk:install": "cd ../../incremental/tools/panda && echo \"Installing panda sdk $npm_package_config_panda_sdk_version\" && PANDA_SDK_VERSION=$npm_package_config_panda_sdk_version npm run panda:sdk:install",
|
|
81
79
|
"panda:sdk:reinstall": "npm run panda:sdk:clean && npm run panda:sdk:install",
|
|
82
80
|
"regenerate:current": "rimraf -rf src/generated && npm run compile -C ../../../arktscgen && node ../../../arktscgen --panda-sdk-path $npm_package_config_panda_sdk_path --output-dir ../ --options-file ./generator/options.json5 --no-initialize --debug",
|
|
83
|
-
"regenerate": "rimraf -rf src/generated &&
|
|
84
|
-
"regenerate:ohos": "npx --yes @idlizer/arktscgen@$npm_package_config_gen_version --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_ohos_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize",
|
|
81
|
+
"regenerate": "rimraf -rf src/generated && arktscgen --panda-sdk-path ${PANDA_SDK_PATH:=$npm_package_config_panda_sdk_path} --output-dir ../ --options-file ./generator/options.json5 --no-initialize",
|
|
85
82
|
"reinstall:regenerate": "npm run panda:sdk:reinstall && npm run regenerate && git diff --shortstat"
|
|
86
83
|
}
|
|
87
|
-
}
|
|
84
|
+
}
|
|
@@ -39,18 +39,9 @@ export class Es2pandaNativeModule {
|
|
|
39
39
|
_AstNodeRebind(context: KPtr, node: KPtr): void {
|
|
40
40
|
throw new Error("Not implemented")
|
|
41
41
|
}
|
|
42
|
-
_AstNodeRecheck(context: KPtr, node: KPtr): void {
|
|
43
|
-
throw new Error("Not implemented")
|
|
44
|
-
}
|
|
45
42
|
_ContextState(context: KPtr): KInt {
|
|
46
43
|
throw new Error("Not implemented")
|
|
47
44
|
}
|
|
48
|
-
_ContextErrorMessage(context: KPtr): KPtr {
|
|
49
|
-
throw new Error("Not implemented")
|
|
50
|
-
}
|
|
51
|
-
_GetAllErrorMessages(context: KPtr): KPtr {
|
|
52
|
-
throw new Error("Not implemented")
|
|
53
|
-
}
|
|
54
45
|
_AstNodeChildren(context: KPtr, node: KPtr): KPtr {
|
|
55
46
|
throw new Error("Not implemented")
|
|
56
47
|
}
|
|
@@ -90,12 +81,6 @@ export class Es2pandaNativeModule {
|
|
|
90
81
|
_ProceedToState(context: KPtr, state: number): void {
|
|
91
82
|
throw new Error("Not implemented")
|
|
92
83
|
}
|
|
93
|
-
_ContextProgram(context: KPtr): KPtr {
|
|
94
|
-
throw new Error("Not implemented")
|
|
95
|
-
}
|
|
96
|
-
_ProgramAst(context: KPtr, program: KPtr): KPtr {
|
|
97
|
-
throw new Error("Not implemented")
|
|
98
|
-
}
|
|
99
84
|
_CheckerStartChecker(context: KPtr): KBoolean {
|
|
100
85
|
throw new Error("Not implemented")
|
|
101
86
|
}
|
|
@@ -108,6 +93,9 @@ export class Es2pandaNativeModule {
|
|
|
108
93
|
_AstNodeSetChildrenParentPtr(context: KPtr, node: KPtr): void {
|
|
109
94
|
throw new Error("Not implemented")
|
|
110
95
|
}
|
|
96
|
+
_AstNodeOnUpdate(context: KPtr, newNode: KPtr, replacedNode: KPtr): void {
|
|
97
|
+
throw new Error("Not implemented")
|
|
98
|
+
}
|
|
111
99
|
_AstNodeUpdateAll(context: KPtr, node: KPtr): void {
|
|
112
100
|
throw new Error("Not implemented")
|
|
113
101
|
}
|
|
@@ -117,9 +105,6 @@ export class Es2pandaNativeModule {
|
|
|
117
105
|
_DeclNode(context: KPtr, decl: KPtr): KPtr {
|
|
118
106
|
throw new Error("Not implemented")
|
|
119
107
|
}
|
|
120
|
-
_DeclarationFromIdentifier(context: KPtr, identifier: KPtr): KPtr {
|
|
121
|
-
throw new Error("Not implemented")
|
|
122
|
-
}
|
|
123
108
|
_ProgramSourceFilePath(context: KNativePointer, instance: KNativePointer): KNativePointer {
|
|
124
109
|
throw new Error("Not implemented");
|
|
125
110
|
}
|
|
@@ -138,22 +123,13 @@ export class Es2pandaNativeModule {
|
|
|
138
123
|
_ETSParserBuildImportDeclaration(context: KNativePointer, importKinds: KInt, specifiers: KNativePointerArray, specifiersSequenceLength: KUInt, source: KNativePointer, program: KNativePointer, flags: KInt): KNativePointer {
|
|
139
124
|
throw new Error("Not implemented");
|
|
140
125
|
}
|
|
141
|
-
_InsertETSImportDeclarationAndParse(context: KNativePointer, program: KNativePointer, importDeclaration: KNativePointer): void {
|
|
142
|
-
throw new Error("Not implemented");
|
|
143
|
-
}
|
|
144
126
|
_ImportPathManagerResolvePathConst(context: KNativePointer, importPathManager: KNativePointer, currentModulePath: String, importPath: String, sourcePosition: KNativePointer): KNativePointer {
|
|
145
127
|
throw new Error("Not implemented");
|
|
146
128
|
}
|
|
147
129
|
_ETSParserGetImportPathManager(context: KNativePointer): KPtr {
|
|
148
130
|
throw new Error("Not implemented");
|
|
149
131
|
}
|
|
150
|
-
|
|
151
|
-
throw new Error("Not implemented");
|
|
152
|
-
}
|
|
153
|
-
_SourcePositionIndex(context: KNativePointer, instance: KNativePointer): KInt {
|
|
154
|
-
throw new Error("Not implemented");
|
|
155
|
-
}
|
|
156
|
-
_SourcePositionLine(context: KNativePointer, instance: KNativePointer): KInt {
|
|
132
|
+
_SourcePositionCol(context: KNativePointer, instance: KNativePointer): KUInt {
|
|
157
133
|
throw new Error("Not implemented");
|
|
158
134
|
}
|
|
159
135
|
_ConfigGetOptions(config: KNativePointer): KNativePointer {
|
|
@@ -162,6 +138,9 @@ export class Es2pandaNativeModule {
|
|
|
162
138
|
_OptionsArkTsConfig(context: KNativePointer, options: KNativePointer): KNativePointer {
|
|
163
139
|
throw new Error("Not implemented");
|
|
164
140
|
}
|
|
141
|
+
_Checker_CreateOpaqueTypeNode(context: KNativePointer, type: KNativePointer): KNativePointer {
|
|
142
|
+
throw new Error("Not implemented");
|
|
143
|
+
}
|
|
165
144
|
_Checker_ScriptFunctionSignature(context: KNativePointer, node: KNativePointer): KNativePointer {
|
|
166
145
|
throw new Error("Not implemented");
|
|
167
146
|
}
|
|
@@ -177,33 +156,30 @@ export class Es2pandaNativeModule {
|
|
|
177
156
|
_Checker_ScriptFunctionSetPreferredReturnType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
|
|
178
157
|
throw new Error("Not implemented");
|
|
179
158
|
}
|
|
180
|
-
|
|
159
|
+
_Checker_ExpressionGetPreferredType(context: KNativePointer, node: KNativePointer): KNativePointer {
|
|
181
160
|
throw new Error("Not implemented");
|
|
182
161
|
}
|
|
183
|
-
|
|
162
|
+
_Checker_ExpressionSetPreferredType(context: KNativePointer, node: KNativePointer, type: KNativePointer): void {
|
|
184
163
|
throw new Error("Not implemented");
|
|
185
164
|
}
|
|
186
|
-
|
|
187
|
-
throw new Error("Not implemented")
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// From koala-wrapper
|
|
191
|
-
_ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
|
|
192
|
-
throw new Error("Not implemented")
|
|
165
|
+
_Checker_TypeToString(context: KNativePointer, type: KNativePointer): KNativePointer {
|
|
166
|
+
throw new Error("Not implemented");
|
|
193
167
|
}
|
|
194
|
-
|
|
195
|
-
throw new Error("Not implemented")
|
|
168
|
+
_Checker_TypeClone(context: KNativePointer, type: KNativePointer): KNativePointer {
|
|
169
|
+
throw new Error("Not implemented");
|
|
196
170
|
}
|
|
197
|
-
|
|
198
|
-
throw new Error("Not implemented")
|
|
171
|
+
_Checker_TypeNodeGetType(context: KNativePointer, node: KNativePointer): KNativePointer {
|
|
172
|
+
throw new Error("Not implemented");
|
|
199
173
|
}
|
|
200
|
-
|
|
174
|
+
_ScriptFunctionSetParams(context: KNativePointer, receiver: KNativePointer, paramsList: BigUint64Array, paramsListLength: KUInt): void {
|
|
201
175
|
throw new Error("Not implemented")
|
|
202
176
|
}
|
|
203
|
-
|
|
177
|
+
_ClassDefinitionSetBody(context: KNativePointer, receiver: KNativePointer, body: BigUint64Array, bodyLength: KUInt): void {
|
|
204
178
|
throw new Error("Not implemented")
|
|
205
179
|
}
|
|
206
|
-
|
|
180
|
+
|
|
181
|
+
// From koala-wrapper
|
|
182
|
+
_ClassVariableDeclaration(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
|
|
207
183
|
throw new Error("Not implemented")
|
|
208
184
|
}
|
|
209
185
|
_ETSParserGetGlobalProgramAbsName(context: KNativePointer): KNativePointer {
|
|
@@ -216,16 +192,12 @@ export class Es2pandaNativeModule {
|
|
|
216
192
|
throw new Error("Not implemented")
|
|
217
193
|
}
|
|
218
194
|
_CreateSuggestionInfo(context: KNativePointer, kind: KNativePointer, args: string[],
|
|
219
|
-
argc: number, substitutionCode: string, range: KNativePointer): KNativePointer {
|
|
195
|
+
argc: number, substitutionCode: string, title: string, range: KNativePointer): KNativePointer {
|
|
220
196
|
throw new Error("Not implemented")
|
|
221
197
|
}
|
|
222
198
|
_LogDiagnostic(context: KNativePointer, kind: KNativePointer, argv: string[], argc: number, pos: KNativePointer): void {
|
|
223
199
|
throw new Error("Not implemented")
|
|
224
200
|
}
|
|
225
|
-
_LogDiagnosticWithSuggestion(context: KNativePointer, diagnosticInfo: KNativePointer,
|
|
226
|
-
suggestionInfo?: KNativePointer): void {
|
|
227
|
-
throw new Error("Not implemented")
|
|
228
|
-
}
|
|
229
201
|
_SetUpSoPath(soPath: string): void {
|
|
230
202
|
throw new Error("Not implemented")
|
|
231
203
|
}
|
|
@@ -241,15 +213,32 @@ export class Es2pandaNativeModule {
|
|
|
241
213
|
_GenerateTsDeclarationsFromContext(config: KPtr, outputDeclEts: String, outputEts: String, exportAll: KBoolean, isolated: KBoolean, recordFile: String): KPtr {
|
|
242
214
|
throw new Error("Not implemented")
|
|
243
215
|
}
|
|
244
|
-
_GenerateStaticDeclarationsFromContext(config: KPtr, outputPath: String): KPtr {
|
|
245
|
-
throw new Error("Not implemented")
|
|
246
|
-
}
|
|
247
216
|
_AstNodeProgram(context: KNativePointer, instance: KNativePointer): KNativePointer {
|
|
248
217
|
throw new Error("Not implemented")
|
|
249
218
|
}
|
|
250
219
|
_CreateContextGenerateAbcForExternalSourceFiles(config: KPtr, fileCount: KInt, filenames: string[]): KPtr {
|
|
251
220
|
throw new Error('Not implemented');
|
|
252
221
|
}
|
|
222
|
+
|
|
223
|
+
_GetCompilationMode(config: KNativePointer): KInt {
|
|
224
|
+
throw new Error('Not implemented');
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
_CreateTypeNodeFromTsType(context: KNativePointer, classInstance: KNativePointer): KNativePointer {
|
|
228
|
+
throw new Error('Not implemented');
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
_MemoryTrackerReset(context: KNativePointer): void {
|
|
232
|
+
throw new Error('Not implemented');
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
_MemoryTrackerGetDelta(context: KNativePointer): void {
|
|
236
|
+
throw new Error('Not implemented');
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
_MemoryTrackerPrintCurrent(context: KNativePointer): void {
|
|
240
|
+
throw new Error('Not implemented');
|
|
241
|
+
}
|
|
253
242
|
}
|
|
254
243
|
|
|
255
244
|
export function findNativeModule(): string {
|
|
@@ -62,7 +62,7 @@ export class ImportStorage {
|
|
|
62
62
|
Es2pandaImportFlags.IMPORT_FLAGS_NONE, // Improve: where to get it?
|
|
63
63
|
)
|
|
64
64
|
)
|
|
65
|
-
global.
|
|
65
|
+
global.generatedEs2panda._InsertETSImportDeclarationAndParse(global.context, this.program.peer, importDeclaration.peer)
|
|
66
66
|
newStatements.push(importDeclaration)
|
|
67
67
|
} else {
|
|
68
68
|
newStatements.push(statement)
|
|
@@ -16,17 +16,18 @@
|
|
|
16
16
|
import { Es2pandaAstNodeType } from "../generated/Es2pandaEnums"
|
|
17
17
|
import { throwError } from "../utils"
|
|
18
18
|
import { global } from "./static/global"
|
|
19
|
-
import { KNativePointer
|
|
19
|
+
import { KNativePointer } from "@koalaui/interop"
|
|
20
20
|
import { AstNode } from "./peers/AstNode"
|
|
21
21
|
import { NodeCache } from "./node-cache"
|
|
22
22
|
|
|
23
23
|
export const nodeByType = new Map<Es2pandaAstNodeType, (peer: KNativePointer) => AstNode>([])
|
|
24
24
|
|
|
25
|
-
export function
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
export function nodeFrom<T extends AstNode>(peer: KNativePointer, typeHint?: Es2pandaAstNodeType): T {
|
|
26
|
+
const fromCache = NodeCache.get<T>(peer)
|
|
27
|
+
if (fromCache) {
|
|
28
|
+
return fromCache
|
|
28
29
|
}
|
|
29
|
-
const type = global.generatedEs2panda._AstNodeTypeConst(global.context, peer)
|
|
30
|
+
const type = typeHint ?? global.generatedEs2panda._AstNodeTypeConst(global.context, peer)
|
|
30
31
|
const create = nodeByType.get(type) ?? throwError(`unknown node type: ${type}`)
|
|
31
|
-
return
|
|
32
|
+
return create(peer) as T
|
|
32
33
|
}
|
|
@@ -47,11 +47,12 @@ import { createMethodDefinition, updateMethodDefinition } from "../node-utilitie
|
|
|
47
47
|
import { createTSInterfaceDeclaration, updateTSInterfaceDeclaration } from "../node-utilities/TSInterfaceDeclaration"
|
|
48
48
|
import { updateTryStatement } from "../node-utilities/TryStatement"
|
|
49
49
|
import { createAssignmentExpression, updateAssignmentExpression } from "../node-utilities/AssignmentExpression"
|
|
50
|
-
import { updateObjectExpression } from "../node-utilities/ObjectExpression"
|
|
50
|
+
import { createObjectExpression, updateObjectExpression } from "../node-utilities/ObjectExpression"
|
|
51
51
|
import { updateETSTuple } from "../node-utilities/ETSTuple"
|
|
52
52
|
import { createArrayExpression, updateArrayExpression } from "../node-utilities/ArrayExpression"
|
|
53
53
|
import { updateBlockStatement } from "../node-utilities/BlockStatement"
|
|
54
54
|
import { updateETSModule } from "../node-utilities/ETSModule"
|
|
55
|
+
import { createOpaqueTypeNode } from "../node-utilities/OpaqueTypeNode"
|
|
55
56
|
|
|
56
57
|
export const factory = {
|
|
57
58
|
...generatedFactory,
|
|
@@ -110,7 +111,7 @@ export const factory = {
|
|
|
110
111
|
createAssignmentExpression,
|
|
111
112
|
updateAssignmentExpression,
|
|
112
113
|
|
|
113
|
-
createObjectExpression
|
|
114
|
+
createObjectExpression,
|
|
114
115
|
updateObjectExpression,
|
|
115
116
|
|
|
116
117
|
createETSTuple: ETSTuple.create2ETSTuple,
|
|
@@ -123,4 +124,6 @@ export const factory = {
|
|
|
123
124
|
updateBlockStatement,
|
|
124
125
|
|
|
125
126
|
updateInterfaceBody : generatedFactory.updateTSInterfaceBody,
|
|
127
|
+
|
|
128
|
+
createOpaqueTypeNode,
|
|
126
129
|
}
|
|
@@ -16,12 +16,12 @@
|
|
|
16
16
|
export * from "../generated/Es2pandaEnums"
|
|
17
17
|
export * from "../generated"
|
|
18
18
|
|
|
19
|
+
export * from "./utilities/performance"
|
|
19
20
|
export * from "./utilities/private"
|
|
20
21
|
export * from "./utilities/public"
|
|
21
22
|
export * from "./factory/nodeFactory"
|
|
22
23
|
export * from "./visitor"
|
|
23
24
|
export * from "./AbstractVisitor"
|
|
24
|
-
export * from "./ChainExpressionFilter"
|
|
25
25
|
export * from "./plugins"
|
|
26
26
|
export * from "./ImportStorage"
|
|
27
27
|
export * from "./ProgramProvider"
|
|
@@ -32,6 +32,7 @@ export * from "./peers/Context"
|
|
|
32
32
|
export { GlobalContext } from "./peers/Context"
|
|
33
33
|
export * from "./peers/ExternalSource"
|
|
34
34
|
export * from "./peers/Options"
|
|
35
|
+
export * from "./peers/DiagnosticKind"
|
|
35
36
|
export * from "./node-utilities/ArkTsConfig"
|
|
36
37
|
export * from "./node-utilities/Program"
|
|
37
38
|
export * from "./peers/ImportPathManager"
|
|
@@ -15,25 +15,25 @@
|
|
|
15
15
|
|
|
16
16
|
import { KNativePointer } from "@koalaui/interop"
|
|
17
17
|
import { AstNode } from "./peers/AstNode"
|
|
18
|
+
import { Es2pandaAstNodeType } from "src/generated/Es2pandaEnums"
|
|
18
19
|
|
|
19
20
|
export class NodeCache {
|
|
20
21
|
private static cache = new Map<KNativePointer, AstNode>()
|
|
21
22
|
|
|
22
|
-
static
|
|
23
|
-
|
|
24
|
-
if (cached !== undefined) {
|
|
25
|
-
return cached as T
|
|
26
|
-
}
|
|
27
|
-
const node = factory(pointer)
|
|
28
|
-
NodeCache.addToCache(pointer, node)
|
|
29
|
-
return node as T
|
|
23
|
+
static get<T extends AstNode>(pointer: KNativePointer): T | undefined {
|
|
24
|
+
return NodeCache.cache.get(pointer) as T | undefined
|
|
30
25
|
}
|
|
31
26
|
|
|
32
27
|
public static addToCache(pointer: KNativePointer, node: AstNode) {
|
|
33
|
-
|
|
28
|
+
if (node.astNodeType == Es2pandaAstNodeType.AST_NODE_TYPE_SCRIPT_FUNCTION
|
|
29
|
+
|| node.astNodeType == Es2pandaAstNodeType.AST_NODE_TYPE_ETS_FUNCTION_TYPE
|
|
30
|
+
|| node.astNodeType == Es2pandaAstNodeType.AST_NODE_TYPE_CALL_EXPRESSION) {
|
|
31
|
+
NodeCache.cache.set(pointer, node)
|
|
32
|
+
}
|
|
34
33
|
}
|
|
35
34
|
|
|
36
35
|
public static clear(): void {
|
|
36
|
+
console.log("SIZE WAS", NodeCache.cache.size, "ON CLEAR")
|
|
37
37
|
NodeCache.cache.clear()
|
|
38
38
|
}
|
|
39
39
|
}
|
|
@@ -14,12 +14,13 @@
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
import { ArkTsConfig } from "../../generated"
|
|
17
|
+
import { traceGlobal } from "../../tracer"
|
|
17
18
|
|
|
18
19
|
export function dumpArkTsConfigInfo(arkTsConfig: ArkTsConfig) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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}`)
|
|
25
26
|
}
|
|
@@ -17,6 +17,7 @@ import { global } from "../static/global"
|
|
|
17
17
|
import { NumberLiteral } from "../../generated"
|
|
18
18
|
import { isSameNativeObject } from "../peers/ArktsObject"
|
|
19
19
|
import { updateNodeByNode } from "../utilities/private"
|
|
20
|
+
import { Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
|
|
20
21
|
|
|
21
22
|
export function createNumberLiteral(
|
|
22
23
|
value: number
|
|
@@ -25,7 +26,8 @@ export function createNumberLiteral(
|
|
|
25
26
|
global.es2panda._CreateNumberLiteral(
|
|
26
27
|
global.context,
|
|
27
28
|
value
|
|
28
|
-
)
|
|
29
|
+
),
|
|
30
|
+
Es2pandaAstNodeType.AST_NODE_TYPE_NUMBER_LITERAL,
|
|
29
31
|
)
|
|
30
32
|
}
|
|
31
33
|
|