arkanalyzer 1.0.90 → 1.0.91
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 +0 -1
- package/lib/Config.d.ts +3 -0
- package/lib/Config.d.ts.map +1 -1
- package/lib/Scene.d.ts +99 -0
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +229 -13
- package/lib/callgraph/common/Statistics.js +2 -2
- package/lib/callgraph/model/CallGraph.d.ts +2 -2
- package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
- package/lib/callgraph/model/CallGraph.js +6 -6
- package/lib/callgraph/model/CallSite.d.ts +1 -1
- package/lib/callgraph/model/CallSite.d.ts.map +1 -1
- package/lib/callgraph/model/CallSite.js +2 -2
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +6 -1
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +5 -0
- package/lib/core/common/ArkValueTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkValueTransformer.js +2 -1
- 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 +5 -1
- package/lib/core/common/DummyMainCreater.d.ts +25 -12
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +90 -76
- package/lib/core/common/EtsConst.d.ts +2 -0
- package/lib/core/common/EtsConst.d.ts.map +1 -1
- package/lib/core/common/EtsConst.js +133 -125
- package/lib/core/common/SdkUtils.d.ts +1 -0
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +29 -0
- package/lib/core/graph/BaseExplicitGraph.d.ts +2 -0
- package/lib/core/graph/BaseExplicitGraph.d.ts.map +1 -1
- package/lib/core/graph/BaseExplicitGraph.js +12 -1
- package/lib/core/graph/BaseImplicitGraph.d.ts +16 -0
- package/lib/core/graph/BaseImplicitGraph.d.ts.map +1 -1
- package/lib/core/graph/BaseImplicitGraph.js +21 -0
- package/lib/core/graph/FileDepGraph.d.ts +75 -0
- package/lib/core/graph/FileDepGraph.d.ts.map +1 -0
- package/lib/core/graph/FileDepGraph.js +170 -0
- package/lib/core/graph/GraphTraits.d.ts +2 -0
- package/lib/core/graph/GraphTraits.d.ts.map +1 -1
- package/lib/core/graph/GraphTraits.js +1 -1
- package/lib/core/graph/ModuleDepGraph.d.ts +175 -0
- package/lib/core/graph/ModuleDepGraph.d.ts.map +1 -0
- package/lib/core/graph/ModuleDepGraph.js +421 -0
- package/lib/core/graph/Scc.d.ts +1 -3
- package/lib/core/graph/Scc.d.ts.map +1 -1
- package/lib/core/graph/Scc.js +6 -19
- package/lib/core/graph/builder/CfgBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/CfgBuilder.js +7 -1
- package/lib/core/graph/builder/TrapBuilder.d.ts +1 -0
- package/lib/core/graph/builder/TrapBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/TrapBuilder.js +27 -7
- 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 +7 -0
- package/lib/core/model/ArkClass.d.ts +1 -0
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +37 -0
- package/lib/core/model/ArkExport.d.ts +1 -0
- package/lib/core/model/ArkExport.d.ts.map +1 -1
- package/lib/core/model/ArkExport.js +6 -0
- package/lib/core/model/ArkField.d.ts +1 -0
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +5 -0
- package/lib/core/model/ArkFile.d.ts +5 -0
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +30 -0
- package/lib/core/model/ArkImport.d.ts +1 -0
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +5 -0
- package/lib/core/model/ArkMethod.d.ts +8 -0
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +22 -0
- package/lib/core/model/ArkModule.d.ts +136 -0
- package/lib/core/model/ArkModule.d.ts.map +1 -0
- package/lib/core/model/ArkModule.js +250 -0
- package/lib/core/model/ArkNamespace.d.ts +1 -0
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +18 -0
- package/lib/core/model/builder/ArkFileBuilder.d.ts +19 -0
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +155 -51
- package/lib/frontend/FrontendBuilder.d.ts +116 -0
- package/lib/frontend/FrontendBuilder.d.ts.map +1 -1
- package/lib/frontend/FrontendBuilder.js +256 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts +11 -0
- package/lib/frontend/arktsFrontend/ArktsFrontend.d.ts.map +1 -1
- package/lib/frontend/arktsFrontend/ArktsFrontend.js +15 -0
- package/lib/frontend/common/MemoryMonitor.d.ts +62 -0
- package/lib/frontend/common/MemoryMonitor.d.ts.map +1 -0
- package/lib/frontend/common/MemoryMonitor.js +108 -0
- package/lib/frontend/common/ModuleAnalysisConfig.d.ts +92 -0
- package/lib/frontend/common/ModuleAnalysisConfig.d.ts.map +1 -0
- package/lib/frontend/common/ModuleAnalysisConfig.js +144 -0
- package/lib/frontend/common/ModuleBuilder.d.ts +497 -0
- package/lib/frontend/common/ModuleBuilder.d.ts.map +1 -0
- package/lib/frontend/common/ModuleBuilder.js +1458 -0
- package/lib/frontend/common/ModuleCache.d.ts +119 -0
- package/lib/frontend/common/ModuleCache.d.ts.map +1 -0
- package/lib/frontend/common/ModuleCache.js +197 -0
- package/lib/frontend/common/ModuleDepth.d.ts +28 -0
- package/lib/frontend/common/ModuleDepth.d.ts.map +1 -0
- package/lib/frontend/common/ModuleDepth.js +45 -0
- package/lib/frontend/cppFrontend/CppFrontend.d.ts +5 -0
- package/lib/frontend/cppFrontend/CppFrontend.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/CppFrontend.js +11 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts +8 -0
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/frontend/cppFrontend/model/builder/ArkFileBuilder.js +105 -2
- package/lib/index.d.ts +9 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +22 -3
- package/lib/utils/Canonicalizer.d.ts +105 -0
- package/lib/utils/Canonicalizer.d.ts.map +1 -0
- package/lib/utils/Canonicalizer.js +520 -0
- package/lib/utils/ModuleUtils.js +4 -2
- package/lib/utils/entryMethodUtils.d.ts +23 -0
- package/lib/utils/entryMethodUtils.d.ts.map +1 -1
- package/lib/utils/entryMethodUtils.js +53 -1
- package/package.json +1 -1
|
@@ -28,7 +28,7 @@ const CGJsonPrinter_1 = require("../../save/CGJsonPrinter");
|
|
|
28
28
|
var CallGraphNodeKind;
|
|
29
29
|
(function (CallGraphNodeKind) {
|
|
30
30
|
CallGraphNodeKind[CallGraphNodeKind["real"] = 0] = "real";
|
|
31
|
-
CallGraphNodeKind[CallGraphNodeKind["
|
|
31
|
+
CallGraphNodeKind[CallGraphNodeKind["virtual"] = 1] = "virtual";
|
|
32
32
|
CallGraphNodeKind[CallGraphNodeKind["intrinsic"] = 2] = "intrinsic";
|
|
33
33
|
CallGraphNodeKind[CallGraphNodeKind["constructor"] = 3] = "constructor";
|
|
34
34
|
CallGraphNodeKind[CallGraphNodeKind["blank"] = 4] = "blank";
|
|
@@ -156,7 +156,7 @@ class CallGraph extends BaseExplicitGraph_1.BaseExplicitGraph {
|
|
|
156
156
|
// means the method has no implementation, or base type is unclear to find it
|
|
157
157
|
// Create a virtual CG Node
|
|
158
158
|
// TODO: this virtual CG Node need be remove once the base type is clear
|
|
159
|
-
return this.addCallGraphNode(method, CallGraphNodeKind.
|
|
159
|
+
return this.addCallGraphNode(method, CallGraphNodeKind.virtual);
|
|
160
160
|
}
|
|
161
161
|
return this.getNode(n);
|
|
162
162
|
}
|
|
@@ -192,15 +192,15 @@ class CallGraph extends BaseExplicitGraph_1.BaseExplicitGraph {
|
|
|
192
192
|
node.removeIncomingEdge(inEdge);
|
|
193
193
|
}
|
|
194
194
|
for (const outEdge of (_b = node.getOutgoingEdges()) !== null && _b !== void 0 ? _b : []) {
|
|
195
|
-
node.
|
|
195
|
+
node.removeOutgoingEdge(outEdge);
|
|
196
196
|
}
|
|
197
197
|
}
|
|
198
|
-
addDynamicCallInfo(callStmt, caller,
|
|
198
|
+
addDynamicCallInfo(callStmt, caller, potentialCallee) {
|
|
199
199
|
var _a;
|
|
200
200
|
let callerNode = this.getCallGraphNodeByMethod(caller);
|
|
201
201
|
let calleeNode;
|
|
202
|
-
if (
|
|
203
|
-
calleeNode = this.getCallGraphNodeByMethod(
|
|
202
|
+
if (potentialCallee) {
|
|
203
|
+
calleeNode = this.getCallGraphNodeByMethod(potentialCallee);
|
|
204
204
|
}
|
|
205
205
|
let args = (_a = callStmt.getInvokeExpr()) === null || _a === void 0 ? void 0 : _a.getArgs();
|
|
206
206
|
let cs = this.csManager.newDynCallSite(callStmt, args, calleeNode === null || calleeNode === void 0 ? void 0 : calleeNode.getID(), callerNode.getID());
|
|
@@ -22,7 +22,7 @@ export declare class DynCallSite implements ICallSite {
|
|
|
22
22
|
id: CallSiteID;
|
|
23
23
|
callStmt: Stmt;
|
|
24
24
|
args: Value[] | undefined;
|
|
25
|
-
|
|
25
|
+
potentialCalleeFuncID: FuncID | undefined;
|
|
26
26
|
callerFuncID: FuncID;
|
|
27
27
|
constructor(id: CallSiteID, s: Stmt, a: Value[] | undefined, ptcCallee: FuncID | undefined, caller: FuncID);
|
|
28
28
|
getCalleeFuncID(): FuncID | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CallSite.d.ts","sourceRoot":"","sources":["../../../src/callgraph/model/CallSite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;gBAEhB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAQ5E,eAAe,IAAI,MAAM,GAAG,SAAS;CAG/C;AAED,qBAAa,WAAY,YAAW,SAAS;IAClC,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"CallSite.d.ts","sourceRoot":"","sources":["../../../src/callgraph/model/CallSite.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,SAAS;IACtB,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,IAAI,MAAM,GAAG,SAAS,CAAC;CACzC;AAED,qBAAa,QAAS,YAAW,SAAS;IAC/B,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;gBAEhB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM;IAQ5E,eAAe,IAAI,MAAM,GAAG,SAAS;CAG/C;AAED,qBAAa,WAAY,YAAW,SAAS;IAClC,EAAE,EAAE,UAAU,CAAC;IACf,QAAQ,EAAE,IAAI,CAAC;IACf,IAAI,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC;IAC1B,qBAAqB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;gBAEhB,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM;IAQnG,eAAe,IAAI,MAAM,GAAG,SAAS;CAG/C;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,eAAe,CAAyC;IAChE,OAAO,CAAC,cAAc,CAA4C;IAE3D,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ;IAQ9E,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW;IAQ3G,oBAAoB,CAAC,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,GAAG,QAAQ;IAkB9E,eAAe,CAAC,EAAE,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;CAGhE"}
|
|
@@ -34,10 +34,10 @@ class DynCallSite {
|
|
|
34
34
|
this.callerFuncID = caller;
|
|
35
35
|
this.callStmt = s;
|
|
36
36
|
this.args = a;
|
|
37
|
-
this.
|
|
37
|
+
this.potentialCalleeFuncID = ptcCallee;
|
|
38
38
|
}
|
|
39
39
|
getCalleeFuncID() {
|
|
40
|
-
return this.
|
|
40
|
+
return this.potentialCalleeFuncID;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
exports.DynCallSite = DynCallSite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/core/base/Ref.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAa,SAAS,
|
|
1
|
+
{"version":3,"file":"Ref.d.ts","sourceRoot":"","sources":["../../../src/core/base/Ref.ts"],"names":[],"mappings":"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"}
|
package/lib/core/base/Ref.js
CHANGED
|
@@ -103,7 +103,12 @@ class ArkArrayRef extends AbstractRef {
|
|
|
103
103
|
this.index = newIndex;
|
|
104
104
|
}
|
|
105
105
|
getType() {
|
|
106
|
-
|
|
106
|
+
const rawType = this.base.getType();
|
|
107
|
+
// StringType is primitive, never generic — skip replaceTypeWithReal to avoid wasted Set allocation
|
|
108
|
+
if (rawType instanceof Type_1.StringType) {
|
|
109
|
+
return Type_1.StringType.getInstance();
|
|
110
|
+
}
|
|
111
|
+
const baseType = TypeInference_1.TypeInference.replaceTypeWithReal(rawType);
|
|
107
112
|
if (baseType instanceof Type_1.ArrayType) {
|
|
108
113
|
return baseType.getBaseType();
|
|
109
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkIRTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkIRTransformer.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ArkIRTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkIRTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -819,6 +819,7 @@ class ArkIRTransformer {
|
|
|
819
819
|
};
|
|
820
820
|
}
|
|
821
821
|
generateIfStmtForValues(leftValue, leftOpOriginalPositions, rightValue, rightOpOriginalPositions) {
|
|
822
|
+
var _a;
|
|
822
823
|
const stmts = [];
|
|
823
824
|
if (IRUtils_1.IRUtils.moreThanOneAddress(leftValue)) {
|
|
824
825
|
const { value: tempLeftValue, valueOriginalPositions: tempLeftPositions, stmts: leftStmts, } = this.generateAssignStmtForValue(leftValue, leftOpOriginalPositions);
|
|
@@ -836,6 +837,10 @@ class ArkIRTransformer {
|
|
|
836
837
|
const conditionPositions = [...leftOpOriginalPositions, ...rightOpOriginalPositions];
|
|
837
838
|
const ifStmt = new Stmt_1.ArkIfStmt(conditionExpr);
|
|
838
839
|
ifStmt.setOperandOriginalPositions([...conditionPositions]);
|
|
840
|
+
const originPos = (_a = rightOpOriginalPositions.find(p => p !== Position_1.FullPosition.DEFAULT)) !== null && _a !== void 0 ? _a : leftOpOriginalPositions.find(p => p !== Position_1.FullPosition.DEFAULT);
|
|
841
|
+
if (originPos) {
|
|
842
|
+
ifStmt.setOriginFullPosition(originPos);
|
|
843
|
+
}
|
|
839
844
|
stmts.push(ifStmt);
|
|
840
845
|
return stmts;
|
|
841
846
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAA2C,IAAI,EAAE,MAAM,cAAc,CAAC;AACrG,OAAO,EAgBH,cAAc,EAGjB,MAAM,cAAc,CAAC;AAItB,OAAO,EACH,SAAS,EAcT,IAAI,EAMP,MAAM,cAAc,CAAC;AAKtB,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAYtC,OAAO,EAAyE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/G,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAK/C,OAAO,EAAE,gBAAgB,EAAa,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAOhF,qBAAa,mBAAmB;IACrB,qBAAqB,EAAE,MAAM,CAAK;IACzC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAK;IAClC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC;IACpC,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAa;IACjD,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,CAAC,SAAS,EAAE,KAAK,CAAC;IAC3B,SAAS,CAAC,eAAe,EAAE,SAAS,CAAC;IACrC,SAAS,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC7C,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC,CAAa;IACrF,SAAS,CAAC,wBAAwB,UAAS;gBAE/B,gBAAgB,EAAE,gBAAgB,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS;IAQ9F,SAAS,IAAI,GAAG,CAAC,KAAK,CAAC;IAIvB,YAAY,IAAI,KAAK;IAIrB,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC,SAAS,EAAE,sBAAsB,CAAC,CAAC;IAInE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,GAAE,IAAgC,GAAG,KAAK;IAMlF,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAI;IAIlD,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,KAAK,GAAG,SAAS;IAOrD,qBAAqB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,aAAa;IAsE1D,OAAO,CAAC,kCAAkC;IAW1C,OAAO,CAAC,6BAA6B;IAQrC,OAAO,CAAC,8BAA8B;IAQtC,OAAO,CAAC,oCAAoC;IA4C5C,OAAO,CAAC,qCAAqC;IAoC7C,OAAO,CAAC,oCAAoC;IAW5C,OAAO,CAAC,qCAAqC;IAwC7C,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,+BAA+B;IAavC,OAAO,CAAC,6BAA6B;IA4BrC,OAAO,CAAC,2BAA2B;IAwBnC,OAAO,CAAC,sBAAsB;IAiD9B,OAAO,CAAC,8BAA8B;IAqB/B,yBAAyB,CAAC,aAAa,EAAE,MAAM,EAAE,2BAA2B,CAAC,EAAE,YAAY,GAAG,IAAI;IAuBzG,OAAO,CAAC,qCAAqC;IAa7C,OAAO,CAAC,8BAA8B;IAkBtC,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,2BAA2B;IA8CnC,OAAO,CAAC,oBAAoB;IAqD5B,OAAO,CAAC,uCAAuC;IA+B/C,OAAO,CAAC,qBAAqB;IAoD7B,OAAO,CAAC,yBAAyB;IAmBjC,OAAO,CAAC,+BAA+B;IA+DvC,OAAO,CAAC,sCAAsC;
|
|
1
|
+
{"version":3,"file":"ArkValueTransformer.d.ts","sourceRoot":"","sources":["../../../src/core/common/ArkValueTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -679,7 +679,8 @@ class ArkValueTransformer {
|
|
|
679
679
|
argumentStmts.forEach(stmt => stmts.push(stmt));
|
|
680
680
|
}
|
|
681
681
|
let elementAccessExpr;
|
|
682
|
-
|
|
682
|
+
const baseType = baseValue.getType();
|
|
683
|
+
if (baseType instanceof Type_1.ArrayType || baseType instanceof Type_1.StringType) {
|
|
683
684
|
elementAccessExpr = new Ref_1.ArkArrayRef(baseValue, argumentValue);
|
|
684
685
|
}
|
|
685
686
|
else {
|
|
@@ -44,4 +44,7 @@ export declare const COMPONENT_DISAPPEAR_METHOD = "aboutToDisappear";
|
|
|
44
44
|
export declare const COMPONENT_DETACHED_METHOD = "onDetached";
|
|
45
45
|
export declare const COMPONENT_RECYCLE_METHOD = "aboutToRecycle";
|
|
46
46
|
export declare const COMPONENT_REUSE_METHOD = "aboutToReuse";
|
|
47
|
+
export declare const OH_PKG_DEPENDENCIES = "dependencies";
|
|
48
|
+
export declare const OH_PKG_DEV_DEPENDENCIES = "devDependencies";
|
|
49
|
+
export declare const OH_PKG_DYNAMIC_DEPENDENCIES = "dynamicDependencies";
|
|
47
50
|
//# sourceMappingURL=Const.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Const.d.ts","sourceRoot":"","sources":["../../../src/core/common/Const.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,YAAY,SAAS,CAAC;AAGnC,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AACzD,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,MAAiB,CAAC;AACxD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAGjD,eAAO,MAAM,uBAAuB,QAA6B,CAAC;AAClE,eAAO,MAAM,yBAAyB,QAA2B,CAAC;AAClE,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAChE,eAAO,MAAM,+BAA+B,QAA4B,CAAC;AACzE,eAAO,MAAM,uBAAuB,QAAqB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,iBAAiB,MAAc,CAAC;AAC7C,eAAO,MAAM,uBAAuB,QAAiC,CAAC;AAGtE,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAG9C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,qCAAqC,kCAAkC,CAAC;AACrF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAG7C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AACnE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,sBAAsB,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"Const.d.ts","sourceRoot":"","sources":["../../../src/core/common/Const.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,WAAW,MAAM,CAAC;AAC/B,eAAO,MAAM,YAAY,QAAQ,CAAC;AAClC,eAAO,MAAM,YAAY,SAAS,CAAC;AAGnC,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,sBAAsB,QAAqB,CAAC;AACzD,yEAAyE;AACzE,eAAO,MAAM,0BAA0B,QAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,MAAiB,CAAC;AACxD,eAAO,MAAM,6BAA6B,MAAM,CAAC;AAGjD,eAAO,MAAM,uBAAuB,QAA6B,CAAC;AAClE,eAAO,MAAM,yBAAyB,QAA2B,CAAC;AAClE,eAAO,MAAM,uBAAuB,QAA2B,CAAC;AAChE,eAAO,MAAM,+BAA+B,QAA4B,CAAC;AACzE,eAAO,MAAM,uBAAuB,QAAqB,CAAC;AAC1D,eAAO,MAAM,mBAAmB,WAAW,CAAC;AAC5C,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,aAAa,SAAS,CAAC;AACpC,eAAO,MAAM,wBAAwB,wBAAwB,CAAC;AAG9D,eAAO,MAAM,oBAAoB,QAA6B,CAAC;AAC/D,eAAO,MAAM,iBAAiB,QAA6B,CAAC;AAC5D,eAAO,MAAM,sBAAsB,QAA6B,CAAC;AACjE,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAGtC,eAAO,MAAM,iBAAiB,MAAc,CAAC;AAC7C,eAAO,MAAM,uBAAuB,QAAiC,CAAC;AAGtE,eAAO,MAAM,iBAAiB,eAAe,CAAC;AAG9C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAC3C,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AACjD,eAAO,MAAM,qCAAqC,kCAAkC,CAAC;AACrF,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAG7C,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AACzC,eAAO,MAAM,YAAY,eAAe,CAAC;AACzC,eAAO,MAAM,qBAAqB,aAAa,CAAC;AAChD,eAAO,MAAM,2BAA2B,wBAAwB,CAAC;AACjE,eAAO,MAAM,iCAAiC,6BAA6B,CAAC;AAC5E,eAAO,MAAM,4BAA4B,yBAAyB,CAAC;AACnE,eAAO,MAAM,sBAAsB,cAAc,CAAC;AAClD,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AACtD,eAAO,MAAM,0BAA0B,qBAAqB,CAAC;AAC7D,eAAO,MAAM,yBAAyB,eAAe,CAAC;AACtD,eAAO,MAAM,wBAAwB,mBAAmB,CAAC;AACzD,eAAO,MAAM,sBAAsB,iBAAiB,CAAC;AAGrD,eAAO,MAAM,mBAAmB,iBAAiB,CAAC;AAClD,eAAO,MAAM,uBAAuB,oBAAoB,CAAC;AACzD,eAAO,MAAM,2BAA2B,wBAAwB,CAAC"}
|
package/lib/core/common/Const.js
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.COMPONENT_REUSE_METHOD = exports.COMPONENT_RECYCLE_METHOD = exports.COMPONENT_DETACHED_METHOD = exports.COMPONENT_DISAPPEAR_METHOD = exports.COMPONENT_START_METHOD = exports.ABILITY_DESTROY_METHOD = exports.ABILITY_STAGE_DESTROY_METHOD = exports.ABILITY_STAGE_WILL_DESTROY_METHOD = exports.ABILITY_STAGE_CREATE_METHOD = exports.ABILITY_CREATE_METHOD = exports.DUMMY_METHOD = exports.DUMMY_CLASS = exports.DUMMY_FILE = exports.ONMESSAGEFUNCNAME = exports.POSTMESSAGEWITHSHAREDSENDABLEFUNCNAME = exports.POSTMESSAGEFUNCNAME = exports.CONSTRUCTORFUCNNAME = exports.MAKEOBSERVED = exports.ARKTS_STATIC_MARK = exports.LEXICAL_ENV_NAME_PREFIX = exports.TEMP_LOCAL_PREFIX = exports.UNKNOWN_METHOD_NAME = exports.UNKNOWN_FIELD_NAME = exports.UNKNOWN_CLASS_NAME = exports.UNKNOWN_NAMESPACE_NAME = exports.UNKNOWN_FILE_NAME = exports.UNKNOWN_PROJECT_NAME = exports.CONSTRUCT_SIGNATURE_NAME = exports.SETTER_PREFIX = exports.GETTER_PREFIX = exports.CALL_SIGNATURE_NAME = exports.ANONYMOUS_METHOD_PREFIX = exports.STATIC_BLOCK_METHOD_NAME_PREFIX = exports.STATIC_INIT_METHOD_NAME = exports.INSTANCE_INIT_METHOD_NAME = exports.DEFAULT_ARK_METHOD_NAME = exports.NESTED_CLASS_METHOD_DELIMITER = exports.ANONYMOUS_CLASS_DELIMITER = exports.ANONYMOUS_NAMESPACE_PREFIX = exports.ANONYMOUS_CLASS_PREFIX = exports.DEFAULT_ARK_CLASS_NAME = exports.DEFAULT_NAME = exports.UNKNOWN_NAME = exports.NAME_PREFIX = exports.NAME_DELIMITER = void 0;
|
|
17
|
+
exports.OH_PKG_DYNAMIC_DEPENDENCIES = exports.OH_PKG_DEV_DEPENDENCIES = exports.OH_PKG_DEPENDENCIES = exports.COMPONENT_REUSE_METHOD = exports.COMPONENT_RECYCLE_METHOD = exports.COMPONENT_DETACHED_METHOD = exports.COMPONENT_DISAPPEAR_METHOD = exports.COMPONENT_START_METHOD = exports.ABILITY_DESTROY_METHOD = exports.ABILITY_STAGE_DESTROY_METHOD = exports.ABILITY_STAGE_WILL_DESTROY_METHOD = exports.ABILITY_STAGE_CREATE_METHOD = exports.ABILITY_CREATE_METHOD = exports.DUMMY_METHOD = exports.DUMMY_CLASS = exports.DUMMY_FILE = exports.ONMESSAGEFUNCNAME = exports.POSTMESSAGEWITHSHAREDSENDABLEFUNCNAME = exports.POSTMESSAGEFUNCNAME = exports.CONSTRUCTORFUCNNAME = exports.MAKEOBSERVED = exports.ARKTS_STATIC_MARK = exports.LEXICAL_ENV_NAME_PREFIX = exports.TEMP_LOCAL_PREFIX = exports.UNKNOWN_METHOD_NAME = exports.UNKNOWN_FIELD_NAME = exports.UNKNOWN_CLASS_NAME = exports.UNKNOWN_NAMESPACE_NAME = exports.UNKNOWN_FILE_NAME = exports.UNKNOWN_PROJECT_NAME = exports.CONSTRUCT_SIGNATURE_NAME = exports.SETTER_PREFIX = exports.GETTER_PREFIX = exports.CALL_SIGNATURE_NAME = exports.ANONYMOUS_METHOD_PREFIX = exports.STATIC_BLOCK_METHOD_NAME_PREFIX = exports.STATIC_INIT_METHOD_NAME = exports.INSTANCE_INIT_METHOD_NAME = exports.DEFAULT_ARK_METHOD_NAME = exports.NESTED_CLASS_METHOD_DELIMITER = exports.ANONYMOUS_CLASS_DELIMITER = exports.ANONYMOUS_NAMESPACE_PREFIX = exports.ANONYMOUS_CLASS_PREFIX = exports.DEFAULT_ARK_CLASS_NAME = exports.DEFAULT_NAME = exports.UNKNOWN_NAME = exports.NAME_PREFIX = exports.NAME_DELIMITER = void 0;
|
|
18
18
|
// names
|
|
19
19
|
exports.NAME_DELIMITER = '$';
|
|
20
20
|
exports.NAME_PREFIX = '%';
|
|
@@ -69,3 +69,7 @@ exports.COMPONENT_DISAPPEAR_METHOD = 'aboutToDisappear';
|
|
|
69
69
|
exports.COMPONENT_DETACHED_METHOD = 'onDetached';
|
|
70
70
|
exports.COMPONENT_RECYCLE_METHOD = 'aboutToRecycle';
|
|
71
71
|
exports.COMPONENT_REUSE_METHOD = 'aboutToReuse';
|
|
72
|
+
// oh-package.json5 dependency keys
|
|
73
|
+
exports.OH_PKG_DEPENDENCIES = 'dependencies';
|
|
74
|
+
exports.OH_PKG_DEV_DEPENDENCIES = 'devDependencies';
|
|
75
|
+
exports.OH_PKG_DYNAMIC_DEPENDENCIES = 'dynamicDependencies';
|
|
@@ -7,38 +7,48 @@ import { CallGraph } from '../../callgraph/model/CallGraph';
|
|
|
7
7
|
classA.%statInit()
|
|
8
8
|
const %1 = new classA()
|
|
9
9
|
%1.%instInit()
|
|
10
|
+
%1.onCreate()
|
|
11
|
+
%1.onWindowStageCreate()
|
|
10
12
|
%1.aboutToAppear()
|
|
11
|
-
const %2 = new abilityA()
|
|
12
13
|
...
|
|
13
14
|
count = 0
|
|
14
15
|
while (true) {
|
|
16
|
+
if (count === 0) {
|
|
17
|
+
%1.aboutToRecycle()
|
|
18
|
+
%1.aboutToReuse()
|
|
19
|
+
}
|
|
15
20
|
if (count === 1) {
|
|
16
21
|
%1.onPageShow()
|
|
22
|
+
%1.onPageHide()
|
|
17
23
|
}
|
|
18
24
|
if (count === 2) {
|
|
25
|
+
%2.onWillForeground()
|
|
26
|
+
%2.onForeground()
|
|
27
|
+
%2.onDidForeground()
|
|
28
|
+
%2.onWillBackground()
|
|
19
29
|
%2.onBackground()
|
|
30
|
+
%2.onDidBackground()
|
|
31
|
+
}
|
|
32
|
+
...
|
|
33
|
+
if (count === N) {
|
|
34
|
+
%1.build()
|
|
20
35
|
}
|
|
21
36
|
...
|
|
22
37
|
}
|
|
38
|
+
%1.onWindowStageWillDestroy()
|
|
23
39
|
%1.aboutToDisappear()
|
|
24
40
|
%1.onDetached()
|
|
25
|
-
%
|
|
41
|
+
%1.onWindowStageDestroy()
|
|
42
|
+
%2.onDestroy()
|
|
26
43
|
...
|
|
27
44
|
return
|
|
28
45
|
*/
|
|
29
46
|
export declare class DummyMainCreater {
|
|
30
47
|
private entryMethods;
|
|
31
48
|
private entryClasses;
|
|
32
|
-
private
|
|
33
|
-
private
|
|
34
|
-
private
|
|
35
|
-
private abilityStageDestroyMethods;
|
|
36
|
-
private abilityDestroyMethods;
|
|
37
|
-
private componentAppearMethods;
|
|
38
|
-
private componentDisappearMethods;
|
|
39
|
-
private componentDetachedMethods;
|
|
40
|
-
private componentRecycleMethods;
|
|
41
|
-
private componentReuseMethods;
|
|
49
|
+
private startMethods;
|
|
50
|
+
private endMethods;
|
|
51
|
+
private pairedMethodGroups;
|
|
42
52
|
private classLocalMap;
|
|
43
53
|
private dummyMain;
|
|
44
54
|
private scene;
|
|
@@ -60,6 +70,9 @@ export declare class DummyMainCreater {
|
|
|
60
70
|
private addStaticInit;
|
|
61
71
|
private addClassInit;
|
|
62
72
|
private addParamInit;
|
|
73
|
+
private addStartMethods;
|
|
74
|
+
private addEndMethods;
|
|
75
|
+
private classifyMethod;
|
|
63
76
|
private addBranches;
|
|
64
77
|
private createConditionAndInvokeBlockPair;
|
|
65
78
|
private createDummyMainCfg;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DummyMainCreater.d.ts","sourceRoot":"","sources":["../../../src/core/common/DummyMainCreater.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"DummyMainCreater.d.ts","sourceRoot":"","sources":["../../../src/core/common/DummyMainCreater.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAiBpC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,OAAO,EAAE,SAAS,EAAiB,MAAM,iCAAiC,CAAC;AAK3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,YAAY,CAAkB;IAEtC,OAAO,CAAC,YAAY,CAAuC;IAE3D,OAAO,CAAC,UAAU,CAAuC;IAEzD,OAAO,CAAC,kBAAkB,CAAuC;IAEjE,OAAO,CAAC,aAAa,CAAmC;IACxD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,UAAU,CAAC,CAAa;IAChC,OAAO,CAAC,eAAe,CAAC,CAAS;IAEjC;;;;;;OAMG;gBACS,KAAK,EAAE,KAAK,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,mBAAmB,GAAE,OAAe;IAW1G,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,GAAG,IAAI;IAI3C,eAAe,IAAI,IAAI;IAwD9B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,YAAY;IAoBpB,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,WAAW;IAsBnB,OAAO,CAAC,iCAAiC;IAkBzC,OAAO,CAAC,kBAAkB;IAuD1B,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,WAAW;IAYZ,YAAY,IAAI,SAAS;IAIhC,OAAO,CAAC,6BAA6B;IAoBrC,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,0BAA0B;IAiBlC;;;;OAIG;IACI,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,GAAE,OAAc,GAAG,QAAQ;CAIrF;AAED,UAAU,QAAQ;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -43,22 +43,39 @@ const ABILITY_BASE_CLASSES = ['UIExtensionAbility', 'Ability', 'FormExtensionAbi
|
|
|
43
43
|
classA.%statInit()
|
|
44
44
|
const %1 = new classA()
|
|
45
45
|
%1.%instInit()
|
|
46
|
+
%1.onCreate()
|
|
47
|
+
%1.onWindowStageCreate()
|
|
46
48
|
%1.aboutToAppear()
|
|
47
|
-
const %2 = new abilityA()
|
|
48
49
|
...
|
|
49
50
|
count = 0
|
|
50
51
|
while (true) {
|
|
52
|
+
if (count === 0) {
|
|
53
|
+
%1.aboutToRecycle()
|
|
54
|
+
%1.aboutToReuse()
|
|
55
|
+
}
|
|
51
56
|
if (count === 1) {
|
|
52
57
|
%1.onPageShow()
|
|
58
|
+
%1.onPageHide()
|
|
53
59
|
}
|
|
54
60
|
if (count === 2) {
|
|
61
|
+
%2.onWillForeground()
|
|
62
|
+
%2.onForeground()
|
|
63
|
+
%2.onDidForeground()
|
|
64
|
+
%2.onWillBackground()
|
|
55
65
|
%2.onBackground()
|
|
66
|
+
%2.onDidBackground()
|
|
67
|
+
}
|
|
68
|
+
...
|
|
69
|
+
if (count === N) {
|
|
70
|
+
%1.build()
|
|
56
71
|
}
|
|
57
72
|
...
|
|
58
73
|
}
|
|
74
|
+
%1.onWindowStageWillDestroy()
|
|
59
75
|
%1.aboutToDisappear()
|
|
60
76
|
%1.onDetached()
|
|
61
|
-
%
|
|
77
|
+
%1.onWindowStageDestroy()
|
|
78
|
+
%2.onDestroy()
|
|
62
79
|
...
|
|
63
80
|
return
|
|
64
81
|
*/
|
|
@@ -71,20 +88,15 @@ class DummyMainCreater {
|
|
|
71
88
|
* @param classScope if not provided, collect all Ability class and Component struct.
|
|
72
89
|
*/
|
|
73
90
|
constructor(scene, dummyMethodName, classScope, extraInstanceAssign = false) {
|
|
74
|
-
// entryMethods includes all UIAbility and Component lifecycle methods as well as all callback methods, but exclude the start and
|
|
91
|
+
// entryMethods includes all UIAbility and Component lifecycle methods as well as all callback methods, but exclude the start, end and paired methods
|
|
75
92
|
this.entryMethods = [];
|
|
76
93
|
this.entryClasses = [];
|
|
77
|
-
|
|
78
|
-
this.
|
|
79
|
-
|
|
80
|
-
this.
|
|
81
|
-
|
|
82
|
-
this.
|
|
83
|
-
this.componentDisappearMethods = [];
|
|
84
|
-
this.componentDetachedMethods = [];
|
|
85
|
-
// aboutToRecycle and aboutToReuse methods should be put into the same block because they are used paired
|
|
86
|
-
this.componentRecycleMethods = [];
|
|
87
|
-
this.componentReuseMethods = [];
|
|
94
|
+
// start methods grouped by method name, ordered by LIFECYCLE_START_METHODS
|
|
95
|
+
this.startMethods = new Map();
|
|
96
|
+
// end methods grouped by method name, ordered by LIFECYCLE_END_METHODS
|
|
97
|
+
this.endMethods = new Map();
|
|
98
|
+
// paired methods grouped by their pair group index (defined in entryMethodUtils)
|
|
99
|
+
this.pairedMethodGroups = new Map();
|
|
88
100
|
// every declaring class of method in entryMethods have its instance local which is used to be the base of instance invoke expr
|
|
89
101
|
this.classLocalMap = new Map();
|
|
90
102
|
this.dummyMain = new ArkMethod_1.ArkMethod();
|
|
@@ -206,14 +218,67 @@ class DummyMainCreater {
|
|
|
206
218
|
paramIdx++;
|
|
207
219
|
}
|
|
208
220
|
}
|
|
221
|
+
addStartMethods(block) {
|
|
222
|
+
for (const methodName of entryMethodUtils_1.LIFECYCLE_START_METHODS) {
|
|
223
|
+
const methods = this.startMethods.get(methodName);
|
|
224
|
+
if (methods) {
|
|
225
|
+
this.addMethodsInvokeStmt(block, methods);
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
addEndMethods(block) {
|
|
230
|
+
for (const methodName of entryMethodUtils_1.LIFECYCLE_END_METHODS) {
|
|
231
|
+
const methods = this.endMethods.get(methodName);
|
|
232
|
+
if (methods) {
|
|
233
|
+
this.addMethodsInvokeStmt(block, methods);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
classifyMethod(mtd) {
|
|
238
|
+
const name = mtd.getName();
|
|
239
|
+
if (entryMethodUtils_1.LIFECYCLE_START_METHODS.includes(name)) {
|
|
240
|
+
let group = this.startMethods.get(name);
|
|
241
|
+
if (!group) {
|
|
242
|
+
group = [];
|
|
243
|
+
this.startMethods.set(name, group);
|
|
244
|
+
}
|
|
245
|
+
group.push(mtd);
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
if (entryMethodUtils_1.LIFECYCLE_END_METHODS.includes(name)) {
|
|
249
|
+
let group = this.endMethods.get(name);
|
|
250
|
+
if (!group) {
|
|
251
|
+
group = [];
|
|
252
|
+
this.endMethods.set(name, group);
|
|
253
|
+
}
|
|
254
|
+
group.push(mtd);
|
|
255
|
+
return;
|
|
256
|
+
}
|
|
257
|
+
const groupIndex = (0, entryMethodUtils_1.getPairedMethodGroupIndex)(name);
|
|
258
|
+
if (groupIndex >= 0) {
|
|
259
|
+
let group = this.pairedMethodGroups.get(groupIndex);
|
|
260
|
+
if (!group) {
|
|
261
|
+
group = [];
|
|
262
|
+
this.pairedMethodGroups.set(groupIndex, group);
|
|
263
|
+
}
|
|
264
|
+
group.push(mtd);
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (entryMethodUtils_1.LIFECYCLE_METHOD_NAME.includes(name) || entryMethodUtils_1.COMPONENT_LIFECYCLE_METHOD_NAME.includes(name)) {
|
|
268
|
+
this.entryMethods.push(mtd);
|
|
269
|
+
}
|
|
270
|
+
}
|
|
209
271
|
addBranches(whileBlock, countLocal, dummyCfg) {
|
|
210
272
|
let lastBlocks = [whileBlock];
|
|
211
273
|
let count = 0;
|
|
212
|
-
// step1: create the
|
|
213
|
-
|
|
214
|
-
|
|
274
|
+
// step1: create the blocks for paired lifecycle method groups
|
|
275
|
+
for (let i = 0; i < entryMethodUtils_1.LIFECYCLE_PAIRED_METHOD_GROUPS.length; i++) {
|
|
276
|
+
const group = this.pairedMethodGroups.get(i);
|
|
277
|
+
if (group && group.length > 0) {
|
|
278
|
+
lastBlocks = this.createConditionAndInvokeBlockPair(count++, countLocal, dummyCfg, lastBlocks, group);
|
|
279
|
+
}
|
|
215
280
|
}
|
|
216
|
-
// step2: create the blocks for other lifecycle methods
|
|
281
|
+
// step2: create the blocks for other (unpaired) lifecycle methods
|
|
217
282
|
for (let method of this.entryMethods) {
|
|
218
283
|
lastBlocks = this.createConditionAndInvokeBlockPair(count++, countLocal, dummyCfg, lastBlocks, [method]);
|
|
219
284
|
}
|
|
@@ -254,9 +319,7 @@ class DummyMainCreater {
|
|
|
254
319
|
dummyCfg.setStartingStmt(startingStmt);
|
|
255
320
|
this.addStaticInit(firstBlock);
|
|
256
321
|
this.addClassInit(firstBlock);
|
|
257
|
-
this.
|
|
258
|
-
this.addMethodsInvokeStmt(firstBlock, this.abilityStageCreateMethods);
|
|
259
|
-
this.addMethodsInvokeStmt(firstBlock, this.componentAppearMethods);
|
|
322
|
+
this.addStartMethods(firstBlock);
|
|
260
323
|
const countLocal = new Local_1.Local('count', Type_1.NumberType.getInstance());
|
|
261
324
|
this.dummyMain.getBody().addLocal(countLocal.getName(), countLocal);
|
|
262
325
|
const zero = ValueUtil_1.ValueUtil.getOrCreateNumberConst(0);
|
|
@@ -274,11 +337,7 @@ class DummyMainCreater {
|
|
|
274
337
|
this.addBranches(whileBlock, countLocal, dummyCfg);
|
|
275
338
|
// step4: create the last return block
|
|
276
339
|
const returnBlock = new BasicBlock_1.BasicBlock(this.tempBlockIndex++);
|
|
277
|
-
this.
|
|
278
|
-
this.addMethodsInvokeStmt(returnBlock, this.abilityStageWillDestroyMethods);
|
|
279
|
-
this.addMethodsInvokeStmt(returnBlock, this.abilityStageDestroyMethods);
|
|
280
|
-
this.addMethodsInvokeStmt(returnBlock, this.componentDetachedMethods);
|
|
281
|
-
this.addMethodsInvokeStmt(returnBlock, this.abilityDestroyMethods);
|
|
340
|
+
this.addEndMethods(returnBlock);
|
|
282
341
|
const returnStmt = new Stmt_1.ArkReturnVoidStmt();
|
|
283
342
|
returnBlock.addStmt(returnStmt);
|
|
284
343
|
dummyCfg.addBlock(returnBlock);
|
|
@@ -294,7 +353,7 @@ class DummyMainCreater {
|
|
|
294
353
|
const invokeStmt = new Stmt_1.ArkInvokeStmt(invokeExpr);
|
|
295
354
|
block.addStmt(invokeStmt);
|
|
296
355
|
local.addUsedStmt(invokeStmt);
|
|
297
|
-
if (this.extraInstanceAssign) {
|
|
356
|
+
if (this.extraInstanceAssign && local) {
|
|
298
357
|
const assignStmt = new Stmt_1.ArkAssignStmt(local, local);
|
|
299
358
|
block.addStmt(assignStmt);
|
|
300
359
|
local.addUsedStmt(assignStmt);
|
|
@@ -340,30 +399,7 @@ class DummyMainCreater {
|
|
|
340
399
|
.forEach(cls => {
|
|
341
400
|
this.entryClasses.push(cls);
|
|
342
401
|
for (const mtd of cls.getMethods()) {
|
|
343
|
-
|
|
344
|
-
if (name === Const_1.COMPONENT_START_METHOD) {
|
|
345
|
-
this.componentAppearMethods.push(mtd);
|
|
346
|
-
continue;
|
|
347
|
-
}
|
|
348
|
-
if (name === Const_1.COMPONENT_DISAPPEAR_METHOD) {
|
|
349
|
-
this.componentDisappearMethods.push(mtd);
|
|
350
|
-
continue;
|
|
351
|
-
}
|
|
352
|
-
if (name === Const_1.COMPONENT_DETACHED_METHOD) {
|
|
353
|
-
this.componentDetachedMethods.push(mtd);
|
|
354
|
-
continue;
|
|
355
|
-
}
|
|
356
|
-
if (name === Const_1.COMPONENT_RECYCLE_METHOD) {
|
|
357
|
-
this.componentRecycleMethods.push(mtd);
|
|
358
|
-
continue;
|
|
359
|
-
}
|
|
360
|
-
if (name === Const_1.COMPONENT_REUSE_METHOD) {
|
|
361
|
-
this.componentReuseMethods.push(mtd);
|
|
362
|
-
continue;
|
|
363
|
-
}
|
|
364
|
-
if (entryMethodUtils_1.COMPONENT_LIFECYCLE_METHOD_NAME.includes(name)) {
|
|
365
|
-
this.entryMethods.push(mtd);
|
|
366
|
-
}
|
|
402
|
+
this.classifyMethod(mtd);
|
|
367
403
|
}
|
|
368
404
|
});
|
|
369
405
|
}
|
|
@@ -397,30 +433,7 @@ class DummyMainCreater {
|
|
|
397
433
|
.forEach(cls => {
|
|
398
434
|
this.entryClasses.push(cls);
|
|
399
435
|
for (const mtd of cls.getMethods()) {
|
|
400
|
-
|
|
401
|
-
if (name === Const_1.ABILITY_CREATE_METHOD) {
|
|
402
|
-
this.abilityCreateMethods.push(mtd);
|
|
403
|
-
continue;
|
|
404
|
-
}
|
|
405
|
-
if (name === Const_1.ABILITY_STAGE_CREATE_METHOD) {
|
|
406
|
-
this.abilityStageCreateMethods.push(mtd);
|
|
407
|
-
continue;
|
|
408
|
-
}
|
|
409
|
-
if (name === Const_1.ABILITY_STAGE_WILL_DESTROY_METHOD) {
|
|
410
|
-
this.abilityStageWillDestroyMethods.push(mtd);
|
|
411
|
-
continue;
|
|
412
|
-
}
|
|
413
|
-
if (name === Const_1.ABILITY_STAGE_DESTROY_METHOD) {
|
|
414
|
-
this.abilityStageDestroyMethods.push(mtd);
|
|
415
|
-
continue;
|
|
416
|
-
}
|
|
417
|
-
if (name === Const_1.ABILITY_DESTROY_METHOD) {
|
|
418
|
-
this.abilityDestroyMethods.push(mtd);
|
|
419
|
-
continue;
|
|
420
|
-
}
|
|
421
|
-
if (entryMethodUtils_1.LIFECYCLE_METHOD_NAME.includes(name)) {
|
|
422
|
-
this.entryMethods.push(mtd);
|
|
423
|
-
}
|
|
436
|
+
this.classifyMethod(mtd);
|
|
424
437
|
}
|
|
425
438
|
});
|
|
426
439
|
}
|
|
@@ -457,7 +470,8 @@ class CoverageAnalysis {
|
|
|
457
470
|
this.totalStmts = new Set();
|
|
458
471
|
this.totalMethods.forEach(method => {
|
|
459
472
|
var _a;
|
|
460
|
-
(_a = method
|
|
473
|
+
(_a = method
|
|
474
|
+
.getCfg()) === null || _a === void 0 ? void 0 : _a.getStmts().forEach(stmt => {
|
|
461
475
|
this.totalStmts.add(stmt);
|
|
462
476
|
});
|
|
463
477
|
});
|
|
@@ -48,6 +48,7 @@ export declare const COMPONENT_FOR_EACH: string;
|
|
|
48
48
|
export declare const COMPONENT_LAZY_FOR_EACH: string;
|
|
49
49
|
export declare const BUILDIN_SYSTEM_COMPONENT: Set<string>;
|
|
50
50
|
export declare const BUILDIN_ATOMIC_COMPONENT: Set<string>;
|
|
51
|
+
export declare const DEFAULT_COMPONENTS: string[];
|
|
51
52
|
export declare const COMPONENT_DECORATOR: Set<string>;
|
|
52
53
|
export declare const ENTRY_DECORATOR: string;
|
|
53
54
|
export declare const BUILDER_DECORATOR: string;
|
|
@@ -56,6 +57,7 @@ export declare const COMPONENT_BEHAVIOR: string;
|
|
|
56
57
|
export declare function isEtsAtomicComponent(name: string): boolean;
|
|
57
58
|
export declare function isEtsSystemComponent(name: string): boolean;
|
|
58
59
|
export declare function isEtsContainerComponent(name: string): boolean;
|
|
60
|
+
export declare function addSystemComponent(componentNames: string[]): void;
|
|
59
61
|
export declare const COMPONENT_CREATE_FUNCTION: string;
|
|
60
62
|
export declare const COMPONENT_POP_FUNCTION: string;
|
|
61
63
|
export declare const COMPONENT_CUSTOMVIEW: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EtsConst.d.ts","sourceRoot":"","sources":["../../../src/core/common/EtsConst.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"EtsConst.d.ts","sourceRoot":"","sources":["../../../src/core/common/EtsConst.ts"],"names":[],"mappings":"AAeA,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+wBhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,MAAkB,CAAC;AACpD,eAAO,MAAM,uBAAuB,EAAE,MAAsB,CAAC;AAE7D,eAAO,MAAM,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAA0D,CAAC;AAE5G,eAAO,MAAM,wBAAwB,EAAE,GAAG,CAAC,MAAM,CAqD/C,CAAC;AAEH,eAAO,MAAM,kBAAkB,UA0H9B,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAqE,CAAC;AAClH,eAAO,MAAM,eAAe,EAAE,MAAgB,CAAC;AAC/C,eAAO,MAAM,iBAAiB,EAAE,MAAkB,CAAC;AACnD,eAAO,MAAM,uBAAuB,EAAE,MAAuB,CAAC;AAC9D,eAAO,MAAM,kBAAkB,EAAE,MAAmB,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI,CAKjE;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAiB,CAAC;AAC1D,eAAO,MAAM,sBAAsB,EAAE,MAAc,CAAC;AACpD,eAAO,MAAM,oBAAoB,EAAE,MAAe,CAAC;AACnD,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AAEjD,eAAO,MAAM,YAAY,EAAE,MAAa,CAAC;AACzC,eAAO,MAAM,mBAAmB,EAAE,MAAmB,CAAC;AACtD,eAAO,MAAM,yBAAyB,EAAE,MAAiB,CAAC;AAC1D,eAAO,MAAM,wBAAwB,EAAE,MAAgB,CAAC;AAExD,eAAO,MAAM,2BAA2B,EAAE,GAAG,CAAC,MAAM,CAAwF,CAAC;AAE7I,eAAO,MAAM,gBAAgB,EAAE,MAAiB,CAAC;AACjD,eAAO,MAAM,kBAAkB,EAAE,MAAmB,CAAC;AAErD,eAAO,MAAM,mBAAmB,EAAE,MAAoB,CAAC;AACvD,eAAO,MAAM,SAAS,EAAE,MAAmB,CAAC;AAC5C,eAAO,MAAM,MAAM,EAAE,GAAG,CAAC,MAAM,CAA0B,CAAC;AAE1D,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,SAAS,EAAE,MAAoB,CAAC;AAC7C,eAAO,MAAM,aAAa,EAAE,MAAuB,CAAC;AACpD,eAAO,MAAM,0BAA0B,EAAE,GAAG,CAAC,MAAM,CAAqD,CAAC;AAEzG,eAAO,MAAM,cAAc,kBAAkB,CAAC;AAC9C,eAAO,MAAM,cAAc,wBAAwB,CAAC;AAEpD,eAAO,MAAM,IAAI,EAAE,MAAgB,CAAC;AACpC,eAAO,MAAM,UAAU,EAAE,MAAqB,CAAC;AAC/C,eAAO,MAAM,aAAa,aAAa,CAAC;AAExC,eAAO,MAAM,gBAAgB,IAAI,CAAC;AAClC,eAAO,MAAM,eAAe,cAAc,CAAC;AAC3C,eAAO,MAAM,YAAY,MAAM,CAAC;AAChC,eAAO,MAAM,QAAQ,QAAQ,CAAC;AAC9B,eAAO,MAAM,cAAc,MAAM,CAAC;AAClC,eAAO,MAAM,aAAa,SAAS,CAAC"}
|