arkanalyzer 1.0.32 → 1.0.34
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/config/arkanalyzer.json +1 -0
- package/lib/Config.d.ts +1 -0
- package/lib/Config.d.ts.map +1 -1
- package/lib/Config.js +26 -18
- package/lib/Scene.d.ts +5 -5
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +21 -19
- package/lib/VFG/DVFG.d.ts.map +1 -1
- package/lib/VFG/builder/DVFGBuilder.d.ts +2 -2
- package/lib/VFG/builder/DVFGBuilder.d.ts.map +1 -1
- package/lib/VFG/builder/DVFGBuilder.js +15 -7
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +1 -0
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/AbstractAnalysis.js +24 -8
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.js +3 -2
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +4 -3
- package/lib/callgraph/common/Statistics.d.ts +9 -7
- package/lib/callgraph/common/Statistics.d.ts.map +1 -1
- package/lib/callgraph/common/Statistics.js +18 -6
- package/lib/callgraph/model/CallGraph.d.ts +2 -0
- package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
- package/lib/callgraph/model/CallGraph.js +14 -8
- 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 +9 -4
- package/lib/callgraph/pointerAnalysis/Context.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Context.js +2 -2
- package/lib/callgraph/pointerAnalysis/DummyCallCreator.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/DummyCallCreator.js +4 -2
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PTAUtils.js +2 -3
- package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.js +27 -35
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +63 -46
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +12 -12
- package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PtsDS.d.ts +1 -1
- package/lib/callgraph/pointerAnalysis/PtsDS.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PtsDS.js +10 -6
- package/lib/core/base/Constant.js +2 -2
- package/lib/core/base/DefUseChain.d.ts.map +1 -1
- package/lib/core/base/DefUseChain.js +1 -1
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +3 -5
- package/lib/core/base/Local.d.ts.map +1 -1
- package/lib/core/base/Local.js +7 -2
- package/lib/core/base/Position.d.ts.map +1 -1
- package/lib/core/base/Position.js +1 -1
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +3 -1
- package/lib/core/base/Stmt.d.ts.map +1 -1
- package/lib/core/base/Stmt.js +1 -4
- package/lib/core/base/Trap.js +1 -1
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +2 -2
- package/lib/core/base/Value.d.ts +1 -1
- package/lib/core/base/Value.d.ts.map +1 -1
- package/lib/core/base/Value.js +1 -1
- package/lib/core/common/ArkError.js +1 -1
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +46 -36
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +295 -109
- package/lib/core/common/Builtin.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +10 -4
- package/lib/core/common/EtsConst.d.ts.map +1 -1
- package/lib/core/common/EtsConst.js +3 -12
- package/lib/core/common/ExprUseReplacer.js +1 -1
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +40 -20
- package/lib/core/common/IRUtils.d.ts.map +1 -1
- package/lib/core/common/IRUtils.js +5 -4
- package/lib/core/common/ModelUtils.d.ts +1 -1
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +40 -29
- package/lib/core/common/RefUseReplacer.js +1 -1
- package/lib/core/common/SdkUtils.d.ts +3 -0
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +29 -10
- package/lib/core/common/StmtDefReplacer.d.ts.map +1 -1
- package/lib/core/common/StmtDefReplacer.js +1 -1
- package/lib/core/common/StmtUseReplacer.d.ts.map +1 -1
- package/lib/core/common/StmtUseReplacer.js +1 -1
- package/lib/core/common/TSConst.d.ts.map +1 -1
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +25 -17
- package/lib/core/common/ValueUtil.d.ts.map +1 -1
- package/lib/core/common/ValueUtil.js +1 -1
- package/lib/core/common/VisibleValue.d.ts.map +1 -1
- package/lib/core/common/VisibleValue.js +5 -5
- package/lib/core/dataflow/DataflowProblem.d.ts.map +1 -1
- package/lib/core/dataflow/DataflowProblem.js +1 -1
- package/lib/core/dataflow/DataflowResult.js +1 -1
- package/lib/core/dataflow/DataflowSolver.d.ts.map +1 -1
- package/lib/core/dataflow/DataflowSolver.js +5 -3
- package/lib/core/dataflow/Edge.d.ts.map +1 -1
- package/lib/core/dataflow/Edge.js +1 -1
- package/lib/core/dataflow/Fact.js +1 -1
- package/lib/core/dataflow/GenericDataFlow.js +5 -5
- package/lib/core/dataflow/ReachingDef.js +4 -4
- package/lib/core/dataflow/UndefinedVariable.d.ts.map +1 -1
- package/lib/core/dataflow/UndefinedVariable.js +17 -13
- package/lib/core/dataflow/Util.d.ts +4 -4
- package/lib/core/dataflow/Util.d.ts.map +1 -1
- package/lib/core/dataflow/Util.js +3 -5
- package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
- package/lib/core/graph/BaseExplicitGraph.js +1 -1
- package/lib/core/graph/BaseImplicitGraph.d.ts.map +1 -1
- package/lib/core/graph/BasicBlock.d.ts.map +1 -1
- package/lib/core/graph/BasicBlock.js +11 -7
- package/lib/core/graph/Cfg.d.ts.map +1 -1
- package/lib/core/graph/Cfg.js +10 -4
- package/lib/core/graph/DependsGraph.d.ts.map +1 -1
- package/lib/core/graph/DependsGraph.js +1 -1
- package/lib/core/graph/DominanceFinder.d.ts.map +1 -1
- package/lib/core/graph/DominanceFinder.js +4 -4
- package/lib/core/graph/DominanceTree.js +1 -1
- package/lib/core/graph/GraphTraits.js +1 -1
- package/lib/core/graph/Scc.js +2 -2
- package/lib/core/graph/ViewTree.js +1 -1
- package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/CfgBuilder.js +22 -13
- package/lib/core/graph/builder/ConditionBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ConditionBuilder.js +21 -22
- package/lib/core/graph/builder/LoopBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/LoopBuilder.js +13 -10
- package/lib/core/graph/builder/SwitchBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/SwitchBuilder.js +7 -4
- package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/TrapBuilder.js +4 -3
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +18 -19
- package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
- package/lib/core/model/ArkBaseModel.js +8 -5
- package/lib/core/model/ArkBody.d.ts +1 -0
- package/lib/core/model/ArkBody.d.ts.map +1 -1
- package/lib/core/model/ArkBody.js +11 -1
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +3 -5
- package/lib/core/model/ArkExport.d.ts +4 -0
- package/lib/core/model/ArkExport.d.ts.map +1 -1
- package/lib/core/model/ArkExport.js +8 -1
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +2 -2
- package/lib/core/model/ArkFile.d.ts +1 -0
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +21 -6
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +1 -1
- package/lib/core/model/ArkMetadata.d.ts.map +1 -1
- package/lib/core/model/ArkMetadata.js +1 -1
- package/lib/core/model/ArkMethod.d.ts +6 -5
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +27 -13
- package/lib/core/model/ArkNamespace.d.ts +1 -1
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +5 -6
- package/lib/core/model/ArkSignature.d.ts +4 -2
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +17 -17
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +15 -16
- package/lib/core/model/builder/ArkExportBuilder.d.ts +2 -1
- package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkExportBuilder.js +17 -11
- package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.js +6 -7
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +22 -11
- package/lib/core/model/builder/ArkImportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkImportBuilder.js +13 -8
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +3 -3
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +7 -9
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkSignatureBuilder.js +1 -1
- package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/BodyBuilder.js +8 -5
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +15 -13
- package/lib/index.d.ts.map +1 -1
- package/lib/save/ArkStream.d.ts.map +1 -1
- package/lib/save/ArkStream.js +1 -1
- package/lib/save/DotPrinter.d.ts.map +1 -1
- package/lib/save/DotPrinter.js +2 -4
- package/lib/save/GraphPrinter.d.ts.map +1 -1
- package/lib/save/GraphPrinter.js +2 -3
- package/lib/save/JsonPrinter.d.ts.map +1 -1
- package/lib/save/JsonPrinter.js +29 -29
- package/lib/save/Printer.js +1 -1
- package/lib/save/PrinterBuilder.d.ts.map +1 -1
- package/lib/save/PrinterBuilder.js +1 -1
- package/lib/save/ViewTreePrinter.d.ts.map +1 -1
- package/lib/save/ViewTreePrinter.js +3 -3
- package/lib/save/arkir/ArkIRClassPrinter.js +1 -1
- package/lib/save/arkir/ArkIRMethodPrinter.js +5 -5
- package/lib/save/arkir/ArkIRNamespacePrinter.d.ts.map +1 -1
- package/lib/save/arkir/ArkIRNamespacePrinter.js +2 -3
- package/lib/save/base/BasePrinter.js +2 -2
- package/lib/save/base/ExportPrinter.d.ts.map +1 -1
- package/lib/save/base/ExportPrinter.js +3 -6
- package/lib/save/base/ImportPrinter.d.ts.map +1 -1
- package/lib/save/base/ImportPrinter.js +2 -6
- package/lib/save/base/PrinterUtils.d.ts.map +1 -1
- package/lib/save/base/PrinterUtils.js +2 -4
- package/lib/save/serializeArkIR.d.ts.map +1 -1
- package/lib/save/serializeArkIR.js +2 -2
- package/lib/save/source/SourceBase.d.ts.map +1 -1
- package/lib/save/source/SourceBase.js +1 -3
- package/lib/save/source/SourceBody.d.ts.map +1 -1
- package/lib/save/source/SourceBody.js +1 -5
- package/lib/save/source/SourceClass.d.ts.map +1 -1
- package/lib/save/source/SourceClass.js +2 -3
- package/lib/save/source/SourceField.js +2 -2
- package/lib/save/source/SourceFilePrinter.d.ts.map +1 -1
- package/lib/save/source/SourceMethod.d.ts.map +1 -1
- package/lib/save/source/SourceMethod.js +5 -6
- package/lib/save/source/SourceNamespace.d.ts.map +1 -1
- package/lib/save/source/SourceNamespace.js +2 -3
- package/lib/save/source/SourceStmt.d.ts.map +1 -1
- package/lib/save/source/SourceStmt.js +9 -14
- package/lib/save/source/SourceTransformer.d.ts.map +1 -1
- package/lib/save/source/SourceTransformer.js +6 -10
- package/lib/transformer/FunctionTransformer.d.ts.map +1 -1
- package/lib/transformer/FunctionTransformer.js +1 -1
- package/lib/transformer/SceneTransformer.d.ts.map +1 -1
- package/lib/transformer/SceneTransformer.js +1 -1
- package/lib/transformer/StaticSingleAssignmentFormer.d.ts.map +1 -1
- package/lib/transformer/StaticSingleAssignmentFormer.js +1 -1
- package/lib/transformer/Transformer.d.ts.map +1 -1
- package/lib/transformer/Transformer.js +2 -3
- package/lib/utils/AstTreeUtils.d.ts.map +1 -1
- package/lib/utils/AstTreeUtils.js +1 -1
- package/lib/utils/CfgStructualAnalysis.d.ts.map +1 -1
- package/lib/utils/CfgStructualAnalysis.js +6 -18
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +7 -7
- package/lib/utils/SparseBitVector.d.ts.map +1 -1
- package/lib/utils/SparseBitVector.js +6 -5
- package/lib/utils/callGraphUtils.d.ts.map +1 -1
- package/lib/utils/callGraphUtils.js +9 -7
- package/lib/utils/crypto_utils.d.ts.map +1 -1
- package/lib/utils/crypto_utils.js +2 -2
- package/lib/utils/entryMethodUtils.d.ts.map +1 -1
- package/lib/utils/entryMethodUtils.js +18 -18
- package/lib/utils/getAllFiles.d.ts.map +1 -1
- package/lib/utils/json5parser.d.ts.map +1 -1
- package/lib/utils/json5parser.js +1 -1
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/pathTransfer.d.ts +0 -1
- package/lib/utils/pathTransfer.d.ts.map +1 -1
- package/lib/utils/pathTransfer.js +2 -11
- package/package.json +2 -2
|
@@ -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,IAAI,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAA0C,WAAW,EAAe,IAAI,EAAa,MAAM,cAAc,CAAC;AACjH,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,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,18 @@ const EtsConst_1 = require("../common/EtsConst");
|
|
|
28
28
|
const Constant_1 = require("../base/Constant");
|
|
29
29
|
const Local_1 = require("../base/Local");
|
|
30
30
|
const TSConst_1 = require("../common/TSConst");
|
|
31
|
-
exports.arkMethodNodeKind = [
|
|
32
|
-
'
|
|
31
|
+
exports.arkMethodNodeKind = [
|
|
32
|
+
'MethodDeclaration',
|
|
33
|
+
'Constructor',
|
|
34
|
+
'FunctionDeclaration',
|
|
35
|
+
'GetAccessor',
|
|
36
|
+
'SetAccessor',
|
|
37
|
+
'ArrowFunction',
|
|
38
|
+
'FunctionExpression',
|
|
39
|
+
'MethodSignature',
|
|
40
|
+
'ConstructSignature',
|
|
41
|
+
'CallSignature',
|
|
42
|
+
];
|
|
33
43
|
/**
|
|
34
44
|
* @category core/model
|
|
35
45
|
*/
|
|
@@ -448,7 +458,9 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
448
458
|
return resultValues;
|
|
449
459
|
}
|
|
450
460
|
getReturnStmt() {
|
|
451
|
-
return this.getCfg()
|
|
461
|
+
return this.getCfg()
|
|
462
|
+
.getStmts()
|
|
463
|
+
.filter(stmt => stmt instanceof Stmt_1.ArkReturnStmt);
|
|
452
464
|
}
|
|
453
465
|
setViewTree(viewTree) {
|
|
454
466
|
this.viewTree = viewTree;
|
|
@@ -500,25 +512,25 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
500
512
|
if (declareSignatures === null && signature === null) {
|
|
501
513
|
return {
|
|
502
514
|
errCode: ArkError_1.ArkErrorCode.METHOD_SIGNATURE_UNDEFINED,
|
|
503
|
-
errMsg: 'methodDeclareSignatures and methodSignature are both undefined.'
|
|
515
|
+
errMsg: 'methodDeclareSignatures and methodSignature are both undefined.',
|
|
504
516
|
};
|
|
505
517
|
}
|
|
506
518
|
if ((declareSignatures === null) !== (declareLineCols === null)) {
|
|
507
519
|
return {
|
|
508
520
|
errCode: ArkError_1.ArkErrorCode.METHOD_SIGNATURE_LINE_UNMATCHED,
|
|
509
|
-
errMsg: 'methodDeclareSignatures and methodDeclareLineCols are not matched.'
|
|
521
|
+
errMsg: 'methodDeclareSignatures and methodDeclareLineCols are not matched.',
|
|
510
522
|
};
|
|
511
523
|
}
|
|
512
524
|
if (declareSignatures !== null && declareLineCols !== null && declareSignatures.length !== declareLineCols.length) {
|
|
513
525
|
return {
|
|
514
526
|
errCode: ArkError_1.ArkErrorCode.METHOD_SIGNATURE_LINE_UNMATCHED,
|
|
515
|
-
errMsg: 'methodDeclareSignatures and methodDeclareLineCols are not matched.'
|
|
527
|
+
errMsg: 'methodDeclareSignatures and methodDeclareLineCols are not matched.',
|
|
516
528
|
};
|
|
517
529
|
}
|
|
518
530
|
if ((signature === null) !== (lineCol === null)) {
|
|
519
531
|
return {
|
|
520
532
|
errCode: ArkError_1.ArkErrorCode.METHOD_SIGNATURE_LINE_UNMATCHED,
|
|
521
|
-
errMsg: 'methodSignature and lineCol are not matched.'
|
|
533
|
+
errMsg: 'methodSignature and lineCol are not matched.',
|
|
522
534
|
};
|
|
523
535
|
}
|
|
524
536
|
return this.validateFields(['declaringArkClass']);
|
|
@@ -535,7 +547,7 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
535
547
|
return args.length >= min && args.length <= max;
|
|
536
548
|
});
|
|
537
549
|
const scene = this.getDeclaringArkFile().getScene();
|
|
538
|
-
return (_c = (_b = signatures === null || signatures === void 0 ? void 0 : signatures.find(p => {
|
|
550
|
+
return ((_c = (_b = signatures === null || signatures === void 0 ? void 0 : signatures.find(p => {
|
|
539
551
|
const parameters = p.getMethodSubSignature().getParameters();
|
|
540
552
|
for (let i = 0; i < parameters.length; i++) {
|
|
541
553
|
if (!args[i]) {
|
|
@@ -547,7 +559,7 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
547
559
|
}
|
|
548
560
|
}
|
|
549
561
|
return true;
|
|
550
|
-
})) !== null && _b !== void 0 ? _b : signatures === null || signatures === void 0 ? void 0 : signatures[0]) !== null && _c !== void 0 ? _c : this.getSignature();
|
|
562
|
+
})) !== null && _b !== void 0 ? _b : signatures === null || signatures === void 0 ? void 0 : signatures[0]) !== null && _c !== void 0 ? _c : this.getSignature());
|
|
551
563
|
}
|
|
552
564
|
matchParam(paramType, arg, scene) {
|
|
553
565
|
var _a, _b;
|
|
@@ -571,13 +583,15 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
571
583
|
else if (argType instanceof Type_1.FunctionType && paramType instanceof Type_1.FunctionType) {
|
|
572
584
|
return argType.getMethodSignature().getParamLength() === paramType.getMethodSignature().getParamLength();
|
|
573
585
|
}
|
|
574
|
-
else if (paramType instanceof Type_1.ClassType &&
|
|
575
|
-
paramType.getClassSignature().getClassName().includes(EtsConst_1.CALL_BACK)) {
|
|
586
|
+
else if (paramType instanceof Type_1.ClassType && paramType.getClassSignature().getClassName().includes(EtsConst_1.CALL_BACK)) {
|
|
576
587
|
return argType instanceof Type_1.FunctionType;
|
|
577
588
|
}
|
|
578
589
|
else if (paramType instanceof Type_1.LiteralType && arg instanceof Constant_1.Constant) {
|
|
579
|
-
return arg.getValue().replace(/[\"|\']/g, '') ===
|
|
580
|
-
|
|
590
|
+
return (arg.getValue().replace(/[\"|\']/g, '') ===
|
|
591
|
+
paramType
|
|
592
|
+
.getLiteralName()
|
|
593
|
+
.toString()
|
|
594
|
+
.replace(/[\"|\']/g, ''));
|
|
581
595
|
}
|
|
582
596
|
else if (paramType instanceof Type_1.ClassType && argType instanceof Type_1.EnumValueType) {
|
|
583
597
|
return paramType.getClassSignature() === argType.getFieldSignature().getDeclaringSignature();
|
|
@@ -44,7 +44,7 @@ export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
|
|
|
44
44
|
setColumn(column: number): void;
|
|
45
45
|
getLineColPairs(): [number, number][];
|
|
46
46
|
setLineCols(lineColPairs: [number, number][]): void;
|
|
47
|
-
getDeclaringInstance():
|
|
47
|
+
getDeclaringInstance(): ArkNamespace | ArkFile;
|
|
48
48
|
setDeclaringInstance(declaringInstance: ArkFile | ArkNamespace): void;
|
|
49
49
|
getDeclaringArkFile(): ArkFile;
|
|
50
50
|
setDeclaringArkFile(declaringArkFile: ArkFile): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkNamespace.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkNamespace.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,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,EAAuB,cAAc,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGzF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAa,YAAW,SAAS;IAC/D,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,qBAAqB,CAA6B;IAE1D,OAAO,CAAC,iBAAiB,CAA0B;IAEnD,OAAO,CAAC,WAAW,CAA0D;IAE7E,OAAO,CAAC,YAAY,CAAY;IAGhC,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,kBAAkB,CAAsB;IAEhD,OAAO,CAAC,oBAAoB,CAAa;;IAMzC;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,YAAY,CAAC,SAAS,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"ArkNamespace.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkNamespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -132,8 +132,7 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
132
132
|
this.declaringArkNamespace = declaringArkNamespace;
|
|
133
133
|
}
|
|
134
134
|
getClass(classSignature) {
|
|
135
|
-
const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName()
|
|
136
|
-
: classSignature.getClassName();
|
|
135
|
+
const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName() : classSignature.getClassName();
|
|
137
136
|
return this.getClassWithName(className);
|
|
138
137
|
}
|
|
139
138
|
getClassWithName(Class) {
|
|
@@ -168,10 +167,10 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
168
167
|
}
|
|
169
168
|
getAllMethodsUnderThisNamespace() {
|
|
170
169
|
let methods = [];
|
|
171
|
-
this.classes.forEach(
|
|
170
|
+
this.classes.forEach(cls => {
|
|
172
171
|
methods.push(...cls.getMethods());
|
|
173
172
|
});
|
|
174
|
-
this.namespaces.forEach(
|
|
173
|
+
this.namespaces.forEach(ns => {
|
|
175
174
|
methods.push(...ns.getAllMethodsUnderThisNamespace());
|
|
176
175
|
});
|
|
177
176
|
return methods;
|
|
@@ -179,7 +178,7 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
179
178
|
getAllClassesUnderThisNamespace() {
|
|
180
179
|
let classes = [];
|
|
181
180
|
classes.push(...this.classes.values());
|
|
182
|
-
this.namespaces.forEach(
|
|
181
|
+
this.namespaces.forEach(ns => {
|
|
183
182
|
classes.push(...ns.getAllClassesUnderThisNamespace());
|
|
184
183
|
});
|
|
185
184
|
return classes;
|
|
@@ -187,7 +186,7 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
187
186
|
getAllNamespacesUnderThisNamespace() {
|
|
188
187
|
let namespaces = [];
|
|
189
188
|
namespaces.push(...this.namespaces.values());
|
|
190
|
-
this.namespaces.forEach(
|
|
189
|
+
this.namespaces.forEach(ns => {
|
|
191
190
|
namespaces.push(...ns.getAllNamespacesUnderThisNamespace());
|
|
192
191
|
});
|
|
193
192
|
return namespaces;
|
|
@@ -116,8 +116,10 @@ export declare class MethodSignature {
|
|
|
116
116
|
/**
|
|
117
117
|
* Return the declaring class signature.
|
|
118
118
|
* A {@link ClassSignature} includes:
|
|
119
|
-
* - File Signature: including the **string** names of the project and file, respectively.
|
|
120
|
-
*
|
|
119
|
+
* - File Signature: including the **string** names of the project and file, respectively.
|
|
120
|
+
* The default value of project's name is "%unk" and the default value of file's name is "%unk".
|
|
121
|
+
* - Namespace Signature | **null**: it may be a namespace signature or **null**.
|
|
122
|
+
* A namespace signature can indicate its **string** name of namespace and its file signature.
|
|
121
123
|
* - Class Name: the **string** name of this class.
|
|
122
124
|
* @returns The declaring class signature.
|
|
123
125
|
* @example
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAY7D,MAAM,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"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"}
|
|
@@ -180,8 +180,7 @@ class FieldSignature {
|
|
|
180
180
|
return this.declaringSignature;
|
|
181
181
|
}
|
|
182
182
|
getBaseName() {
|
|
183
|
-
return this.declaringSignature instanceof ClassSignature ? this.declaringSignature.getClassName()
|
|
184
|
-
: this.declaringSignature.getNamespaceName();
|
|
183
|
+
return this.declaringSignature instanceof ClassSignature ? this.declaringSignature.getClassName() : this.declaringSignature.getNamespaceName();
|
|
185
184
|
}
|
|
186
185
|
getFieldName() {
|
|
187
186
|
return this.fieldName;
|
|
@@ -224,7 +223,7 @@ class MethodSubSignature {
|
|
|
224
223
|
}
|
|
225
224
|
getParameterTypes() {
|
|
226
225
|
const parameterTypes = [];
|
|
227
|
-
this.parameters.forEach(
|
|
226
|
+
this.parameters.forEach(parameter => {
|
|
228
227
|
parameterTypes.push(parameter.getType());
|
|
229
228
|
});
|
|
230
229
|
return parameterTypes;
|
|
@@ -239,9 +238,9 @@ class MethodSubSignature {
|
|
|
239
238
|
return this.staticFlag;
|
|
240
239
|
}
|
|
241
240
|
toString(ptrName) {
|
|
242
|
-
let paraStr =
|
|
243
|
-
this.getParameterTypes().forEach(
|
|
244
|
-
paraStr += parameterType.toString() +
|
|
241
|
+
let paraStr = '';
|
|
242
|
+
this.getParameterTypes().forEach(parameterType => {
|
|
243
|
+
paraStr += parameterType.toString() + ', ';
|
|
245
244
|
});
|
|
246
245
|
paraStr = paraStr.replace(/, $/, '');
|
|
247
246
|
let tmpSig = `${ptrName !== null && ptrName !== void 0 ? ptrName : this.getMethodName()}(${paraStr})`;
|
|
@@ -263,8 +262,10 @@ class MethodSignature {
|
|
|
263
262
|
/**
|
|
264
263
|
* Return the declaring class signature.
|
|
265
264
|
* A {@link ClassSignature} includes:
|
|
266
|
-
* - File Signature: including the **string** names of the project and file, respectively.
|
|
267
|
-
*
|
|
265
|
+
* - File Signature: including the **string** names of the project and file, respectively.
|
|
266
|
+
* The default value of project's name is "%unk" and the default value of file's name is "%unk".
|
|
267
|
+
* - Namespace Signature | **null**: it may be a namespace signature or **null**.
|
|
268
|
+
* A namespace signature can indicate its **string** name of namespace and its file signature.
|
|
268
269
|
* - Class Name: the **string** name of this class.
|
|
269
270
|
* @returns The declaring class signature.
|
|
270
271
|
* @example
|
|
@@ -298,11 +299,10 @@ class MethodSignature {
|
|
|
298
299
|
return this.declaringClassSignature.toMapKey() + '.' + this.methodSubSignature.toString();
|
|
299
300
|
}
|
|
300
301
|
isMatch(signature) {
|
|
301
|
-
return
|
|
302
|
+
return this.toString() === signature.toString() && this.getType().toString() === signature.getType().toString();
|
|
302
303
|
}
|
|
303
304
|
getParamLength() {
|
|
304
|
-
return this.methodSubSignature.getParameters()
|
|
305
|
-
.filter(p => !p.getName().startsWith(Const_1.LEXICAL_ENV_NAME_PREFIX)).length;
|
|
305
|
+
return this.methodSubSignature.getParameters().filter(p => !p.getName().startsWith(Const_1.LEXICAL_ENV_NAME_PREFIX)).length;
|
|
306
306
|
}
|
|
307
307
|
}
|
|
308
308
|
exports.MethodSignature = MethodSignature;
|
|
@@ -340,8 +340,7 @@ class AliasTypeSignature {
|
|
|
340
340
|
exports.AliasTypeSignature = AliasTypeSignature;
|
|
341
341
|
//TODO, reconstruct
|
|
342
342
|
function fieldSignatureCompare(leftSig, rightSig) {
|
|
343
|
-
if (leftSig.getDeclaringSignature().toString() === rightSig.getDeclaringSignature().toString() &&
|
|
344
|
-
(leftSig.getFieldName() === rightSig.getFieldName())) {
|
|
343
|
+
if (leftSig.getDeclaringSignature().toString() === rightSig.getDeclaringSignature().toString() && leftSig.getFieldName() === rightSig.getFieldName()) {
|
|
345
344
|
return true;
|
|
346
345
|
}
|
|
347
346
|
return false;
|
|
@@ -356,22 +355,23 @@ function methodSignatureCompare(leftSig, rightSig) {
|
|
|
356
355
|
}
|
|
357
356
|
exports.methodSignatureCompare = methodSignatureCompare;
|
|
358
357
|
function methodSubSignatureCompare(leftSig, rightSig) {
|
|
359
|
-
if (
|
|
358
|
+
if (leftSig.getMethodName() === rightSig.getMethodName() &&
|
|
359
|
+
arrayCompare(leftSig.getParameterTypes(), rightSig.getParameterTypes()) &&
|
|
360
|
+
leftSig.getReturnType() === rightSig.getReturnType()) {
|
|
360
361
|
return true;
|
|
361
362
|
}
|
|
362
363
|
return false;
|
|
363
364
|
}
|
|
364
365
|
exports.methodSubSignatureCompare = methodSubSignatureCompare;
|
|
365
366
|
function classSignatureCompare(leftSig, rightSig) {
|
|
366
|
-
if (
|
|
367
|
-
(leftSig.getClassName() === rightSig.getClassName())) {
|
|
367
|
+
if (fileSignatureCompare(leftSig.getDeclaringFileSignature(), rightSig.getDeclaringFileSignature()) && leftSig.getClassName() === rightSig.getClassName()) {
|
|
368
368
|
return true;
|
|
369
369
|
}
|
|
370
370
|
return false;
|
|
371
371
|
}
|
|
372
372
|
exports.classSignatureCompare = classSignatureCompare;
|
|
373
373
|
function fileSignatureCompare(leftSig, rightSig) {
|
|
374
|
-
if (
|
|
374
|
+
if (leftSig.getFileName() === rightSig.getFileName() && leftSig.getProjectName() === rightSig.getProjectName()) {
|
|
375
375
|
return true;
|
|
376
376
|
}
|
|
377
377
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAA4B,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAyBtD,MAAM,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"ArkClassBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkClassBuilder.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAA4B,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAyBtD,MAAM,MAAM,aAAa,GACnB,EAAE,CAAC,gBAAgB,GACnB,EAAE,CAAC,oBAAoB,GACvB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,uBAAuB,CAAC;AAUjC,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CAItH;AAED,wBAAgB,oCAAoC,CAChD,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,QAAQ,EACtB,MAAM,EAAE,EAAE,CAAC,iBAAiB,EAC5B,UAAU,EAAE,EAAE,CAAC,UAAU,GAC1B,IAAI,CAIN;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CAOpJ;AAED,wBAAgB,8BAA8B,CAC1C,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CASN;AAED,wBAAgB,mCAAmC,CAC/C,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,QAAQ,EACb,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,eAAe,CAAC,EAAE,SAAS,GAC5B,IAAI,CAUN;AAmBD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,GAAG,IAAI,CA0BvI"}
|
|
@@ -139,7 +139,6 @@ function buildNormalArkClass(clsNode, cls, sourceFile, declaringMethod) {
|
|
|
139
139
|
buildObjectLiteralExpression2ArkClass(clsNode, cls, sourceFile, declaringMethod);
|
|
140
140
|
break;
|
|
141
141
|
default:
|
|
142
|
-
;
|
|
143
142
|
}
|
|
144
143
|
IRUtils_1.IRUtils.setComments(cls, clsNode, sourceFile, cls.getDeclaringArkFile().getScene().getOptions());
|
|
145
144
|
}
|
|
@@ -176,7 +175,7 @@ function buildStruct2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
|
|
|
176
175
|
const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
|
|
177
176
|
cls.setSignature(classSignature);
|
|
178
177
|
if (clsNode.typeParameters) {
|
|
179
|
-
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(
|
|
178
|
+
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
|
|
180
179
|
cls.addGenericType(typeParameter);
|
|
181
180
|
});
|
|
182
181
|
}
|
|
@@ -194,7 +193,7 @@ function buildClass2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
|
|
|
194
193
|
const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
|
|
195
194
|
cls.setSignature(classSignature);
|
|
196
195
|
if (clsNode.typeParameters) {
|
|
197
|
-
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(
|
|
196
|
+
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
|
|
198
197
|
cls.addGenericType(typeParameter);
|
|
199
198
|
});
|
|
200
199
|
}
|
|
@@ -225,7 +224,7 @@ function buildInterface2ArkClass(clsNode, cls, sourceFile, declaringMethod) {
|
|
|
225
224
|
const classSignature = new ArkSignature_1.ClassSignature(className, cls.getDeclaringArkFile().getFileSignature(), ((_a = cls.getDeclaringArkNamespace()) === null || _a === void 0 ? void 0 : _a.getSignature()) || null);
|
|
226
225
|
cls.setSignature(classSignature);
|
|
227
226
|
if (clsNode.typeParameters) {
|
|
228
|
-
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(
|
|
227
|
+
(0, builderUtils_1.buildTypeParameters)(clsNode.typeParameters, sourceFile, cls).forEach(typeParameter => {
|
|
229
228
|
cls.addGenericType(typeParameter);
|
|
230
229
|
});
|
|
231
230
|
}
|
|
@@ -253,7 +252,7 @@ function buildTypeLiteralNode2ArkClass(clsNode, cls, sourceFile, declaringMethod
|
|
|
253
252
|
cls.setSignature(classSignature);
|
|
254
253
|
cls.setCategory(ArkClass_1.ClassCategory.TYPE_LITERAL);
|
|
255
254
|
if (ohos_typescript_1.default.isTypeAliasDeclaration(clsNode.parent) && clsNode.parent.typeParameters) {
|
|
256
|
-
(0, builderUtils_1.buildTypeParameters)(clsNode.parent.typeParameters, sourceFile, cls).forEach(
|
|
255
|
+
(0, builderUtils_1.buildTypeParameters)(clsNode.parent.typeParameters, sourceFile, cls).forEach(typeParameter => {
|
|
257
256
|
cls.addGenericType(typeParameter);
|
|
258
257
|
});
|
|
259
258
|
}
|
|
@@ -269,7 +268,7 @@ function buildObjectLiteralExpression2ArkClass(clsNode, cls, sourceFile, declari
|
|
|
269
268
|
init4InstanceInitMethod(cls);
|
|
270
269
|
const instanceIRTransformer = new ArkIRTransformer_1.ArkIRTransformer(sourceFile, cls.getInstanceInitMethod());
|
|
271
270
|
const instanceFieldInitializerStmts = [];
|
|
272
|
-
clsNode.properties.forEach(
|
|
271
|
+
clsNode.properties.forEach(property => {
|
|
273
272
|
if (ohos_typescript_1.default.isPropertyAssignment(property) || ohos_typescript_1.default.isShorthandPropertyAssignment(property) || ohos_typescript_1.default.isSpreadAssignment(property)) {
|
|
274
273
|
const arkField = (0, ArkFieldBuilder_1.buildProperty2ArkField)(property, sourceFile, cls);
|
|
275
274
|
if (ohos_typescript_1.default.isPropertyAssignment(property)) {
|
|
@@ -284,7 +283,7 @@ function buildObjectLiteralExpression2ArkClass(clsNode, cls, sourceFile, declari
|
|
|
284
283
|
}
|
|
285
284
|
});
|
|
286
285
|
(0, ArkMethodBuilder_1.buildInitMethod)(cls.getInstanceInitMethod(), instanceFieldInitializerStmts, instanceIRTransformer.getThisLocal());
|
|
287
|
-
arkMethods.forEach(
|
|
286
|
+
arkMethods.forEach(mtd => {
|
|
288
287
|
(0, ArkMethodBuilder_1.checkAndUpdateMethod)(mtd, cls);
|
|
289
288
|
cls.addMethod(mtd);
|
|
290
289
|
});
|
|
@@ -316,7 +315,7 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
|
316
315
|
const staticInitStmts = [];
|
|
317
316
|
const instanceInitStmts = [];
|
|
318
317
|
let staticBlockId = 0;
|
|
319
|
-
clsNode.members.forEach(
|
|
318
|
+
clsNode.members.forEach(member => {
|
|
320
319
|
if (ohos_typescript_1.default.isPropertyDeclaration(member) || ohos_typescript_1.default.isPropertySignature(member)) {
|
|
321
320
|
const arkField = (0, ArkFieldBuilder_1.buildProperty2ArkField)(member, sourceFile, cls);
|
|
322
321
|
if (ohos_typescript_1.default.isClassDeclaration(clsNode) || ohos_typescript_1.default.isClassExpression(clsNode) || ohos_typescript_1.default.isStructDeclaration(clsNode)) {
|
|
@@ -325,8 +324,9 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
|
325
324
|
arkField.getInitializer().forEach(stmt => staticInitStmts.push(stmt));
|
|
326
325
|
}
|
|
327
326
|
else {
|
|
328
|
-
if (!instanceIRTransformer)
|
|
327
|
+
if (!instanceIRTransformer) {
|
|
329
328
|
console.log(clsNode.getText(sourceFile));
|
|
329
|
+
}
|
|
330
330
|
getInitStmts(instanceIRTransformer, arkField, member.initializer);
|
|
331
331
|
arkField.getInitializer().forEach(stmt => instanceInitStmts.push(stmt));
|
|
332
332
|
}
|
|
@@ -361,7 +361,7 @@ function buildArkClassMembers(clsNode, cls, sourceFile) {
|
|
|
361
361
|
}
|
|
362
362
|
}
|
|
363
363
|
function buildMethodsForClass(clsNode, cls, sourceFile) {
|
|
364
|
-
clsNode.members.forEach(
|
|
364
|
+
clsNode.members.forEach(member => {
|
|
365
365
|
if (ohos_typescript_1.default.isMethodDeclaration(member) ||
|
|
366
366
|
ohos_typescript_1.default.isConstructorDeclaration(member) ||
|
|
367
367
|
ohos_typescript_1.default.isMethodSignature(member) ||
|
|
@@ -384,7 +384,7 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
|
|
|
384
384
|
if (params.length === 0) {
|
|
385
385
|
return;
|
|
386
386
|
}
|
|
387
|
-
params.forEach(
|
|
387
|
+
params.forEach(parameter => {
|
|
388
388
|
if (parameter.modifiers === undefined || !ohos_typescript_1.default.isIdentifier(parameter.name)) {
|
|
389
389
|
return;
|
|
390
390
|
}
|
|
@@ -396,7 +396,7 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
|
|
|
396
396
|
let fieldName = parameter.name.text;
|
|
397
397
|
let fieldType;
|
|
398
398
|
if (parameter.type) {
|
|
399
|
-
fieldType = (
|
|
399
|
+
fieldType = (0, builderUtils_1.buildGenericType)((0, builderUtils_1.tsNode2Type)(parameter.type, sourceFile, field), field);
|
|
400
400
|
}
|
|
401
401
|
else {
|
|
402
402
|
fieldType = Type_1.UnknownType.getInstance();
|
|
@@ -410,7 +410,7 @@ function buildParameterProperty2ArkField(params, cls, sourceFile) {
|
|
|
410
410
|
function buildStaticBlocksForClass(clsNode, cls, sourceFile) {
|
|
411
411
|
let staticInitBlockId = 0;
|
|
412
412
|
const staticBlockMethodSignatures = [];
|
|
413
|
-
clsNode.members.forEach(
|
|
413
|
+
clsNode.members.forEach(member => {
|
|
414
414
|
if (ohos_typescript_1.default.isClassStaticBlockDeclaration(member)) {
|
|
415
415
|
const staticBlockMethod = new ArkMethod_1.ArkMethod();
|
|
416
416
|
staticBlockMethod.setDeclaringArkClass(cls);
|
|
@@ -434,11 +434,10 @@ function buildStaticBlocksForClass(clsNode, cls, sourceFile) {
|
|
|
434
434
|
function getInitStmts(transformer, field, initNode) {
|
|
435
435
|
if (initNode) {
|
|
436
436
|
const stmts = [];
|
|
437
|
-
let { value: initValue, valueOriginalPositions: initPositions, stmts: initStmts
|
|
437
|
+
let { value: initValue, valueOriginalPositions: initPositions, stmts: initStmts } = transformer.tsNodeToValueAndStmts(initNode);
|
|
438
438
|
initStmts.forEach(stmt => stmts.push(stmt));
|
|
439
439
|
if (IRUtils_1.IRUtils.moreThanOneAddress(initValue)) {
|
|
440
|
-
({ value: initValue, valueOriginalPositions: initPositions, stmts: initStmts } =
|
|
441
|
-
transformer.generateAssignStmtForValue(initValue, initPositions));
|
|
440
|
+
({ value: initValue, valueOriginalPositions: initPositions, stmts: initStmts } = transformer.generateAssignStmtForValue(initValue, initPositions));
|
|
442
441
|
initStmts.forEach(stmt => stmts.push(stmt));
|
|
443
442
|
}
|
|
444
443
|
const fieldRef = new Ref_1.ArkInstanceFieldRef(transformer.getThisLocal(), field.getSignature());
|
|
@@ -2,6 +2,7 @@ import ts from 'ohos-typescript';
|
|
|
2
2
|
import { LineColPosition } from '../../base/Position';
|
|
3
3
|
import { ArkExport, ExportInfo, FromInfo } from '../ArkExport';
|
|
4
4
|
import { ArkFile } from '../ArkFile';
|
|
5
|
+
import { ArkNamespace } from '../ArkNamespace';
|
|
5
6
|
export { buildExportInfo, buildExportAssignment, buildExportDeclaration };
|
|
6
7
|
declare function buildExportInfo(arkInstance: ArkExport, arkFile: ArkFile, line: LineColPosition): ExportInfo;
|
|
7
8
|
export declare function buildDefaultExportInfo(im: FromInfo, file: ArkFile, arkExport?: ArkExport): ExportInfo;
|
|
@@ -13,7 +14,7 @@ declare function buildExportAssignment(node: ts.ExportAssignment, sourceFile: ts
|
|
|
13
14
|
* @param sourceFile
|
|
14
15
|
* @param arkFile
|
|
15
16
|
*/
|
|
16
|
-
export declare function buildExportVariableStatement(node: ts.VariableStatement, sourceFile: ts.SourceFile, arkFile: ArkFile): ExportInfo[];
|
|
17
|
+
export declare function buildExportVariableStatement(node: ts.VariableStatement, sourceFile: ts.SourceFile, arkFile: ArkFile, namespace?: ArkNamespace): ExportInfo[];
|
|
17
18
|
/**
|
|
18
19
|
* export type MyType = string;
|
|
19
20
|
* @param node
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkExportBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkExportBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;AAE1E,iBAAS,eAAe,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,eAAe,GAAG,UAAU,CAepG;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,UAAU,CAOrG;AAED,iBAAS,sBAAsB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAgDrH;AAED,iBAAS,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAsCnH;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,EAAE,CAmB5J;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,EAAE,CAexI;AAED,wBAAgB,UAAU,CAAC,aAAa,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,YAAY,CAAC,GAAG,SAAS,GAAG,OAAO,CAU5F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Copyright (c) 2024-2025 Huawei Device Co., Ltd.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -66,7 +66,7 @@ function buildExportDeclaration(node, sourceFile, arkFile) {
|
|
|
66
66
|
let exportInfos = [];
|
|
67
67
|
// just like: export {xxx as x} from './yy'
|
|
68
68
|
if (node.exportClause && ohos_typescript_1.default.isNamedExports(node.exportClause) && node.exportClause.elements) {
|
|
69
|
-
node.exportClause.elements.forEach(
|
|
69
|
+
node.exportClause.elements.forEach(element => {
|
|
70
70
|
let builder = new ArkExport_1.ExportInfo.Builder()
|
|
71
71
|
.exportClauseType(ArkExport_1.ExportType.UNKNOWN)
|
|
72
72
|
.exportClauseName(element.name.text)
|
|
@@ -94,10 +94,12 @@ function buildExportDeclaration(node, sourceFile, arkFile) {
|
|
|
94
94
|
.setLeadingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), true))
|
|
95
95
|
.setTrailingComments(IRUtils_1.IRUtils.getCommentsMetadata(node, sourceFile, arkFile.getScene().getOptions(), false))
|
|
96
96
|
.originTsPosition(originTsPosition);
|
|
97
|
-
if (node.exportClause && ohos_typescript_1.default.isNamespaceExport(node.exportClause) && ohos_typescript_1.default.isIdentifier(node.exportClause.name)) {
|
|
97
|
+
if (node.exportClause && ohos_typescript_1.default.isNamespaceExport(node.exportClause) && ohos_typescript_1.default.isIdentifier(node.exportClause.name)) {
|
|
98
|
+
// just like: export * as xx from './yy'
|
|
98
99
|
exportInfos.push(builder1.exportClauseName(node.exportClause.name.text).build());
|
|
99
100
|
}
|
|
100
|
-
else if (!node.exportClause && node.moduleSpecifier) {
|
|
101
|
+
else if (!node.exportClause && node.moduleSpecifier) {
|
|
102
|
+
// just like: export * from './yy'
|
|
101
103
|
exportInfos.push(builder1.exportClauseName(TSConst_1.ALL).build());
|
|
102
104
|
}
|
|
103
105
|
return exportInfos;
|
|
@@ -127,10 +129,12 @@ function buildExportAssignment(node, sourceFile, arkFile) {
|
|
|
127
129
|
let cls = new ArkClass_1.ArkClass();
|
|
128
130
|
(0, ArkClassBuilder_1.buildNormalArkClassFromArkFile)(node.expression.expression, arkFile, cls, sourceFile);
|
|
129
131
|
}
|
|
130
|
-
if (ohos_typescript_1.default.isIdentifier(node.expression)) {
|
|
132
|
+
if (ohos_typescript_1.default.isIdentifier(node.expression)) {
|
|
133
|
+
// just like: export default xx
|
|
131
134
|
exportInfo.nameBeforeAs(node.expression.text);
|
|
132
135
|
}
|
|
133
|
-
else if (ohos_typescript_1.default.isAsExpression(node.expression)) {
|
|
136
|
+
else if (ohos_typescript_1.default.isAsExpression(node.expression)) {
|
|
137
|
+
// just like: export default xx as YY
|
|
134
138
|
exportInfo.nameBeforeAs(node.expression.expression.getText(sourceFile));
|
|
135
139
|
}
|
|
136
140
|
exportInfos.push(exportInfo.build());
|
|
@@ -143,21 +147,23 @@ exports.buildExportAssignment = buildExportAssignment;
|
|
|
143
147
|
* @param sourceFile
|
|
144
148
|
* @param arkFile
|
|
145
149
|
*/
|
|
146
|
-
function buildExportVariableStatement(node, sourceFile, arkFile) {
|
|
150
|
+
function buildExportVariableStatement(node, sourceFile, arkFile, namespace) {
|
|
147
151
|
let exportInfos = [];
|
|
148
152
|
const originTsPosition = Position_1.LineColPosition.buildFromNode(node, sourceFile);
|
|
149
153
|
const modifiers = node.modifiers ? (0, builderUtils_1.buildModifiers)(node) : 0;
|
|
150
154
|
const tsSourceCode = node.getText(sourceFile);
|
|
151
155
|
node.declarationList.declarations.forEach(dec => {
|
|
152
|
-
const
|
|
156
|
+
const exportInfoBuilder = new ArkExport_1.ExportInfo.Builder()
|
|
153
157
|
.exportClauseName(dec.name.getText(sourceFile))
|
|
154
158
|
.exportClauseType(ArkExport_1.ExportType.LOCAL)
|
|
155
159
|
.modifiers(modifiers)
|
|
156
160
|
.tsSourceCode(tsSourceCode)
|
|
157
161
|
.originTsPosition(originTsPosition)
|
|
158
|
-
.declaringArkFile(arkFile)
|
|
159
|
-
|
|
160
|
-
|
|
162
|
+
.declaringArkFile(arkFile);
|
|
163
|
+
if (namespace) {
|
|
164
|
+
exportInfoBuilder.declaringArkNamespace(namespace);
|
|
165
|
+
}
|
|
166
|
+
exportInfos.push(exportInfoBuilder.build());
|
|
161
167
|
});
|
|
162
168
|
return exportInfos;
|
|
163
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAE1E,wBAAgB,sBAAsB,
|
|
1
|
+
{"version":3,"file":"ArkFieldBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFieldBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAUzC,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,CAAC;AAE1E,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,EAAE,CAAC,mBAAmB,GAAG,EAAE,CAAC,kBAAkB,GAAG,EAAE,CAAC,2BAA2B,GAAG,EAAE,CAAC,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,GAAG,EAAE,CAAC,UAAU,EACpJ,UAAU,EAAE,EAAE,CAAC,UAAU,EACzB,GAAG,EAAE,QAAQ,GACd,QAAQ,CAoDV;AAED,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,EAAE,CAAC,yBAAyB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,GAAG,EAAE,QAAQ,GAAG,IAAI,CAmBjI;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,EAAE,CAAC,sBAAsB,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,GAAG,IAAI,CA+B7H"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/*
|
|
3
|
-
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
3
|
+
* Copyright (c) 2024-2025 Huawei Device Co., Ltd.
|
|
4
4
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
5
|
* you may not use this file except in compliance with the License.
|
|
6
6
|
* You may obtain a copy of the License at
|
|
@@ -66,7 +66,7 @@ function buildProperty2ArkField(member, sourceFile, cls) {
|
|
|
66
66
|
fieldName = (0, builderUtils_1.handlePropertyAccessExpression)(member.name.expression);
|
|
67
67
|
}
|
|
68
68
|
else {
|
|
69
|
-
logger.warn(
|
|
69
|
+
logger.warn('Other property expression type found!');
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
else if (member.name && (ohos_typescript_1.default.isIdentifier(member.name) || ohos_typescript_1.default.isLiteralExpression(member.name))) {
|
|
@@ -78,10 +78,10 @@ function buildProperty2ArkField(member, sourceFile, cls) {
|
|
|
78
78
|
field.addModifier(ArkBaseModel_1.ModifierType.PRIVATE);
|
|
79
79
|
}
|
|
80
80
|
else {
|
|
81
|
-
logger.warn(
|
|
81
|
+
logger.warn('Other type of property name found!');
|
|
82
82
|
}
|
|
83
83
|
let fieldType = Type_1.UnknownType.getInstance();
|
|
84
|
-
if (
|
|
84
|
+
if (ohos_typescript_1.default.isPropertyDeclaration(member) || ohos_typescript_1.default.isPropertySignature(member)) {
|
|
85
85
|
if (member.modifiers) {
|
|
86
86
|
field.addModifier((0, builderUtils_1.buildModifiers)(member));
|
|
87
87
|
}
|
|
@@ -146,11 +146,11 @@ function buildGetAccessor2ArkField(member, mthd, sourceFile) {
|
|
|
146
146
|
fieldName = member.name.expression.text;
|
|
147
147
|
}
|
|
148
148
|
else {
|
|
149
|
-
logger.warn(
|
|
149
|
+
logger.warn('Other type of computed property name found!');
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
else {
|
|
153
|
-
logger.warn(
|
|
153
|
+
logger.warn('Please contact developers to support new type of GetAccessor name!');
|
|
154
154
|
}
|
|
155
155
|
const fieldType = mthd.getReturnType();
|
|
156
156
|
const fieldSignature = new ArkSignature_1.FieldSignature(fieldName, cls.getSignature(), fieldType, false);
|
|
@@ -186,7 +186,6 @@ function mapSyntaxKindToFieldOriginType(syntaxKind) {
|
|
|
186
186
|
fieldOriginType = ArkField_1.FieldCategory.GET_ACCESSOR;
|
|
187
187
|
break;
|
|
188
188
|
default:
|
|
189
|
-
;
|
|
190
189
|
}
|
|
191
190
|
return fieldOriginType;
|
|
192
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAwB/C,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,EAAY,MAAM,YAAY,CAAC;AAwB/C,eAAO,MAAM,iBAAiB,UAiB7B,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,CAW9H"}
|