@idlizer/arktscgen 2.1.7 → 2.1.9-arktscgen-4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/libarkts-copy/generator/options.json5 +34 -0
- package/build/libarkts-copy/native/meson.build +128 -75
- package/build/libarkts-copy/native/meson_options.txt +6 -0
- package/build/libarkts-copy/native/src/bridges.cc +271 -8
- package/build/libarkts-copy/native/src/common.cc +166 -45
- package/build/libarkts-copy/native/src/common.h +53 -8
- package/build/libarkts-copy/native/src/generated/bridges.cc +2654 -319
- package/build/libarkts-copy/package.json +31 -17
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +97 -3
- 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 +86 -8
- 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 +10 -17
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +2 -3
- package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +89 -6
- package/build/libarkts-copy/src/arkts-api/index.ts +10 -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 +3 -3
- 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 -33
- 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 +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSNonNullExpression.ts +27 -0
- 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 +75 -12
- package/build/libarkts-copy/src/arkts-api/peers/Config.ts +8 -1
- package/build/libarkts-copy/src/arkts-api/peers/Context.ts +71 -4
- package/build/libarkts-copy/src/arkts-api/peers/{Program.ts → ExternalSource.ts} +2 -22
- package/build/libarkts-copy/src/arkts-api/peers/Options.ts +34 -0
- package/build/libarkts-copy/src/arkts-api/plugins.ts +26 -12
- package/build/libarkts-copy/src/arkts-api/static/global.ts +7 -4
- package/build/libarkts-copy/src/arkts-api/static/profiler.ts +180 -23
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +32 -8
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +54 -12
- package/build/libarkts-copy/src/arkts-api/visitor.ts +32 -37
- 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 +778 -63
- 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 +15 -9
- 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 +13 -1
- package/build/libarkts-copy/src/plugin-utils.ts +117 -0
- package/build/libarkts-copy/src/utils.ts +17 -28
- 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/lib/index.js +323 -148
- 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
|
@@ -20,7 +20,7 @@ import { nodeType, updateNodeByNode } from "../utilities/private"
|
|
|
20
20
|
export function updateObjectExpression(
|
|
21
21
|
original: ObjectExpression,
|
|
22
22
|
properties: readonly Expression[]
|
|
23
|
-
) {
|
|
23
|
+
): ObjectExpression {
|
|
24
24
|
if (isSameNativeObject(properties, original.properties)){
|
|
25
25
|
return original
|
|
26
26
|
}
|
|
@@ -0,0 +1,40 @@
|
|
|
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 { ExternalSource } from "../peers/ExternalSource"
|
|
17
|
+
import { acceptNativeObjectArrayResult } from "../utilities/private"
|
|
18
|
+
import { KNativePointer } from "@koalaui/interop"
|
|
19
|
+
import { global } from "../static/global"
|
|
20
|
+
import { Program } from "../../generated"
|
|
21
|
+
|
|
22
|
+
export function programGetExternalSources(program: Program, context: KNativePointer = global.context): ExternalSource[] {
|
|
23
|
+
return acceptNativeObjectArrayResult<ExternalSource>(
|
|
24
|
+
global.es2panda._ProgramExternalSources(context, program.peer),
|
|
25
|
+
(instance: KNativePointer) => new ExternalSource(instance)
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export function dumpProgramInfo(program: Program) {
|
|
30
|
+
console.log(`Program info:`)
|
|
31
|
+
console.log(`\tAbsoluteName: ${program.absoluteName}`)
|
|
32
|
+
console.log(`\tFileName: ${program.fileName}`)
|
|
33
|
+
console.log(`\tFileNameWithExtension: ${program.fileNameWithExtension}`)
|
|
34
|
+
console.log(`\tModuleName: ${program.moduleName}`)
|
|
35
|
+
console.log(`\tModulePrefix: ${program.modulePrefix}`)
|
|
36
|
+
console.log(`\tRelativeFilePath: ${program.relativeFilePath}`)
|
|
37
|
+
console.log(`\tResolvedFilePath: ${program.resolvedFilePath}`)
|
|
38
|
+
console.log(`\tSourceFileFolder: ${program.sourceFileFolder}`)
|
|
39
|
+
console.log(`\tSourceFilePath: ${program.sourceFilePath}`)
|
|
40
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { Expression, ReturnStatement } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateReturnStatement(original: ReturnStatement, argument?: Expression): ReturnStatement {
|
|
21
|
+
if (isSameNativeObject(argument, original.argument)) {
|
|
22
|
+
return original;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const update = updateThenAttach(ReturnStatement.update1ReturnStatement, attachModifiers);
|
|
26
|
+
return update(original, argument);
|
|
27
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { StringLiteral } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateStringLiteral(original: StringLiteral, str: string): StringLiteral {
|
|
21
|
+
if (isSameNativeObject(str, original.str)) {
|
|
22
|
+
return original;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const update = updateThenAttach(StringLiteral.update1StringLiteral, attachModifiers);
|
|
26
|
+
return update(original, str);
|
|
27
|
+
}
|
|
@@ -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 { SuperExpression } from '../../generated';
|
|
17
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
18
|
+
|
|
19
|
+
export function updateSuperExpression(original: SuperExpression): SuperExpression {
|
|
20
|
+
/* TODO: no getter provided yet */
|
|
21
|
+
|
|
22
|
+
const update = updateThenAttach(SuperExpression.updateSuperExpression, attachModifiers);
|
|
23
|
+
return update(original);
|
|
24
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { Expression, TSAsExpression, TypeNode } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTSAsExpression(
|
|
21
|
+
original: TSAsExpression,
|
|
22
|
+
expression: Expression | undefined,
|
|
23
|
+
typeAnnotation: TypeNode | undefined,
|
|
24
|
+
isConst: boolean
|
|
25
|
+
): TSAsExpression {
|
|
26
|
+
if (
|
|
27
|
+
isSameNativeObject(expression, original.expr) &&
|
|
28
|
+
isSameNativeObject(typeAnnotation, original.typeAnnotation) &&
|
|
29
|
+
isSameNativeObject(isConst, original.isConst)
|
|
30
|
+
) {
|
|
31
|
+
return original;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const update = updateThenAttach(TSAsExpression.updateTSAsExpression, attachModifiers);
|
|
35
|
+
return update(original, expression, typeAnnotation, isConst);
|
|
36
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { Expression, TSClassImplements, TSTypeParameterInstantiation } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTSClassImplements(
|
|
21
|
+
original: TSClassImplements,
|
|
22
|
+
expression?: Expression,
|
|
23
|
+
typeParameters?: TSTypeParameterInstantiation
|
|
24
|
+
): TSClassImplements {
|
|
25
|
+
if (isSameNativeObject(expression, original.expr) && isSameNativeObject(typeParameters, original.typeParameters)) {
|
|
26
|
+
return original;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const update = updateThenAttach(TSClassImplements.updateTSClassImplements, attachModifiers);
|
|
30
|
+
return update(original, expression, typeParameters);
|
|
31
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { TSInterfaceBody } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { AstNode } from '../peers/AstNode';
|
|
19
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
20
|
+
|
|
21
|
+
export function updateTSInterfaceBody(original: TSInterfaceBody, body: readonly AstNode[]): TSInterfaceBody {
|
|
22
|
+
if (isSameNativeObject(body, original.body)) {
|
|
23
|
+
return original;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
const update = updateThenAttach(TSInterfaceBody.updateTSInterfaceBody, attachModifiers);
|
|
27
|
+
return update(original, body);
|
|
28
|
+
}
|
|
@@ -31,7 +31,7 @@ export function createTSInterfaceDeclaration(
|
|
|
31
31
|
isStatic: boolean,
|
|
32
32
|
isExternal: boolean,
|
|
33
33
|
modifierFlags?: Es2pandaModifierFlags,
|
|
34
|
-
) {
|
|
34
|
+
): TSInterfaceDeclaration {
|
|
35
35
|
const res = TSInterfaceDeclaration.createTSInterfaceDeclaration(
|
|
36
36
|
_extends,
|
|
37
37
|
id,
|
|
@@ -55,7 +55,7 @@ export function updateTSInterfaceDeclaration(
|
|
|
55
55
|
isStatic: boolean,
|
|
56
56
|
isExternal: boolean,
|
|
57
57
|
modifierFlags?: Es2pandaModifierFlags,
|
|
58
|
-
) {
|
|
58
|
+
): TSInterfaceDeclaration {
|
|
59
59
|
if (isSameNativeObject(_extends, original.extends)
|
|
60
60
|
&& isSameNativeObject(id, original.id)
|
|
61
61
|
&& isSameNativeObject(typeParams, original.typeParams)
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { Expression, TSNonNullExpression } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTSNonNullExpression(original: TSNonNullExpression, expr?: Expression): TSNonNullExpression {
|
|
21
|
+
if (isSameNativeObject(expr, original.expr)) {
|
|
22
|
+
return original;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const update = updateThenAttach(TSNonNullExpression.updateTSNonNullExpression, attachModifiers);
|
|
26
|
+
return update(original, expr);
|
|
27
|
+
}
|
|
@@ -24,7 +24,7 @@ export function updateTSTypeParameter(
|
|
|
24
24
|
constraint: TypeNode | undefined,
|
|
25
25
|
defaultType: TypeNode | undefined,
|
|
26
26
|
flags: Es2pandaModifierFlags
|
|
27
|
-
) {
|
|
27
|
+
): TSTypeParameter {
|
|
28
28
|
if (isSameNativeObject(name, original.name)
|
|
29
29
|
&& isSameNativeObject(constraint, original.constraint)
|
|
30
30
|
&& isSameNativeObject(defaultType, original.defaultType)
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
+
* you may not use this file except in compliance with the License.
|
|
5
|
+
* You may obtain a copy of the License at
|
|
6
|
+
*
|
|
7
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
import { TSTypeParameter, TSTypeParameterDeclaration } from '../../generated';
|
|
17
|
+
import { isSameNativeObject } from '../peers/ArktsObject';
|
|
18
|
+
import { attachModifiers, updateThenAttach } from '../utilities/private';
|
|
19
|
+
|
|
20
|
+
export function updateTSTypeParameterDeclaration(
|
|
21
|
+
original: TSTypeParameterDeclaration,
|
|
22
|
+
params: readonly TSTypeParameter[],
|
|
23
|
+
requiredParams: number
|
|
24
|
+
): TSTypeParameterDeclaration {
|
|
25
|
+
if (isSameNativeObject(params, original.params) && isSameNativeObject(requiredParams, original.requiredParams)) {
|
|
26
|
+
return original;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
const update = updateThenAttach(TSTypeParameterDeclaration.updateTSTypeParameterDeclaration, attachModifiers);
|
|
30
|
+
return update(original, params, requiredParams);
|
|
31
|
+
}
|
|
@@ -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>(
|
|
@@ -19,15 +19,18 @@ import { allFlags, unpackNodeArray, unpackNonNullableNode, unpackString } from "
|
|
|
19
19
|
import { throwError } from "../../utils"
|
|
20
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
|
}
|