@idlizer/arktscgen 2.1.5 → 2.1.9-arktscgen-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/libarkts-copy/generator/options.json5 +34 -0
- package/build/libarkts-copy/native/meson.build +128 -62
- package/build/libarkts-copy/native/meson_options.txt +19 -0
- package/build/libarkts-copy/native/src/bridges.cc +278 -15
- package/build/libarkts-copy/native/src/common.cc +212 -43
- package/build/libarkts-copy/native/src/common.h +95 -2
- package/build/libarkts-copy/native/src/generated/bridges.cc +2801 -466
- package/build/libarkts-copy/package.json +82 -62
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +97 -3
- package/build/libarkts-copy/src/InteropNativeModule.ts +3 -1
- package/build/libarkts-copy/src/arkts-api/AbstractVisitor.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/ChainExpressionFilter.ts +78 -0
- package/build/libarkts-copy/src/arkts-api/CheckedBackFilter.ts +131 -0
- package/build/libarkts-copy/src/arkts-api/CompileWithCache.ts +193 -0
- package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +78 -0
- package/build/libarkts-copy/src/arkts-api/InferVoidReturnType.ts +89 -0
- package/build/libarkts-copy/src/arkts-api/ProgramProvider.ts +50 -0
- package/build/libarkts-copy/src/arkts-api/SetBaseOverloads.ts +44 -0
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +2 -3
- package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +93 -10
- package/build/libarkts-copy/src/arkts-api/index.ts +13 -1
- package/build/libarkts-copy/src/arkts-api/node-cache.ts +8 -4
- package/build/libarkts-copy/src/arkts-api/node-utilities/AnnotationDeclaration.ts +32 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/AnnotationUsage.ts +37 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +26 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/BinaryExpression.ts +37 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/BlockExpression.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/BlockStatement.ts +29 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/CallExpression.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/ChainExpression.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDeclaration.ts +54 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDefinition.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/ClassProperty.ts +27 -4
- package/build/libarkts-copy/src/arkts-api/node-utilities/ConditionalExpression.ts +36 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSFunctionType.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSImportDeclaration.ts +3 -27
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSNewClassInstanceExpression.ts +34 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSParameterExpression.ts +3 -9
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSPrimitiveType.ts +28 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSStructDeclaration.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTuple.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTypeReference.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTypeReferencePart.ts +36 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSUndefinedType.ts +24 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSUnionType.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/Identifier.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ImportSpecifier.ts +31 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/MemberExpression.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/MethodDefinition.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/NullLiteral.ts +24 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +40 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ReturnStatement.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/StringLiteral.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/SuperExpression.ts +24 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSAsExpression.ts +36 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSClassImplements.ts +31 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceBody.ts +28 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +30 -10
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSNonNullExpression.ts +27 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +10 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameterDeclaration.ts +31 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameterInstantiation.ts +30 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/TemplateLiteral.ts +35 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ThisExpression.ts +24 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/UndefinedLiteral.ts +24 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclaration.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclarator.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/peers/ArktsObject.ts +3 -1
- package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +78 -15
- package/build/libarkts-copy/src/arkts-api/peers/Config.ts +8 -1
- package/build/libarkts-copy/src/arkts-api/peers/Context.ts +72 -6
- package/build/libarkts-copy/src/arkts-api/peers/{Program.ts → ExternalSource.ts} +3 -21
- package/build/libarkts-copy/src/arkts-api/peers/Options.ts +34 -0
- package/build/libarkts-copy/src/arkts-api/plugins.ts +62 -0
- package/build/libarkts-copy/src/arkts-api/static/global.ts +9 -5
- package/build/libarkts-copy/src/arkts-api/static/profiler.ts +195 -23
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +36 -10
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +68 -20
- package/build/libarkts-copy/src/arkts-api/visitor.ts +162 -18
- package/build/libarkts-copy/src/arkts-api/wrapper-compat.ts +32 -0
- package/build/libarkts-copy/src/checkSdk.ts +25 -0
- package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +448 -436
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +775 -60
- package/build/libarkts-copy/src/generated/factory.ts +12 -15
- package/build/libarkts-copy/src/generated/index.ts +10 -3
- package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +58 -6
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +75 -0
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +40 -6
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/AstDumper.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/BindingProps.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +26 -7
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +20 -3
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +33 -4
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +128 -42
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +28 -4
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +39 -5
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/CodeGen.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/Declaration.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/{OverloadInfo.ts → DiagnosticInfo.ts} +8 -2
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +16 -5
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +59 -4
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +46 -12
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +14 -8
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +15 -4
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +18 -7
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +26 -3
- package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +8 -2
- package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +44 -6
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/IRNode.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/Identifier.ts +16 -5
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +14 -3
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +28 -4
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ImportSource.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/LabelPair.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/Literal.ts +15 -1
- package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +26 -10
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +12 -6
- package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/Program.ts +194 -0
- package/build/libarkts-copy/src/generated/peers/Property.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +77 -10
- package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/SourceRange.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +46 -9
- package/build/libarkts-copy/src/generated/peers/Statement.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/{ETSDynamicFunctionType.ts → SuggestionInfo.ts} +7 -5
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +48 -6
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +78 -8
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +53 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +41 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +15 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/TypeNode.ts +37 -3
- package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +15 -4
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +9 -3
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +10 -4
- package/build/libarkts-copy/src/generated/peers/VReg.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +48 -8
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +11 -5
- package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +15 -4
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +10 -4
- package/build/libarkts-copy/src/index.ts +31 -1
- package/build/libarkts-copy/src/plugin-utils.ts +117 -0
- package/build/libarkts-copy/src/ts-api/factory/nodeFactory.ts +15 -0
- package/build/libarkts-copy/src/ts-api/factory/nodeTests.ts +15 -0
- package/build/libarkts-copy/src/ts-api/types.ts +15 -0
- package/build/libarkts-copy/src/utils.ts +24 -41
- package/build/libarkts-copy/src/wrapper-compat/README.md +16 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +46 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +454 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +99 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +88 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +38 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +35 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +38 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +27 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +45 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +27 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +73 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +51 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +42 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +39 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +43 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +28 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +37 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +28 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +37 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +42 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +46 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +30 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +37 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +27 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +46 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +28 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +47 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +40 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +36 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +41 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +42 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +39 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ArktsObject.ts +45 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +26 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Config.ts +53 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Context.ts +60 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +39 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +33 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +33 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/ImportPathManager.ts +34 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +105 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourcePosition.ts +38 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +38 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +33 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +16 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/globalUtils.ts +27 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +108 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +907 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +69 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +190 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +198 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +325 -0
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +421 -0
- package/build/libarkts-copy/src/wrapper-compat/index.ts +20 -0
- package/build/libarkts-copy/tsconfig.json +2 -1
- package/lib/index.js +1704 -273
- package/package.json +2 -2
- package/templates/Es2pandaEnums.ts +4 -0
- package/templates/Es2pandaNativeModule.ts +5 -1
- package/templates/factory.ts +5 -1
- package/templates/index.ts +5 -1
- package/templates/node-map.ts +5 -1
- package/templates/peer.ts +5 -1
- package/build/libarkts-copy/README.md +0 -36
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { TSTypeParameterInstantiation, TypeNode } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTSTypeParameterInstantiation(
|
|
21
|
+
original: TSTypeParameterInstantiation,
|
|
22
|
+
params: readonly TypeNode[]
|
|
23
|
+
): TSTypeParameterInstantiation {
|
|
24
|
+
if (isSameNativeObject(params, original.params)) {
|
|
25
|
+
return original;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const update = updateThenAttach(TSTypeParameterInstantiation.updateTSTypeParameterInstantiation, attachModifiers);
|
|
29
|
+
return update(original, params);
|
|
30
|
+
}
|
|
@@ -22,7 +22,7 @@ export function updateETSTypeReferencePart(
|
|
|
22
22
|
name?: Expression,
|
|
23
23
|
typeParams?: TSTypeParameterInstantiation,
|
|
24
24
|
prev?: ETSTypeReferencePart
|
|
25
|
-
) {
|
|
25
|
+
): ETSTypeReferencePart {
|
|
26
26
|
if (isSameNativeObject(name, original.name)
|
|
27
27
|
&& isSameNativeObject(typeParams, original.typeParams)
|
|
28
28
|
&& isSameNativeObject(prev, original.previous)
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { TemplateLiteral, TemplateElement, Expression } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTemplateLiteral(
|
|
21
|
+
original: TemplateLiteral,
|
|
22
|
+
quasis: readonly TemplateElement[],
|
|
23
|
+
expressions: readonly Expression[],
|
|
24
|
+
multilineString: string
|
|
25
|
+
): TemplateLiteral {
|
|
26
|
+
if (
|
|
27
|
+
isSameNativeObject(quasis, original.quasis) &&
|
|
28
|
+
isSameNativeObject(expressions, original.expressions)
|
|
29
|
+
) {
|
|
30
|
+
return original;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
const update = updateThenAttach(TemplateLiteral.updateTemplateLiteral, attachModifiers);
|
|
34
|
+
return update(original, quasis, expressions, multilineString);
|
|
35
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { ThisExpression } from '../../generated';
|
|
17
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
18
|
+
|
|
19
|
+
export function updateThisExpression(original: ThisExpression): ThisExpression {
|
|
20
|
+
/* TODO: no getter provided yet */
|
|
21
|
+
|
|
22
|
+
const update = updateThenAttach(ThisExpression.updateThisExpression, attachModifiers);
|
|
23
|
+
return update(original);
|
|
24
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { UndefinedLiteral } from '../../generated';
|
|
17
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
18
|
+
|
|
19
|
+
export function updateUndefinedLiteral(original: UndefinedLiteral): UndefinedLiteral {
|
|
20
|
+
/* TODO: no getter provided yet */
|
|
21
|
+
|
|
22
|
+
const update = updateThenAttach(UndefinedLiteral.updateUndefinedLiteral, attachModifiers);
|
|
23
|
+
return update(original);
|
|
24
|
+
}
|
|
@@ -40,7 +40,7 @@ export function updateVariableDeclaration(
|
|
|
40
40
|
kind: Es2pandaVariableDeclarationKind,
|
|
41
41
|
declarators: readonly VariableDeclarator[],
|
|
42
42
|
annotations?: readonly AnnotationUsage[]
|
|
43
|
-
) {
|
|
43
|
+
): VariableDeclaration {
|
|
44
44
|
if (isSameNativeObject(kind, original.kind)
|
|
45
45
|
&& isSameNativeObject(declarators, original.declarators)
|
|
46
46
|
&& isSameNativeObject(annotations, original.annotations)
|
|
@@ -23,7 +23,7 @@ export function updateVariableDeclarator(
|
|
|
23
23
|
flag: Es2pandaVariableDeclaratorFlag,
|
|
24
24
|
ident?: Expression,
|
|
25
25
|
init?: Expression
|
|
26
|
-
) {
|
|
26
|
+
): VariableDeclarator {
|
|
27
27
|
if (isSameNativeObject(flag, original.flag)
|
|
28
28
|
&& isSameNativeObject(ident, original.id)
|
|
29
29
|
&& isSameNativeObject(init, original.init)
|
|
@@ -20,7 +20,9 @@ export abstract class ArktsObject {
|
|
|
20
20
|
this.peer = peer
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
peer: KNativePointer
|
|
24
|
+
|
|
25
|
+
public onUpdate(node: ArktsObject) {}
|
|
24
26
|
}
|
|
25
27
|
|
|
26
28
|
export function isSameNativeObject<T extends ArktsObject | number | string | boolean | undefined>(
|
|
@@ -13,21 +13,24 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import { isNullPtr, KInt, KNativePointer
|
|
16
|
+
import { isNullPtr, KInt, KNativePointer, nullptr } from "@koalaui/interop"
|
|
17
17
|
import { global } from "../static/global"
|
|
18
|
-
import { allFlags,
|
|
18
|
+
import { allFlags, unpackNodeArray, unpackNonNullableNode, unpackString } from "../utilities/private"
|
|
19
19
|
import { throwError } from "../../utils"
|
|
20
|
-
import {
|
|
20
|
+
import { Es2pandaModifierFlags } from "../../generated/Es2pandaEnums"
|
|
21
21
|
import { ArktsObject } from "./ArktsObject"
|
|
22
|
+
import { SourcePosition } from "./SourcePosition"
|
|
23
|
+
import { NodeCache } from "../node-cache"
|
|
22
24
|
|
|
23
25
|
export abstract class AstNode extends ArktsObject {
|
|
24
26
|
protected constructor(peer: KNativePointer) {
|
|
25
|
-
global.profiler.
|
|
27
|
+
global.profiler.nodeCreated()
|
|
26
28
|
if (isNullPtr(peer)) {
|
|
27
29
|
throwError(`attempted to create AstNode from nullptr`)
|
|
28
30
|
}
|
|
29
31
|
super(peer)
|
|
30
32
|
this.updateChildren()
|
|
33
|
+
NodeCache.addToCache(peer, this)
|
|
31
34
|
}
|
|
32
35
|
|
|
33
36
|
public get originalPeer(): KNativePointer {
|
|
@@ -56,11 +59,12 @@ export abstract class AstNode extends ArktsObject {
|
|
|
56
59
|
)
|
|
57
60
|
}
|
|
58
61
|
|
|
59
|
-
public updateChildren():
|
|
62
|
+
public updateChildren(): this {
|
|
60
63
|
if (this.peer === nullptr) {
|
|
61
64
|
throwError('updateChildren called on NULLPTR')
|
|
62
65
|
}
|
|
63
66
|
global.es2panda._AstNodeUpdateChildren(global.context, this.peer)
|
|
67
|
+
return this
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
public updateModifiers(modifierFlags: KInt | undefined): this {
|
|
@@ -95,20 +99,37 @@ export abstract class AstNode extends ArktsObject {
|
|
|
95
99
|
return unpackString(global.es2panda._AstNodeDumpModifiers(global.context, this.peer))
|
|
96
100
|
}
|
|
97
101
|
|
|
102
|
+
// public clone(): this {
|
|
103
|
+
// return unpackNonNullableNode(global.generatedEs2panda._AstNodeClone(global.context, this.peer, this.parent.peer));
|
|
104
|
+
// }
|
|
105
|
+
|
|
106
|
+
// public get parent(): AstNode {
|
|
107
|
+
// const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer)
|
|
108
|
+
// if (parent === nullptr) {
|
|
109
|
+
// throwError(`no parent`)
|
|
110
|
+
// }
|
|
111
|
+
// return unpackNonNullableNode(parent)
|
|
112
|
+
// }
|
|
113
|
+
|
|
114
|
+
// public set parent(node: AstNode) {
|
|
115
|
+
// global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node.peer)
|
|
116
|
+
// }
|
|
117
|
+
|
|
98
118
|
public clone(): this {
|
|
99
|
-
|
|
119
|
+
const clonedNode = unpackNonNullableNode(
|
|
120
|
+
global.generatedEs2panda._AstNodeClone(global.context, this.peer, this.parent?.peer ?? nullptr)
|
|
121
|
+
);
|
|
122
|
+
clonedNode.parent = undefined;
|
|
123
|
+
return clonedNode as this;
|
|
100
124
|
}
|
|
101
|
-
|
|
102
|
-
public get parent(): AstNode {
|
|
103
|
-
const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer)
|
|
104
|
-
|
|
105
|
-
throwError(`no parent`)
|
|
106
|
-
}
|
|
107
|
-
return unpackNonNullableNode(parent)
|
|
125
|
+
|
|
126
|
+
public get parent(): AstNode | undefined {
|
|
127
|
+
const parent = global.generatedEs2panda._AstNodeParent(global.context, this.peer);
|
|
128
|
+
return unpackNonNullableNode(parent);
|
|
108
129
|
}
|
|
109
130
|
|
|
110
|
-
public set parent(node: AstNode) {
|
|
111
|
-
global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node
|
|
131
|
+
public set parent(node: AstNode | undefined) {
|
|
132
|
+
global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, node?.peer ?? nullptr);
|
|
112
133
|
}
|
|
113
134
|
|
|
114
135
|
public get modifierFlags(): Es2pandaModifierFlags {
|
|
@@ -119,4 +140,46 @@ export abstract class AstNode extends ArktsObject {
|
|
|
119
140
|
global.generatedEs2panda._AstNodeClearModifier(global.context, this.peer, allFlags)
|
|
120
141
|
global.generatedEs2panda._AstNodeAddModifier(global.context, this.peer, flags ?? Es2pandaModifierFlags.MODIFIER_FLAGS_NONE)
|
|
121
142
|
}
|
|
143
|
+
|
|
144
|
+
/** @deprecated Use {@link modifierFlags} instead */
|
|
145
|
+
public get modifiers(): KInt {
|
|
146
|
+
return this.modifierFlags
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
/** @deprecated Use {@link modifierFlags} instead */
|
|
150
|
+
public set modifiers(flags: KInt | undefined) {
|
|
151
|
+
this.modifierFlags = flags
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
public override onUpdate(node: AstNode): void {
|
|
155
|
+
global.generatedEs2panda._AstNodeSetOriginalNode(global.context, node.peer, this.originalPeer)
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
public get isExport(): boolean {
|
|
159
|
+
return global.generatedEs2panda._AstNodeIsExportedConst(global.context, this.peer);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
public get isDefaultExport(): boolean {
|
|
163
|
+
return global.generatedEs2panda._AstNodeIsDefaultExportedConst(global.context, this.peer);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
public get isStatic(): boolean {
|
|
167
|
+
return global.generatedEs2panda._AstNodeIsStaticConst(global.context, this.peer);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public get startPosition(): SourcePosition {
|
|
171
|
+
return new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, this.peer));
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
public set startPosition(start: SourcePosition) {
|
|
175
|
+
global.generatedEs2panda._AstNodeSetStart(global.context, this.peer, start.peer);
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
public get endPosition(): SourcePosition {
|
|
179
|
+
return new SourcePosition(global.generatedEs2panda._AstNodeEndConst(global.context, this.peer));
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
public set endPosition(end: SourcePosition) {
|
|
183
|
+
global.generatedEs2panda._AstNodeSetEnd(global.context, this.peer, end.peer);
|
|
184
|
+
}
|
|
122
185
|
}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { ArktsObject } from "./ArktsObject"
|
|
17
17
|
import { global } from "../static/global"
|
|
18
18
|
import { passStringArray } from "../utilities/private"
|
|
19
|
-
import { KNativePointer } from "@koalaui/interop"
|
|
19
|
+
import { KNativePointer, nullptr } from "@koalaui/interop"
|
|
20
20
|
|
|
21
21
|
export class Config extends ArktsObject {
|
|
22
22
|
constructor(peer: KNativePointer) {
|
|
@@ -48,5 +48,12 @@ export class Config extends ArktsObject {
|
|
|
48
48
|
)
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
+
destroy() {
|
|
52
|
+
if (this.peer != nullptr) {
|
|
53
|
+
global.es2panda._DestroyConfig(this.peer)
|
|
54
|
+
this.peer = nullptr
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
51
58
|
readonly path: string
|
|
52
59
|
}
|
|
@@ -14,11 +14,11 @@
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
import { ArktsObject } from "./ArktsObject"
|
|
17
|
-
import { Program } from "
|
|
17
|
+
import { Program } from "../../generated"
|
|
18
18
|
import { global } from "../static/global"
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
19
|
+
import { passString, passStringArray } from "../utilities/private"
|
|
20
|
+
import { KNativePointer, nullptr } from "@koalaui/interop"
|
|
21
|
+
import { Config } from "./Config"
|
|
22
22
|
|
|
23
23
|
export class Context extends ArktsObject {
|
|
24
24
|
constructor(peer: KNativePointer) {
|
|
@@ -29,7 +29,7 @@ export class Context extends ArktsObject {
|
|
|
29
29
|
source: string
|
|
30
30
|
): Context {
|
|
31
31
|
if (!global.configIsInitialized()) {
|
|
32
|
-
|
|
32
|
+
throw new Error(`Config not initialized`)
|
|
33
33
|
}
|
|
34
34
|
return new Context(
|
|
35
35
|
global.es2panda._CreateContextFromString(
|
|
@@ -40,7 +40,73 @@ export class Context extends ArktsObject {
|
|
|
40
40
|
)
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
+
static createFromFile(filePath: string, configPath: string, stdlibPath: string, outputPath: string): Context | undefined {
|
|
44
|
+
const config = Config.create([
|
|
45
|
+
"",
|
|
46
|
+
"--arktsconfig",
|
|
47
|
+
configPath,
|
|
48
|
+
'--extension',
|
|
49
|
+
'ets',
|
|
50
|
+
'--stdlib',
|
|
51
|
+
stdlibPath,
|
|
52
|
+
filePath,
|
|
53
|
+
'--output',
|
|
54
|
+
outputPath,
|
|
55
|
+
])
|
|
56
|
+
return new Context(
|
|
57
|
+
global.es2panda._CreateContextFromFile(
|
|
58
|
+
config.peer,
|
|
59
|
+
passString(filePath)
|
|
60
|
+
)
|
|
61
|
+
)
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
static createCacheFromFile(filePath: string, config: Config, globalContext: GlobalContext, isExternal: boolean) {
|
|
65
|
+
return new Context(
|
|
66
|
+
global.es2panda._CreateCacheContextFromFile(
|
|
67
|
+
config.peer,
|
|
68
|
+
passString(filePath),
|
|
69
|
+
globalContext.peer,
|
|
70
|
+
isExternal
|
|
71
|
+
)
|
|
72
|
+
)
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
destroy() {
|
|
77
|
+
if (this.peer != nullptr) {
|
|
78
|
+
global.es2panda._DestroyContext(this.peer)
|
|
79
|
+
this.peer = nullptr
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
43
83
|
get program(): Program {
|
|
44
84
|
return new Program(global.es2panda._ContextProgram(this.peer));
|
|
45
85
|
}
|
|
46
|
-
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export class GlobalContext extends ArktsObject {
|
|
89
|
+
static create(
|
|
90
|
+
config: Config, externalFileList: string[]
|
|
91
|
+
): GlobalContext {
|
|
92
|
+
return new GlobalContext(
|
|
93
|
+
global.es2panda._CreateGlobalContext(
|
|
94
|
+
config.peer,
|
|
95
|
+
passStringArray(externalFileList),
|
|
96
|
+
externalFileList.length,
|
|
97
|
+
false
|
|
98
|
+
)
|
|
99
|
+
)
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
constructor(peer: KNativePointer) {
|
|
103
|
+
super(peer)
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
destroy() {
|
|
107
|
+
if (this.peer != nullptr) {
|
|
108
|
+
global.es2panda._DestroyGlobalContext(this.peer)
|
|
109
|
+
this.peer = nullptr
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -13,29 +13,11 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import { ArktsObject } from "./ArktsObject"
|
|
17
16
|
import { global } from "../static/global"
|
|
18
17
|
import { acceptNativeObjectArrayResult, unpackString } from "../utilities/private"
|
|
19
|
-
import { KNativePointer } from "@koalaui/interop"
|
|
20
|
-
import {
|
|
21
|
-
|
|
22
|
-
export class Program extends ArktsObject {
|
|
23
|
-
constructor(peer: KNativePointer) {
|
|
24
|
-
super(peer)
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
get astNode(): ETSModule {
|
|
28
|
-
return new ETSModule(global.es2panda._ProgramAst(global.context, this.peer))
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
get externalSources(): ExternalSource[] {
|
|
32
|
-
return acceptNativeObjectArrayResult<ExternalSource>(
|
|
33
|
-
global.es2panda._ProgramExternalSources(global.context, this.peer),
|
|
34
|
-
(instance: KNativePointer) => new ExternalSource(instance)
|
|
35
|
-
)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
}
|
|
18
|
+
import { KNativePointer, nullptr } from "@koalaui/interop"
|
|
19
|
+
import { Program } from "../../generated"
|
|
20
|
+
import { ArktsObject } from "./ArktsObject"
|
|
39
21
|
|
|
40
22
|
export class ExternalSource extends ArktsObject {
|
|
41
23
|
constructor(peer: KNativePointer) {
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { KNativePointer } from "@koalaui/interop"
|
|
17
|
+
import { ArktsObject } from "./ArktsObject"
|
|
18
|
+
import { global } from "../static/global"
|
|
19
|
+
import { Config } from "./Config"
|
|
20
|
+
import { ArkTsConfig } from "../../generated"
|
|
21
|
+
|
|
22
|
+
export class Options extends ArktsObject {
|
|
23
|
+
constructor(peer: KNativePointer) {
|
|
24
|
+
super(peer)
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
static createOptions(config: Config) {
|
|
28
|
+
return new Options(global.es2panda._ConfigGetOptions(config.peer))
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
getArkTsConfig(): ArkTsConfig {
|
|
32
|
+
return new ArkTsConfig(global.es2panda._OptionsArkTsConfig(global.context, this.peer))
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { Es2pandaContextState } from "../generated/Es2pandaEnums"
|
|
17
|
+
import { Program } from "../generated"
|
|
18
|
+
import { ExternalSource } from "./peers/ExternalSource"
|
|
19
|
+
import { programGetExternalSources } from "./node-utilities/Program"
|
|
20
|
+
import { KNativePointer } from "@koalaui/interop"
|
|
21
|
+
import { global } from "./static/global"
|
|
22
|
+
|
|
23
|
+
export interface CompilationOptions {
|
|
24
|
+
readonly isMainProgram: boolean,
|
|
25
|
+
readonly stage: Es2pandaContextState,
|
|
26
|
+
readonly restart: boolean,
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface PluginContext {
|
|
30
|
+
setParameter<V>(name: string, value: V): void
|
|
31
|
+
parameter<V>(name: string) : V | undefined
|
|
32
|
+
|
|
33
|
+
}
|
|
34
|
+
export class PluginContextImpl implements PluginContext {
|
|
35
|
+
map = new Map<String, Object|undefined>()
|
|
36
|
+
parameter<V>(name: string): V|undefined {
|
|
37
|
+
return this.map.get(name) as (V|undefined)
|
|
38
|
+
}
|
|
39
|
+
setParameter<V>(name: string, value: V) {
|
|
40
|
+
this.map.set(name, value as Object)
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export type ProgramTransformer = (program: Program, compilationOptions: CompilationOptions, context: PluginContext) => void
|
|
45
|
+
|
|
46
|
+
export function defaultFilter(name: string) {
|
|
47
|
+
if (name.startsWith("std.")) return false
|
|
48
|
+
if (name.startsWith("escompat")) return false
|
|
49
|
+
return true
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter, context: KNativePointer = global.context): Program[] {
|
|
53
|
+
return [
|
|
54
|
+
program,
|
|
55
|
+
...programGetExternalSources(program, context).flatMap((it: ExternalSource) => {
|
|
56
|
+
if (filter(it.getName())) {
|
|
57
|
+
return it.programs
|
|
58
|
+
}
|
|
59
|
+
return []
|
|
60
|
+
})
|
|
61
|
+
]
|
|
62
|
+
}
|
|
@@ -14,17 +14,18 @@
|
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
16
|
import { throwError } from "../../utils"
|
|
17
|
-
import { KNativePointer } from "@koalaui/interop"
|
|
17
|
+
import { KNativePointer, nullptr } from "@koalaui/interop"
|
|
18
18
|
import { initEs2panda, Es2pandaNativeModule, initGeneratedEs2panda } from "../../Es2pandaNativeModule"
|
|
19
19
|
import { Es2pandaNativeModule as GeneratedEs2pandaNativeModule } from "../../generated/Es2pandaNativeModule"
|
|
20
20
|
import { initInterop, InteropNativeModule } from "../../InteropNativeModule"
|
|
21
21
|
import { Context } from "../peers/Context"
|
|
22
22
|
import { Profiler } from "./profiler"
|
|
23
|
+
import { ArkTsConfig } from "../../generated"
|
|
23
24
|
|
|
24
25
|
export class global {
|
|
25
26
|
public static filePath: string = "./plugins/input/main.ets"
|
|
26
|
-
|
|
27
|
-
public static
|
|
27
|
+
|
|
28
|
+
public static arktsconfig?: ArkTsConfig
|
|
28
29
|
|
|
29
30
|
private static _config?: KNativePointer
|
|
30
31
|
public static set config(config: KNativePointer) {
|
|
@@ -34,12 +35,15 @@ export class global {
|
|
|
34
35
|
return global._config ?? throwError('Global.config not initialized')
|
|
35
36
|
}
|
|
36
37
|
public static configIsInitialized(): boolean {
|
|
37
|
-
return global._config !== undefined
|
|
38
|
+
return global._config !== undefined && global._config !== nullptr
|
|
39
|
+
}
|
|
40
|
+
public static resetConfig(): void {
|
|
41
|
+
global._config = undefined
|
|
38
42
|
}
|
|
39
43
|
|
|
40
44
|
// TODO: rename to contextPeer
|
|
41
45
|
public static get context(): KNativePointer {
|
|
42
|
-
return global.compilerContext
|
|
46
|
+
return global.compilerContext?.peer ?? throwError('Global.context not initialized')
|
|
43
47
|
}
|
|
44
48
|
|
|
45
49
|
// TODO: rename to context when the pointer valued one is eliminated
|