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