@idlizer/arktscgen 2.1.7 → 2.1.9-arktscgen-5
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 +168 -47
- package/build/libarkts-copy/native/src/common.h +53 -8
- package/build/libarkts-copy/native/src/generated/bridges.cc +2625 -319
- package/build/libarkts-copy/package.json +31 -17
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +98 -4
- 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 +18 -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/AnnotationUsage.ts +29 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +25 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +1 -1
- 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/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/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/ETSParameterExpression.ts +3 -9
- 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/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/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/TSInterfaceDeclaration.ts +2 -2
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +1 -1
- 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 +80 -15
- 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 +10 -4
- package/build/libarkts-copy/src/arkts-api/static/profiler.ts +180 -23
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +22 -24
- 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 +450 -442
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +769 -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 +64 -6
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +67 -0
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +46 -6
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +17 -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 +13 -3
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/BindingProps.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +30 -7
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +24 -3
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +37 -4
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +136 -42
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +28 -4
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +43 -5
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/CodeGen.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/Declaration.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/{OverloadInfo.ts → DiagnosticInfo.ts} +8 -2
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +20 -5
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +63 -4
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +54 -12
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +26 -8
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +19 -4
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +22 -4
- package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +30 -7
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +30 -3
- package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +10 -2
- package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +50 -6
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +16 -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 +24 -5
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +18 -3
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +32 -4
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ImportSource.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +13 -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 +13 -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 +13 -3
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +30 -10
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +25 -9
- package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/Program.ts +189 -0
- package/build/libarkts-copy/src/generated/peers/Property.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +16 -4
- package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +81 -10
- package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +7 -1
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +13 -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 +14 -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 +16 -4
- package/build/libarkts-copy/src/generated/peers/{ETSDynamicFunctionType.ts → SuggestionInfo.ts} +7 -5
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +52 -6
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +82 -8
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +59 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +47 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +19 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +17 -5
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +14 -4
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +17 -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 +14 -4
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +19 -4
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +13 -3
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +14 -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 +52 -8
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +17 -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 +19 -4
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +14 -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 +330 -149
- 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
|
@@ -1,3 +1,18 @@
|
|
|
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
|
+
|
|
1
16
|
{
|
|
2
17
|
"irHack": [
|
|
3
18
|
"AnnotationUsage",
|
|
@@ -11,6 +26,8 @@
|
|
|
11
26
|
"es2panda_Impl",
|
|
12
27
|
"es2panda_Config",
|
|
13
28
|
"es2panda_ExternalSource",
|
|
29
|
+
"es2panda_OverloadInfo",
|
|
30
|
+
"es2panda_GlobalContext"
|
|
14
31
|
],
|
|
15
32
|
"partial": [
|
|
16
33
|
{
|
|
@@ -92,6 +109,14 @@
|
|
|
92
109
|
"SetExtensionAccessorType" // ETSFunction type ambiguity
|
|
93
110
|
]
|
|
94
111
|
},
|
|
112
|
+
{
|
|
113
|
+
interface: "ArkTsConfig",
|
|
114
|
+
methods: [
|
|
115
|
+
"EntriesConst",
|
|
116
|
+
"FilesConst",
|
|
117
|
+
"Parse",
|
|
118
|
+
]
|
|
119
|
+
},
|
|
95
120
|
]
|
|
96
121
|
},
|
|
97
122
|
nonNullable: [
|
|
@@ -220,5 +245,14 @@
|
|
|
220
245
|
}
|
|
221
246
|
]
|
|
222
247
|
},
|
|
248
|
+
{
|
|
249
|
+
name: "Program",
|
|
250
|
+
methods: [
|
|
251
|
+
{
|
|
252
|
+
name: "Ast",
|
|
253
|
+
types: ["returnType"]
|
|
254
|
+
}
|
|
255
|
+
]
|
|
256
|
+
}
|
|
223
257
|
],
|
|
224
258
|
}
|
|
@@ -1,75 +1,128 @@
|
|
|
1
|
-
# Copyright (c) 2025 Huawei Device Co., Ltd.
|
|
2
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
-
# you may not use this file except in compliance with the License.
|
|
4
|
-
# You may obtain a copy of the License at
|
|
5
|
-
#
|
|
6
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
-
#
|
|
8
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
-
# See the License for the specific language governing permissions and
|
|
12
|
-
# limitations under the License.
|
|
13
|
-
|
|
14
|
-
project(
|
|
15
|
-
'es2panda_interop',
|
|
16
|
-
'cpp',
|
|
17
|
-
version: '1.0',
|
|
18
|
-
default_options: [
|
|
19
|
-
'cpp_std=c++17',
|
|
20
|
-
'buildtype=
|
|
21
|
-
],
|
|
22
|
-
)
|
|
23
|
-
|
|
24
|
-
sources = [
|
|
25
|
-
'./src/common.cc',
|
|
26
|
-
'./src/bridges.cc',
|
|
27
|
-
'./src/generated/bridges.cc',
|
|
28
|
-
get_option('interop_src_dir') / 'common-interop.cc',
|
|
29
|
-
get_option('interop_src_dir') / 'callback-resource.cc',
|
|
30
|
-
get_option('interop_src_dir') / 'interop-logging.cc',
|
|
31
|
-
get_option('interop_src_dir') / 'napi/convertors-napi.cc',
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
cflags = [
|
|
35
|
-
'-DKOALA_INTEROP_MODULE=NativeModule',
|
|
36
|
-
'-DINTEROP_LIBRARY_NAME=' + get_option('lib_name'),
|
|
37
|
-
'-DKOALA_USE_NODE_VM',
|
|
38
|
-
'-DKOALA_NAPI',
|
|
39
|
-
]
|
|
40
|
-
|
|
41
|
-
if (target_machine.system() == 'windows')
|
|
42
|
-
cflags += ['-DKOALA_WINDOWS']
|
|
43
|
-
if (meson.get_compiler('cpp').get_id() == 'msvc')
|
|
44
|
-
# apply node.exe symbol loading hook
|
|
45
|
-
sources += [
|
|
46
|
-
get_option('interop_src_dir') / 'napi/win-dynamic-node.cc'
|
|
47
|
-
]
|
|
48
|
-
endif
|
|
49
|
-
else
|
|
50
|
-
cflags += ['-DKOALA_LINUX']
|
|
51
|
-
endif
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
1
|
+
# Copyright (c) 2025 Huawei Device Co., Ltd.
|
|
2
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
3
|
+
# you may not use this file except in compliance with the License.
|
|
4
|
+
# You may obtain a copy of the License at
|
|
5
|
+
#
|
|
6
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
|
7
|
+
#
|
|
8
|
+
# Unless required by applicable law or agreed to in writing, software
|
|
9
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
10
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
11
|
+
# See the License for the specific language governing permissions and
|
|
12
|
+
# limitations under the License.
|
|
13
|
+
|
|
14
|
+
project(
|
|
15
|
+
'es2panda_interop',
|
|
16
|
+
'cpp',
|
|
17
|
+
version: '1.0',
|
|
18
|
+
default_options: [
|
|
19
|
+
'cpp_std=c++17',
|
|
20
|
+
'buildtype=release',
|
|
21
|
+
],
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
sources = [
|
|
25
|
+
'./src/common.cc',
|
|
26
|
+
'./src/bridges.cc',
|
|
27
|
+
'./src/generated/bridges.cc',
|
|
28
|
+
get_option('interop_src_dir') / 'common-interop.cc',
|
|
29
|
+
get_option('interop_src_dir') / 'callback-resource.cc',
|
|
30
|
+
get_option('interop_src_dir') / 'interop-logging.cc',
|
|
31
|
+
get_option('interop_src_dir') / 'napi/convertors-napi.cc',
|
|
32
|
+
]
|
|
33
|
+
|
|
34
|
+
cflags = [
|
|
35
|
+
'-DKOALA_INTEROP_MODULE=NativeModule',
|
|
36
|
+
'-DINTEROP_LIBRARY_NAME=' + get_option('lib_name'),
|
|
37
|
+
'-DKOALA_USE_NODE_VM',
|
|
38
|
+
'-DKOALA_NAPI',
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
if (target_machine.system() == 'windows')
|
|
42
|
+
cflags += ['-DKOALA_WINDOWS']
|
|
43
|
+
if (meson.get_compiler('cpp').get_id() == 'msvc')
|
|
44
|
+
# apply node.exe symbol loading hook
|
|
45
|
+
sources += [
|
|
46
|
+
get_option('interop_src_dir') / 'napi/win-dynamic-node.cc'
|
|
47
|
+
]
|
|
48
|
+
endif
|
|
49
|
+
else
|
|
50
|
+
cflags += ['-DKOALA_LINUX']
|
|
51
|
+
endif
|
|
52
|
+
|
|
53
|
+
arch = target_machine.cpu()
|
|
54
|
+
|
|
55
|
+
oses = { 'darwin': 'macos' } # rename meson default names to convenient ones
|
|
56
|
+
archs = { 'x86_64': 'x64', 'aarch64': 'arm64', 'armv7-a': 'arm32', 'wasm32': 'wasm' }
|
|
57
|
+
|
|
58
|
+
os = target_machine.system()
|
|
59
|
+
os = oses.get(os, os)
|
|
60
|
+
arch = target_machine.cpu()
|
|
61
|
+
arch = archs.get(arch, arch)
|
|
62
|
+
|
|
63
|
+
cflags_cross = []
|
|
64
|
+
cflags_host = []
|
|
65
|
+
suffix_host = '_' + arch
|
|
66
|
+
suffix_cross = ''
|
|
67
|
+
|
|
68
|
+
if get_option('cross_compile')
|
|
69
|
+
if arch == 'arm64'
|
|
70
|
+
cflags_cross = ['--target=x86_64-linux-gnu']
|
|
71
|
+
suffix_cross = '_x64'
|
|
72
|
+
endif
|
|
73
|
+
if arch == 'x64'
|
|
74
|
+
cflags_cross = ['--target=aarch64-linux-gnu']
|
|
75
|
+
suffix_cross = '_arm64'
|
|
76
|
+
endif
|
|
77
|
+
endif
|
|
78
|
+
|
|
79
|
+
shared_library(
|
|
80
|
+
get_option('lib_name') + suffix_host,
|
|
81
|
+
sources,
|
|
82
|
+
override_options: [
|
|
83
|
+
'b_lundef=false',
|
|
84
|
+
],
|
|
85
|
+
install: true,
|
|
86
|
+
name_prefix: '',
|
|
87
|
+
name_suffix: 'node',
|
|
88
|
+
include_directories: [
|
|
89
|
+
'./src/',
|
|
90
|
+
get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public',
|
|
91
|
+
get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda',
|
|
92
|
+
get_option('interop_src_dir'),
|
|
93
|
+
get_option('interop_src_dir') / 'types',
|
|
94
|
+
get_option('interop_src_dir') / 'napi',
|
|
95
|
+
get_option('node_modules_dir') / 'node-api-headers/include',
|
|
96
|
+
get_option('node_modules_dir') / 'node-addon-api',
|
|
97
|
+
],
|
|
98
|
+
cpp_args: cflags + cflags_host,
|
|
99
|
+
link_args: [cflags_host],
|
|
100
|
+
dependencies: []
|
|
101
|
+
)
|
|
102
|
+
|
|
103
|
+
if get_option('cross_compile')
|
|
104
|
+
# sudo apt install g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
|
|
105
|
+
shared_library(
|
|
106
|
+
get_option('lib_name') + suffix_cross,
|
|
107
|
+
sources,
|
|
108
|
+
override_options: [
|
|
109
|
+
'b_lundef=false',
|
|
110
|
+
],
|
|
111
|
+
install: true,
|
|
112
|
+
name_prefix: '',
|
|
113
|
+
name_suffix: 'node',
|
|
114
|
+
include_directories: [
|
|
115
|
+
'./src/',
|
|
116
|
+
get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda/public',
|
|
117
|
+
get_option('panda_sdk_dir') / 'ohos_arm64/include/tools/es2panda',
|
|
118
|
+
get_option('interop_src_dir'),
|
|
119
|
+
get_option('interop_src_dir') / 'types',
|
|
120
|
+
get_option('interop_src_dir') / 'napi',
|
|
121
|
+
get_option('node_modules_dir') / 'node-api-headers/include',
|
|
122
|
+
get_option('node_modules_dir') / 'node-addon-api',
|
|
123
|
+
],
|
|
124
|
+
cpp_args: cflags + cflags_cross,
|
|
125
|
+
link_args: [cflags_cross],
|
|
126
|
+
dependencies: []
|
|
127
|
+
)
|
|
128
|
+
endif
|
|
@@ -15,6 +15,10 @@
|
|
|
15
15
|
|
|
16
16
|
#include "common.h"
|
|
17
17
|
|
|
18
|
+
#include <set>
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <mutex>
|
|
21
|
+
|
|
18
22
|
KNativePointer impl_AstNodeRecheck(KNativePointer contextPtr, KNativePointer nodePtr)
|
|
19
23
|
{
|
|
20
24
|
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
@@ -149,14 +153,6 @@ KNativePointer impl_ContextProgram(KNativePointer contextPtr)
|
|
|
149
153
|
}
|
|
150
154
|
KOALA_INTEROP_1(ContextProgram, KNativePointer, KNativePointer)
|
|
151
155
|
|
|
152
|
-
KNativePointer impl_ProgramAst(KNativePointer contextPtr, KNativePointer programPtr)
|
|
153
|
-
{
|
|
154
|
-
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
155
|
-
auto program = reinterpret_cast<es2panda_Program*>(programPtr);
|
|
156
|
-
return GetImpl()->ProgramAst(context, program);
|
|
157
|
-
}
|
|
158
|
-
KOALA_INTEROP_2(ProgramAst, KNativePointer, KNativePointer, KNativePointer)
|
|
159
|
-
|
|
160
156
|
KBoolean impl_IsIdentifier(KNativePointer nodePtr)
|
|
161
157
|
{
|
|
162
158
|
auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
|
|
@@ -232,6 +228,25 @@ static KNativePointer impl_ProgramExternalSources(KNativePointer contextPtr, KNa
|
|
|
232
228
|
}
|
|
233
229
|
KOALA_INTEROP_2(ProgramExternalSources, KNativePointer, KNativePointer, KNativePointer);
|
|
234
230
|
|
|
231
|
+
static KNativePointer impl_ProgramDirectExternalSources(KNativePointer contextPtr, KNativePointer instancePtr)
|
|
232
|
+
{
|
|
233
|
+
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
234
|
+
auto&& instance = reinterpret_cast<es2panda_Program *>(instancePtr);
|
|
235
|
+
std::size_t sourceLen = 0;
|
|
236
|
+
auto externalSources = GetImpl()->ProgramDirectExternalSources(context, instance, &sourceLen);
|
|
237
|
+
return new std::vector<void*>(externalSources, externalSources + sourceLen);
|
|
238
|
+
}
|
|
239
|
+
KOALA_INTEROP_2(ProgramDirectExternalSources, KNativePointer, KNativePointer, KNativePointer);
|
|
240
|
+
|
|
241
|
+
static KNativePointer impl_ProgramSourceFilePath(KNativePointer contextPtr, KNativePointer instancePtr)
|
|
242
|
+
{
|
|
243
|
+
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
244
|
+
auto&& instance = reinterpret_cast<es2panda_Program *>(instancePtr);
|
|
245
|
+
auto&& result = GetImpl()->ProgramSourceFilePathConst(context, instance);
|
|
246
|
+
return StageArena::strdup(result);
|
|
247
|
+
}
|
|
248
|
+
KOALA_INTEROP_2(ProgramSourceFilePath, KNativePointer, KNativePointer, KNativePointer);
|
|
249
|
+
|
|
235
250
|
static KNativePointer impl_ExternalSourceName(KNativePointer instance)
|
|
236
251
|
{
|
|
237
252
|
auto&& _instance_ = reinterpret_cast<es2panda_ExternalSource *>(instance);
|
|
@@ -331,3 +346,251 @@ KNativePointer impl_CreateSourceRange(KNativePointer context, KNativePointer sta
|
|
|
331
346
|
return GetImpl()->CreateSourceRange(_context_, _start_, _end_);
|
|
332
347
|
}
|
|
333
348
|
KOALA_INTEROP_3(CreateSourceRange, KNativePointer, KNativePointer, KNativePointer, KNativePointer);
|
|
349
|
+
|
|
350
|
+
KNativePointer impl_ConfigGetOptions(KNativePointer config)
|
|
351
|
+
{
|
|
352
|
+
const auto _config = reinterpret_cast<es2panda_Config *>(config);
|
|
353
|
+
auto result = GetImpl()->ConfigGetOptions(_config);
|
|
354
|
+
return (void*)result;
|
|
355
|
+
}
|
|
356
|
+
KOALA_INTEROP_1(ConfigGetOptions, KNativePointer, KNativePointer)
|
|
357
|
+
|
|
358
|
+
KNativePointer impl_OptionsArkTsConfig(KNativePointer context, KNativePointer options)
|
|
359
|
+
{
|
|
360
|
+
const auto _context = reinterpret_cast<es2panda_Context *>(context);
|
|
361
|
+
const auto _options = reinterpret_cast<es2panda_Options *>(options);
|
|
362
|
+
auto result = GetImpl()->OptionsUtilArkTSConfigConst(_context, _options);
|
|
363
|
+
return (void*)result;
|
|
364
|
+
}
|
|
365
|
+
KOALA_INTEROP_2(OptionsArkTsConfig, KNativePointer, KNativePointer, KNativePointer)
|
|
366
|
+
|
|
367
|
+
KNativePointer impl_CreateCacheContextFromFile(KNativePointer configPtr, KStringPtr& source_file_namePtr, KNativePointer globalContextPtr, KBoolean isExternal) {
|
|
368
|
+
auto config = reinterpret_cast<es2panda_Config*>(configPtr);
|
|
369
|
+
auto globalContext = reinterpret_cast<es2panda_GlobalContext*>(globalContextPtr);
|
|
370
|
+
return GetImpl()->CreateCacheContextFromFile(config, getStringCopy(source_file_namePtr), globalContext, isExternal);
|
|
371
|
+
}
|
|
372
|
+
KOALA_INTEROP_4(CreateCacheContextFromFile, KNativePointer, KNativePointer, KStringPtr, KNativePointer, KBoolean)
|
|
373
|
+
|
|
374
|
+
KNativePointer impl_CreateGlobalContext(KNativePointer configPtr, KStringArray externalFileListPtr, KUInt fileNum, KBoolean LspUsage) {
|
|
375
|
+
auto config = reinterpret_cast<es2panda_Config*>(configPtr);
|
|
376
|
+
const int headerLen = 4;
|
|
377
|
+
const char** files = StageArena::allocArray<const char*>(fileNum);
|
|
378
|
+
uint8_t* filesPtr = (uint8_t*)externalFileListPtr;
|
|
379
|
+
std::size_t position = headerLen;
|
|
380
|
+
std::size_t strLen;
|
|
381
|
+
for (std::size_t i = 0; i < static_cast<std::size_t>(fileNum); ++i) {
|
|
382
|
+
strLen = unpackUInt(filesPtr + position);
|
|
383
|
+
position += headerLen;
|
|
384
|
+
files[i] = StageArena::strdup(std::string(reinterpret_cast<const char*>(filesPtr + position), strLen).c_str());
|
|
385
|
+
position += strLen;
|
|
386
|
+
}
|
|
387
|
+
return GetImpl()->CreateGlobalContext(config, files, fileNum, LspUsage);
|
|
388
|
+
}
|
|
389
|
+
KOALA_INTEROP_4(CreateGlobalContext, KNativePointer, KNativePointer, KStringArray, KUInt, KBoolean)
|
|
390
|
+
|
|
391
|
+
void impl_DestroyGlobalContext(KNativePointer globalContextPtr) {
|
|
392
|
+
auto globalContext = reinterpret_cast<es2panda_GlobalContext*>(globalContextPtr);
|
|
393
|
+
GetImpl()->DestroyGlobalContext(globalContext);
|
|
394
|
+
}
|
|
395
|
+
KOALA_INTEROP_V1(DestroyGlobalContext, KNativePointer)
|
|
396
|
+
|
|
397
|
+
// From koala-wrapper
|
|
398
|
+
// TODO check if some code should be generated
|
|
399
|
+
|
|
400
|
+
std::set<std::string> globalStructInfo;
|
|
401
|
+
std::mutex g_structMutex;
|
|
402
|
+
|
|
403
|
+
void impl_InsertGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr)
|
|
404
|
+
{
|
|
405
|
+
std::lock_guard<std::mutex> lock(g_structMutex);
|
|
406
|
+
globalStructInfo.insert(getStringCopy(instancePtr));
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
KOALA_INTEROP_V2(InsertGlobalStructInfo, KNativePointer, KStringPtr);
|
|
410
|
+
|
|
411
|
+
KBoolean impl_HasGlobalStructInfo(KNativePointer contextPtr, KStringPtr& instancePtr)
|
|
412
|
+
{
|
|
413
|
+
std::lock_guard<std::mutex> lock(g_structMutex);
|
|
414
|
+
return globalStructInfo.count(getStringCopy(instancePtr));
|
|
415
|
+
}
|
|
416
|
+
KOALA_INTEROP_2(HasGlobalStructInfo, KBoolean, KNativePointer, KStringPtr);
|
|
417
|
+
|
|
418
|
+
KNativePointer impl_ClassVariableDeclaration(KNativePointer context, KNativePointer classInstance)
|
|
419
|
+
{
|
|
420
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
421
|
+
const auto _classInstance = reinterpret_cast<es2panda_AstNode*>(classInstance);
|
|
422
|
+
auto _typedTsType = GetImpl()->TypedTsType(_context, _classInstance);
|
|
423
|
+
if (_typedTsType == nullptr) {
|
|
424
|
+
return nullptr;
|
|
425
|
+
}
|
|
426
|
+
const auto _instanceType = reinterpret_cast<es2panda_Type*>(_typedTsType);
|
|
427
|
+
auto _typeVar = GetImpl()->TypeVariable(_context, _instanceType);
|
|
428
|
+
if (_typeVar == nullptr) {
|
|
429
|
+
return nullptr;
|
|
430
|
+
}
|
|
431
|
+
const auto result = reinterpret_cast<es2panda_Declaration*>(GetImpl()->VariableDeclaration(_context, _typeVar));
|
|
432
|
+
const auto declNode = GetImpl()->DeclNode(_context, result);
|
|
433
|
+
return declNode;
|
|
434
|
+
}
|
|
435
|
+
KOALA_INTEROP_2(ClassVariableDeclaration, KNativePointer, KNativePointer, KNativePointer)
|
|
436
|
+
|
|
437
|
+
KBoolean impl_IsMethodDefinition(KNativePointer nodePtr)
|
|
438
|
+
{
|
|
439
|
+
auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
|
|
440
|
+
return GetImpl()->IsMethodDefinition(node);
|
|
441
|
+
}
|
|
442
|
+
KOALA_INTEROP_1(IsMethodDefinition, KBoolean, KNativePointer)
|
|
443
|
+
KNativePointer impl_TSInterfaceBodyBodyPtr(KNativePointer context, KNativePointer receiver)
|
|
444
|
+
{
|
|
445
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
446
|
+
const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
|
|
447
|
+
std::size_t length;
|
|
448
|
+
auto result = GetImpl()->TSInterfaceBodyBodyPtr(_context, _receiver, &length);
|
|
449
|
+
return StageArena::cloneVector(result, length);
|
|
450
|
+
}
|
|
451
|
+
KOALA_INTEROP_2(TSInterfaceBodyBodyPtr, KNativePointer, KNativePointer, KNativePointer);
|
|
452
|
+
|
|
453
|
+
KNativePointer impl_AnnotationDeclarationPropertiesPtrConst(KNativePointer context, KNativePointer receiver)
|
|
454
|
+
{
|
|
455
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
456
|
+
const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
|
|
457
|
+
std::size_t length;
|
|
458
|
+
auto result = GetImpl()->AnnotationDeclarationPropertiesPtrConst(_context, _receiver, &length);
|
|
459
|
+
return StageArena::cloneVector(result, length);
|
|
460
|
+
}
|
|
461
|
+
KOALA_INTEROP_2(AnnotationDeclarationPropertiesPtrConst, KNativePointer, KNativePointer, KNativePointer);
|
|
462
|
+
|
|
463
|
+
KNativePointer impl_SourceRangeStart(KNativePointer context, KNativePointer range)
|
|
464
|
+
{
|
|
465
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
466
|
+
const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
|
|
467
|
+
auto result = GetImpl()->SourceRangeStart(_context, _range);
|
|
468
|
+
return result;
|
|
469
|
+
}
|
|
470
|
+
KOALA_INTEROP_2(SourceRangeStart, KNativePointer, KNativePointer, KNativePointer)
|
|
471
|
+
|
|
472
|
+
KNativePointer impl_SourceRangeEnd(KNativePointer context, KNativePointer range) {
|
|
473
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
474
|
+
const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
|
|
475
|
+
auto result = GetImpl()->SourceRangeEnd(_context, _range);
|
|
476
|
+
return result;
|
|
477
|
+
}
|
|
478
|
+
KOALA_INTEROP_2(SourceRangeEnd, KNativePointer, KNativePointer, KNativePointer)
|
|
479
|
+
|
|
480
|
+
KBoolean impl_IsArrayExpression(KNativePointer nodePtr)
|
|
481
|
+
{
|
|
482
|
+
auto node = reinterpret_cast<es2panda_AstNode*>(nodePtr);
|
|
483
|
+
return GetImpl()->IsArrayExpression(node);
|
|
484
|
+
}
|
|
485
|
+
KOALA_INTEROP_1(IsArrayExpression, KBoolean, KNativePointer)
|
|
486
|
+
|
|
487
|
+
KNativePointer impl_ETSParserGetGlobalProgramAbsName(KNativePointer contextPtr)
|
|
488
|
+
{
|
|
489
|
+
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
490
|
+
auto result = GetImpl()->ETSParserGetGlobalProgramAbsName(context);
|
|
491
|
+
return new std::string(result);
|
|
492
|
+
}
|
|
493
|
+
KOALA_INTEROP_1(ETSParserGetGlobalProgramAbsName, KNativePointer, KNativePointer)
|
|
494
|
+
|
|
495
|
+
KNativePointer impl_CreateDiagnosticKind(KNativePointer context, KStringPtr& message, KInt type)
|
|
496
|
+
{
|
|
497
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
498
|
+
const auto _message = getStringCopy(message);
|
|
499
|
+
const auto _type = static_cast<es2panda_PluginDiagnosticType>(type);
|
|
500
|
+
return const_cast<es2panda_DiagnosticKind *>(GetImpl()->CreateDiagnosticKind(_context, _message, _type));
|
|
501
|
+
}
|
|
502
|
+
KOALA_INTEROP_3(CreateDiagnosticKind, KNativePointer, KNativePointer, KStringPtr, KInt)
|
|
503
|
+
|
|
504
|
+
KNativePointer impl_CreateDiagnosticInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr, KInt argc)
|
|
505
|
+
{
|
|
506
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
507
|
+
const auto _kind = reinterpret_cast<es2panda_DiagnosticKind*>(kind);
|
|
508
|
+
const std::size_t headerLen = 4;
|
|
509
|
+
const char** _args = new const char*[argc];
|
|
510
|
+
std::size_t position = headerLen;
|
|
511
|
+
std::size_t strLen;
|
|
512
|
+
for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
|
|
513
|
+
strLen = unpackUInt(argsPtr + position);
|
|
514
|
+
position += headerLen;
|
|
515
|
+
_args[i] = strdup(std::string(reinterpret_cast<const char*>(argsPtr + position), strLen).c_str());
|
|
516
|
+
position += strLen;
|
|
517
|
+
}
|
|
518
|
+
return GetImpl()->CreateDiagnosticInfo(_context, _kind, _args, argc);
|
|
519
|
+
}
|
|
520
|
+
KOALA_INTEROP_4(CreateDiagnosticInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt)
|
|
521
|
+
|
|
522
|
+
KNativePointer impl_CreateSuggestionInfo(KNativePointer context, KNativePointer kind, KStringArray argsPtr,
|
|
523
|
+
KInt argc, KStringPtr& substitutionCode)
|
|
524
|
+
{
|
|
525
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
526
|
+
const auto _kind = reinterpret_cast<es2panda_DiagnosticKind *>(kind);
|
|
527
|
+
const std::size_t headerLen = 4;
|
|
528
|
+
const char** _args = new const char*[argc];
|
|
529
|
+
std::size_t position = headerLen;
|
|
530
|
+
std::size_t strLen;
|
|
531
|
+
for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
|
|
532
|
+
strLen = unpackUInt(argsPtr + position);
|
|
533
|
+
position += headerLen;
|
|
534
|
+
_args[i] = strdup(std::string(reinterpret_cast<const char*>(argsPtr + position), strLen).c_str());
|
|
535
|
+
position += strLen;
|
|
536
|
+
}
|
|
537
|
+
const auto _substitutionCode = getStringCopy(substitutionCode);
|
|
538
|
+
return GetImpl()->CreateSuggestionInfo(_context, _kind, _args, argc, _substitutionCode);
|
|
539
|
+
}
|
|
540
|
+
KOALA_INTEROP_5(CreateSuggestionInfo, KNativePointer, KNativePointer, KNativePointer, KStringArray, KInt, KStringPtr)
|
|
541
|
+
|
|
542
|
+
void impl_LogDiagnostic(KNativePointer context, KNativePointer kind, KStringArray argvPtr,
|
|
543
|
+
KInt argc, KNativePointer pos)
|
|
544
|
+
{
|
|
545
|
+
auto&& _context_ = reinterpret_cast<es2panda_Context *>(context);
|
|
546
|
+
auto&& _kind_ = reinterpret_cast<es2panda_DiagnosticKind *>(kind);
|
|
547
|
+
auto&& _pos_ = reinterpret_cast<es2panda_SourcePosition *>(pos);
|
|
548
|
+
const std::size_t headerLen = 4;
|
|
549
|
+
const char** argv = new const char*[argc];
|
|
550
|
+
std::size_t position = headerLen;
|
|
551
|
+
std::size_t strLen;
|
|
552
|
+
for (std::size_t i = 0; i < static_cast<std::size_t>(argc); ++i) {
|
|
553
|
+
strLen = unpackUInt(argvPtr + position);
|
|
554
|
+
position += headerLen;
|
|
555
|
+
argv[i] = strdup(std::string(reinterpret_cast<const char*>(argvPtr + position), strLen).c_str());
|
|
556
|
+
position += strLen;
|
|
557
|
+
}
|
|
558
|
+
GetImpl()->LogDiagnostic(_context_, _kind_, argv, argc, _pos_);
|
|
559
|
+
}
|
|
560
|
+
KOALA_INTEROP_V5(LogDiagnostic, KNativePointer, KNativePointer, KStringArray, KInt, KNativePointer)
|
|
561
|
+
|
|
562
|
+
void impl_LogDiagnosticWithSuggestion(KNativePointer context, KNativePointer diagnosticInfo,
|
|
563
|
+
KNativePointer suggestionInfo, KNativePointer range)
|
|
564
|
+
{
|
|
565
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
566
|
+
const auto _diagnosticInfo = reinterpret_cast<es2panda_DiagnosticInfo*>(diagnosticInfo);
|
|
567
|
+
const auto _suggestionInfo = reinterpret_cast<es2panda_SuggestionInfo*>(suggestionInfo);
|
|
568
|
+
const auto _range = reinterpret_cast<es2panda_SourceRange*>(range);
|
|
569
|
+
GetImpl()->LogDiagnosticWithSuggestion(_context, _diagnosticInfo, _suggestionInfo, _range);
|
|
570
|
+
}
|
|
571
|
+
KOALA_INTEROP_V4(LogDiagnosticWithSuggestion, KNativePointer, KNativePointer, KNativePointer, KNativePointer)
|
|
572
|
+
|
|
573
|
+
KInt impl_GenerateStaticDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputPath)
|
|
574
|
+
{
|
|
575
|
+
auto context = reinterpret_cast<es2panda_Context *>(contextPtr);
|
|
576
|
+
return GetImpl()->GenerateStaticDeclarationsFromContext(context, outputPath.data());
|
|
577
|
+
}
|
|
578
|
+
KOALA_INTEROP_2(GenerateStaticDeclarationsFromContext, KInt, KNativePointer, KStringPtr)
|
|
579
|
+
|
|
580
|
+
KNativePointer impl_AnnotationUsageIrPropertiesPtrConst(KNativePointer context, KNativePointer receiver)
|
|
581
|
+
{
|
|
582
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
583
|
+
const auto _receiver = reinterpret_cast<es2panda_AstNode*>(receiver);
|
|
584
|
+
std::size_t length;
|
|
585
|
+
auto result = GetImpl()->AnnotationUsageIrPropertiesPtrConst(_context, _receiver, &length);
|
|
586
|
+
return StageArena::cloneVector(result, length);
|
|
587
|
+
}
|
|
588
|
+
KOALA_INTEROP_2(AnnotationUsageIrPropertiesPtrConst, KNativePointer, KNativePointer, KNativePointer);
|
|
589
|
+
|
|
590
|
+
KInt impl_GenerateTsDeclarationsFromContext(KNativePointer contextPtr, KStringPtr &outputDeclEts, KStringPtr &outputEts,
|
|
591
|
+
KBoolean exportAll, KBoolean isolated)
|
|
592
|
+
{
|
|
593
|
+
auto context = reinterpret_cast<es2panda_Context *>(contextPtr);
|
|
594
|
+
return GetImpl()->GenerateTsDeclarationsFromContext(context, outputDeclEts.data(), outputEts.data(), exportAll, isolated );
|
|
595
|
+
}
|
|
596
|
+
KOALA_INTEROP_5(GenerateTsDeclarationsFromContext, KInt, KNativePointer, KStringPtr, KStringPtr, KBoolean, KBoolean)
|