@idlizer/arktscgen 2.1.10-arktscgen-4 → 2.1.10-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/native/meson.build +1 -1
- package/build/libarkts-copy/native/src/bridges.cc +72 -115
- package/build/libarkts-copy/native/src/common.cc +225 -84
- package/build/libarkts-copy/native/src/common.h +22 -22
- package/build/libarkts-copy/native/src/memoryTracker.cc +30 -37
- package/build/libarkts-copy/native/src/memoryTracker.h +5 -5
- package/build/libarkts-copy/package.json +21 -17
- package/build/libarkts-copy/src/Es2pandaNativeModule.ts +176 -100
- package/build/libarkts-copy/src/InteropNativeModule.ts +18 -15
- package/build/libarkts-copy/src/arkts-api/AbstractVisitor.ts +17 -18
- package/build/libarkts-copy/src/arkts-api/ImportStorage.ts +31 -30
- package/build/libarkts-copy/src/arkts-api/ProgramProvider.ts +20 -17
- package/build/libarkts-copy/src/arkts-api/class-by-peer.ts +12 -12
- package/build/libarkts-copy/src/arkts-api/factory/nodeFactory.ts +38 -29
- package/build/libarkts-copy/src/arkts-api/index.ts +24 -24
- package/build/libarkts-copy/src/arkts-api/node-cache.ts +12 -12
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArkTsConfig.ts +8 -8
- package/build/libarkts-copy/src/arkts-api/node-utilities/ArrayExpression.ts +9 -21
- package/build/libarkts-copy/src/arkts-api/node-utilities/AssignmentExpression.ts +12 -14
- package/build/libarkts-copy/src/arkts-api/node-utilities/BlockStatement.ts +5 -5
- package/build/libarkts-copy/src/arkts-api/node-utilities/CallExpression.ts +26 -24
- package/build/libarkts-copy/src/arkts-api/node-utilities/ClassDefinition.ts +62 -32
- package/build/libarkts-copy/src/arkts-api/node-utilities/ClassProperty.ts +14 -13
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSFunctionType.ts +24 -21
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSImportDeclaration.ts +10 -12
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSModule.ts +14 -18
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSParameterExpression.ts +15 -16
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSStructDeclaration.ts +5 -8
- package/build/libarkts-copy/src/arkts-api/node-utilities/ETSTuple.ts +6 -12
- package/build/libarkts-copy/src/arkts-api/node-utilities/MemberExpression.ts +12 -11
- package/build/libarkts-copy/src/arkts-api/node-utilities/MethodDefinition.ts +14 -33
- package/build/libarkts-copy/src/arkts-api/node-utilities/NumberLiteral.ts +12 -23
- package/build/libarkts-copy/src/arkts-api/node-utilities/ObjectExpression.ts +17 -21
- package/build/libarkts-copy/src/arkts-api/node-utilities/OpaqueTypeNode.ts +9 -8
- package/build/libarkts-copy/src/arkts-api/node-utilities/Program.ts +21 -16
- package/build/libarkts-copy/src/arkts-api/node-utilities/ScriptFunction.ts +52 -53
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSInterfaceDeclaration.ts +22 -32
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeParameter.ts +12 -14
- package/build/libarkts-copy/src/arkts-api/node-utilities/TSTypeReferencePart.ts +10 -12
- package/build/libarkts-copy/src/arkts-api/node-utilities/TryStatement.ts +10 -9
- package/build/libarkts-copy/src/arkts-api/node-utilities/VariableDeclarator.ts +10 -12
- package/build/libarkts-copy/src/arkts-api/peers/ArktsObject.ts +8 -8
- package/build/libarkts-copy/src/arkts-api/peers/AstNode.ts +53 -49
- package/build/libarkts-copy/src/arkts-api/peers/Config.ts +17 -24
- package/build/libarkts-copy/src/arkts-api/peers/Context.ts +29 -37
- package/build/libarkts-copy/src/arkts-api/peers/DiagnosticKind.ts +5 -6
- package/build/libarkts-copy/src/arkts-api/peers/ExternalSource.ts +9 -9
- package/build/libarkts-copy/src/arkts-api/peers/ImportPathManager.ts +6 -8
- package/build/libarkts-copy/src/arkts-api/peers/Options.ts +8 -8
- package/build/libarkts-copy/src/arkts-api/plugins.ts +98 -30
- package/build/libarkts-copy/src/arkts-api/static/global.ts +35 -36
- package/build/libarkts-copy/src/arkts-api/static/globalUtils.ts +5 -5
- package/build/libarkts-copy/src/arkts-api/static/profiler.ts +107 -91
- package/build/libarkts-copy/src/arkts-api/utilities/extensions.ts +54 -37
- package/build/libarkts-copy/src/arkts-api/utilities/nativePtrDecoder.ts +86 -69
- package/build/libarkts-copy/src/arkts-api/utilities/performance.ts +39 -23
- package/build/libarkts-copy/src/arkts-api/utilities/private.ts +73 -61
- package/build/libarkts-copy/src/arkts-api/utilities/public.ts +220 -173
- package/build/libarkts-copy/src/arkts-api/visitor.ts +606 -742
- package/build/libarkts-copy/src/arkts-api/wrapper-compat.ts +8 -8
- package/build/libarkts-copy/src/checkSdk.ts +15 -18
- package/build/libarkts-copy/src/index.ts +29 -29
- package/build/libarkts-copy/src/plugin-utils.ts +52 -40
- package/build/libarkts-copy/src/reexport-for-generated.ts +11 -10
- package/build/libarkts-copy/src/tracer.ts +75 -69
- package/build/libarkts-copy/src/ts-api/factory/nodeFactory.ts +134 -274
- package/build/libarkts-copy/src/ts-api/factory/nodeTests.ts +23 -23
- package/build/libarkts-copy/src/ts-api/index.ts +27 -35
- package/build/libarkts-copy/src/ts-api/static/enums.ts +3 -3
- package/build/libarkts-copy/src/ts-api/types.ts +535 -395
- package/build/libarkts-copy/src/ts-api/utilities/private.ts +115 -112
- package/build/libarkts-copy/src/ts-api/utilities/public.ts +18 -18
- package/build/libarkts-copy/src/ts-api/visitor/visitor.ts +33 -49
- package/build/libarkts-copy/src/utils.ts +97 -70
- package/build/libarkts-copy/tsconfig.json +3 -2
- package/lib/index.js +172 -77
- package/package.json +51 -52
- package/templates/Es2pandaNativeModule.ts +1 -0
- package/templates/peer.ts +1 -0
- package/build/libarkts-copy/native/src/generated/bridges.cc +0 -16375
- package/build/libarkts-copy/src/generated/Es2pandaEnums.ts +0 -1344
- package/build/libarkts-copy/src/generated/Es2pandaNativeModule.ts +0 -5192
- package/build/libarkts-copy/src/generated/factory.ts +0 -1285
- package/build/libarkts-copy/src/generated/index.ts +0 -222
- package/build/libarkts-copy/src/generated/peers/AnnotatedAstNode.ts +0 -44
- package/build/libarkts-copy/src/generated/peers/AnnotatedExpression.ts +0 -54
- package/build/libarkts-copy/src/generated/peers/AnnotatedStatement.ts +0 -45
- package/build/libarkts-copy/src/generated/peers/AnnotationDeclaration.ts +0 -165
- package/build/libarkts-copy/src/generated/peers/AnnotationUsage.ts +0 -84
- package/build/libarkts-copy/src/generated/peers/ArkTsConfig.ts +0 -73
- package/build/libarkts-copy/src/generated/peers/ArrayExpression.ts +0 -109
- package/build/libarkts-copy/src/generated/peers/ArrowFunctionExpression.ts +0 -119
- package/build/libarkts-copy/src/generated/peers/AssertStatement.ts +0 -65
- package/build/libarkts-copy/src/generated/peers/AssignmentExpression.ts +0 -111
- package/build/libarkts-copy/src/generated/peers/AstDumper.ts +0 -49
- package/build/libarkts-copy/src/generated/peers/AstVerifier.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/AstVisitor.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/AwaitExpression.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/BigIntLiteral.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/BinaryExpression.ts +0 -110
- package/build/libarkts-copy/src/generated/peers/BindingProps.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/BlockExpression.ts +0 -72
- package/build/libarkts-copy/src/generated/peers/BlockStatement.ts +0 -94
- package/build/libarkts-copy/src/generated/peers/BooleanLiteral.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/BreakStatement.ts +0 -78
- package/build/libarkts-copy/src/generated/peers/CallExpression.ts +0 -129
- package/build/libarkts-copy/src/generated/peers/CatchClause.ts +0 -74
- package/build/libarkts-copy/src/generated/peers/ChainExpression.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/CharLiteral.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/ClassDeclaration.ts +0 -76
- package/build/libarkts-copy/src/generated/peers/ClassDefinition.ts +0 -365
- package/build/libarkts-copy/src/generated/peers/ClassElement.ts +0 -76
- package/build/libarkts-copy/src/generated/peers/ClassExpression.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/ClassProperty.ts +0 -137
- package/build/libarkts-copy/src/generated/peers/ClassStaticBlock.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/CodeGen.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ConditionalExpression.ts +0 -82
- package/build/libarkts-copy/src/generated/peers/ContinueStatement.ts +0 -78
- package/build/libarkts-copy/src/generated/peers/DebuggerStatement.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/Declaration.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/Decorator.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/DiagnosticInfo.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/DirectEvalExpression.ts +0 -60
- package/build/libarkts-copy/src/generated/peers/DoWhileStatement.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/DynamicImportData.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ETSClassLiteral.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/ETSFunctionType.ts +0 -102
- package/build/libarkts-copy/src/generated/peers/ETSImportDeclaration.ts +0 -90
- package/build/libarkts-copy/src/generated/peers/ETSIntrinsicNode.ts +0 -69
- package/build/libarkts-copy/src/generated/peers/ETSKeyofType.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/ETSModule.ts +0 -129
- package/build/libarkts-copy/src/generated/peers/ETSNewArrayInstanceExpression.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/ETSNewClassInstanceExpression.ts +0 -79
- package/build/libarkts-copy/src/generated/peers/ETSNewMultiDimArrayInstanceExpression.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/ETSNullType.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/ETSPackageDeclaration.ts +0 -59
- package/build/libarkts-copy/src/generated/peers/ETSParameterExpression.ts +0 -189
- package/build/libarkts-copy/src/generated/peers/ETSPrimitiveType.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/ETSReExportDeclaration.ts +0 -55
- package/build/libarkts-copy/src/generated/peers/ETSStringLiteralType.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/ETSStructDeclaration.ts +0 -59
- package/build/libarkts-copy/src/generated/peers/ETSTuple.ts +0 -89
- package/build/libarkts-copy/src/generated/peers/ETSTypeReference.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/ETSTypeReferencePart.ts +0 -78
- package/build/libarkts-copy/src/generated/peers/ETSUndefinedType.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/ETSUnionType.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/ETSWildcardType.ts +0 -63
- package/build/libarkts-copy/src/generated/peers/EmptyStatement.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/ErrorLogger.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ExportAllDeclaration.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/ExportDefaultDeclaration.ts +0 -64
- package/build/libarkts-copy/src/generated/peers/ExportNamedDeclaration.ts +0 -94
- package/build/libarkts-copy/src/generated/peers/ExportSpecifier.ts +0 -82
- package/build/libarkts-copy/src/generated/peers/Expression.ts +0 -84
- package/build/libarkts-copy/src/generated/peers/ExpressionStatement.ts +0 -67
- package/build/libarkts-copy/src/generated/peers/ForInStatement.ts +0 -69
- package/build/libarkts-copy/src/generated/peers/ForOfStatement.ts +0 -72
- package/build/libarkts-copy/src/generated/peers/ForUpdateStatement.ts +0 -67
- package/build/libarkts-copy/src/generated/peers/FunctionDeclaration.ts +0 -106
- package/build/libarkts-copy/src/generated/peers/FunctionExpression.ts +0 -74
- package/build/libarkts-copy/src/generated/peers/FunctionSignature.ts +0 -70
- package/build/libarkts-copy/src/generated/peers/IRNode.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/Identifier.ts +0 -162
- package/build/libarkts-copy/src/generated/peers/IfStatement.ts +0 -78
- package/build/libarkts-copy/src/generated/peers/ImportDeclaration.ts +0 -87
- package/build/libarkts-copy/src/generated/peers/ImportDefaultSpecifier.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/ImportExpression.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/ImportNamespaceSpecifier.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/ImportSource.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ImportSpecifier.ts +0 -73
- package/build/libarkts-copy/src/generated/peers/IndexInfo.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/LabelPair.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/LabelledStatement.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/Literal.ts +0 -53
- package/build/libarkts-copy/src/generated/peers/LoopStatement.ts +0 -45
- package/build/libarkts-copy/src/generated/peers/MaybeOptionalExpression.ts +0 -53
- package/build/libarkts-copy/src/generated/peers/MemberExpression.ts +0 -115
- package/build/libarkts-copy/src/generated/peers/MetaProperty.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/MethodDefinition.ts +0 -152
- package/build/libarkts-copy/src/generated/peers/NamedType.ts +0 -84
- package/build/libarkts-copy/src/generated/peers/NewExpression.ts +0 -64
- package/build/libarkts-copy/src/generated/peers/NullLiteral.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/NumberLiteral.ts +0 -78
- package/build/libarkts-copy/src/generated/peers/ObjectDescriptor.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ObjectExpression.ts +0 -94
- package/build/libarkts-copy/src/generated/peers/OmittedExpression.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/OpaqueTypeNode.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/OverloadDeclaration.ts +0 -101
- package/build/libarkts-copy/src/generated/peers/PrefixAssertionExpression.ts +0 -65
- package/build/libarkts-copy/src/generated/peers/Program.ts +0 -206
- package/build/libarkts-copy/src/generated/peers/Property.ts +0 -92
- package/build/libarkts-copy/src/generated/peers/RegExpLiteral.ts +0 -65
- package/build/libarkts-copy/src/generated/peers/ReturnStatement.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/ScopeFindResult.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ScriptFunction.ts +0 -310
- package/build/libarkts-copy/src/generated/peers/ScriptFunctionData.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/SequenceExpression.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/SignatureInfo.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/SourcePosition.ts +0 -48
- package/build/libarkts-copy/src/generated/peers/SourceRange.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/SpreadElement.ts +0 -83
- package/build/libarkts-copy/src/generated/peers/SrcDumper.ts +0 -120
- package/build/libarkts-copy/src/generated/peers/Statement.ts +0 -44
- package/build/libarkts-copy/src/generated/peers/StringLiteral.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/SuggestionInfo.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/SuperExpression.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/SwitchCaseStatement.ts +0 -70
- package/build/libarkts-copy/src/generated/peers/SwitchStatement.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSAnyKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSArrayType.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSAsExpression.ts +0 -84
- package/build/libarkts-copy/src/generated/peers/TSBigintKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSBooleanKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSClassImplements.ts +0 -70
- package/build/libarkts-copy/src/generated/peers/TSConditionalType.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSConstructorType.ts +0 -73
- package/build/libarkts-copy/src/generated/peers/TSEnumDeclaration.ts +0 -112
- package/build/libarkts-copy/src/generated/peers/TSEnumMember.ts +0 -76
- package/build/libarkts-copy/src/generated/peers/TSExternalModuleReference.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSFunctionType.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/TSImportEqualsDeclaration.ts +0 -69
- package/build/libarkts-copy/src/generated/peers/TSImportType.ts +0 -72
- package/build/libarkts-copy/src/generated/peers/TSIndexSignature.ts +0 -73
- package/build/libarkts-copy/src/generated/peers/TSIndexedAccessType.ts +0 -64
- package/build/libarkts-copy/src/generated/peers/TSInferType.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSInterfaceBody.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSInterfaceDeclaration.ts +0 -160
- package/build/libarkts-copy/src/generated/peers/TSInterfaceHeritage.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSIntersectionType.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSLiteralType.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSMappedType.ts +0 -72
- package/build/libarkts-copy/src/generated/peers/TSMethodSignature.ts +0 -79
- package/build/libarkts-copy/src/generated/peers/TSModuleBlock.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSModuleDeclaration.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSNamedTupleMember.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/TSNeverKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSNonNullExpression.ts +0 -66
- package/build/libarkts-copy/src/generated/peers/TSNullKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSNumberKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSObjectKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSParameterProperty.ts +0 -74
- package/build/libarkts-copy/src/generated/peers/TSParenthesizedType.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSPropertySignature.ts +0 -80
- package/build/libarkts-copy/src/generated/peers/TSQualifiedName.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSSignatureDeclaration.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/TSStringKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSThisType.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSTupleType.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSTypeAliasDeclaration.ts +0 -151
- package/build/libarkts-copy/src/generated/peers/TSTypeAssertion.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSTypeLiteral.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSTypeOperator.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/TSTypeParameter.ts +0 -121
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterDeclaration.ts +0 -75
- package/build/libarkts-copy/src/generated/peers/TSTypeParameterInstantiation.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSTypePredicate.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/TSTypeQuery.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TSTypeReference.ts +0 -70
- package/build/libarkts-copy/src/generated/peers/TSUndefinedKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSUnionType.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/TSUnknownKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TSVoidKeyword.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/TaggedTemplateExpression.ts +0 -69
- package/build/libarkts-copy/src/generated/peers/TemplateElement.ts +0 -69
- package/build/libarkts-copy/src/generated/peers/TemplateLiteral.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/ThisExpression.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/ThrowStatement.ts +0 -62
- package/build/libarkts-copy/src/generated/peers/TryStatement.ts +0 -89
- package/build/libarkts-copy/src/generated/peers/TypeNode.ts +0 -81
- package/build/libarkts-copy/src/generated/peers/TypedAstNode.ts +0 -44
- package/build/libarkts-copy/src/generated/peers/TypedStatement.ts +0 -45
- package/build/libarkts-copy/src/generated/peers/TypeofExpression.ts +0 -61
- package/build/libarkts-copy/src/generated/peers/UnaryExpression.ts +0 -70
- package/build/libarkts-copy/src/generated/peers/UndefinedLiteral.ts +0 -58
- package/build/libarkts-copy/src/generated/peers/UpdateExpression.ts +0 -68
- package/build/libarkts-copy/src/generated/peers/VReg.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/ValidationInfo.ts +0 -50
- package/build/libarkts-copy/src/generated/peers/VariableDeclaration.ts +0 -113
- package/build/libarkts-copy/src/generated/peers/VariableDeclarator.ts +0 -79
- package/build/libarkts-copy/src/generated/peers/VerificationContext.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/VerifierMessage.ts +0 -40
- package/build/libarkts-copy/src/generated/peers/WhileStatement.ts +0 -71
- package/build/libarkts-copy/src/generated/peers/YieldExpression.ts +0 -64
|
@@ -15,18 +15,18 @@
|
|
|
15
15
|
|
|
16
16
|
// koala-wrapper compatibility helpers
|
|
17
17
|
|
|
18
|
-
import { KNativePointer } from
|
|
19
|
-
import { ETSModule } from
|
|
20
|
-
import { createETSModuleFromContext } from
|
|
21
|
-
import { global } from
|
|
18
|
+
import { KNativePointer } from '@koalaui/interop';
|
|
19
|
+
import { ETSModule } from '../../generated';
|
|
20
|
+
import { createETSModuleFromContext } from './utilities/public';
|
|
21
|
+
import { global } from './static/global';
|
|
22
22
|
|
|
23
23
|
export class EtsScript {
|
|
24
24
|
public static fromContext(): ETSModule {
|
|
25
|
-
return createETSModuleFromContext()
|
|
25
|
+
return createETSModuleFromContext();
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
export function destroyConfig(config: KNativePointer): void {
|
|
30
|
-
global.es2panda._DestroyConfig(config)
|
|
31
|
-
global.resetConfig()
|
|
32
|
-
}
|
|
30
|
+
global.es2panda._DestroyConfig(config);
|
|
31
|
+
global.resetConfig();
|
|
32
|
+
}
|
|
@@ -13,28 +13,25 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import * as fs from
|
|
17
|
-
import * as path from
|
|
16
|
+
import * as fs from 'fs';
|
|
17
|
+
import * as path from 'path';
|
|
18
18
|
|
|
19
19
|
function reportErrorAndExit(message: string): never {
|
|
20
|
-
console.error(message)
|
|
21
|
-
process.exit(1)
|
|
20
|
+
console.error(message);
|
|
21
|
+
process.exit(1);
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
export function checkSDK() {
|
|
25
|
-
const panda = process.env.PANDA_SDK_PATH
|
|
26
|
-
if (!panda)
|
|
27
|
-
reportErrorAndExit(`Variable PANDA_SDK_PATH is not set, please fix`)
|
|
25
|
+
const panda = process.env.PANDA_SDK_PATH;
|
|
26
|
+
if (!panda) reportErrorAndExit(`Variable PANDA_SDK_PATH is not set, please fix`);
|
|
28
27
|
if (!fs.existsSync(path.join(panda, 'package.json')))
|
|
29
|
-
reportErrorAndExit(`Variable PANDA_SDK_PATH not points to SDK`)
|
|
30
|
-
const packageJson = JSON.parse(fs.readFileSync(path.join(panda, 'package.json')).toString())
|
|
31
|
-
const version = packageJson.version as string
|
|
32
|
-
if (!version)
|
|
33
|
-
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
else
|
|
39
|
-
console.log(`Using Panda ${version}`)
|
|
28
|
+
reportErrorAndExit(`Variable PANDA_SDK_PATH not points to SDK`);
|
|
29
|
+
const packageJson = JSON.parse(fs.readFileSync(path.join(panda, 'package.json')).toString());
|
|
30
|
+
const version = packageJson.version as string;
|
|
31
|
+
if (!version) reportErrorAndExit(`version is unknown`);
|
|
32
|
+
const packageJsonOur = JSON.parse(fs.readFileSync(path.join(__dirname, '..', 'package.json')).toString());
|
|
33
|
+
const expectedVersion = packageJsonOur.config.panda_sdk_version;
|
|
34
|
+
if (expectedVersion && expectedVersion != 'next' && version != expectedVersion)
|
|
35
|
+
console.log(`WARNING: Panda SDK version "${version}" doesn't match expected "${expectedVersion}"`);
|
|
36
|
+
else console.log(`Using Panda ${version}`);
|
|
40
37
|
}
|
|
@@ -13,35 +13,35 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
export * from
|
|
17
|
-
export * from
|
|
18
|
-
export * from
|
|
19
|
-
export * from
|
|
20
|
-
export * from
|
|
16
|
+
export * from './checkSdk';
|
|
17
|
+
export * from './utils';
|
|
18
|
+
export * from './reexport-for-generated';
|
|
19
|
+
export * from '../generated/Es2pandaEnums';
|
|
20
|
+
export * from '../generated';
|
|
21
21
|
|
|
22
|
-
export * from
|
|
23
|
-
export * from
|
|
24
|
-
export * from
|
|
25
|
-
export * from
|
|
26
|
-
export * from
|
|
27
|
-
export * from
|
|
28
|
-
export * from
|
|
29
|
-
export * from
|
|
30
|
-
export * from
|
|
31
|
-
export * from
|
|
32
|
-
export * from
|
|
22
|
+
export * from './arkts-api/utilities/performance';
|
|
23
|
+
export * from './arkts-api/utilities/private';
|
|
24
|
+
export * from './arkts-api/utilities/public';
|
|
25
|
+
export * from './arkts-api/factory/nodeFactory';
|
|
26
|
+
export * from './arkts-api/visitor';
|
|
27
|
+
export * from './arkts-api/AbstractVisitor';
|
|
28
|
+
export * from './arkts-api/plugins';
|
|
29
|
+
export * from './arkts-api/ImportStorage';
|
|
30
|
+
export * from './arkts-api/ProgramProvider';
|
|
31
|
+
export * from './arkts-api/node-utilities/Program';
|
|
32
|
+
export * from './arkts-api/node-utilities/ArkTsConfig';
|
|
33
33
|
|
|
34
|
-
export * from
|
|
35
|
-
export * from
|
|
36
|
-
export * from
|
|
37
|
-
export { GlobalContext } from
|
|
38
|
-
export * from
|
|
39
|
-
export * from
|
|
40
|
-
export * from
|
|
41
|
-
export * from
|
|
42
|
-
export { global as arktsGlobal } from
|
|
43
|
-
export * from
|
|
44
|
-
export * as arkts from
|
|
34
|
+
export * from './arkts-api/peers/AstNode';
|
|
35
|
+
export * from './arkts-api/peers/Config';
|
|
36
|
+
export * from './arkts-api/peers/Context';
|
|
37
|
+
export { GlobalContext } from './arkts-api/peers/Context';
|
|
38
|
+
export * from './arkts-api/peers/ExternalSource';
|
|
39
|
+
export * from './arkts-api/peers/ImportPathManager';
|
|
40
|
+
export * from './arkts-api/peers/Options';
|
|
41
|
+
export * from './arkts-api/peers/DiagnosticKind';
|
|
42
|
+
export { global as arktsGlobal } from './arkts-api/static/global';
|
|
43
|
+
export * from './arkts-api/static/globalUtils';
|
|
44
|
+
export * as arkts from './arkts-api';
|
|
45
45
|
|
|
46
|
-
export * from
|
|
47
|
-
export * from
|
|
46
|
+
export * from './plugin-utils';
|
|
47
|
+
export * from './tracer';
|
|
@@ -23,102 +23,114 @@ import {
|
|
|
23
23
|
ProgramProvider,
|
|
24
24
|
CompilationOptions,
|
|
25
25
|
dumpProgramSrcFormatted,
|
|
26
|
-
} from
|
|
27
|
-
import { Tracer } from
|
|
26
|
+
} from './arkts-api';
|
|
27
|
+
import { Tracer } from './tracer';
|
|
28
28
|
|
|
29
29
|
export interface RunTransformerHooks {
|
|
30
|
-
onProgramTransformStart?(options: CompilationOptions, program: Program): void
|
|
31
|
-
onProgramTransformEnd?(options: CompilationOptions, program: Program): void
|
|
30
|
+
onProgramTransformStart?(options: CompilationOptions, program: Program): void;
|
|
31
|
+
onProgramTransformEnd?(options: CompilationOptions, program: Program): void;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
class ASTCache {
|
|
35
|
-
processedPrograms = new Set<string>()
|
|
36
|
-
constructor() {
|
|
35
|
+
processedPrograms = new Set<string>();
|
|
36
|
+
constructor() {}
|
|
37
37
|
find(program: Program): boolean {
|
|
38
|
-
return this.processedPrograms.has(program.absoluteName)
|
|
38
|
+
return this.processedPrograms.has(program.absoluteName);
|
|
39
39
|
}
|
|
40
40
|
update(program: Program) {
|
|
41
|
-
this.processedPrograms.add(program.absoluteName)
|
|
41
|
+
this.processedPrograms.add(program.absoluteName);
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
export class DumpingHooks implements RunTransformerHooks {
|
|
46
|
-
constructor(
|
|
46
|
+
constructor(
|
|
47
|
+
private state: Es2pandaContextState,
|
|
48
|
+
private pluginName: string,
|
|
49
|
+
private dumpAst: boolean = false
|
|
50
|
+
) {
|
|
47
51
|
if (process.env.KOALA_DUMP_PLUGIN_AST) {
|
|
48
|
-
this.dumpAst = true
|
|
52
|
+
this.dumpAst = true;
|
|
49
53
|
}
|
|
50
54
|
}
|
|
51
55
|
onProgramTransformStart(options: CompilationOptions, program: Program) {
|
|
52
56
|
if (this.dumpAst) {
|
|
53
|
-
console.log(`BEFORE ${this.pluginName}:`)
|
|
54
|
-
dumpProgramSrcFormatted(program, true)
|
|
57
|
+
console.log(`BEFORE ${this.pluginName}:`);
|
|
58
|
+
dumpProgramSrcFormatted(program, true);
|
|
55
59
|
}
|
|
56
|
-
if (!options.isProgramForCodegeneration) arktsGlobal.profiler.transformDepStarted()
|
|
60
|
+
if (!options.isProgramForCodegeneration) arktsGlobal.profiler.transformDepStarted();
|
|
57
61
|
}
|
|
58
62
|
onProgramTransformEnd(options: CompilationOptions, program: Program) {
|
|
59
|
-
if (!options.isProgramForCodegeneration) arktsGlobal.profiler.transformDepEnded(this.state, this.pluginName)
|
|
63
|
+
if (!options.isProgramForCodegeneration) arktsGlobal.profiler.transformDepEnded(this.state, this.pluginName);
|
|
60
64
|
if (this.dumpAst) {
|
|
61
|
-
console.log(`AFTER ${this.pluginName}:`)
|
|
62
|
-
dumpProgramSrcFormatted(program, true)
|
|
65
|
+
console.log(`AFTER ${this.pluginName}:`);
|
|
66
|
+
dumpProgramSrcFormatted(program, true);
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
}
|
|
66
70
|
|
|
71
|
+
export function runTransformerOnProgram(
|
|
72
|
+
program: Program,
|
|
73
|
+
options: CompilationOptions,
|
|
74
|
+
transform: ProgramTransformer | undefined,
|
|
75
|
+
pluginContext: PluginContext,
|
|
76
|
+
hooks: RunTransformerHooks = {}
|
|
77
|
+
) {
|
|
78
|
+
arktsGlobal.filePath = program.absoluteName;
|
|
67
79
|
|
|
68
|
-
|
|
69
|
-
arktsGlobal.filePath = program.absoluteName
|
|
70
|
-
|
|
71
|
-
Tracer.startProgramTracing(program)
|
|
80
|
+
Tracer.startProgramTracing(program);
|
|
72
81
|
|
|
73
82
|
// Perform some additional actions before the transformation start
|
|
74
|
-
hooks.onProgramTransformStart?.(options, program)
|
|
83
|
+
hooks.onProgramTransformStart?.(options, program);
|
|
75
84
|
|
|
76
85
|
// Save currently existing imports in the program
|
|
77
|
-
const importStorage = new ImportStorage(program, options.state == Es2pandaContextState.ES2PANDA_STATE_PARSED)
|
|
86
|
+
const importStorage = new ImportStorage(program, options.state == Es2pandaContextState.ES2PANDA_STATE_PARSED);
|
|
78
87
|
|
|
79
88
|
// Run the plugin itself
|
|
80
|
-
transform?.(program, options, pluginContext)
|
|
89
|
+
transform?.(program, options, pluginContext);
|
|
81
90
|
|
|
82
91
|
// Update internal import information based on import modification by plugin
|
|
83
|
-
importStorage.update()
|
|
92
|
+
importStorage.update();
|
|
84
93
|
|
|
85
94
|
// Perform some additional actions after the transformation end
|
|
86
|
-
hooks.onProgramTransformEnd?.(options, program)
|
|
95
|
+
hooks.onProgramTransformEnd?.(options, program);
|
|
87
96
|
|
|
88
|
-
Tracer.stopProgramTracing()
|
|
97
|
+
Tracer.stopProgramTracing();
|
|
89
98
|
}
|
|
90
99
|
|
|
91
|
-
export function runTransformer(
|
|
100
|
+
export function runTransformer(
|
|
101
|
+
prog: Program,
|
|
102
|
+
state: Es2pandaContextState,
|
|
103
|
+
transform: ProgramTransformer | undefined,
|
|
104
|
+
pluginContext: PluginContext,
|
|
105
|
+
hooks: RunTransformerHooks = {}
|
|
106
|
+
) {
|
|
92
107
|
// Program provider used to provide programs to transformer dynamically relative to inserted imports
|
|
93
|
-
const provider = new ProgramProvider(prog)
|
|
108
|
+
const provider = new ProgramProvider(prog);
|
|
94
109
|
|
|
95
110
|
// The first program provided by program provider is the main program
|
|
96
|
-
let currentProgram = provider.next()
|
|
97
|
-
let isMainProgram = true
|
|
111
|
+
let currentProgram = provider.next();
|
|
112
|
+
let isMainProgram = true;
|
|
98
113
|
|
|
99
114
|
while (currentProgram) {
|
|
100
115
|
// Options passed to plugin and hooks
|
|
101
116
|
const options: CompilationOptions = {
|
|
102
117
|
isProgramForCodegeneration: isProgramForCodegeneration(currentProgram, isMainProgram),
|
|
103
118
|
state,
|
|
104
|
-
}
|
|
119
|
+
};
|
|
105
120
|
|
|
106
|
-
runTransformerOnProgram(currentProgram, options, transform, pluginContext, hooks)
|
|
121
|
+
runTransformerOnProgram(currentProgram, options, transform, pluginContext, hooks);
|
|
107
122
|
|
|
108
123
|
// The first program is always the main program
|
|
109
|
-
isMainProgram = false
|
|
124
|
+
isMainProgram = false;
|
|
110
125
|
|
|
111
126
|
// Proceed to the next program
|
|
112
|
-
currentProgram = provider.next()
|
|
127
|
+
currentProgram = provider.next();
|
|
113
128
|
}
|
|
114
129
|
}
|
|
115
130
|
|
|
116
|
-
function isProgramForCodegeneration(
|
|
117
|
-
program: Program,
|
|
118
|
-
isMainProgram: boolean,
|
|
119
|
-
): boolean {
|
|
131
|
+
function isProgramForCodegeneration(program: Program, isMainProgram: boolean): boolean {
|
|
120
132
|
if (!arktsGlobal.isContextGenerateAbcForExternalSourceFiles) {
|
|
121
|
-
return isMainProgram
|
|
133
|
+
return isMainProgram;
|
|
122
134
|
}
|
|
123
|
-
return program.isGenAbcForExternal
|
|
135
|
+
return program.isGenAbcForExternal;
|
|
124
136
|
}
|
|
@@ -12,21 +12,22 @@
|
|
|
12
12
|
* See the License for the specific language governing permissions and
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
|
-
export { KNativePointer } from
|
|
16
|
-
export { AstNode } from
|
|
17
|
-
export { ArktsObject, isSameNativeObject } from
|
|
18
|
-
export { NodeCache } from
|
|
15
|
+
export { KNativePointer } from '@koalaui/interop';
|
|
16
|
+
export { AstNode } from './arkts-api/peers/AstNode';
|
|
17
|
+
export { ArktsObject, isSameNativeObject } from './arkts-api/peers/ArktsObject';
|
|
18
|
+
export { NodeCache } from './arkts-api/node-cache';
|
|
19
19
|
export {
|
|
20
20
|
passNode,
|
|
21
21
|
unpackNonNullableNode,
|
|
22
22
|
unpackNodeArray,
|
|
23
23
|
passNodeArray,
|
|
24
|
+
passStringArray,
|
|
24
25
|
unpackNode,
|
|
25
26
|
unpackString,
|
|
26
27
|
assertValidPeer,
|
|
27
|
-
updateNodeByNode
|
|
28
|
-
} from
|
|
29
|
-
export { nodeByType } from
|
|
30
|
-
export { global } from
|
|
31
|
-
export { Es2pandaMemberExpressionKind } from
|
|
32
|
-
export * from
|
|
28
|
+
updateNodeByNode,
|
|
29
|
+
} from './arkts-api/utilities/private';
|
|
30
|
+
export { nodeByType } from './arkts-api/class-by-peer';
|
|
31
|
+
export { global } from './arkts-api/static/global';
|
|
32
|
+
export { Es2pandaMemberExpressionKind } from '../generated/Es2pandaEnums';
|
|
33
|
+
export * from './arkts-api/utilities/extensions';
|
|
@@ -13,160 +13,166 @@
|
|
|
13
13
|
* limitations under the License.
|
|
14
14
|
*/
|
|
15
15
|
|
|
16
|
-
import * as fs from
|
|
17
|
-
import * as path from
|
|
18
|
-
import { Program } from
|
|
19
|
-
import { global } from
|
|
16
|
+
import * as fs from 'node:fs';
|
|
17
|
+
import * as path from 'node:path';
|
|
18
|
+
import { Program } from '../generated';
|
|
19
|
+
import { global } from './arkts-api/static/global';
|
|
20
20
|
|
|
21
21
|
export class Tracer {
|
|
22
|
-
static traceDir: string
|
|
23
|
-
static GlobalTracer: Tracer
|
|
24
|
-
static Tracers: Map<string, Tracer
|
|
25
|
-
static LRUTracer: Tracer | undefined
|
|
22
|
+
static traceDir: string;
|
|
23
|
+
static GlobalTracer: Tracer;
|
|
24
|
+
static Tracers: Map<string, Tracer>;
|
|
25
|
+
static LRUTracer: Tracer | undefined;
|
|
26
26
|
|
|
27
27
|
static startGlobalTracing(outDir: string) {
|
|
28
|
-
Tracer.traceDir = path.join(outDir, 'trace')
|
|
29
|
-
fs.rmSync(Tracer.traceDir, { force: true, recursive: true })
|
|
30
|
-
const globalTraceFile = path.join(Tracer.traceDir, '.global.txt')
|
|
31
|
-
|
|
32
|
-
Tracer.GlobalTracer = new Tracer(globalTraceFile)
|
|
33
|
-
Tracer.pushContext('tracer')
|
|
34
|
-
traceGlobal(() => `Trace file created at ${globalTraceFile}`, true)
|
|
35
|
-
|
|
36
|
-
Tracer.Tracers = new Map<string, Tracer>()
|
|
28
|
+
Tracer.traceDir = path.join(outDir, 'trace');
|
|
29
|
+
fs.rmSync(Tracer.traceDir, { force: true, recursive: true });
|
|
30
|
+
const globalTraceFile = path.join(Tracer.traceDir, '.global.txt');
|
|
31
|
+
|
|
32
|
+
Tracer.GlobalTracer = new Tracer(globalTraceFile);
|
|
33
|
+
Tracer.pushContext('tracer');
|
|
34
|
+
traceGlobal(() => `Trace file created at ${globalTraceFile}`, true);
|
|
35
|
+
|
|
36
|
+
Tracer.Tracers = new Map<string, Tracer>();
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
static startProgramTracing(program: Program) {
|
|
40
40
|
if (!Tracer.GlobalTracer) {
|
|
41
|
-
return
|
|
41
|
+
return;
|
|
42
42
|
}
|
|
43
|
-
const programPath = program.absoluteName
|
|
44
|
-
if (programPath ==
|
|
45
|
-
return
|
|
43
|
+
const programPath = program.absoluteName;
|
|
44
|
+
if (programPath == '') {
|
|
45
|
+
return;
|
|
46
46
|
}
|
|
47
|
-
const suggestedTracer = Tracer.Tracers.get(programPath)
|
|
47
|
+
const suggestedTracer = Tracer.Tracers.get(programPath);
|
|
48
48
|
if (suggestedTracer) {
|
|
49
|
-
Tracer.LRUTracer = suggestedTracer
|
|
50
|
-
return
|
|
49
|
+
Tracer.LRUTracer = suggestedTracer;
|
|
50
|
+
return;
|
|
51
51
|
}
|
|
52
52
|
if (!global.arktsconfig) {
|
|
53
|
-
throw new Error(
|
|
53
|
+
throw new Error('global.arktsconfig should be set for tracer usage');
|
|
54
54
|
}
|
|
55
|
-
const relative = path.relative(global.arktsconfig?.baseUrl, programPath)
|
|
55
|
+
const relative = path.relative(global.arktsconfig?.baseUrl, programPath);
|
|
56
56
|
const traceFileSuggestedPath = relative.startsWith('..')
|
|
57
57
|
? path.join(this.traceDir, 'external', program.absoluteName.slice(1))
|
|
58
|
-
: path.join(this.traceDir, relative)
|
|
58
|
+
: path.join(this.traceDir, relative);
|
|
59
59
|
Tracer.LRUTracer = new Tracer(
|
|
60
|
-
path.join(
|
|
60
|
+
path.join(
|
|
61
|
+
path.dirname(traceFileSuggestedPath),
|
|
62
|
+
path.basename(traceFileSuggestedPath, path.extname(traceFileSuggestedPath)) + '.txt'
|
|
63
|
+
),
|
|
61
64
|
programPath
|
|
62
|
-
)
|
|
65
|
+
);
|
|
63
66
|
}
|
|
64
67
|
|
|
65
68
|
static stopProgramTracing() {
|
|
66
|
-
Tracer.LRUTracer = undefined
|
|
69
|
+
Tracer.LRUTracer = undefined;
|
|
67
70
|
}
|
|
68
71
|
|
|
69
72
|
static stopGlobalTracing() {
|
|
70
|
-
Tracer.GlobalTracer.traceEventsStats()
|
|
73
|
+
Tracer.GlobalTracer.traceEventsStats();
|
|
71
74
|
}
|
|
72
75
|
|
|
73
|
-
private constructor(
|
|
76
|
+
private constructor(
|
|
77
|
+
private traceFilePath: string,
|
|
78
|
+
inputFilePath?: string
|
|
79
|
+
) {
|
|
74
80
|
if (!fs.existsSync(path.dirname(traceFilePath))) {
|
|
75
|
-
fs.mkdirSync(path.dirname(traceFilePath), { recursive: true })
|
|
81
|
+
fs.mkdirSync(path.dirname(traceFilePath), { recursive: true });
|
|
76
82
|
}
|
|
77
83
|
if (inputFilePath) {
|
|
78
|
-
Tracer.Tracers.set(inputFilePath, this)
|
|
84
|
+
Tracer.Tracers.set(inputFilePath, this);
|
|
79
85
|
}
|
|
80
86
|
}
|
|
81
87
|
|
|
82
88
|
trace(traceLog: string | undefined | void) {
|
|
83
89
|
if (!traceLog) {
|
|
84
|
-
return
|
|
90
|
+
return;
|
|
85
91
|
}
|
|
86
|
-
const lastContext = Tracer.lastContext()
|
|
87
|
-
fs.appendFileSync(this.traceFilePath, `[${lastContext.padStart(12)}] ${traceLog}\n`, 'utf-8')
|
|
92
|
+
const lastContext = Tracer.lastContext();
|
|
93
|
+
fs.appendFileSync(this.traceFilePath, `[${lastContext.padStart(12)}] ${traceLog}\n`, 'utf-8');
|
|
88
94
|
}
|
|
89
95
|
|
|
90
|
-
events: Map<string, number> | undefined
|
|
91
|
-
eventsPerContext: Map<string, Map<string, number
|
|
96
|
+
events: Map<string, number> | undefined;
|
|
97
|
+
eventsPerContext: Map<string, Map<string, number>> | undefined;
|
|
92
98
|
|
|
93
99
|
recordEvent(event: string) {
|
|
94
100
|
if (!this.events) {
|
|
95
|
-
this.events = new Map<string, number>()
|
|
101
|
+
this.events = new Map<string, number>();
|
|
96
102
|
}
|
|
97
|
-
this.events.set(event, (this.events.get(event) ?? 0) + 1)
|
|
103
|
+
this.events.set(event, (this.events.get(event) ?? 0) + 1);
|
|
98
104
|
|
|
99
105
|
if (!this.eventsPerContext) {
|
|
100
|
-
this.eventsPerContext = new Map<string, Map<string, number
|
|
106
|
+
this.eventsPerContext = new Map<string, Map<string, number>>();
|
|
101
107
|
}
|
|
102
108
|
if (!this.eventsPerContext.has(Tracer.lastContext())) {
|
|
103
|
-
this.eventsPerContext.set(Tracer.lastContext(), new Map<string, number>())
|
|
109
|
+
this.eventsPerContext.set(Tracer.lastContext(), new Map<string, number>());
|
|
104
110
|
}
|
|
105
|
-
const eventsPerContext = this.eventsPerContext.get(Tracer.lastContext())
|
|
106
|
-
eventsPerContext?.set(event, (eventsPerContext.get(event) ?? 0) + 1)
|
|
111
|
+
const eventsPerContext = this.eventsPerContext.get(Tracer.lastContext());
|
|
112
|
+
eventsPerContext?.set(event, (eventsPerContext.get(event) ?? 0) + 1);
|
|
107
113
|
}
|
|
108
114
|
|
|
109
115
|
traceEventsStats() {
|
|
110
116
|
if (this.events && this.eventsPerContext) {
|
|
111
117
|
const maxLength = Math.max(
|
|
112
|
-
...[...this.events.keys()].map(it => `Event "${it}"`.length),
|
|
113
|
-
...[...this.eventsPerContext?.keys()].map(it => ` in context [${it}]`.length)
|
|
114
|
-
)
|
|
115
|
-
this.trace(`Events stats:`)
|
|
118
|
+
...[...this.events.keys()].map((it) => `Event "${it}"`.length),
|
|
119
|
+
...[...this.eventsPerContext?.keys()].map((it) => ` in context [${it}]`.length)
|
|
120
|
+
);
|
|
121
|
+
this.trace(`Events stats:`);
|
|
116
122
|
this.events.forEach((eventCnt: number, event: string) => {
|
|
117
|
-
this.trace(`${`Event "${event}"`.padEnd(maxLength)}: ${eventCnt}`)
|
|
123
|
+
this.trace(`${`Event "${event}"`.padEnd(maxLength)}: ${eventCnt}`);
|
|
118
124
|
this.eventsPerContext?.forEach((localizedEventsMap: Map<string, number>, context: string) => {
|
|
119
125
|
localizedEventsMap.forEach((localizedEventCnt: number, localizedEvent: string) => {
|
|
120
126
|
if (localizedEvent == event) {
|
|
121
|
-
this.trace(`${` in context [${context}]`.padEnd(maxLength)}: ${localizedEventCnt}`)
|
|
127
|
+
this.trace(`${` in context [${context}]`.padEnd(maxLength)}: ${localizedEventCnt}`);
|
|
122
128
|
}
|
|
123
|
-
})
|
|
124
|
-
})
|
|
125
|
-
})
|
|
129
|
+
});
|
|
130
|
+
});
|
|
131
|
+
});
|
|
126
132
|
} else {
|
|
127
|
-
this.trace('No events recorded')
|
|
133
|
+
this.trace('No events recorded');
|
|
128
134
|
}
|
|
129
|
-
Tracer.popContext()
|
|
135
|
+
Tracer.popContext();
|
|
130
136
|
}
|
|
131
137
|
|
|
132
|
-
private static contexts: string[] = []
|
|
138
|
+
private static contexts: string[] = [];
|
|
133
139
|
|
|
134
140
|
static lastContext() {
|
|
135
|
-
return Tracer.contexts[Tracer.contexts.length - 1]
|
|
141
|
+
return Tracer.contexts[Tracer.contexts.length - 1];
|
|
136
142
|
}
|
|
137
143
|
|
|
138
144
|
static pushContext(newContext: string) {
|
|
139
|
-
Tracer.contexts.push(newContext)
|
|
145
|
+
Tracer.contexts.push(newContext);
|
|
140
146
|
}
|
|
141
147
|
|
|
142
148
|
static popContext() {
|
|
143
|
-
Tracer.contexts.pop()
|
|
149
|
+
Tracer.contexts.pop();
|
|
144
150
|
}
|
|
145
151
|
}
|
|
146
152
|
|
|
147
153
|
export function traceGlobal(traceLog: () => string | undefined | void, forceLogToConsole: boolean = false) {
|
|
148
154
|
if (forceLogToConsole) {
|
|
149
|
-
const result = traceLog()
|
|
155
|
+
const result = traceLog();
|
|
150
156
|
if (result) {
|
|
151
|
-
console.log(`[${Tracer.lastContext()}] ${result}`)
|
|
157
|
+
console.log(`[${Tracer.lastContext()}] ${result}`);
|
|
152
158
|
}
|
|
153
159
|
}
|
|
154
160
|
if (!Tracer.GlobalTracer) {
|
|
155
|
-
return
|
|
161
|
+
return;
|
|
156
162
|
}
|
|
157
|
-
Tracer.GlobalTracer.trace(traceLog())
|
|
163
|
+
Tracer.GlobalTracer.trace(traceLog());
|
|
158
164
|
}
|
|
159
165
|
|
|
160
166
|
export function trace(event: string, traceLog: () => string | undefined | void, forceLogToConsole: boolean = false) {
|
|
161
167
|
if (forceLogToConsole) {
|
|
162
|
-
const result = traceLog()
|
|
168
|
+
const result = traceLog();
|
|
163
169
|
if (result) {
|
|
164
|
-
console.log(`[${Tracer.lastContext()}] ${result}`)
|
|
170
|
+
console.log(`[${Tracer.lastContext()}] ${result}`);
|
|
165
171
|
}
|
|
166
172
|
}
|
|
167
173
|
if (!Tracer.GlobalTracer) {
|
|
168
|
-
return
|
|
174
|
+
return;
|
|
169
175
|
}
|
|
170
|
-
Tracer.LRUTracer?.trace(traceLog())
|
|
171
|
-
Tracer.GlobalTracer.recordEvent(event)
|
|
176
|
+
Tracer.LRUTracer?.trace(traceLog());
|
|
177
|
+
Tracer.GlobalTracer.recordEvent(event);
|
|
172
178
|
}
|