@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
|
@@ -18,20 +18,22 @@
|
|
|
18
18
|
|
|
19
19
|
using std::string, std::cout, std::endl, std::vector;
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
es2panda_Impl *es2pandaImplementation = nullptr;
|
|
23
22
|
static thread_local StageArena currentArena;
|
|
24
23
|
|
|
25
|
-
StageArena* StageArena::instance()
|
|
24
|
+
StageArena* StageArena::instance()
|
|
25
|
+
{
|
|
26
26
|
return ¤tArena;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
void StageArena::add(void* pointer)
|
|
29
|
+
void StageArena::add(void* pointer)
|
|
30
|
+
{
|
|
30
31
|
if (pointer)
|
|
31
32
|
allocated.push_back(pointer);
|
|
32
33
|
}
|
|
33
34
|
|
|
34
|
-
void StageArena::cleanup()
|
|
35
|
+
void StageArena::cleanup()
|
|
36
|
+
{
|
|
35
37
|
if (totalSize > 0 && false)
|
|
36
38
|
printf("cleanup %d objects %d bytes\n", (int)allocated.size(), (int)totalSize);
|
|
37
39
|
for (auto it : allocated) {
|
|
@@ -41,15 +43,18 @@ void StageArena::cleanup() {
|
|
|
41
43
|
allocated.clear();
|
|
42
44
|
}
|
|
43
45
|
|
|
44
|
-
StageArena::StageArena()
|
|
46
|
+
StageArena::StageArena()
|
|
47
|
+
{
|
|
45
48
|
totalSize = 0;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
StageArena::~StageArena()
|
|
51
|
+
StageArena::~StageArena()
|
|
52
|
+
{
|
|
49
53
|
cleanup();
|
|
50
54
|
}
|
|
51
55
|
|
|
52
|
-
char* StageArena::strdup(const char* string)
|
|
56
|
+
char* StageArena::strdup(const char* string)
|
|
57
|
+
{
|
|
53
58
|
auto* arena = StageArena::instance();
|
|
54
59
|
auto size = strlen(string) + 1;
|
|
55
60
|
char* memory = (char*)arena->alloc(size);
|
|
@@ -57,7 +62,8 @@ char* StageArena::strdup(const char* string) {
|
|
|
57
62
|
return memory;
|
|
58
63
|
}
|
|
59
64
|
|
|
60
|
-
void* StageArena::alloc(size_t size)
|
|
65
|
+
void* StageArena::alloc(size_t size)
|
|
66
|
+
{
|
|
61
67
|
void* result = malloc(size);
|
|
62
68
|
totalSize += size;
|
|
63
69
|
add(result);
|
|
@@ -67,11 +73,11 @@ void* StageArena::alloc(size_t size) {
|
|
|
67
73
|
#ifdef KOALA_WINDOWS
|
|
68
74
|
#include <windows.h>
|
|
69
75
|
#define PLUGIN_DIR "windows_host_tools"
|
|
70
|
-
#define LIB_PREFIX ""
|
|
76
|
+
#define LIB_PREFIX "lib"
|
|
71
77
|
#define LIB_SUFFIX ".dll"
|
|
72
78
|
#endif
|
|
73
79
|
|
|
74
|
-
#
|
|
80
|
+
#if defined(KOALA_LINUX) || defined(KOALA_MACOS)
|
|
75
81
|
#include <dlfcn.h>
|
|
76
82
|
|
|
77
83
|
#ifdef __x86_64__
|
|
@@ -87,23 +93,89 @@ void* StageArena::alloc(size_t size) {
|
|
|
87
93
|
const char* DEFAULT_SDK_PATH = "../../../incremental/tools/panda/node_modules/@panda/sdk" ;
|
|
88
94
|
const char* NAME = LIB_PREFIX "es2panda-public" LIB_SUFFIX;
|
|
89
95
|
|
|
96
|
+
const char* LIB_ES2PANDA_PUBLIC = LIB_PREFIX "es2panda_public" LIB_SUFFIX;
|
|
97
|
+
const char* IS_UI_FLAG = "IS_UI_FLAG";
|
|
98
|
+
const char* NOT_UI_FLAG = "NOT_UI_FLAG";
|
|
99
|
+
const string MODULE_SUFFIX = ".d.ets";
|
|
100
|
+
const string ARKUI = "arkui";
|
|
101
|
+
|
|
102
|
+
#ifdef KOALA_WINDOWS
|
|
103
|
+
const char *SEPARATOR = "\\";
|
|
104
|
+
#else
|
|
105
|
+
const char *SEPARATOR = "/";
|
|
106
|
+
#endif
|
|
107
|
+
const char *LIB_DIR = "lib";
|
|
108
|
+
|
|
109
|
+
static std::string ES2PANDA_LIB_PATH = "";
|
|
110
|
+
|
|
111
|
+
std::string joinPath(vector<string> &paths)
|
|
112
|
+
{
|
|
113
|
+
std::string res;
|
|
114
|
+
for (std::size_t i = 0; i < paths.size(); ++i) {
|
|
115
|
+
if (i == 0) {
|
|
116
|
+
res = paths[i];
|
|
117
|
+
} else {
|
|
118
|
+
res += SEPARATOR + paths[i];
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return res;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
void impl_SetUpSoPath(KStringPtr &soPath)
|
|
125
|
+
{
|
|
126
|
+
ES2PANDA_LIB_PATH = std::string(soPath.c_str());
|
|
127
|
+
}
|
|
128
|
+
KOALA_INTEROP_V1(SetUpSoPath, KStringPtr);
|
|
129
|
+
|
|
130
|
+
// todo: simplify this
|
|
90
131
|
void* FindLibrary() {
|
|
132
|
+
void *res = NULL;
|
|
133
|
+
std::vector<std::string> pathArray;
|
|
134
|
+
|
|
135
|
+
// find by SetUpSoPath
|
|
136
|
+
if (!ES2PANDA_LIB_PATH.empty()) {
|
|
137
|
+
pathArray = {ES2PANDA_LIB_PATH, LIB_DIR, LIB_ES2PANDA_PUBLIC};
|
|
138
|
+
res = loadLibrary(joinPath(pathArray));
|
|
139
|
+
if (res) {
|
|
140
|
+
return res;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// find by set PANDA_SDK_PATH
|
|
91
145
|
char* envValue = getenv("PANDA_SDK_PATH");
|
|
92
|
-
if (
|
|
93
|
-
|
|
146
|
+
if (envValue) {
|
|
147
|
+
pathArray = {envValue, PLUGIN_DIR, LIB_DIR, NAME};
|
|
148
|
+
res = loadLibrary(joinPath(pathArray));
|
|
149
|
+
if (res) {
|
|
150
|
+
return res;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// find by set LD_LIBRARY_PATH
|
|
155
|
+
pathArray = {LIB_ES2PANDA_PUBLIC};
|
|
156
|
+
res = loadLibrary(joinPath(pathArray));
|
|
157
|
+
if (res) {
|
|
158
|
+
return res;
|
|
94
159
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
160
|
+
|
|
161
|
+
// find by DEFAULT_SDK_PATH
|
|
162
|
+
pathArray = {DEFAULT_SDK_PATH, PLUGIN_DIR, LIB_DIR, NAME};
|
|
163
|
+
res = loadLibrary(joinPath(pathArray));
|
|
164
|
+
if (res) {
|
|
165
|
+
return res;
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
return NULL;
|
|
98
169
|
}
|
|
99
170
|
|
|
100
|
-
es2panda_Impl *
|
|
101
|
-
|
|
102
|
-
|
|
171
|
+
es2panda_Impl *GetImplSlow()
|
|
172
|
+
{
|
|
173
|
+
if (es2pandaImplementation) {
|
|
174
|
+
return es2pandaImplementation;
|
|
103
175
|
}
|
|
104
176
|
auto library = FindLibrary();
|
|
105
177
|
if (!library) {
|
|
106
|
-
printf("No library (es2panda_lib.cc)");
|
|
178
|
+
printf("No library (es2panda_lib.cc)");
|
|
107
179
|
abort();
|
|
108
180
|
}
|
|
109
181
|
auto symbol = findSymbol(library, "es2panda_GetImpl");
|
|
@@ -111,8 +183,8 @@ es2panda_Impl *GetImpl() {
|
|
|
111
183
|
printf("no entry point");
|
|
112
184
|
abort();
|
|
113
185
|
}
|
|
114
|
-
|
|
115
|
-
return
|
|
186
|
+
es2pandaImplementation = reinterpret_cast<es2panda_Impl *(*)(int)>(symbol)(ES2PANDA_LIB_VERSION);
|
|
187
|
+
return es2pandaImplementation;
|
|
116
188
|
}
|
|
117
189
|
|
|
118
190
|
es2panda_ContextState intToState(KInt state)
|
|
@@ -120,31 +192,16 @@ es2panda_ContextState intToState(KInt state)
|
|
|
120
192
|
return es2panda_ContextState(state);
|
|
121
193
|
}
|
|
122
194
|
|
|
123
|
-
string getString(KStringPtr ptr)
|
|
195
|
+
string getString(KStringPtr ptr)
|
|
196
|
+
{
|
|
124
197
|
return ptr.data();
|
|
125
198
|
}
|
|
126
199
|
|
|
127
|
-
char* getStringCopy(KStringPtr& ptr)
|
|
200
|
+
char* getStringCopy(KStringPtr& ptr)
|
|
201
|
+
{
|
|
128
202
|
return StageArena::strdup(ptr.c_str() ? ptr.c_str() : "");
|
|
129
203
|
}
|
|
130
204
|
|
|
131
|
-
inline KUInt unpackUInt(const KByte* bytes) {
|
|
132
|
-
const KUInt BYTE_0 = 0;
|
|
133
|
-
const KUInt BYTE_1 = 1;
|
|
134
|
-
const KUInt BYTE_2 = 2;
|
|
135
|
-
const KUInt BYTE_3 = 3;
|
|
136
|
-
|
|
137
|
-
const KUInt BYTE_1_SHIFT = 8;
|
|
138
|
-
const KUInt BYTE_2_SHIFT = 16;
|
|
139
|
-
const KUInt BYTE_3_SHIFT = 24;
|
|
140
|
-
return (
|
|
141
|
-
bytes[BYTE_0]
|
|
142
|
-
| (bytes[BYTE_1] << BYTE_1_SHIFT)
|
|
143
|
-
| (bytes[BYTE_2] << BYTE_2_SHIFT)
|
|
144
|
-
| (bytes[BYTE_3] << BYTE_3_SHIFT)
|
|
145
|
-
);
|
|
146
|
-
}
|
|
147
|
-
|
|
148
205
|
KNativePointer impl_CreateConfig(KInt argc, KStringArray argvPtr) {
|
|
149
206
|
const std::size_t headerLen = 4;
|
|
150
207
|
|
|
@@ -168,13 +225,12 @@ KNativePointer impl_DestroyConfig(KNativePointer configPtr) {
|
|
|
168
225
|
}
|
|
169
226
|
KOALA_INTEROP_1(DestroyConfig, KNativePointer, KNativePointer)
|
|
170
227
|
|
|
171
|
-
|
|
228
|
+
void impl_DestroyContext(KNativePointer contextPtr) {
|
|
172
229
|
auto context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
173
230
|
GetImpl()->DestroyContext(context);
|
|
174
231
|
StageArena::instance()->cleanup();
|
|
175
|
-
return nullptr;
|
|
176
232
|
}
|
|
177
|
-
|
|
233
|
+
KOALA_INTEROP_V1(DestroyContext, KNativePointer)
|
|
178
234
|
|
|
179
235
|
KNativePointer impl_UpdateCallExpression(
|
|
180
236
|
KNativePointer contextPtr,
|
|
@@ -256,7 +312,8 @@ KOALA_INTEROP_2(AstNodeUpdateChildren, KNativePointer, KNativePointer, KNativePo
|
|
|
256
312
|
|
|
257
313
|
std::vector<void*> cachedChildren;
|
|
258
314
|
|
|
259
|
-
static void visitChild(es2panda_AstNode *node)
|
|
315
|
+
static void visitChild(es2panda_AstNode *node)
|
|
316
|
+
{
|
|
260
317
|
cachedChildren.emplace_back(node);
|
|
261
318
|
}
|
|
262
319
|
|
|
@@ -277,3 +334,67 @@ KOALA_INTEROP_2(AstNodeChildren, KNativePointer, KNativePointer, KNativePointer)
|
|
|
277
334
|
/*
|
|
278
335
|
-----------------------------------------------------------------------------------------------------------------------------
|
|
279
336
|
*/
|
|
337
|
+
|
|
338
|
+
// From koala-wrapper
|
|
339
|
+
// TODO check if some code should be generated
|
|
340
|
+
|
|
341
|
+
void impl_MemInitialize()
|
|
342
|
+
{
|
|
343
|
+
GetImpl()->MemInitialize();
|
|
344
|
+
}
|
|
345
|
+
KOALA_INTEROP_V0(MemInitialize)
|
|
346
|
+
|
|
347
|
+
void impl_MemFinalize()
|
|
348
|
+
{
|
|
349
|
+
GetImpl()->MemFinalize();
|
|
350
|
+
}
|
|
351
|
+
KOALA_INTEROP_V0(MemFinalize)
|
|
352
|
+
|
|
353
|
+
static bool isUIHeaderFile(es2panda_Context* context, es2panda_Program* program)
|
|
354
|
+
{
|
|
355
|
+
auto result = GetImpl()->ProgramFileNameWithExtensionConst(context, program);
|
|
356
|
+
string fileNameWithExtension(result);
|
|
357
|
+
result = GetImpl()->ProgramModuleNameConst(context, program);
|
|
358
|
+
string moduleName(result);
|
|
359
|
+
|
|
360
|
+
return fileNameWithExtension.length() >= MODULE_SUFFIX.length()
|
|
361
|
+
&& fileNameWithExtension.substr(fileNameWithExtension.length() - MODULE_SUFFIX.length()) == MODULE_SUFFIX
|
|
362
|
+
&& moduleName.find(ARKUI) != std::string::npos;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
KBoolean impl_ProgramCanSkipPhases(KNativePointer context, KNativePointer program)
|
|
366
|
+
{
|
|
367
|
+
KStringPtr isUiFlag(IS_UI_FLAG);
|
|
368
|
+
KStringPtr notUiFlag(NOT_UI_FLAG);
|
|
369
|
+
const auto _context = reinterpret_cast<es2panda_Context*>(context);
|
|
370
|
+
const auto _program = reinterpret_cast<es2panda_Program*>(program);
|
|
371
|
+
if (isUIHeaderFile(_context, _program)) {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
std::size_t sourceLen;
|
|
375
|
+
const auto externalSources = reinterpret_cast<es2panda_ExternalSource **>
|
|
376
|
+
(GetImpl()->ProgramExternalSources(_context, _program, &sourceLen));
|
|
377
|
+
for (std::size_t i = 0; i < sourceLen; ++i) {
|
|
378
|
+
std::size_t programLen;
|
|
379
|
+
auto programs = GetImpl()->ExternalSourcePrograms(externalSources[i], &programLen);
|
|
380
|
+
for (std::size_t j = 0; j < programLen; ++j) {
|
|
381
|
+
if (isUIHeaderFile(_context, programs[j])) {
|
|
382
|
+
return false;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
return true;
|
|
387
|
+
}
|
|
388
|
+
KOALA_INTEROP_2(ProgramCanSkipPhases, KBoolean, KNativePointer, KNativePointer)
|
|
389
|
+
|
|
390
|
+
KNativePointer impl_AstNodeProgram(KNativePointer contextPtr, KNativePointer instancePtr)
|
|
391
|
+
{
|
|
392
|
+
auto _context = reinterpret_cast<es2panda_Context*>(contextPtr);
|
|
393
|
+
auto _receiver = reinterpret_cast<es2panda_AstNode*>(instancePtr);
|
|
394
|
+
|
|
395
|
+
if (GetImpl()->AstNodeIsProgramConst(_context, _receiver)) {
|
|
396
|
+
return GetImpl()->ETSModuleProgram(_context, _receiver);
|
|
397
|
+
}
|
|
398
|
+
return impl_AstNodeProgram(_context, GetImpl()->AstNodeParent(_context, _receiver));
|
|
399
|
+
}
|
|
400
|
+
KOALA_INTEROP_2(AstNodeProgram, KNativePointer, KNativePointer, KNativePointer)
|
|
@@ -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
|
#ifndef COMMON_H
|
|
2
17
|
#define COMMON_H
|
|
3
18
|
|
|
@@ -26,13 +41,37 @@
|
|
|
26
41
|
|
|
27
42
|
using std::string, std::cout, std::endl, std::vector;
|
|
28
43
|
|
|
29
|
-
es2panda_Impl *
|
|
44
|
+
extern es2panda_Impl *es2pandaImplementation;
|
|
45
|
+
|
|
46
|
+
es2panda_Impl *GetImplSlow();
|
|
47
|
+
inline es2panda_Impl *GetImpl() {
|
|
48
|
+
if (es2pandaImplementation) {
|
|
49
|
+
return es2pandaImplementation;
|
|
50
|
+
}
|
|
51
|
+
return GetImplSlow();
|
|
52
|
+
}
|
|
30
53
|
|
|
31
54
|
string getString(KStringPtr ptr);
|
|
32
55
|
|
|
33
56
|
char* getStringCopy(KStringPtr& ptr);
|
|
34
57
|
|
|
35
|
-
inline KUInt unpackUInt(const KByte* bytes)
|
|
58
|
+
inline KUInt unpackUInt(const KByte* bytes)
|
|
59
|
+
{
|
|
60
|
+
const KUInt BYTE_0 = 0;
|
|
61
|
+
const KUInt BYTE_1 = 1;
|
|
62
|
+
const KUInt BYTE_2 = 2;
|
|
63
|
+
const KUInt BYTE_3 = 3;
|
|
64
|
+
|
|
65
|
+
const KUInt BYTE_1_SHIFT = 8;
|
|
66
|
+
const KUInt BYTE_2_SHIFT = 16;
|
|
67
|
+
const KUInt BYTE_3_SHIFT = 24;
|
|
68
|
+
return (
|
|
69
|
+
bytes[BYTE_0]
|
|
70
|
+
| (bytes[BYTE_1] << BYTE_1_SHIFT)
|
|
71
|
+
| (bytes[BYTE_2] << BYTE_2_SHIFT)
|
|
72
|
+
| (bytes[BYTE_3] << BYTE_3_SHIFT)
|
|
73
|
+
);
|
|
74
|
+
}
|
|
36
75
|
|
|
37
76
|
es2panda_ContextState intToState(KInt state);
|
|
38
77
|
|
|
@@ -44,38 +83,44 @@ class StageArena {
|
|
|
44
83
|
~StageArena();
|
|
45
84
|
static StageArena* instance();
|
|
46
85
|
template <typename T>
|
|
47
|
-
static T* alloc()
|
|
86
|
+
static T* alloc()
|
|
87
|
+
{
|
|
48
88
|
auto* arena = StageArena::instance();
|
|
49
89
|
void* memory = arena->alloc(sizeof(T));
|
|
50
90
|
return new (memory) T();
|
|
51
91
|
}
|
|
52
92
|
template <class T, class T1>
|
|
53
|
-
static T* alloc(T1 arg1)
|
|
93
|
+
static T* alloc(T1 arg1)
|
|
94
|
+
{
|
|
54
95
|
auto* arena = StageArena::instance();
|
|
55
96
|
void* memory = arena->alloc(sizeof(T));
|
|
56
97
|
return new (memory) T(std::forward(arg1));
|
|
57
98
|
}
|
|
58
99
|
template <class T, class T1, class T2>
|
|
59
|
-
static T* alloc(T1 arg1, T2 arg2)
|
|
100
|
+
static T* alloc(T1 arg1, T2 arg2)
|
|
101
|
+
{
|
|
60
102
|
auto* arena = StageArena::instance();
|
|
61
103
|
void* memory = arena->alloc(sizeof(T));
|
|
62
104
|
return new (memory) T(arg1, arg2);
|
|
63
105
|
}
|
|
64
106
|
template <typename T>
|
|
65
|
-
static T* allocArray(size_t count)
|
|
107
|
+
static T* allocArray(size_t count)
|
|
108
|
+
{
|
|
66
109
|
auto* arena = StageArena::instance();
|
|
67
110
|
// align?
|
|
68
111
|
void* memory = arena->alloc(sizeof(T) * count);
|
|
69
112
|
return new (memory) T();
|
|
70
113
|
}
|
|
71
114
|
template <class T>
|
|
72
|
-
static T* clone(const T& arg)
|
|
115
|
+
static T* clone(const T& arg)
|
|
116
|
+
{
|
|
73
117
|
auto* arena = StageArena::instance();
|
|
74
118
|
void* memory = arena->alloc(sizeof(T));
|
|
75
119
|
return new (memory) T(arg);
|
|
76
120
|
}
|
|
77
121
|
template <class T>
|
|
78
|
-
static std::vector<const void*>* cloneVector(const T* arg, size_t count)
|
|
122
|
+
static std::vector<const void*>* cloneVector(const T* arg, size_t count)
|
|
123
|
+
{
|
|
79
124
|
return alloc<std::vector<const void*>, const T*, const T*>(arg, arg + count);
|
|
80
125
|
}
|
|
81
126
|
void* alloc(size_t size);
|