arkanalyzer 1.0.85 → 1.0.87
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/README.en.md +69 -65
- package/README.md +56 -70
- package/config/arkanalyzer.json +7 -2
- package/docs/cppFrontend/ArkAnalyzer-cpp_usage_guide.md +245 -0
- package/docs/cppFrontend/cpp_frontend_build_guide.md +126 -0
- package/docs/cppFrontend/cpp_frontend_user_guide.md +175 -0
- package/docs/cppFrontend/img.png +0 -0
- package/docs/cppFrontend/img_1.png +0 -0
- package/docs/cppFrontend/img_10.png +0 -0
- package/docs/cppFrontend/img_11.png +0 -0
- package/docs/cppFrontend/img_12.png +0 -0
- package/docs/cppFrontend/img_13.png +0 -0
- package/docs/cppFrontend/img_14.png +0 -0
- package/docs/cppFrontend/img_15.png +0 -0
- package/docs/cppFrontend/img_16.png +0 -0
- package/docs/cppFrontend/img_17.png +0 -0
- package/docs/cppFrontend/img_18.png +0 -0
- package/docs/cppFrontend/img_19.png +0 -0
- package/docs/cppFrontend/img_2.png +0 -0
- package/docs/cppFrontend/img_20.png +0 -0
- package/docs/cppFrontend/img_21.png +0 -0
- package/docs/cppFrontend/img_22.png +0 -0
- package/docs/cppFrontend/img_23.png +0 -0
- package/docs/cppFrontend/img_3.png +0 -0
- package/docs/cppFrontend/img_4.png +0 -0
- package/docs/cppFrontend/img_5.png +0 -0
- package/docs/cppFrontend/img_6.png +0 -0
- package/docs/cppFrontend/img_7.png +0 -0
- package/docs/cppFrontend/img_8.png +0 -0
- package/docs/cppFrontend/img_9.png +0 -0
- package/docs/sig_programanalysis.en.md +66 -0
- package/docs/sig_programanalysis.md +73 -0
- package/lib/Config.d.ts +32 -1
- package/lib/Config.d.ts.map +1 -1
- package/lib/Config.js +76 -2
- package/lib/Scene.d.ts +25 -2
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +148 -40
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +4 -3
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/AbstractAnalysis.js +17 -17
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts +6 -1
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +117 -14
- package/lib/callgraph/common/Statistics.d.ts +4 -2
- package/lib/callgraph/common/Statistics.d.ts.map +1 -1
- package/lib/callgraph/common/Statistics.js +14 -2
- package/lib/callgraph/model/CallGraph.d.ts +12 -8
- package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
- package/lib/callgraph/model/CallGraph.js +53 -29
- package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +1 -0
- package/lib/callgraph/model/builder/CallGraphBuilder.d.ts.map +1 -1
- package/lib/callgraph/model/builder/CallGraphBuilder.js +5 -1
- package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.js +3 -0
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +4 -2
- package/lib/cli/cli.d.ts +3 -0
- package/lib/cli/cli.d.ts.map +1 -0
- package/lib/cli/cli.js +82 -0
- package/lib/cli/commands/cg.d.ts +32 -0
- package/lib/cli/commands/cg.d.ts.map +1 -0
- package/lib/cli/commands/cg.js +401 -0
- package/lib/cli/commands/index.d.ts +6 -0
- package/lib/cli/commands/index.d.ts.map +1 -0
- package/lib/cli/commands/index.js +64 -0
- package/lib/cli/commands/ir.d.ts +26 -0
- package/lib/cli/commands/ir.d.ts.map +1 -0
- package/lib/cli/commands/ir.js +94 -0
- package/lib/core/base/Constant.d.ts +1 -1
- package/lib/core/base/Constant.d.ts.map +1 -1
- package/lib/core/base/Constant.js +1 -1
- package/lib/core/base/Expr.d.ts +29 -5
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +144 -22
- package/lib/core/base/Position.d.ts +14 -0
- package/lib/core/base/Position.d.ts.map +1 -1
- package/lib/core/base/Position.js +27 -0
- package/lib/core/base/Ref.d.ts +1 -0
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +4 -1
- package/lib/core/base/Type.d.ts +64 -24
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +144 -49
- package/lib/core/common/ArkError.d.ts +26 -2
- package/lib/core/common/ArkError.d.ts.map +1 -1
- package/lib/core/common/ArkError.js +56 -2
- package/lib/core/common/ArkIRTransformer.d.ts +11 -10
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +1 -1
- package/lib/core/common/ArkValueTransformer.d.ts +14 -12
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +1 -5
- package/lib/core/common/Const.d.ts +3 -0
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +4 -1
- package/lib/core/common/DummyMainCreater.d.ts +23 -13
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +66 -43
- package/lib/core/common/EtsConst.d.ts +11 -0
- package/lib/core/common/EtsConst.d.ts.map +1 -1
- package/lib/core/common/EtsConst.js +12 -1
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +5 -1
- package/lib/core/common/ModelUtils.d.ts +4 -7
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +77 -110
- package/lib/core/common/SdkUtils.d.ts +1 -1
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +14 -5
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +9 -3
- package/lib/core/graph/BaseExplicitGraph.d.ts +4 -4
- package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
- package/lib/core/graph/BaseExplicitGraph.js +15 -8
- package/lib/core/graph/BasicBlock.d.ts.map +1 -1
- package/lib/core/graph/Scc.d.ts.map +1 -1
- package/lib/core/graph/Scc.js +7 -2
- package/lib/core/graph/builder/CfgBuilder.d.ts +10 -7
- package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/CfgBuilder.js +12 -5
- package/lib/core/inference/Inference.d.ts.map +1 -1
- package/lib/core/inference/Inference.js +7 -0
- package/lib/core/inference/ModelInference.d.ts +1 -1
- package/lib/core/inference/ModelInference.d.ts.map +1 -1
- package/lib/core/inference/ValueInference.d.ts +3 -2
- package/lib/core/inference/ValueInference.d.ts.map +1 -1
- package/lib/core/inference/ValueInference.js +64 -12
- package/lib/core/inference/abc/AbcInference.d.ts +28 -2
- package/lib/core/inference/abc/AbcInference.d.ts.map +1 -1
- package/lib/core/inference/abc/AbcInference.js +105 -4
- package/lib/core/model/ArkBaseModel.d.ts +14 -1
- package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
- package/lib/core/model/ArkBaseModel.js +61 -2
- package/lib/core/model/ArkBody.d.ts.map +1 -1
- package/lib/core/model/ArkBody.js +1 -3
- package/lib/core/model/ArkClass.d.ts +22 -2
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +59 -28
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +3 -1
- package/lib/core/model/ArkFile.d.ts +4 -1
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +44 -3
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +9 -1
- package/lib/core/model/ArkMethod.d.ts +5 -0
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +33 -1
- package/lib/core/model/ArkNamespace.d.ts +2 -0
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +11 -0
- package/lib/core/model/ArkSignature.d.ts +3 -3
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +14 -9
- package/lib/core/model/builder/ArkClassBuilder.d.ts +2 -0
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +3 -3
- package/lib/core/model/builder/ArkMethodBuilder.d.ts +4 -1
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +19 -6
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +1 -0
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +2 -1
- package/lib/core/model/builder/BodyBuilder.d.ts +4 -0
- package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.d.ts +1 -0
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +7 -3
- package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts +296 -0
- package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/ArkCxxAstNode.js +145 -0
- package/lib/frontend/cppFrontend/ast/astUtils.d.ts +51 -0
- package/lib/frontend/cppFrontend/ast/astUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/astUtils.js +470 -0
- package/lib/frontend/cppFrontend/ast/const.d.ts +30 -0
- package/lib/frontend/cppFrontend/ast/const.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/ast/const.js +134 -0
- package/lib/frontend/cppFrontend/base/Constant.d.ts +9 -0
- package/lib/frontend/cppFrontend/base/Constant.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/base/Constant.js +33 -0
- package/lib/frontend/cppFrontend/base/Expr.d.ts +174 -0
- package/lib/frontend/cppFrontend/base/Expr.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/base/Expr.js +530 -0
- package/lib/frontend/cppFrontend/base/Ref.d.ts +25 -0
- package/lib/frontend/cppFrontend/base/Ref.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/base/Ref.js +53 -0
- package/lib/frontend/cppFrontend/base/Trap.d.ts +8 -0
- package/lib/frontend/cppFrontend/base/Trap.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/base/Trap.js +28 -0
- package/lib/frontend/cppFrontend/base/Type.d.ts +264 -0
- package/lib/frontend/cppFrontend/base/Type.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/base/Type.js +600 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts +109 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/ArkIRTransformer.js +925 -0
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts +477 -0
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/ArkValueTransformer.js +2746 -0
- package/lib/frontend/cppFrontend/common/Builtin.d.ts +57 -0
- package/lib/frontend/cppFrontend/common/Builtin.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/Builtin.js +106 -0
- package/lib/frontend/cppFrontend/common/IRInference.d.ts +94 -0
- package/lib/frontend/cppFrontend/common/IRInference.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/IRInference.js +1087 -0
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts +23 -0
- package/lib/frontend/cppFrontend/common/IRUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/IRUtils.js +168 -0
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts +44 -0
- package/lib/frontend/cppFrontend/common/ModelUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/ModelUtils.js +567 -0
- package/lib/frontend/cppFrontend/common/TypeInference.d.ts +278 -0
- package/lib/frontend/cppFrontend/common/TypeInference.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/TypeInference.js +1354 -0
- package/lib/frontend/cppFrontend/common/ValueUtil.d.ts +16 -0
- package/lib/frontend/cppFrontend/common/ValueUtil.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/common/ValueUtil.js +61 -0
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts +182 -0
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/CfgBuilder.js +1435 -0
- package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts +21 -0
- package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/ConditionBuilder.js +303 -0
- package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts +15 -0
- package/lib/frontend/cppFrontend/graph/builder/IfBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/IfBuilder.js +161 -0
- package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts +21 -0
- package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/LoopBuilder.js +261 -0
- package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts +12 -0
- package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/SwitchBuilder.js +155 -0
- package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts +29 -0
- package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/graph/builder/TrapBuilder.js +302 -0
- package/lib/frontend/cppFrontend/inference/CxxInference.d.ts +10 -0
- package/lib/frontend/cppFrontend/inference/CxxInference.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/inference/CxxInference.js +41 -0
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts +28 -0
- package/lib/frontend/cppFrontend/inference/CxxModelInference.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/inference/CxxModelInference.js +98 -0
- package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts +20 -0
- package/lib/frontend/cppFrontend/inference/CxxValueInference.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/inference/CxxValueInference.js +128 -0
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts +11 -0
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkClassBuilder.js +413 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts +5 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFieldBuilder.js +61 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +17 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +285 -0
- package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts +6 -0
- package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkImportBuilder.js +57 -0
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts +14 -0
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkMethodBuilder.js +422 -0
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts +8 -0
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/ArkNamespaceBuilder.js +194 -0
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts +59 -0
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/BodyBuilder.js +605 -0
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts +46 -0
- package/lib/frontend/cppFrontend/model/builder/builderUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/model/builder/builderUtils.js +499 -0
- package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts +44 -0
- package/lib/frontend/cppFrontend/utils/cmakeUtils.d.ts.map +1 -0
- package/lib/frontend/cppFrontend/utils/cmakeUtils.js +240 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -1
- package/lib/node_modules/ohos-typescript/.ohos-typescript-version +1 -0
- package/{node_modules → lib/node_modules}/ohos-typescript/package.json +2 -1
- package/lib/save/CGJsonPrinter.d.ts +8 -0
- package/lib/save/CGJsonPrinter.d.ts.map +1 -0
- package/lib/save/CGJsonPrinter.js +41 -0
- package/lib/save/GraphPrinter.js +2 -2
- package/lib/save/json/JsonDto.d.ts +86 -2
- package/lib/save/json/JsonDto.d.ts.map +1 -1
- package/lib/save/json/JsonSerialization.d.ts +1 -1
- package/lib/save/json/JsonSerialization.d.ts.map +1 -1
- package/lib/save/json/JsonSerialization.js +235 -145
- package/lib/save/source/SourceTransformer.d.ts.map +1 -1
- package/lib/save/source/SourceTransformer.js +0 -3
- package/lib/utils/CxxSceneUtils.d.ts +11 -0
- package/lib/utils/CxxSceneUtils.d.ts.map +1 -0
- package/lib/utils/CxxSceneUtils.js +178 -0
- package/lib/utils/FileUtils.d.ts +7 -8
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +27 -45
- package/lib/utils/LRUCacheDecorator.d.ts +20 -0
- package/lib/utils/LRUCacheDecorator.d.ts.map +1 -0
- package/lib/utils/LRUCacheDecorator.js +89 -0
- package/lib/utils/ModuleUtils.d.ts +39 -0
- package/lib/utils/ModuleUtils.d.ts.map +1 -0
- package/lib/utils/ModuleUtils.js +261 -0
- package/package.json +15 -12
- /package/{node_modules → lib/node_modules}/ohos-typescript/LICENSE +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/README.OpenSource +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/README.md +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/SECURITY.md +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/ThirdPartyNoticeText.txt +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsc +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/bin/tsserver +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/README.md +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cancellationToken.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/cs/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/de/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/es/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/fr/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/it/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ja/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ko/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.dom.iterable.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.collection.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.core.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.generator.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.iterable.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.promise.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.proxy.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.reflect.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2015.symbol.wellknown.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.array.include.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2016.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.object.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.sharedmemory.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.string.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2017.typedarrays.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asyncgenerator.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.asynciterable.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.promise.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2018.regexp.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.array.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.object.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.string.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2019.symbol.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.bigint.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.date.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.number.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.promise.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.sharedmemory.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.string.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2020.symbol.wellknown.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.promise.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.string.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2021.weakref.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.array.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.error.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.object.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.sharedmemory.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es2022.string.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es5.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.es6.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.full.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.esnext.intl.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.scripthost.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.importscripts.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/lib.webworker.iterable.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pl/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/pt-br/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/ru/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tr/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsc.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserver.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/tsserverlibrary.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typesMap.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.d.ts +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typescript.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/typingsInstaller.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/watchGuard.js +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-cn/diagnosticMessages.generated.json +0 -0
- /package/{node_modules → lib/node_modules}/ohos-typescript/lib/zh-tw/diagnosticMessages.generated.json +0 -0
|
@@ -19,10 +19,22 @@ export declare enum ModifierType {
|
|
|
19
19
|
OVERRIDE = 8192,
|
|
20
20
|
DECLARE = 16384,
|
|
21
21
|
TYPE = 32768,
|
|
22
|
-
LAZY = 65536
|
|
22
|
+
LAZY = 65536,
|
|
23
|
+
AUTO = 1048576,
|
|
24
|
+
EXTERN = 2097152,
|
|
25
|
+
FRIEND = 4194304,
|
|
26
|
+
VIRTUAL = 8388608,
|
|
27
|
+
PURE_VIRTUAL = 16777216,
|
|
28
|
+
INLINE = 33554432,
|
|
29
|
+
MUTABLE = 67108864,
|
|
30
|
+
EXPLICIT = 134217728,
|
|
31
|
+
CONSTEXPR = 268435456,
|
|
32
|
+
VOLATILE = 536870912,
|
|
33
|
+
NOEXCEPT = 1073741824
|
|
23
34
|
}
|
|
24
35
|
export declare const MODIFIER_TYPE_MASK = 65535;
|
|
25
36
|
export declare function modifierKind2Enum(kind: ts.SyntaxKind): ModifierType;
|
|
37
|
+
export declare function modifierKind2CxxEnum(kind: string): ModifierType;
|
|
26
38
|
export declare function modifiers2stringArray(modifiers: number): string[];
|
|
27
39
|
export declare abstract class ArkBaseModel {
|
|
28
40
|
protected modifiers?: number;
|
|
@@ -42,6 +54,7 @@ export declare abstract class ArkBaseModel {
|
|
|
42
54
|
isAbstract(): boolean;
|
|
43
55
|
isExport(): boolean;
|
|
44
56
|
isDefault(): boolean;
|
|
57
|
+
isPureVirtual(): boolean;
|
|
45
58
|
/** @deprecated Use {@link isExport} instead. */
|
|
46
59
|
isExported(): boolean;
|
|
47
60
|
isDeclare(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkBaseModel.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBaseModel.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqB9E,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,SAAS,IAAS;IAClB,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,KAAS;IACf,QAAQ,KAAS;IACjB,KAAK,KAAS;IACd,KAAK,MAAS;IACd,QAAQ,MAAS;IACjB,OAAO,MAAS;IAChB,EAAE,OAAU;IACZ,QAAQ,OAAU;IAClB,GAAG,OAAU;IACb,QAAQ,OAAU;IAClB,OAAO,QAAU;IACjB,IAAI,QAAU;IACd,IAAI,QAAU;
|
|
1
|
+
{"version":3,"file":"ArkBaseModel.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBaseModel.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAqB9E,oBAAY,YAAY;IACpB,OAAO,IAAI;IACX,SAAS,IAAS;IAClB,MAAM,IAAS;IACf,MAAM,IAAS;IACf,MAAM,KAAS;IACf,QAAQ,KAAS;IACjB,KAAK,KAAS;IACd,KAAK,MAAS;IACd,QAAQ,MAAS;IACjB,OAAO,MAAS;IAChB,EAAE,OAAU;IACZ,QAAQ,OAAU;IAClB,GAAG,OAAU;IACb,QAAQ,OAAU;IAClB,OAAO,QAAU;IACjB,IAAI,QAAU;IACd,IAAI,QAAU;IAGd,IAAI,UAAU;IACd,MAAM,UAAU;IAChB,MAAM,UAAU;IAChB,OAAO,UAAU;IACjB,YAAY,WAAU;IACtB,MAAM,WAAU;IAChB,OAAO,WAAU;IACjB,QAAQ,YAAU;IAClB,SAAS,YAAU;IACnB,QAAQ,YAAU;IAClB,QAAQ,aAAU;CACrB;AAED,eAAO,MAAM,kBAAkB,QAAS,CAAC;AAgFzC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,YAAY,CAEnE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAE/D;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CASjE;AAED,8BAAsB,YAAY;IAC9B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;IACtC,SAAS,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAE1B,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;IAI/D,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;IAOhE,YAAY,IAAI,MAAM;IAOtB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAMrC,WAAW,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,IAAI;IAIlD,cAAc,CAAC,QAAQ,EAAE,YAAY,GAAG,IAAI;IAO5C,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,SAAS,IAAI,OAAO;IAIpB,QAAQ,IAAI,OAAO;IAInB,UAAU,IAAI,OAAO;IAIrB,UAAU,IAAI,OAAO;IAIrB,QAAQ,IAAI,OAAO;IAInB,SAAS,IAAI,OAAO;IAKpB,aAAa,IAAI,OAAO;IAI/B,gDAAgD;IACzC,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,OAAO;IAIpB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO;IAQrD,aAAa,IAAI,SAAS,EAAE;IAO5B,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI;IAM/C,YAAY,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAOxC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAQnC,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,IAAI,SAAS,EAAE;IASjC,wBAAwB,IAAI,OAAO;IAInC,iBAAiB,IAAI,OAAO;IAI5B,qBAAqB,IAAI,OAAO;IAIhC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO;IAYxD,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ;aAkBpC,QAAQ,IAAI,QAAQ;CACvC"}
|
|
@@ -40,7 +40,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
40
40
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
41
41
|
};
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
-
exports.ArkBaseModel = exports.modifiers2stringArray = exports.modifierKind2Enum = exports.MODIFIER_TYPE_MASK = exports.ModifierType = void 0;
|
|
43
|
+
exports.ArkBaseModel = exports.modifiers2stringArray = exports.modifierKind2CxxEnum = exports.modifierKind2Enum = exports.MODIFIER_TYPE_MASK = exports.ModifierType = void 0;
|
|
44
44
|
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
45
45
|
const EtsConst_1 = require("../common/EtsConst");
|
|
46
46
|
const ArkError_1 = require("../common/ArkError");
|
|
@@ -83,6 +83,18 @@ var ModifierType;
|
|
|
83
83
|
ModifierType[ModifierType["DECLARE"] = 16384] = "DECLARE";
|
|
84
84
|
ModifierType[ModifierType["TYPE"] = 32768] = "TYPE";
|
|
85
85
|
ModifierType[ModifierType["LAZY"] = 65536] = "LAZY";
|
|
86
|
+
// The following are CXX specific modifiers.
|
|
87
|
+
ModifierType[ModifierType["AUTO"] = 1048576] = "AUTO";
|
|
88
|
+
ModifierType[ModifierType["EXTERN"] = 2097152] = "EXTERN";
|
|
89
|
+
ModifierType[ModifierType["FRIEND"] = 4194304] = "FRIEND";
|
|
90
|
+
ModifierType[ModifierType["VIRTUAL"] = 8388608] = "VIRTUAL";
|
|
91
|
+
ModifierType[ModifierType["PURE_VIRTUAL"] = 16777216] = "PURE_VIRTUAL";
|
|
92
|
+
ModifierType[ModifierType["INLINE"] = 33554432] = "INLINE";
|
|
93
|
+
ModifierType[ModifierType["MUTABLE"] = 67108864] = "MUTABLE";
|
|
94
|
+
ModifierType[ModifierType["EXPLICIT"] = 134217728] = "EXPLICIT";
|
|
95
|
+
ModifierType[ModifierType["CONSTEXPR"] = 268435456] = "CONSTEXPR";
|
|
96
|
+
ModifierType[ModifierType["VOLATILE"] = 536870912] = "VOLATILE";
|
|
97
|
+
ModifierType[ModifierType["NOEXCEPT"] = 1073741824] = "NOEXCEPT";
|
|
86
98
|
})(ModifierType = exports.ModifierType || (exports.ModifierType = {}));
|
|
87
99
|
exports.MODIFIER_TYPE_MASK = 0xffff;
|
|
88
100
|
const MODIFIER_TYPE_STRINGS = [
|
|
@@ -102,6 +114,45 @@ const MODIFIER_TYPE_STRINGS = [
|
|
|
102
114
|
'override',
|
|
103
115
|
'declare',
|
|
104
116
|
];
|
|
117
|
+
/**
|
|
118
|
+
*Map the C++modifier keyword to the corresponding modifier type enumeration value
|
|
119
|
+
*
|
|
120
|
+
*This constant defines a Map object, which is used to map the modifier keyword string in C++language to
|
|
121
|
+
*The corresponding ModifierType enumeration value is convenient for type identification and processing during code analysis and conversion.
|
|
122
|
+
*
|
|
123
|
+
*Included modifier mapping relationship:
|
|
124
|
+
*- virtual ->ModifierType.VIRTUAL: virtual function modifier
|
|
125
|
+
*- const ->ModifierType.CONST: constant modifier
|
|
126
|
+
*- private ->ModifierType.PRIVATE: private access modifier
|
|
127
|
+
*- protected ->ModifierType.PROTECTED: protect access modifier
|
|
128
|
+
*- public ->ModifierType.PUBLIC: public access modifier
|
|
129
|
+
*- extern ->ModifierType.EXTERN: external link modifier
|
|
130
|
+
*- friend ->ModifierType.FRIEND: Friend modifier
|
|
131
|
+
*- override ->ModifierType.OVERRIDE: override modifier
|
|
132
|
+
*- static ->ModifierType.STATIC: static modifier
|
|
133
|
+
*- pure virtual ->ModifierType.PURE_VIRTUAL: pure virtual function modifier
|
|
134
|
+
*- abstract ->ModifierType.ABSTRACT: abstract class modifier (implemented through pure virtual function in C++)
|
|
135
|
+
*/
|
|
136
|
+
const MODIFIER_KIND_2_ENUM_CXX = new Map([
|
|
137
|
+
['virtual', ModifierType.VIRTUAL],
|
|
138
|
+
['const', ModifierType.CONST],
|
|
139
|
+
['private', ModifierType.PRIVATE],
|
|
140
|
+
['protected', ModifierType.PROTECTED],
|
|
141
|
+
['public', ModifierType.PUBLIC],
|
|
142
|
+
['extern', ModifierType.EXTERN],
|
|
143
|
+
['friend', ModifierType.FRIEND],
|
|
144
|
+
['override', ModifierType.OVERRIDE],
|
|
145
|
+
['static', ModifierType.STATIC],
|
|
146
|
+
['pure virtual', ModifierType.PURE_VIRTUAL],
|
|
147
|
+
// In C++, a class with pure virtual functions is an abstract class. This sets a modifier to correspond to the abstract class in TypeScript.
|
|
148
|
+
['abstract', ModifierType.ABSTRACT],
|
|
149
|
+
['inline', ModifierType.INLINE],
|
|
150
|
+
['mutable', ModifierType.MUTABLE],
|
|
151
|
+
['explicit', ModifierType.EXPLICIT],
|
|
152
|
+
['constexpr', ModifierType.CONSTEXPR],
|
|
153
|
+
['volatile', ModifierType.VOLATILE],
|
|
154
|
+
['noexcept', ModifierType.NOEXCEPT],
|
|
155
|
+
]);
|
|
105
156
|
const MODIFIER_KIND_2_ENUM = new Map([
|
|
106
157
|
[ohos_typescript_1.default.SyntaxKind.AbstractKeyword, ModifierType.ABSTRACT],
|
|
107
158
|
[ohos_typescript_1.default.SyntaxKind.AccessorKeyword, ModifierType.ACCESSOR],
|
|
@@ -125,6 +176,10 @@ function modifierKind2Enum(kind) {
|
|
|
125
176
|
return MODIFIER_KIND_2_ENUM.get(kind);
|
|
126
177
|
}
|
|
127
178
|
exports.modifierKind2Enum = modifierKind2Enum;
|
|
179
|
+
function modifierKind2CxxEnum(kind) {
|
|
180
|
+
return MODIFIER_KIND_2_ENUM_CXX.get(kind);
|
|
181
|
+
}
|
|
182
|
+
exports.modifierKind2CxxEnum = modifierKind2CxxEnum;
|
|
128
183
|
function modifiers2stringArray(modifiers) {
|
|
129
184
|
let strs = [];
|
|
130
185
|
for (let idx = 0; idx < MODIFIER_TYPE_STRINGS.length; idx++) {
|
|
@@ -192,6 +247,10 @@ class ArkBaseModel {
|
|
|
192
247
|
isDefault() {
|
|
193
248
|
return this.containsModifier(ModifierType.DEFAULT);
|
|
194
249
|
}
|
|
250
|
+
/* Determine whether a method is a pure virtual method in C++. */
|
|
251
|
+
isPureVirtual() {
|
|
252
|
+
return this.containsModifier(ModifierType.PURE_VIRTUAL);
|
|
253
|
+
}
|
|
195
254
|
/** @deprecated Use {@link isExport} instead. */
|
|
196
255
|
isExported() {
|
|
197
256
|
return this.isExport();
|
|
@@ -273,7 +332,7 @@ class ArkBaseModel {
|
|
|
273
332
|
}
|
|
274
333
|
logger.error(`class fields: ${errs.join(',')} is undefined.`);
|
|
275
334
|
return {
|
|
276
|
-
errCode: ArkError_1.ArkErrorCode.
|
|
335
|
+
errCode: ArkError_1.ArkErrorCode.CLASS_INSTANCE_FIELD_UNDEFINED,
|
|
277
336
|
errMsg: `${errs.join(',')} is undefined.`,
|
|
278
337
|
};
|
|
279
338
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkBody.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBody.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,YAAY,CAAC,CAAmD;IACxE,OAAO,CAAC,KAAK,CAAC,CAAS;gBAEX,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE;IAQlH,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAI/B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ArkBody.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkBody.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAGtD,qBAAa,OAAO;IAChB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,YAAY,CAAC,CAAmD;IACxE,OAAO,CAAC,KAAK,CAAC,CAAS;gBAEX,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,IAAI,EAAE;IAQlH,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC;IAI/B,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI;IAKnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAI1C,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,SAAS;IAIhD,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,IAAI;IAIjD,MAAM,IAAI,GAAG;IAIb,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAItB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,GAAG,SAAS;IAI/E,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAQlD,QAAQ,IAAI,IAAI,EAAE,GAAG,SAAS;IAI9B,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;CAQ1D"}
|
|
@@ -15,7 +15,13 @@ export declare enum ClassCategory {
|
|
|
15
15
|
INTERFACE = 2,
|
|
16
16
|
ENUM = 3,
|
|
17
17
|
TYPE_LITERAL = 4,
|
|
18
|
-
OBJECT = 5
|
|
18
|
+
OBJECT = 5,
|
|
19
|
+
UNION = 6
|
|
20
|
+
}
|
|
21
|
+
export interface heritageClassWithInfo {
|
|
22
|
+
baseClass: ArkClass | undefined | null;
|
|
23
|
+
isVirtual: boolean;
|
|
24
|
+
access: string;
|
|
19
25
|
}
|
|
20
26
|
/**
|
|
21
27
|
* @category core/model
|
|
@@ -46,6 +52,8 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
46
52
|
private anonymousMethodNumber;
|
|
47
53
|
private indexSignatureNumber;
|
|
48
54
|
private viewTree?;
|
|
55
|
+
private ts2cxxFuncMap;
|
|
56
|
+
private classDeclareSignature?;
|
|
49
57
|
constructor();
|
|
50
58
|
/**
|
|
51
59
|
* Returns the program language of the file where this class defined.
|
|
@@ -105,12 +113,13 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
105
113
|
setSignature(classSig: ClassSignature): void;
|
|
106
114
|
getSuperClassName(): string;
|
|
107
115
|
addHeritageClassName(className: string): void;
|
|
116
|
+
addHeritageClassNameWithInfo(className: string, classInfo: heritageClassWithInfo): void;
|
|
108
117
|
/**
|
|
109
118
|
* Returns the superclass of this class.
|
|
110
119
|
* @returns The superclass of this class.
|
|
111
120
|
*/
|
|
112
121
|
getSuperClass(): ArkClass | null;
|
|
113
|
-
|
|
122
|
+
getHeritageClass(heritageClassName: string): ArkClass | null;
|
|
114
123
|
getAllHeritageClasses(): ArkClass[];
|
|
115
124
|
getExtendedClasses(): Map<string, ArkClass>;
|
|
116
125
|
addExtendedClass(extendedClass: ArkClass): void;
|
|
@@ -154,6 +163,13 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
154
163
|
*/
|
|
155
164
|
getMethods(generated?: boolean): ArkMethod[];
|
|
156
165
|
getMethod(methodSignature: MethodSignature): ArkMethod | null;
|
|
166
|
+
/**
|
|
167
|
+
* Find a method that matches the specified signature
|
|
168
|
+
* @ param mtd - Ark method object to check
|
|
169
|
+
* @ param methodSignature - the method signature to match
|
|
170
|
+
* @ returns If a matching method is found, the method object will be returned; otherwise, null will be returned
|
|
171
|
+
*/
|
|
172
|
+
private findMatchingMethod;
|
|
157
173
|
getMethodWithName(methodName: string): ArkMethod | null;
|
|
158
174
|
getStaticMethodWithName(methodName: string): ArkMethod | null;
|
|
159
175
|
/**
|
|
@@ -240,5 +256,9 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
240
256
|
removeField(field: ArkField): boolean;
|
|
241
257
|
removeMethod(method: ArkMethod): boolean;
|
|
242
258
|
validate(): ArkError;
|
|
259
|
+
addTs2cxxFuncMapElement(funcName: string, methods: ArkMethod[]): void;
|
|
260
|
+
getTs2cxxFuncMap(): Map<string, ArkMethod[]>;
|
|
261
|
+
getDeclareSignature(): ClassSignature | undefined;
|
|
262
|
+
setDeclareSignature(classSig: ClassSignature): void;
|
|
243
263
|
}
|
|
244
264
|
//# sourceMappingURL=ArkClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkClass.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkClass.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,oBAAY,aAAa;IACrB,KAAK,IAAI;IACT,MAAM,IAAI;IACV,SAAS,IAAI;IACb,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,MAAM,IAAI;
|
|
1
|
+
{"version":3,"file":"ArkClass.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkClass.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAM9C,oBAAY,aAAa;IACrB,KAAK,IAAI;IACT,MAAM,IAAI;IACV,SAAS,IAAI;IACb,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,MAAM,IAAI;IAEV,KAAK,IAAI;CACZ;AAED,MAAM,WAAW,qBAAqB;IAClC,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAa,YAAW,SAAS;IAC3D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,cAAc,CAAkB;IACxC;;;;OAIG;IACH,OAAO,CAAC,eAAe,CAAwG;IAE/H,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,OAAO,CAA4D;IAC3E,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,aAAa,CAA4D;IACjF,OAAO,CAAC,YAAY,CAAsD;IAE1E,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,QAAQ,CAAC,CAAW;IAG5B,OAAO,CAAC,aAAa,CAA4D;IAEjF,OAAO,CAAC,qBAAqB,CAAC,CAAiB;;IAM/C;;OAEG;IACI,WAAW,IAAI,QAAQ;IAI9B;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIxB;;;OAGG;IACI,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,SAAS,IAAI,MAAM;IAInB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIjD;;;;;;;;;OASG;IACI,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAI3D;;;OAGG;IACI,wBAAwB,IAAI,YAAY,GAAG,SAAS;IAIpD,wBAAwB,CAAC,qBAAqB,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAI/E,iBAAiB,IAAI,OAAO;IAI5B,gBAAgB,IAAI,OAAO;IAIlC;;;;OAIG;IACI,YAAY,IAAI,cAAc;IAI9B,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAI5C,iBAAiB,IAAI,MAAM;IAI3B,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAI7C,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,IAAI;IAK9F;;;OAGG;IACI,aAAa,IAAI,QAAQ,GAAG,IAAI;IAQhC,gBAAgB,CAAC,iBAAiB,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IA8B5D,qBAAqB,IAAI,QAAQ,EAAE;IAiBnC,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI3C,gBAAgB,CAAC,aAAa,EAAE,QAAQ,GAAG,IAAI;IAI/C,4BAA4B,IAAI,MAAM,EAAE;IAOxC,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO;IAIvD,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAQtE;;;;;OAKG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IASzD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIpD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjE;;;OAGG;IACI,SAAS,IAAI,QAAQ,EAAE;IAMvB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAQ/B,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI;IAMnC,YAAY,IAAI,IAAI,EAAE,GAAG,SAAS;IAIlC,gBAAgB,IAAI,WAAW,EAAE,GAAG,SAAS;IAI7C,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO/C;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IAO5C,SAAS,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAepE;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAgBnB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYvD,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAYpE;;;;OAIG;IACI,SAAS,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAY9D;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IAqBvB;;;;;OAKG;IACI,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAI1D;;;;;OAKG;IACI,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAIhE;;;;;OAKG;IACI,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE;IAKtD,mBAAmB,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI;IAKnD,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C;;;;;;;;;;;;;;;OAeG;IACI,WAAW,IAAI,QAAQ,GAAG,SAAS;IAI1C;;;;;;;;;;;;;;;;OAgBG;IACI,WAAW,IAAI,OAAO;IAItB,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE;IAI1F,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE;IAOvF,wBAAwB,IAAI,MAAM;IAIlC,uBAAuB,IAAI,MAAM;IAIxC,aAAa,IAAI,UAAU;IAIpB,qBAAqB,IAAI,SAAS;IAIlC,mBAAmB,IAAI,SAAS;IAIhC,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIjD,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAI/C,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOrC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAWxC,QAAQ,IAAI,QAAQ;IAIpB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAIrE,gBAAgB,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC;IAI5C,mBAAmB,IAAI,cAAc,GAAG,SAAS;IAIjD,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;CAG7D"}
|
|
@@ -56,6 +56,8 @@ var ClassCategory;
|
|
|
56
56
|
ClassCategory[ClassCategory["ENUM"] = 3] = "ENUM";
|
|
57
57
|
ClassCategory[ClassCategory["TYPE_LITERAL"] = 4] = "TYPE_LITERAL";
|
|
58
58
|
ClassCategory[ClassCategory["OBJECT"] = 5] = "OBJECT";
|
|
59
|
+
// The following are CXX specific categories.
|
|
60
|
+
ClassCategory[ClassCategory["UNION"] = 6] = "UNION";
|
|
59
61
|
})(ClassCategory = exports.ClassCategory || (exports.ClassCategory = {}));
|
|
60
62
|
/**
|
|
61
63
|
* @category core/model
|
|
@@ -81,6 +83,8 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
81
83
|
this.staticInitMethod = new ArkMethod_1.ArkMethod();
|
|
82
84
|
this.anonymousMethodNumber = 0;
|
|
83
85
|
this.indexSignatureNumber = 0;
|
|
86
|
+
// In order to record the mapping between arkTS and CPP functions
|
|
87
|
+
this.ts2cxxFuncMap = new Map();
|
|
84
88
|
}
|
|
85
89
|
/**
|
|
86
90
|
* Returns the program language of the file where this class defined.
|
|
@@ -181,6 +185,9 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
181
185
|
addHeritageClassName(className) {
|
|
182
186
|
this.heritageClasses.set(className, undefined);
|
|
183
187
|
}
|
|
188
|
+
addHeritageClassNameWithInfo(className, classInfo) {
|
|
189
|
+
this.heritageClasses.set(className, classInfo);
|
|
190
|
+
}
|
|
184
191
|
/**
|
|
185
192
|
* Returns the superclass of this class.
|
|
186
193
|
* @returns The superclass of this class.
|
|
@@ -193,11 +200,12 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
193
200
|
return null;
|
|
194
201
|
}
|
|
195
202
|
getHeritageClass(heritageClassName) {
|
|
196
|
-
var _a;
|
|
203
|
+
var _a, _b, _c;
|
|
197
204
|
if (!heritageClassName) {
|
|
198
205
|
return null;
|
|
199
206
|
}
|
|
200
|
-
let
|
|
207
|
+
let superClassWithInfo = this.heritageClasses.get(heritageClassName);
|
|
208
|
+
let superClass = superClassWithInfo === null || superClassWithInfo === void 0 ? void 0 : superClassWithInfo.baseClass;
|
|
201
209
|
if (superClass === undefined) {
|
|
202
210
|
let type = (_a = TypeInference_1.TypeInference.inferUnclearRefName(heritageClassName, this)) !== null && _a !== void 0 ? _a : TypeInference_1.TypeInference.inferUnclearRefName(heritageClassName, this.getDeclaringArkFile().getDefaultClass());
|
|
203
211
|
if (type) {
|
|
@@ -210,16 +218,28 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
210
218
|
this.realTypes = realGenericTypes;
|
|
211
219
|
}
|
|
212
220
|
}
|
|
213
|
-
|
|
221
|
+
superClassWithInfo = {
|
|
222
|
+
baseClass: superClass,
|
|
223
|
+
isVirtual: (_b = superClassWithInfo === null || superClassWithInfo === void 0 ? void 0 : superClassWithInfo.isVirtual) !== null && _b !== void 0 ? _b : false,
|
|
224
|
+
access: (_c = superClassWithInfo === null || superClassWithInfo === void 0 ? void 0 : superClassWithInfo.access) !== null && _c !== void 0 ? _c : 'private',
|
|
225
|
+
};
|
|
226
|
+
this.heritageClasses.set(heritageClassName, superClassWithInfo);
|
|
214
227
|
}
|
|
215
|
-
return
|
|
228
|
+
return (superClassWithInfo === null || superClassWithInfo === void 0 ? void 0 : superClassWithInfo.baseClass) || null;
|
|
216
229
|
}
|
|
217
230
|
getAllHeritageClasses() {
|
|
218
231
|
const result = [];
|
|
219
232
|
this.heritageClasses.forEach((v, k) => {
|
|
220
233
|
const heritage = v !== null && v !== void 0 ? v : this.getHeritageClass(k);
|
|
221
234
|
if (heritage) {
|
|
222
|
-
|
|
235
|
+
// C++ feature: inheritance may carry extra metadata (e.g., virtual inheritance/access),
|
|
236
|
+
// so we may get `heritageClassWithInfo` and must extract `baseClass`.
|
|
237
|
+
if ('baseClass' in heritage && heritage.baseClass) {
|
|
238
|
+
result.push(heritage.baseClass);
|
|
239
|
+
}
|
|
240
|
+
else if (heritage instanceof ArkClass) {
|
|
241
|
+
result.push(heritage);
|
|
242
|
+
}
|
|
223
243
|
}
|
|
224
244
|
});
|
|
225
245
|
return result;
|
|
@@ -323,21 +343,35 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
323
343
|
return [...new Set(allMethods)];
|
|
324
344
|
}
|
|
325
345
|
getMethod(methodSignature) {
|
|
326
|
-
var _a;
|
|
327
346
|
const methodName = methodSignature.getMethodSubSignature().getMethodName();
|
|
328
|
-
const
|
|
329
|
-
if (
|
|
347
|
+
const methodsWithSameName = this.getAllMethodsWithName(methodName);
|
|
348
|
+
if (methodsWithSameName.length === 0) {
|
|
330
349
|
return null;
|
|
331
350
|
}
|
|
332
|
-
const
|
|
351
|
+
for (const mtd of methodsWithSameName) {
|
|
352
|
+
let methodMatched = this.findMatchingMethod(mtd, methodSignature);
|
|
353
|
+
if (methodMatched) {
|
|
354
|
+
return methodMatched;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
return null;
|
|
358
|
+
}
|
|
359
|
+
/**
|
|
360
|
+
* Find a method that matches the specified signature
|
|
361
|
+
* @ param mtd - Ark method object to check
|
|
362
|
+
* @ param methodSignature - the method signature to match
|
|
363
|
+
* @ returns If a matching method is found, the method object will be returned; otherwise, null will be returned
|
|
364
|
+
*/
|
|
365
|
+
findMatchingMethod(mtd, methodSignature) {
|
|
366
|
+
const implSignature = mtd.getImplementationSignature();
|
|
333
367
|
if (implSignature !== null && implSignature.isMatch(methodSignature)) {
|
|
334
|
-
return
|
|
368
|
+
return mtd;
|
|
335
369
|
}
|
|
336
|
-
const declareSignatures =
|
|
370
|
+
const declareSignatures = mtd.getDeclareSignatures();
|
|
337
371
|
if (declareSignatures !== null) {
|
|
338
372
|
for (let i = 0; i < declareSignatures.length; i++) {
|
|
339
373
|
if (declareSignatures[i].isMatch(methodSignature)) {
|
|
340
|
-
return
|
|
374
|
+
return mtd;
|
|
341
375
|
}
|
|
342
376
|
}
|
|
343
377
|
}
|
|
@@ -485,22 +519,7 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
485
519
|
return this.viewTree !== undefined;
|
|
486
520
|
}
|
|
487
521
|
getStaticFields(classMap) {
|
|
488
|
-
|
|
489
|
-
let classes = [];
|
|
490
|
-
if (this.declaringArkNamespace) {
|
|
491
|
-
classes = classMap.get(this.declaringArkNamespace.getNamespaceSignature());
|
|
492
|
-
}
|
|
493
|
-
else {
|
|
494
|
-
classes = classMap.get(this.declaringArkFile.getFileSignature());
|
|
495
|
-
}
|
|
496
|
-
for (const arkClass of classes) {
|
|
497
|
-
for (const field of arkClass.getFields()) {
|
|
498
|
-
if (field.isStatic()) {
|
|
499
|
-
fields.push(field);
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
}
|
|
503
|
-
return fields;
|
|
522
|
+
return Array.from(this.staticFields.values());
|
|
504
523
|
}
|
|
505
524
|
getGlobalVariable(globalMap) {
|
|
506
525
|
if (this.declaringArkNamespace) {
|
|
@@ -549,5 +568,17 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
549
568
|
validate() {
|
|
550
569
|
return this.validateFields(['declaringArkFile', 'category', 'classSignature']);
|
|
551
570
|
}
|
|
571
|
+
addTs2cxxFuncMapElement(funcName, methods) {
|
|
572
|
+
this.ts2cxxFuncMap.set(funcName, methods);
|
|
573
|
+
}
|
|
574
|
+
getTs2cxxFuncMap() {
|
|
575
|
+
return this.ts2cxxFuncMap;
|
|
576
|
+
}
|
|
577
|
+
getDeclareSignature() {
|
|
578
|
+
return this.classDeclareSignature;
|
|
579
|
+
}
|
|
580
|
+
setDeclareSignature(classSig) {
|
|
581
|
+
this.classDeclareSignature = classSig;
|
|
582
|
+
}
|
|
552
583
|
}
|
|
553
584
|
exports.ArkClass = ArkClass;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkField.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkField.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,oBAAY,aAAa;IACrB,oBAAoB,IAAI;IACxB,mBAAmB,IAAI;IACvB,8BAA8B,IAAI;IAClC,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;IACtB,WAAW,IAAI;IACf,eAAe,IAAI;IACnB,YAAY,IAAI;IAChB,kBAAkB,IAAI;CACzB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACtC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAc;;IAMjC;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,oBAAoB,IAAI,QAAQ;IAIhC,oBAAoB,CAAC,cAAc,EAAE,QAAQ,GAAG,IAAI;IAI3D;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,IAAI;IAIf,YAAY,IAAI,cAAc;IAI9B,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAInD;;;OAGG;IACI,cAAc,IAAI,IAAI,EAAE;IAIxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI;IAIzC,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAI9C,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,gBAAgB,IAAI,OAAO;IAI3B,mBAAmB,IAAI,OAAO;IAI9B,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIzD;;;OAGG;IACI,iBAAiB,IAAI,eAAe;IAIpC,QAAQ,IAAI,QAAQ;IAKpB,QAAQ,IAAI,OAAO;
|
|
1
|
+
{"version":3,"file":"ArkField.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkField.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,oBAAY,aAAa;IACrB,oBAAoB,IAAI;IACxB,mBAAmB,IAAI;IACvB,8BAA8B,IAAI;IAClC,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;IACtB,WAAW,IAAI;IACf,eAAe,IAAI;IACnB,YAAY,IAAI;IAChB,kBAAkB,IAAI;CACzB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACtC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAc;;IAMjC;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,oBAAoB,IAAI,QAAQ;IAIhC,oBAAoB,CAAC,cAAc,EAAE,QAAQ,GAAG,IAAI;IAI3D;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI3B,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,OAAO,IAAI,MAAM;IAIjB,OAAO,IAAI,IAAI;IAIf,YAAY,IAAI,cAAc;IAI9B,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;IAInD;;;OAGG;IACI,cAAc,IAAI,IAAI,EAAE;IAIxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI;IAIzC,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAI9C,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,gBAAgB,IAAI,OAAO;IAI3B,mBAAmB,IAAI,OAAO;IAI9B,iBAAiB,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAIzD;;;OAGG;IACI,iBAAiB,IAAI,eAAe;IAIpC,QAAQ,IAAI,QAAQ;IAKpB,QAAQ,IAAI,OAAO;CAa7B"}
|
|
@@ -122,7 +122,9 @@ class ArkField extends ArkBaseModel_1.ArkBaseModel {
|
|
|
122
122
|
if (!this.containsModifier(ArkBaseModel_1.ModifierType.PUBLIC) &&
|
|
123
123
|
!this.containsModifier(ArkBaseModel_1.ModifierType.PRIVATE) &&
|
|
124
124
|
!this.containsModifier(ArkBaseModel_1.ModifierType.PROTECTED) &&
|
|
125
|
-
this.getDeclaringArkClass().getCategory() === ArkClass_1.ClassCategory.CLASS
|
|
125
|
+
(this.getDeclaringArkClass().getCategory() === ArkClass_1.ClassCategory.CLASS ||
|
|
126
|
+
this.getDeclaringArkClass().getCategory() === ArkClass_1.ClassCategory.INTERFACE ||
|
|
127
|
+
this.getDeclaringArkClass().getCategory() === ArkClass_1.ClassCategory.OBJECT)) {
|
|
126
128
|
return true;
|
|
127
129
|
}
|
|
128
130
|
return this.containsModifier(ArkBaseModel_1.ModifierType.PUBLIC);
|
|
@@ -33,6 +33,7 @@ export declare class ArkFile {
|
|
|
33
33
|
private fileSignature;
|
|
34
34
|
private ohPackageJson5Path;
|
|
35
35
|
private anonymousClassNumber;
|
|
36
|
+
private anonymousNamespaceNumber;
|
|
36
37
|
private ast;
|
|
37
38
|
constructor(language: Language);
|
|
38
39
|
/**
|
|
@@ -87,7 +88,8 @@ export declare class ArkFile {
|
|
|
87
88
|
* @returns A class. If there is no class, the return will be a **null**.
|
|
88
89
|
*/
|
|
89
90
|
getClass(classSignature: ClassSignature): ArkClass | null;
|
|
90
|
-
getClassWithName(
|
|
91
|
+
getClassWithName(className: string): ArkClass | null;
|
|
92
|
+
private findClassInNamespace;
|
|
91
93
|
getClasses(): ArkClass[];
|
|
92
94
|
addNamespace(namespace: ArkNamespace): void;
|
|
93
95
|
/**
|
|
@@ -145,6 +147,7 @@ export declare class ArkFile {
|
|
|
145
147
|
setFileSignature(fileSignature: FileSignature): void;
|
|
146
148
|
getAllNamespacesUnderThisFile(): ArkNamespace[];
|
|
147
149
|
getAnonymousClassNumber(): number;
|
|
150
|
+
getAnonymousNamespaceNumber(): number;
|
|
148
151
|
getAST(): ts.SourceFile | null;
|
|
149
152
|
setAST(value: ts.SourceFile | null): void;
|
|
150
153
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAuB,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF,oBAAY,QAAQ;IAChB,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,GAAG,IAAI;IACP,GAAG,IAAI;IACP,OAAO,KAAK;CACf;AAED;;GAEG;AACH,qBAAa,OAAO;
|
|
1
|
+
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAuB,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGxG,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF,oBAAY,QAAQ;IAChB,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,QAAQ,IAAI;IACZ,UAAU,IAAI;IACd,GAAG,IAAI;IACP,GAAG,IAAI;IACP,OAAO,KAAK;CACf;AAED;;GAEG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,IAAI,CAAc;IAE1B,OAAO,CAAC,YAAY,CAAY;IAGhC,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,aAAa,CAAwC;IAE7D,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,wBAAwB,CAAa;IAE7C,OAAO,CAAC,GAAG,CAA8B;gBAE7B,QAAQ,EAAE,QAAQ;IAI9B;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAI5C;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAInC;;;;;OAKG;IACI,QAAQ,IAAI,KAAK;IAIjB,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI9C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,IAAI,MAAM;IAI9B;;;;;;;;;OASG;IACI,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,OAAO,IAAI,MAAM;IAIjB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI;IAmB1D,eAAe,IAAI,QAAQ;IAI3B,eAAe,CAAC,YAAY,EAAE,QAAQ,GAAG,IAAI;IAI7C,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI;IAKzE,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIhE,aAAa,IAAI,YAAY,EAAE;IAItC;;;;OAIG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IAKzD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAiB3D,OAAO,CAAC,oBAAoB;IAerB,UAAU,IAAI,QAAQ,EAAE;IAIxB,YAAY,CAAC,SAAS,EAAE,YAAY,GAAG,IAAI;IAIlD;;;;OAIG;IACI,cAAc,IAAI,UAAU,EAAE;IAe9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAIjD,eAAe,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAMjD,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAM3C,cAAc,IAAI,UAAU,EAAE;IAUrC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACI,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAyBrD,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAIzD,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAQ5D,cAAc,IAAI,MAAM;IAIxB,aAAa,IAAI,MAAM,GAAG,SAAS;IAInC,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE,GAAG,IAAI;IAIzD,qBAAqB,IAAI,MAAM,EAAE;IAIxC;;;OAGG;IACI,gBAAgB,IAAI,aAAa;IAIjC,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,6BAA6B,IAAI,YAAY,EAAE;IAS/C,uBAAuB,IAAI,MAAM;IAIjC,2BAA2B,IAAI,MAAM;IAIrC,MAAM,IAAI,EAAE,CAAC,UAAU,GAAG,IAAI;IAI9B,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,GAAG,IAAI;CAGnD"}
|
|
@@ -64,6 +64,7 @@ class ArkFile {
|
|
|
64
64
|
this.fileSignature = ArkSignature_1.FileSignature.DEFAULT;
|
|
65
65
|
this.ohPackageJson5Path = [];
|
|
66
66
|
this.anonymousClassNumber = 0;
|
|
67
|
+
this.anonymousNamespaceNumber = 0;
|
|
67
68
|
this.ast = null;
|
|
68
69
|
this.language = language;
|
|
69
70
|
}
|
|
@@ -177,8 +178,33 @@ class ArkFile {
|
|
|
177
178
|
const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName() : classSignature.getClassName();
|
|
178
179
|
return this.getClassWithName(className);
|
|
179
180
|
}
|
|
180
|
-
getClassWithName(
|
|
181
|
-
|
|
181
|
+
getClassWithName(className) {
|
|
182
|
+
// First, search for the top-level class
|
|
183
|
+
let cls = this.classes.get(className);
|
|
184
|
+
if (cls) {
|
|
185
|
+
return cls;
|
|
186
|
+
}
|
|
187
|
+
// Recursively search for classes within namespaces
|
|
188
|
+
for (const ns of this.namespaces.values()) {
|
|
189
|
+
cls = this.findClassInNamespace(ns, className);
|
|
190
|
+
if (cls) {
|
|
191
|
+
return cls;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
findClassInNamespace(namespace, className) {
|
|
197
|
+
const cls = namespace.getClassWithName(className);
|
|
198
|
+
if (cls) {
|
|
199
|
+
return cls;
|
|
200
|
+
}
|
|
201
|
+
for (const ns of namespace.getNamespaces()) {
|
|
202
|
+
const found = this.findClassInNamespace(ns, className);
|
|
203
|
+
if (found) {
|
|
204
|
+
return found;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
182
208
|
}
|
|
183
209
|
getClasses() {
|
|
184
210
|
return Array.from(new Set(this.classes.values()));
|
|
@@ -192,7 +218,19 @@ class ArkFile {
|
|
|
192
218
|
* @returns An **array** of import information.
|
|
193
219
|
*/
|
|
194
220
|
getImportInfos() {
|
|
195
|
-
|
|
221
|
+
var _a, _b;
|
|
222
|
+
const imports = Array.from(this.importInfoMap.values());
|
|
223
|
+
if (this.language !== Language.CXX || imports.length < 2) {
|
|
224
|
+
return imports;
|
|
225
|
+
}
|
|
226
|
+
const from0 = ((_a = imports[0].getFrom()) !== null && _a !== void 0 ? _a : '').replace(/\\/g, '/').toLowerCase();
|
|
227
|
+
const from1 = ((_b = imports[1].getFrom()) !== null && _b !== void 0 ? _b : '').replace(/\\/g, '/').toLowerCase();
|
|
228
|
+
const firstIsSdkStd = from0.includes('/sdk/default/') || from0.includes('/libc++/');
|
|
229
|
+
const secondIsSdkStd = from1.includes('/sdk/default/') || from1.includes('/libc++/');
|
|
230
|
+
if (firstIsSdkStd && !secondIsSdkStd) {
|
|
231
|
+
return [imports[1], imports[0], ...imports.slice(2)];
|
|
232
|
+
}
|
|
233
|
+
return imports;
|
|
196
234
|
}
|
|
197
235
|
getImportInfoBy(name) {
|
|
198
236
|
return this.importInfoMap.get(name);
|
|
@@ -316,6 +354,9 @@ class ArkFile {
|
|
|
316
354
|
getAnonymousClassNumber() {
|
|
317
355
|
return this.anonymousClassNumber++;
|
|
318
356
|
}
|
|
357
|
+
getAnonymousNamespaceNumber() {
|
|
358
|
+
return this.anonymousNamespaceNumber++;
|
|
359
|
+
}
|
|
319
360
|
getAST() {
|
|
320
361
|
return this.ast;
|
|
321
362
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAoB;;IAM3C;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,KAAK,CACR,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,eAAe,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACtB,IAAI;IASA,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACI,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAYtC,aAAa,IAAI,UAAU,GAAG,IAAI,GAAG,SAAS;IAI9C,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAIlD,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,IAAI,MAAM;IAI7B,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAInD,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvD,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI;IAI5D,mBAAmB,IAAI,eAAe;IAItC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,SAAS,IAAI,OAAO;IAOpB,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -15,8 +15,10 @@
|
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ImportInfo = void 0;
|
|
18
|
+
const ArkFile_1 = require("./ArkFile");
|
|
18
19
|
const Position_1 = require("../base/Position");
|
|
19
20
|
const ModelUtils_1 = require("../common/ModelUtils");
|
|
21
|
+
const ModelUtils_2 = require("../../frontend/cppFrontend/common/ModelUtils");
|
|
20
22
|
const ArkBaseModel_1 = require("./ArkBaseModel");
|
|
21
23
|
/**
|
|
22
24
|
* @category core/model
|
|
@@ -53,7 +55,13 @@ class ImportInfo extends ArkBaseModel_1.ArkBaseModel {
|
|
|
53
55
|
*/
|
|
54
56
|
getLazyExportInfo() {
|
|
55
57
|
if (this.lazyExportInfo === undefined) {
|
|
56
|
-
|
|
58
|
+
// CXXTodo: Distinguish between C++ and TS/ArkTS.
|
|
59
|
+
if (this.declaringArkFile.getLanguage() === ArkFile_1.Language.CXX) {
|
|
60
|
+
this.lazyExportInfo = (0, ModelUtils_2.findExportInfo)(this);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
this.lazyExportInfo = (0, ModelUtils_1.findExportInfo)(this);
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
66
|
return this.lazyExportInfo || null;
|
|
59
67
|
}
|
|
@@ -15,6 +15,7 @@ import { ArkError } from '../common/ArkError';
|
|
|
15
15
|
import { Local } from '../base/Local';
|
|
16
16
|
import { ArkFile, Language } from './ArkFile';
|
|
17
17
|
import { MethodParameter } from './builder/ArkMethodBuilder';
|
|
18
|
+
import { CxxBodyBuilder } from '../../frontend/cppFrontend/model/builder/BodyBuilder';
|
|
18
19
|
export declare const arkMethodNodeKind: string[];
|
|
19
20
|
/**
|
|
20
21
|
* @category core/model
|
|
@@ -31,6 +32,7 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
31
32
|
private body?;
|
|
32
33
|
private viewTree?;
|
|
33
34
|
private bodyBuilder?;
|
|
35
|
+
private CxxBodyBuilder?;
|
|
34
36
|
private isGeneratedFlag;
|
|
35
37
|
private asteriskToken;
|
|
36
38
|
private questionToken;
|
|
@@ -184,6 +186,7 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
184
186
|
isGenericsMethod(): boolean;
|
|
185
187
|
setGenericTypes(genericTypes: GenericType[]): void;
|
|
186
188
|
getBodyBuilder(): BodyBuilder | undefined;
|
|
189
|
+
getCxxBodyBuilder(): CxxBodyBuilder | undefined;
|
|
187
190
|
/**
|
|
188
191
|
* Get {@link ArkBody} of a Method.
|
|
189
192
|
* A {@link ArkBody} contains the CFG and actual instructions or operations to be executed for a method.
|
|
@@ -254,7 +257,9 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
254
257
|
getViewTree(): ViewTree | undefined;
|
|
255
258
|
hasViewTree(): boolean;
|
|
256
259
|
setBodyBuilder(bodyBuilder: BodyBuilder): void;
|
|
260
|
+
setCxxBodyBuilder(bodyBuilder: CxxBodyBuilder): void;
|
|
257
261
|
freeBodyBuilder(): void;
|
|
262
|
+
freeCxxBodyBuilder(): void;
|
|
258
263
|
buildBody(): void;
|
|
259
264
|
isGenerated(): boolean;
|
|
260
265
|
setIsGeneratedFlag(isGeneratedFlag: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAgC,iBAAiB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAgB,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAuB,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAc,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAgC,iBAAiB,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EAAgB,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAuB,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAgB,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,sDAAsD,CAAC;AAItF,eAAO,MAAM,iBAAiB,UAW7B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAU,SAAQ,YAAa,YAAW,SAAS;IAC5D,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,iBAAiB,CAAY;IAErC,OAAO,CAAC,WAAW,CAAC,CAAY;IAEhC,OAAO,CAAC,YAAY,CAAC,CAAgB;IAErC,OAAO,CAAC,uBAAuB,CAAC,CAAoB;IACpD,OAAO,CAAC,qBAAqB,CAAC,CAAY;IAE1C,OAAO,CAAC,eAAe,CAAC,CAAkB;IAC1C,OAAO,CAAC,OAAO,CAAC,CAAU;IAE1B,OAAO,CAAC,IAAI,CAAC,CAAU;IACvB,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,cAAc,CAAC,CAAiB;IAExC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,aAAa,CAAkB;;IAMvC;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,aAAa,IAAI,UAAU;IAI3B,OAAO,IAAI,MAAM;IAIxB;;;OAGG;IACI,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIlC;;;OAGG;IACI,eAAe,IAAI,MAAM,EAAE,GAAG,IAAI;IAWzC;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE,GAAG,IAAI;IAW3C;;;;;;OAMG;IACI,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAavE;;;;OAIG;IACI,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAIpD;;;OAGG;IACI,kBAAkB,IAAI,OAAO,EAAE,GAAG,IAAI;IAI7C;;;OAGG;IACI,OAAO,IAAI,MAAM,GAAG,IAAI;IAO/B;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAOlC;;;OAGG;IACI,SAAS,IAAI,MAAM,GAAG,IAAI;IAOjC;;;;;OAKG;IACI,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAOtC;;;OAGG;IACI,UAAU,IAAI,OAAO,GAAG,IAAI;IAInC;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;;OAGG;IACI,oBAAoB,IAAI,QAAQ;IAIhC,oBAAoB,CAAC,iBAAiB,EAAE,QAAQ,GAAG,IAAI;IAIvD,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,IAAI,OAAO;IAI7B,iBAAiB,IAAI,OAAO;IAI5B,aAAa,IAAI,eAAe,EAAE;IAIlC,aAAa,IAAI,IAAI;IAI5B;;;;OAIG;IACI,oBAAoB,IAAI,eAAe,EAAE,GAAG,IAAI;IAIvD;;;;;OAKG;IACI,wBAAwB,CAAC,eAAe,EAAE,eAAe,GAAG,MAAM;IAazE;;;;OAIG;IACI,0BAA0B,IAAI,eAAe,GAAG,IAAI;IAI3D;;;;;;;;;;;;;;OAcG;IACI,YAAY,IAAI,eAAe;IAItC;;;;;OAKG;IACI,oBAAoB,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,EAAE,GAAG,IAAI;IAQlF;;;;;;OAMG;IACI,4BAA4B,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAOpF;;;;;OAKG;IACI,0BAA0B,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAI5D,eAAe,IAAI,kBAAkB;IAIrC,eAAe,IAAI,WAAW,EAAE,GAAG,SAAS;IAI5C,gBAAgB,IAAI,OAAO;IAI3B,eAAe,CAAC,YAAY,EAAE,WAAW,EAAE,GAAG,IAAI;IAIlD,cAAc,IAAI,WAAW,GAAG,SAAS;IAIzC,iBAAiB,IAAI,cAAc,GAAG,SAAS;IAItD;;;;;;;;;;;;;;;;;;;;OAoBG;IACI,OAAO,IAAI,OAAO,GAAG,SAAS;IAI9B,OAAO,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI;IAInC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACI,MAAM,IAAI,GAAG,GAAG,SAAS;IAIzB,cAAc,IAAI,GAAG,GAAG,SAAS;IAIjC,gBAAgB,IAAI,eAAe,EAAE,GAAG,IAAI;IAc5C,qBAAqB,IAAI,KAAK,EAAE;IAqBhC,eAAe,IAAI,KAAK,GAAG,IAAI;IAiB/B,eAAe,IAAI,KAAK,EAAE;IAa1B,aAAa,IAAI,IAAI,EAAE;IAQvB,iBAAiB,IAAI,iBAAiB,EAAE;IAQxC,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAIrC,WAAW,IAAI,QAAQ,GAAG,SAAS;IAInC,WAAW,IAAI,OAAO;IAItB,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAO9C,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,IAAI;IAOpD,eAAe,IAAI,IAAI;IAIvB,kBAAkB,IAAI,IAAI;IAI1B,SAAS,IAAI,IAAI;IAwBjB,WAAW,IAAI,OAAO;IAItB,kBAAkB,CAAC,eAAe,EAAE,OAAO,GAAG,IAAI;IAIlD,gBAAgB,IAAI,OAAO;IAI3B,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAI9C,QAAQ,IAAI,QAAQ;IAiCpB,oBAAoB,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,eAAe;IAiBpD,cAAc,IAAI,SAAS,GAAG,SAAS;IAIvC,cAAc,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IAIvC,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,GAAG,IAAI;IAa5C,gBAAgB,CAAC,aAAa,EAAE,OAAO,GAAG,IAAI;IAI9C,gBAAgB,IAAI,OAAO;IAK3B,QAAQ,IAAI,OAAO;CAe7B"}
|