@idlizer/arktscgen 2.1.9-arktscgen-8 → 2.1.10-arktscgen-2
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 +141 -3
- package/build/libarkts-copy/native/mingw.cross +13 -0
- package/build/libarkts-copy/native/src/bridges.cc +101 -232
- package/build/libarkts-copy/native/src/common.cc +55 -10
- package/build/libarkts-copy/native/src/common.h +1 -0
- package/build/libarkts-copy/native/src/generated/bridges.cc +1669 -44
- package/build/libarkts-copy/package.json +14 -17
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +39 -50
- package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +1 -1
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +6 -5
- package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +5 -2
- package/build/libarkts-copy/src/arkts-api/node-cache.ts +4 -0
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +7 -6
- package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +3 -1
- package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +25 -6
- package/build/libarkts-copy/src/{wrapper-compat/arkts-api/peers/ImportPathManager.ts → arkts-api/node-utilities/OpaqueTypeNode.ts} +8 -17
- package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +11 -21
- package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +7 -0
- package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +10 -8
- package/build/libarkts-copy/src/arkts-api/peers/Config.ts +6 -0
- package/build/libarkts-copy/src/arkts-api/peers/Context.ts +3 -15
- package/build/libarkts-copy/src/arkts-api/peers/ExternalSource.ts +4 -0
- package/build/libarkts-copy/src/arkts-api/plugins.ts +3 -4
- package/build/libarkts-copy/src/arkts-api/static/global.ts +29 -1
- package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +68 -5
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +3 -3
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +74 -42
- package/build/libarkts-copy/src/arkts-api/visitor.ts +965 -364
- package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +98 -91
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +610 -13
- package/build/libarkts-copy/src/generated/factory.ts +2 -2
- package/build/libarkts-copy/src/generated/index.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +4 -0
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/AstDumper.ts +3 -0
- package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +7 -8
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +9 -8
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +15 -8
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +7 -8
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +7 -8
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +3 -4
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +9 -10
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +9 -10
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/Expression.ts +7 -2
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +4 -5
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +3 -0
- package/build/libarkts-copy/src/generated/peers/Identifier.ts +7 -8
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/Literal.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +5 -10
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +10 -9
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/Program.ts +2 -0
- package/build/libarkts-copy/src/generated/peers/Property.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +19 -6
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +6 -0
- package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +3 -0
- package/build/libarkts-copy/src/generated/peers/Statement.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/TypeNode.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +3 -2
- package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +3 -0
- package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +6 -7
- package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +5 -6
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +5 -6
- package/build/libarkts-copy/src/index.ts +2 -0
- package/build/libarkts-copy/src/plugin-utils.ts +21 -4
- package/build/libarkts-copy/src/reexport-for-generated.ts +11 -0
- package/build/libarkts-copy/src/tracer.ts +172 -0
- package/lib/index.js +1523 -611
- package/package.json +2 -2
- package/build/libarkts-copy/src/arkts-api/peers/SourcePosition.ts +0 -38
- package/build/libarkts-copy/src/generated/peers/FunctionDecl.ts +0 -45
- package/build/libarkts-copy/src/generated/peers/InterfaceDecl.ts +0 -45
- package/build/libarkts-copy/src/wrapper-compat/README.md +0 -20
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/class-by-peer.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeFactory.ts +0 -454
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/factory/nodeTests.ts +0 -99
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/index.ts +0 -87
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrayExpression.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ArrowFunctionExpression.ts +0 -35
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/AssignmentExpression.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/BlockStatement.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/CallExpression.ts +0 -45
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDeclaration.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassDefinition.ts +0 -73
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ClassProperty.ts +0 -51
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSFunctionType.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSImportDeclaration.ts +0 -39
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ETSParameterExpression.ts +0 -43
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ExpressionStatement.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionDeclaration.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/FunctionExpression.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/IfStatement.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MemberExpression.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/MethodDefinition.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/NumberLiteral.ts +0 -30
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ObjectExpression.ts +0 -37
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/Property.ts +0 -27
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/ScriptFunction.ts +0 -46
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/StructDeclaration.ts +0 -28
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSInterfaceDeclaration.ts +0 -47
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeAliasDeclaration.ts +0 -40
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TSTypeParameter.ts +0 -36
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/TryStatement.ts +0 -41
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclaration.ts +0 -42
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/node-utilities/VariableDeclarator.ts +0 -39
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/AstNode.ts +0 -26
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Diagnostic.ts +0 -39
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticInfo.ts +0 -33
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/DiagnosticKind.ts +0 -33
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/Program.ts +0 -105
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SourceRange.ts +0 -38
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/peers/SuggestionInfo.ts +0 -33
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/static/global.ts +0 -16
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/to-be-generated/MemberExpression.ts +0 -108
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/types.ts +0 -906
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/nativePtrDecoder.ts +0 -69
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/performance.ts +0 -190
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/private.ts +0 -198
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/utilities/public.ts +0 -325
- package/build/libarkts-copy/src/wrapper-compat/arkts-api/visitor.ts +0 -421
- package/build/libarkts-copy/src/wrapper-compat/index.ts +0 -20
|
@@ -16,13 +16,12 @@
|
|
|
16
16
|
import { Es2pandaContextState } from "../generated/Es2pandaEnums"
|
|
17
17
|
import { Program } from "../generated"
|
|
18
18
|
import { ExternalSource } from "./peers/ExternalSource"
|
|
19
|
-
import { programGetExternalSources } from "./node-utilities/Program"
|
|
20
19
|
import { KNativePointer } from "@koalaui/interop"
|
|
21
20
|
import { global } from "./static/global"
|
|
22
21
|
import { RunTransformerHooks } from "../plugin-utils"
|
|
23
22
|
|
|
24
23
|
export interface CompilationOptions {
|
|
25
|
-
readonly
|
|
24
|
+
readonly isProgramForCodegeneration: boolean,
|
|
26
25
|
readonly state: Es2pandaContextState,
|
|
27
26
|
}
|
|
28
27
|
|
|
@@ -49,10 +48,10 @@ export function defaultFilter(name: string) {
|
|
|
49
48
|
return true
|
|
50
49
|
}
|
|
51
50
|
|
|
52
|
-
export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter
|
|
51
|
+
export function listPrograms(program: Program, filter: (name: string) => boolean = defaultFilter): Program[] {
|
|
53
52
|
return [
|
|
54
53
|
program,
|
|
55
|
-
...
|
|
54
|
+
...program.getExternalSources().flatMap((it: ExternalSource) => {
|
|
56
55
|
if (filter(it.getName())) {
|
|
57
56
|
return it.programs
|
|
58
57
|
}
|
|
@@ -21,15 +21,34 @@ import { initInterop, InteropNativeModule } from "../../InteropNativeModule"
|
|
|
21
21
|
import { Context } from "../peers/Context"
|
|
22
22
|
import { Profiler } from "./profiler"
|
|
23
23
|
import { ArkTsConfig } from "../../generated"
|
|
24
|
+
import { Config } from '../peers/Config';
|
|
25
|
+
|
|
26
|
+
export class UpdateTracker {
|
|
27
|
+
stack: boolean[] = []
|
|
28
|
+
|
|
29
|
+
push() {
|
|
30
|
+
this.stack.push(false)
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
update() {
|
|
34
|
+
this.stack[this.stack.length - 1] = true
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
check() {
|
|
38
|
+
return this.stack.pop()
|
|
39
|
+
}
|
|
40
|
+
}
|
|
24
41
|
|
|
25
42
|
export class global {
|
|
26
43
|
public static filePath: string = "./plugins/input/main.ets"
|
|
27
44
|
|
|
28
45
|
public static arktsconfig?: ArkTsConfig
|
|
46
|
+
public static configObj?: Config;
|
|
29
47
|
|
|
30
48
|
private static _config?: KNativePointer
|
|
31
49
|
public static set config(config: KNativePointer) {
|
|
32
50
|
global._config = config
|
|
51
|
+
global.configObj = new Config(global._config);
|
|
33
52
|
}
|
|
34
53
|
public static get config(): KNativePointer {
|
|
35
54
|
return global._config ?? throwError('Global.config not initialized')
|
|
@@ -39,6 +58,7 @@ export class global {
|
|
|
39
58
|
}
|
|
40
59
|
public static resetConfig(): void {
|
|
41
60
|
global._config = undefined
|
|
61
|
+
global.configObj = undefined;
|
|
42
62
|
}
|
|
43
63
|
|
|
44
64
|
// Improve: rename to contextPeer
|
|
@@ -47,7 +67,8 @@ export class global {
|
|
|
47
67
|
}
|
|
48
68
|
|
|
49
69
|
// Improve: rename to context when the pointer valued one is eliminated
|
|
50
|
-
public static compilerContext: Context
|
|
70
|
+
public static compilerContext: Context | undefined
|
|
71
|
+
public static isContextGenerateAbcForExternalSourceFiles: boolean = false
|
|
51
72
|
|
|
52
73
|
private static _es2panda: Es2pandaNativeModule | undefined = undefined
|
|
53
74
|
public static get es2panda(): Es2pandaNativeModule {
|
|
@@ -76,4 +97,11 @@ export class global {
|
|
|
76
97
|
|
|
77
98
|
// Check node type values during node creation
|
|
78
99
|
public static validatePeerTypes = false
|
|
100
|
+
|
|
101
|
+
public static clearContext(): void {
|
|
102
|
+
global.compilerContext = undefined
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Keep track of update info to optimize performance
|
|
106
|
+
public static updateTracker: UpdateTracker = new UpdateTracker()
|
|
79
107
|
}
|
|
@@ -13,13 +13,22 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
+
import { KInt, KNativePointer } from "@koalaui/interop"
|
|
16
17
|
import type {
|
|
18
|
+
ClassDefinition,
|
|
17
19
|
ETSModule,
|
|
20
|
+
Expression,
|
|
18
21
|
MethodDefinition,
|
|
22
|
+
NumberLiteral,
|
|
23
|
+
Program,
|
|
19
24
|
ScriptFunction,
|
|
25
|
+
SourcePosition,
|
|
20
26
|
} from "../../generated"
|
|
27
|
+
import { ExternalSource } from "../peers/ExternalSource"
|
|
21
28
|
import { Es2pandaModuleFlag } from "../../generated/Es2pandaEnums"
|
|
22
|
-
import { global
|
|
29
|
+
import { global } from "../static/global"
|
|
30
|
+
import { acceptNativeObjectArrayResult, passNodeArray } from "./private"
|
|
31
|
+
import type { AstNode } from "../peers/AstNode"
|
|
23
32
|
|
|
24
33
|
export function extension_ETSModuleGetNamespaceFlag(this: ETSModule): Es2pandaModuleFlag {
|
|
25
34
|
return (this.isETSScript ? Es2pandaModuleFlag.MODULE_FLAG_ETSSCRIPT : 0)
|
|
@@ -27,6 +36,7 @@ export function extension_ETSModuleGetNamespaceFlag(this: ETSModule): Es2pandaMo
|
|
|
27
36
|
+ (this.isNamespaceChainLastNode ? Es2pandaModuleFlag.MODULE_FLAG_NAMESPACE_CHAIN_LAST_NODE : 0)
|
|
28
37
|
}
|
|
29
38
|
|
|
39
|
+
// this is a workaround for overloads not included in children list
|
|
30
40
|
export function extension_MethodDefinitionSetChildrenParentPtr(this: MethodDefinition) {
|
|
31
41
|
global.es2panda._AstNodeSetChildrenParentPtr(global.context, this.peer)
|
|
32
42
|
const overloads = this.overloads
|
|
@@ -38,16 +48,23 @@ export function extension_MethodDefinitionSetChildrenParentPtr(this: MethodDefin
|
|
|
38
48
|
|
|
39
49
|
export function extension_MethodDefinitionOnUpdate(this: MethodDefinition, original: MethodDefinition): void {
|
|
40
50
|
this.setChildrenParentPtr()
|
|
41
|
-
|
|
42
|
-
this.modifierFlags = original.modifierFlags
|
|
43
|
-
global.generatedEs2panda._AstNodeSetOriginalNode(global.context, this.peer, original.originalPeer)
|
|
44
|
-
global.generatedEs2panda._AstNodeSetParent(global.context, this.peer, global.generatedEs2panda._AstNodeParent(global.context, original.peer))
|
|
51
|
+
global.es2panda._AstNodeOnUpdate(global.context, this.peer, original.peer)
|
|
45
52
|
const originalBase = original.baseOverloadMethod
|
|
46
53
|
if (originalBase) {
|
|
47
54
|
this.setBaseOverloadMethod(originalBase)
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
|
|
58
|
+
// Improve: generate checker related stuff
|
|
59
|
+
export function extension_ScriptFunctionGetSignaturePointer(this: ScriptFunction): KNativePointer {
|
|
60
|
+
return global.es2panda._Checker_ScriptFunctionSignature(global.context, this.peer)
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export function extension_ScriptFunctionSetSignaturePointer(this: ScriptFunction, signaturePointer: KNativePointer): void {
|
|
64
|
+
global.es2panda._Checker_ScriptFunctionSetSignature(global.context, this.peer, signaturePointer)
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Improve: perhaps "preferredReturnType" stuff can be removed later if "signature" is always enough
|
|
51
68
|
export function extension_ScriptFunctionGetPreferredReturnTypePointer(this: ScriptFunction): KNativePointer {
|
|
52
69
|
return global.es2panda._Checker_ScriptFunctionGetPreferredReturnType(global.context, this.peer)
|
|
53
70
|
}
|
|
@@ -55,3 +72,49 @@ export function extension_ScriptFunctionGetPreferredReturnTypePointer(this: Scri
|
|
|
55
72
|
export function extension_ScriptFunctionSetPreferredReturnTypePointer(this: ScriptFunction, typePointer: KNativePointer): void {
|
|
56
73
|
global.es2panda._Checker_ScriptFunctionSetPreferredReturnType(global.context, this.peer, typePointer)
|
|
57
74
|
}
|
|
75
|
+
|
|
76
|
+
// Improve: generate checker related stuff
|
|
77
|
+
export function extension_ExpressionGetPreferredTypePointer(this: Expression): KNativePointer {
|
|
78
|
+
return global.es2panda._Checker_ExpressionGetPreferredType(global.context, this.peer)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function extension_ExpressionSetPreferredTypePointer(this: Expression, typePointer: KNativePointer): void {
|
|
82
|
+
global.es2panda._Checker_ExpressionSetPreferredType(global.context, this.peer, typePointer)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Improve: generate methods with string[] args or return type
|
|
86
|
+
export function extension_ProgramGetExternalSources(this: Program): ExternalSource[] {
|
|
87
|
+
return acceptNativeObjectArrayResult<ExternalSource>(
|
|
88
|
+
global.es2panda._ProgramExternalSources(global.context, this.peer),
|
|
89
|
+
ExternalSource.instantiate,
|
|
90
|
+
)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Improve: SourcePositionLine is global in idl
|
|
94
|
+
export function extension_SourcePositionGetLine(this: SourcePosition): KInt {
|
|
95
|
+
return global.generatedEs2panda._SourcePositionLine(global.context, this.peer)
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Improve: SourcePositionCol is not described in idl
|
|
99
|
+
export function extension_SourcePositionGetCol(this: SourcePosition): KInt {
|
|
100
|
+
return global.es2panda._SourcePositionCol(global.context, this.peer)
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
export function extension_SourcePositionToString(this: SourcePosition): string {
|
|
104
|
+
return `:${this.getLine() + 1}:${this.getCol()}`
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Improve: weird API
|
|
108
|
+
export function extension_NumberLiteralValue(this: NumberLiteral): number {
|
|
109
|
+
return +this.dumpSrc()
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Improve: weird API
|
|
113
|
+
export function extension_ScriptFunctionSetParams(this: ScriptFunction, params: readonly Expression[]): void {
|
|
114
|
+
global.es2panda._ScriptFunctionSetParams(global.context, this.peer, passNodeArray(params), params.length)
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// Improve: weird API
|
|
118
|
+
export function extension_ClassDefinitionSetBody(this: ClassDefinition, body: readonly AstNode[]): void {
|
|
119
|
+
global.es2panda._ClassDefinitionSetBody(global.context, this.peer, passNodeArray(body), body.length)
|
|
120
|
+
}
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
} from "@koalaui/interop"
|
|
26
26
|
import { NativePtrDecoder } from "./nativePtrDecoder"
|
|
27
27
|
import { Es2pandaAstNodeType, Es2pandaModifierFlags, Es2pandaScriptFunctionFlags } from "../../generated/Es2pandaEnums"
|
|
28
|
-
import {
|
|
28
|
+
import { nodeFrom } from "../class-by-peer"
|
|
29
29
|
import { AstNode } from "../peers/AstNode"
|
|
30
30
|
import { ArktsObject } from "../peers/ArktsObject"
|
|
31
31
|
|
|
@@ -72,14 +72,14 @@ export function unpackNonNullableNode<T extends AstNode>(peer: KNativePointer):
|
|
|
72
72
|
if (peer === nullptr) {
|
|
73
73
|
throwError('peer is NULLPTR (maybe you should use unpackNode)')
|
|
74
74
|
}
|
|
75
|
-
return
|
|
75
|
+
return nodeFrom(peer)
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
export function unpackNode<T extends AstNode>(peer: KNativePointer): T | undefined {
|
|
79
79
|
if (peer === nullptr) {
|
|
80
80
|
return undefined
|
|
81
81
|
}
|
|
82
|
-
return
|
|
82
|
+
return nodeFrom<T>(peer)
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
export function passNode(node: ArktsObject | undefined): KNativePointer {
|
|
@@ -16,9 +16,10 @@
|
|
|
16
16
|
import { global } from "../static/global"
|
|
17
17
|
import { isNumber, throwError, withWarning } from "../../utils"
|
|
18
18
|
import { KNativePointer, nullptr, KInt} from "@koalaui/interop"
|
|
19
|
-
import { passNode, passNodeArray, unpackNodeArray, unpackNonNullableNode, passString, unpackString } from "./private"
|
|
20
|
-
import { Es2pandaContextState, Es2pandaModifierFlags, Es2pandaMethodDefinitionKind, Es2pandaPrimitiveType } from "../../generated/Es2pandaEnums"
|
|
19
|
+
import { passNode, passNodeArray, unpackNodeArray, unpackNonNullableNode, passString, unpackString, nodeType } from "./private"
|
|
20
|
+
import { Es2pandaContextState, Es2pandaModifierFlags, Es2pandaMethodDefinitionKind, Es2pandaPrimitiveType, Es2pandaScriptFunctionFlags, Es2pandaAstNodeType } from "../../generated/Es2pandaEnums"
|
|
21
21
|
import type { AstNode } from "../peers/AstNode"
|
|
22
|
+
import { SourcePosition } from "../../generated"
|
|
22
23
|
import { isSameNativeObject } from "../peers/ArktsObject"
|
|
23
24
|
import {
|
|
24
25
|
type AnnotationUsage,
|
|
@@ -48,6 +49,7 @@ import { Context } from "../peers/Context"
|
|
|
48
49
|
import { NodeCache } from "../node-cache"
|
|
49
50
|
import { listPrograms } from "../plugins"
|
|
50
51
|
import { factory } from "../factory/nodeFactory"
|
|
52
|
+
import { traceGlobal } from "../../tracer"
|
|
51
53
|
|
|
52
54
|
/**
|
|
53
55
|
* Improve: Replace or remove with better naming
|
|
@@ -55,16 +57,16 @@ import { factory } from "../factory/nodeFactory"
|
|
|
55
57
|
* @deprecated
|
|
56
58
|
*/
|
|
57
59
|
export function createETSModuleFromContext(): ETSModule {
|
|
58
|
-
let program = global.
|
|
60
|
+
let program = global.generatedEs2panda._ContextProgram(global.context)
|
|
59
61
|
if (program == nullptr) {
|
|
60
62
|
throw new Error(`Program is null for context ${global.context.toString(16)}`)
|
|
61
63
|
}
|
|
62
|
-
const ast = global.
|
|
64
|
+
const ast = global.generatedEs2panda._ProgramAst(global.context, program)
|
|
63
65
|
if (ast == nullptr) {
|
|
64
66
|
throw new Error(`AST is null for program ${program.toString(16)}`)
|
|
65
67
|
|
|
66
68
|
}
|
|
67
|
-
return new ETSModule(ast)
|
|
69
|
+
return new ETSModule(ast, Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE)
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
/**
|
|
@@ -82,10 +84,10 @@ export function createETSModuleFromSource(
|
|
|
82
84
|
}
|
|
83
85
|
global.compilerContext = Context.createFromString(source)
|
|
84
86
|
proceedToState(state)
|
|
85
|
-
let program = global.
|
|
87
|
+
let program = global.generatedEs2panda._ContextProgram(global.compilerContext.peer)
|
|
86
88
|
if (program == nullptr)
|
|
87
89
|
throw new Error(`Program is null for ${source} 0x${global.compilerContext.peer.toString(16)}`)
|
|
88
|
-
return new ETSModule(global.
|
|
90
|
+
return new ETSModule(global.generatedEs2panda._ProgramAst(global.context, program), Es2pandaAstNodeType.AST_NODE_TYPE_ETS_MODULE)
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
export function metaDatabase(fileName: string): string {
|
|
@@ -95,7 +97,8 @@ export function metaDatabase(fileName: string): string {
|
|
|
95
97
|
|
|
96
98
|
export function checkErrors() {
|
|
97
99
|
if (global.es2panda._ContextState(global.context) === Es2pandaContextState.ES2PANDA_STATE_ERROR) {
|
|
98
|
-
|
|
100
|
+
traceGlobal(() => `Terminated due to compilation errors occured`)
|
|
101
|
+
console.log(unpackString(global.generatedEs2panda._GetAllErrorMessages(global.context)))
|
|
99
102
|
// global.es2panda._DestroyConfig(global.config)
|
|
100
103
|
process.exit(1)
|
|
101
104
|
}
|
|
@@ -105,49 +108,63 @@ export function proceedToState(state: Es2pandaContextState): void {
|
|
|
105
108
|
if (state <= global.es2panda._ContextState(global.context)) {
|
|
106
109
|
return
|
|
107
110
|
}
|
|
111
|
+
NodeCache.clear()
|
|
108
112
|
const before = Date.now()
|
|
113
|
+
traceGlobal(() => `Proceeding to state ${Es2pandaContextState[state]}: start`)
|
|
109
114
|
global.es2panda._ProceedToState(global.context, state)
|
|
115
|
+
traceGlobal(() => `Proceeding to state ${Es2pandaContextState[state]}: done`)
|
|
110
116
|
const after = Date.now()
|
|
111
117
|
global.profiler.proceededToState(after-before)
|
|
112
|
-
NodeCache.clear()
|
|
113
118
|
checkErrors()
|
|
114
119
|
}
|
|
115
120
|
|
|
116
121
|
/** @deprecated Use {@link rebindContext} instead */
|
|
117
122
|
export function rebindSubtree(node: AstNode): void {
|
|
123
|
+
NodeCache.clear()
|
|
124
|
+
traceGlobal(() => `Rebind: start`)
|
|
118
125
|
global.es2panda._AstNodeRebind(global.context, node.peer)
|
|
126
|
+
traceGlobal(() => `Rebind: done`)
|
|
119
127
|
checkErrors()
|
|
120
128
|
}
|
|
121
129
|
|
|
122
130
|
/** @deprecated Use {@link recheckSubtree} instead */
|
|
123
131
|
export function recheckSubtree(node: AstNode): void {
|
|
124
|
-
|
|
132
|
+
NodeCache.clear()
|
|
133
|
+
traceGlobal(() => `Recheck: start`)
|
|
134
|
+
global.generatedEs2panda._AstNodeRecheck(global.context, node.peer)
|
|
135
|
+
traceGlobal(() => `Recheck: done`)
|
|
125
136
|
checkErrors()
|
|
126
137
|
}
|
|
127
138
|
|
|
128
139
|
export function rebindContext(context: KNativePointer = global.context): void {
|
|
140
|
+
NodeCache.clear()
|
|
141
|
+
traceGlobal(() => `Rebind: start`)
|
|
129
142
|
global.es2panda._AstNodeRebind(
|
|
130
143
|
context,
|
|
131
|
-
global.
|
|
144
|
+
global.generatedEs2panda._ProgramAst(
|
|
132
145
|
context,
|
|
133
|
-
global.
|
|
146
|
+
global.generatedEs2panda._ContextProgram(
|
|
134
147
|
context
|
|
135
148
|
)
|
|
136
149
|
)
|
|
137
150
|
)
|
|
151
|
+
traceGlobal(() => `Rebind: done`)
|
|
138
152
|
checkErrors()
|
|
139
153
|
}
|
|
140
154
|
|
|
141
155
|
export function recheckContext(context: KNativePointer = global.context): void {
|
|
142
|
-
|
|
156
|
+
NodeCache.clear()
|
|
157
|
+
traceGlobal(() => `Recheck: start`)
|
|
158
|
+
global.generatedEs2panda._AstNodeRecheck(
|
|
143
159
|
context,
|
|
144
|
-
global.
|
|
160
|
+
global.generatedEs2panda._ProgramAst(
|
|
145
161
|
context,
|
|
146
|
-
global.
|
|
162
|
+
global.generatedEs2panda._ContextProgram(
|
|
147
163
|
context,
|
|
148
164
|
)
|
|
149
165
|
)
|
|
150
166
|
)
|
|
167
|
+
traceGlobal(() => `Recheck: done`)
|
|
151
168
|
checkErrors()
|
|
152
169
|
}
|
|
153
170
|
|
|
@@ -208,7 +225,7 @@ function getDeclFromArrayOrObjectMember(node: MemberExpression): AstNode | undef
|
|
|
208
225
|
}
|
|
209
226
|
|
|
210
227
|
export function getPeerDecl(peer: KNativePointer): AstNode | undefined {
|
|
211
|
-
const decl = global.
|
|
228
|
+
const decl = global.generatedEs2panda._DeclarationFromIdentifier(global.context, peer)
|
|
212
229
|
if (decl === nullptr) {
|
|
213
230
|
return undefined
|
|
214
231
|
}
|
|
@@ -245,6 +262,12 @@ export function getFileName(): string {
|
|
|
245
262
|
return global.filePath
|
|
246
263
|
}
|
|
247
264
|
|
|
265
|
+
export function getJsDoc(node: AstNode): string | undefined {
|
|
266
|
+
const result = unpackString(global.generatedEs2panda._JsdocStringFromDeclaration(global.context, node.peer))
|
|
267
|
+
return result === 'Empty Jsdoc' ? undefined : result
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
|
|
248
271
|
// Improve: It seems like Definition overrides AstNode modifiers
|
|
249
272
|
// with it's own modifiers which is completely unrelated set of flags.
|
|
250
273
|
// Use this function if you need
|
|
@@ -307,30 +330,20 @@ export function findStdlib(): string {
|
|
|
307
330
|
return `${sdk}/ets/stdlib`
|
|
308
331
|
}
|
|
309
332
|
|
|
310
|
-
export function collectDependencies(files: string[], configPath: string): string[] {
|
|
311
|
-
const result = new Set<string>()
|
|
312
|
-
for (let file of files) {
|
|
313
|
-
const context = Context.createFromFile(file, configPath, findStdlib(), "/tmp/foo.abc")!
|
|
314
|
-
global.compilerContext = context
|
|
315
|
-
proceedToState(Es2pandaContextState.ES2PANDA_STATE_PARSED)
|
|
316
|
-
listPrograms(context.program).forEach(it => result.add(it.absoluteName))
|
|
317
|
-
context.destroy()
|
|
318
|
-
}
|
|
319
|
-
return Array.from(result)
|
|
320
|
-
}
|
|
321
|
-
|
|
322
333
|
export function generateTsDeclarationsFromContext(
|
|
323
334
|
outputDeclEts: string,
|
|
324
335
|
outputEts: string,
|
|
325
336
|
exportAll: boolean,
|
|
326
|
-
isolated: boolean
|
|
337
|
+
isolated: boolean,
|
|
338
|
+
recordFile: string
|
|
327
339
|
): KInt {
|
|
328
340
|
return global.es2panda._GenerateTsDeclarationsFromContext(
|
|
329
341
|
global.context,
|
|
330
342
|
passString(outputDeclEts),
|
|
331
343
|
passString(outputEts),
|
|
332
344
|
exportAll,
|
|
333
|
-
isolated
|
|
345
|
+
isolated,
|
|
346
|
+
recordFile
|
|
334
347
|
);
|
|
335
348
|
}
|
|
336
349
|
|
|
@@ -343,23 +356,42 @@ export function getProgramFromAstNode(node: AstNode): Program {
|
|
|
343
356
|
}
|
|
344
357
|
|
|
345
358
|
export function importDeclarationInsert(node: ETSImportDeclaration, program: Program): void {
|
|
346
|
-
global.
|
|
359
|
+
global.generatedEs2panda._InsertETSImportDeclarationAndParse(global.context, program.peer, node.peer)
|
|
347
360
|
}
|
|
348
361
|
|
|
349
|
-
export function
|
|
362
|
+
export function signatureReturnType(signature: KNativePointer): KNativePointer {
|
|
363
|
+
if (!signature) {
|
|
364
|
+
return nullptr
|
|
365
|
+
}
|
|
366
|
+
return global.es2panda._Checker_SignatureReturnType(global.context, signature)
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
export function convertCheckerTypeToTypeNode(typePeer: KNativePointer | undefined): TypeNode | undefined {
|
|
350
370
|
if (!typePeer) {
|
|
351
371
|
return undefined
|
|
352
372
|
}
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
373
|
+
return factory.createOpaqueTypeNode(
|
|
374
|
+
global.es2panda._Checker_TypeClone(global.context, typePeer)
|
|
375
|
+
)
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export function originalSourcePositionString(node: AstNode | undefined) {
|
|
379
|
+
if (!node) {
|
|
380
|
+
return `[undefined]`
|
|
356
381
|
}
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
)
|
|
382
|
+
const originalPeer = node.originalPeer
|
|
383
|
+
const sourcePosition = new SourcePosition(global.generatedEs2panda._AstNodeStartConst(global.context, originalPeer))
|
|
384
|
+
const program = new Program(global.es2panda._AstNodeProgram(global.context, originalPeer))
|
|
385
|
+
if (!program.peer) {
|
|
386
|
+
// This can happen if we are calling this method on node that is in update now and parent chain does not lead to program
|
|
387
|
+
return `[${global.filePath}${sourcePosition.toString()}]`
|
|
363
388
|
}
|
|
364
|
-
return
|
|
389
|
+
return `[${program.absoluteName}${sourcePosition.toString()}]`
|
|
390
|
+
}
|
|
391
|
+
|
|
392
|
+
export function generateStaticDeclarationsFromContext(outputPath: string): KInt {
|
|
393
|
+
return global.generatedEs2panda._GenerateStaticDeclarationsFromContext(
|
|
394
|
+
global.context,
|
|
395
|
+
passString(outputPath)
|
|
396
|
+
);
|
|
365
397
|
}
|