arkanalyzer 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/config/arkanalyzer.json +5 -0
- package/lib/Config.d.ts +1 -0
- package/lib/Config.d.ts.map +1 -1
- package/lib/core/base/Expr.d.ts +3 -0
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +22 -5
- package/lib/core/base/Ref.d.ts +1 -0
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +5 -2
- package/lib/core/base/Stmt.js +1 -1
- package/lib/core/base/Type.d.ts +25 -1
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +39 -2
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +32 -1
- package/lib/core/common/ArkValueTransformer.js +2 -2
- package/lib/core/common/CfgBuilder.d.ts.map +1 -1
- package/lib/core/common/CfgBuilder.js +3 -2
- package/lib/core/common/Const.d.ts +1 -0
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +3 -2
- package/lib/core/common/DummyMainCreater.d.ts +0 -6
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +12 -160
- package/lib/core/common/EtsConst.d.ts +0 -3
- package/lib/core/common/EtsConst.d.ts.map +1 -1
- package/lib/core/common/EtsConst.js +1 -8
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +8 -2
- package/lib/core/common/ModelUtils.d.ts +1 -0
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +14 -23
- package/lib/core/common/SdkUtils.d.ts.map +1 -1
- package/lib/core/common/SdkUtils.js +12 -5
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +21 -8
- package/lib/core/dataflow/DataflowProblem.d.ts +0 -1
- package/lib/core/dataflow/DataflowProblem.d.ts.map +1 -1
- package/lib/core/dataflow/DataflowProblem.js +0 -13
- package/lib/core/dataflow/Edge.d.ts +0 -4
- package/lib/core/dataflow/Edge.d.ts.map +1 -1
- package/lib/core/dataflow/Edge.js +1 -10
- package/lib/core/dataflow/UndefinedVariable.d.ts.map +1 -1
- package/lib/core/dataflow/UndefinedVariable.js +28 -21
- package/lib/core/dataflow/Util.d.ts +0 -2
- package/lib/core/dataflow/Util.d.ts.map +1 -1
- package/lib/core/dataflow/Util.js +1 -95
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +2 -2
- package/lib/core/model/ArkClass.d.ts +5 -0
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +10 -2
- package/lib/core/model/ArkFile.d.ts +4 -4
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +7 -6
- package/lib/core/model/ArkNamespace.d.ts +8 -3
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +42 -11
- package/lib/core/model/ArkSignature.d.ts +10 -0
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +13 -1
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +43 -9
- package/lib/core/model/builder/ArkFileBuilder.js +14 -11
- package/lib/core/model/builder/ArkMethodBuilder.js +2 -2
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +1 -0
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +49 -14
- package/lib/core/model/builder/builderUtils.d.ts +2 -2
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +19 -5
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -6
- package/lib/save/source/SourceStmt.d.ts +1 -0
- package/lib/save/source/SourceStmt.d.ts.map +1 -1
- package/lib/save/source/SourceStmt.js +32 -7
- package/lib/utils/entryMethodUtils.d.ts +0 -2
- package/lib/utils/entryMethodUtils.d.ts.map +1 -1
- package/lib/utils/entryMethodUtils.js +1 -31
- package/package.json +3 -3
- package/lib/core/dataflow/TiantAnalysis.d.ts +0 -38
- package/lib/core/dataflow/TiantAnalysis.d.ts.map +0 -1
- package/lib/core/dataflow/TiantAnalysis.js +0 -340
|
@@ -15,19 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.DataflowProblem = void 0;
|
|
18
|
-
const Edge_1 = require("./Edge");
|
|
19
18
|
class DataflowProblem {
|
|
20
|
-
transferEdge(srcStmt, tgtStmt) {
|
|
21
|
-
let edgeKind = Edge_1.Edge.getKind(srcStmt, tgtStmt);
|
|
22
|
-
if (0 === edgeKind) {
|
|
23
|
-
//normal
|
|
24
|
-
}
|
|
25
|
-
else if (1 === edgeKind) { //Call-Edge
|
|
26
|
-
}
|
|
27
|
-
else if (2 === edgeKind) { //Return-Edge
|
|
28
|
-
}
|
|
29
|
-
else if (3 === edgeKind) { //Call-To-Return-Edge
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
19
|
}
|
|
33
20
|
exports.DataflowProblem = DataflowProblem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/Edge.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,qBAAa,
|
|
1
|
+
{"version":3,"file":"Edge.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/Edge.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEpC,qBAAa,aAAa,CAAC,CAAC;IACjB,IAAI,EAAC,IAAI,CAAC;IACV,IAAI,EAAC,CAAC,CAAC;gBAEF,IAAI,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;CAIhC;AAED,qBAAa,QAAQ,CAAC,CAAC;IACZ,SAAS,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBAEpB,KAAK,EAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,EAAC,aAAa,CAAC,CAAC,CAAC;CAI3D"}
|
|
@@ -14,16 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.PathEdge = exports.PathEdgePoint =
|
|
18
|
-
class Edge {
|
|
19
|
-
constructor() {
|
|
20
|
-
this.kind = 0;
|
|
21
|
-
}
|
|
22
|
-
static getKind(srcStmt, tgtStmt) {
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.Edge = Edge;
|
|
17
|
+
exports.PathEdge = exports.PathEdgePoint = void 0;
|
|
27
18
|
class PathEdgePoint {
|
|
28
19
|
constructor(node, fact) {
|
|
29
20
|
this.node = node;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UndefinedVariable.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/UndefinedVariable.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAgC,IAAI,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"UndefinedVariable.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/UndefinedVariable.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAgC,IAAI,EAAE,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAG7C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAK7C,qBAAa,wBAAyB,SAAQ,eAAe,CAAC,KAAK,CAAC;IAChE,SAAS,EAAE,QAAQ,CAA0D;IAC7E,UAAU,EAAE,IAAI,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,iBAAiB,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;IACpE,QAAQ,EAAE,OAAO,EAAE,CAAM;gBACb,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS;IASzC,aAAa,IAAI,IAAI;IAIrB,cAAc,IAAI,SAAS;IAI3B,OAAO,CAAC,WAAW;IAUnB,qBAAqB,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAiBtE,wBAAwB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,GAAG,IAAI;IA6BxF,mBAAmB,CAAC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC;IAuBxE,sBAAsB,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,GAAG,IAAI;IAmBhE,iBAAiB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI;IAe5E,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI;IAmBvF,2BAA2B,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,EAAE,QAAQ,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAuC3F,2BAA2B,CAAC,OAAO,EAAC,IAAI,EAAE,OAAO,EAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;IAkB5E,eAAe,IAAI,KAAK;IAIxB,YAAY,IAAI,KAAK;IAIrB,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,OAAO;IAWjC,WAAW,IAAI,OAAO,EAAE;CAGlC;AAED,qBAAa,uBAAwB,SAAQ,cAAc,CAAC,KAAK,CAAC;gBAClD,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,KAAK;CAG9D;AAGD,cAAM,OAAO;IACT,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,IAAI,CAAC;gBACC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI;CAIhC"}
|
|
@@ -13,6 +13,29 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
19
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
20
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
21
|
+
}
|
|
22
|
+
Object.defineProperty(o, k2, desc);
|
|
23
|
+
}) : (function(o, m, k, k2) {
|
|
24
|
+
if (k2 === undefined) k2 = k;
|
|
25
|
+
o[k2] = m[k];
|
|
26
|
+
}));
|
|
27
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
28
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
29
|
+
}) : function(o, v) {
|
|
30
|
+
o["default"] = v;
|
|
31
|
+
});
|
|
32
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
16
39
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
40
|
exports.UndefinedVariableSolver = exports.UndefinedVariableChecker = void 0;
|
|
18
41
|
const DataflowProblem_1 = require("./DataflowProblem");
|
|
@@ -25,6 +48,8 @@ const DataflowSolver_1 = require("./DataflowSolver");
|
|
|
25
48
|
const Expr_1 = require("../base/Expr");
|
|
26
49
|
const Util_1 = require("./Util");
|
|
27
50
|
const Const_1 = require("../common/Const");
|
|
51
|
+
const logger_1 = __importStar(require("../../utils/logger"));
|
|
52
|
+
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'Scene');
|
|
28
53
|
class UndefinedVariableChecker extends DataflowProblem_1.DataflowProblem {
|
|
29
54
|
constructor(stmt, method) {
|
|
30
55
|
super();
|
|
@@ -57,25 +82,7 @@ class UndefinedVariableChecker extends DataflowProblem_1.DataflowProblem {
|
|
|
57
82
|
getDataFacts(dataFact) {
|
|
58
83
|
let ret = new Set();
|
|
59
84
|
if (checkerInstance.getEntryPoint() === srcStmt && checkerInstance.getZeroValue() === dataFact) {
|
|
60
|
-
let entryMethod = checkerInstance.getEntryMethod();
|
|
61
|
-
const parameters = [...entryMethod.getCfg().getBlocks()][0].getStmts().slice(0, entryMethod.getParameters().length);
|
|
62
|
-
for (let i = 0; i < parameters.length; i++) {
|
|
63
|
-
const para = parameters[i].getDef();
|
|
64
|
-
if (para)
|
|
65
|
-
ret.add(para);
|
|
66
|
-
}
|
|
67
85
|
ret.add(checkerInstance.getZeroValue());
|
|
68
|
-
// 加入所有的全局变量和静态属性(may analysis)
|
|
69
|
-
const staticFields = entryMethod.getDeclaringArkClass().getStaticFields(checkerInstance.classMap);
|
|
70
|
-
for (const field of staticFields) {
|
|
71
|
-
const initializer = field.getInitializer();
|
|
72
|
-
if (initializer.length === 1 && initializer[0] instanceof Stmt_1.ArkAssignStmt && initializer[0].getRightOp() === undefined) {
|
|
73
|
-
ret.add(new Ref_1.ArkStaticFieldRef(field.getSignature()));
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
for (const local of entryMethod.getDeclaringArkClass().getGlobalVariable(checkerInstance.globalVariableMap)) {
|
|
77
|
-
ret.add(local);
|
|
78
|
-
}
|
|
79
86
|
return ret;
|
|
80
87
|
}
|
|
81
88
|
if (srcStmt instanceof Stmt_1.ArkAssignStmt) {
|
|
@@ -106,9 +113,9 @@ class UndefinedVariableChecker extends DataflowProblem_1.DataflowProblem {
|
|
|
106
113
|
const base = rightOp.getBase();
|
|
107
114
|
if (base === dataFact || !base.getDeclaringStmt() && base.getName() === dataFact.toString()) {
|
|
108
115
|
this.outcomes.push(new Outcome(rightOp, ass));
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
116
|
+
logger.info('undefined base');
|
|
117
|
+
logger.info(srcStmt.toString());
|
|
118
|
+
logger.info(srcStmt.getOriginPositionInfo().toString());
|
|
112
119
|
}
|
|
113
120
|
}
|
|
114
121
|
else if (dataFact instanceof Ref_1.ArkInstanceFieldRef && rightOp === dataFact.getBase()) {
|
|
@@ -1,11 +1,9 @@
|
|
|
1
1
|
import { ArkInvokeStmt } from "../base/Stmt";
|
|
2
2
|
import { ArkMethod } from "../model/ArkMethod";
|
|
3
|
-
import { Scene } from "../../Scene";
|
|
4
3
|
import { Local } from "../base/Local";
|
|
5
4
|
import { AbstractRef } from "../base/Ref";
|
|
6
5
|
export declare const INTERNAL_PARAMETER_SOURCE: string[];
|
|
7
6
|
export declare const INTERNAL_SINK_METHOD: string[];
|
|
8
|
-
export declare function Json2ArkMethod(sdkName: string, str: string, scene: Scene): ArkMethod | null;
|
|
9
7
|
export declare function getRecallMethodInParam(stmt: ArkInvokeStmt): ArkMethod | null;
|
|
10
8
|
export declare function LocalEqual(local1: Local, local2: Local): boolean;
|
|
11
9
|
export declare function RefEqual(ref1: AbstractRef, ref2: AbstractRef): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/Util.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"Util.d.ts","sourceRoot":"","sources":["../../../src/core/dataflow/Util.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,WAAW,EAA0C,MAAM,aAAa,CAAC;AAGlF,eAAO,MAAM,yBAAyB,EAAE,MAAM,EAE7C,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,EAMxC,CAAA;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAW5E;AAGD,wBAAgB,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAG,OAAO,CAQhE;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAOtE"}
|
|
@@ -14,9 +14,8 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.RefEqual = exports.LocalEqual = exports.getRecallMethodInParam = exports.
|
|
17
|
+
exports.RefEqual = exports.LocalEqual = exports.getRecallMethodInParam = exports.INTERNAL_SINK_METHOD = exports.INTERNAL_PARAMETER_SOURCE = void 0;
|
|
18
18
|
const Type_1 = require("../base/Type");
|
|
19
|
-
const ArkSignature_1 = require("../model/ArkSignature");
|
|
20
19
|
const Ref_1 = require("../base/Ref");
|
|
21
20
|
exports.INTERNAL_PARAMETER_SOURCE = [
|
|
22
21
|
'@ohos.app.ability.Want.d.ts: Want'
|
|
@@ -28,99 +27,6 @@ exports.INTERNAL_SINK_METHOD = [
|
|
|
28
27
|
'console.<@%unk/%unk: .warn()>',
|
|
29
28
|
'console.<@%unk/%unk: .assert()>'
|
|
30
29
|
];
|
|
31
|
-
const filenamePrefix = '@etsSdk/api/';
|
|
32
|
-
function Json2ArkMethod(sdkName, str, scene) {
|
|
33
|
-
const mes = str.split(': ');
|
|
34
|
-
const fileName = filenamePrefix + mes[0] + ': ';
|
|
35
|
-
const otherMes = mes.slice(1).join(': ').split('.');
|
|
36
|
-
if (otherMes.length < 3) {
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
const namespaceName = otherMes[0];
|
|
40
|
-
const className = otherMes[1];
|
|
41
|
-
const methodName = otherMes[2].split('(')[0];
|
|
42
|
-
let paramNames = [];
|
|
43
|
-
if (otherMes[2]) {
|
|
44
|
-
if (!otherMes[2].match(/\((.*?)\)/)) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
paramNames = otherMes[2].match(/\((.*?)\)/)[1].split(',').map((item) => item.replace(/\s/g, '')).filter((item) => item !== '');
|
|
48
|
-
}
|
|
49
|
-
const file = scene.getFile(new ArkSignature_1.FileSignature(sdkName, fileName));
|
|
50
|
-
if (!file) {
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
let arkClass = null;
|
|
54
|
-
if (namespaceName === "_") {
|
|
55
|
-
if (className === '_') {
|
|
56
|
-
arkClass = file.getDefaultClass();
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
for (const clas of file.getClasses()) {
|
|
60
|
-
if (clas.getName() === className) {
|
|
61
|
-
arkClass = clas;
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
let arkNamespace = null;
|
|
69
|
-
for (const ns of file.getNamespaces()) {
|
|
70
|
-
if (ns.getName() === namespaceName) {
|
|
71
|
-
arkNamespace = ns;
|
|
72
|
-
break;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
if (arkNamespace) {
|
|
76
|
-
if (className === '_') {
|
|
77
|
-
arkClass = arkNamespace.getDefaultClass();
|
|
78
|
-
}
|
|
79
|
-
else {
|
|
80
|
-
for (const clas of arkNamespace.getClasses()) {
|
|
81
|
-
if (clas.getName() === className) {
|
|
82
|
-
arkClass = clas;
|
|
83
|
-
break;
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
return null;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
if (!arkClass) {
|
|
93
|
-
return null;
|
|
94
|
-
}
|
|
95
|
-
else {
|
|
96
|
-
let arkMethod = null;
|
|
97
|
-
for (const method of arkClass.getMethods()) {
|
|
98
|
-
if (method.getName() === methodName) {
|
|
99
|
-
arkMethod = method;
|
|
100
|
-
break;
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
if (arkMethod && arkMethod.getParameters().length === paramNames.length) {
|
|
104
|
-
let paramEqual = true;
|
|
105
|
-
for (let i = 0; i < arkMethod.getParameters().length; i++) {
|
|
106
|
-
const param = arkMethod.getParameters()[i];
|
|
107
|
-
if (param.getName() + ':' + param.getType().toString() !== paramNames[i]) {
|
|
108
|
-
paramEqual = false;
|
|
109
|
-
break;
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
if (paramEqual) {
|
|
113
|
-
return arkMethod;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return null;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
return null;
|
|
121
|
-
}
|
|
122
|
-
exports.Json2ArkMethod = Json2ArkMethod;
|
|
123
|
-
// 如果调用回调函数的函数是项目内函数就不用管,会进函数内部执行,只有是sdk函数才需要分析
|
|
124
30
|
function getRecallMethodInParam(stmt) {
|
|
125
31
|
var _a;
|
|
126
32
|
for (const param of stmt.getInvokeExpr().getArgs()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ViewTreeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/ViewTreeBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAUjD,OAAO,EAAE,mBAAmB,EAAc,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAgC,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAA2B,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAiBhE,OAAO,EAAE,QAAQ,EAAiB,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"ViewTreeBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/graph/builder/ViewTreeBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
@@ -391,7 +391,7 @@ class TreeNodeStack {
|
|
|
391
391
|
let parent = this.getParent();
|
|
392
392
|
node.parent = parent;
|
|
393
393
|
this.stack.push(node);
|
|
394
|
-
if (parent === null) {
|
|
394
|
+
if (parent === null || parent === undefined) {
|
|
395
395
|
this.root = node;
|
|
396
396
|
}
|
|
397
397
|
else {
|
|
@@ -27,6 +27,11 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
27
27
|
private declaringArkFile;
|
|
28
28
|
private declaringArkNamespace;
|
|
29
29
|
private classSignature;
|
|
30
|
+
/**
|
|
31
|
+
* The keys of the `heritageClasses` map represent the names of superclass and interfaces.
|
|
32
|
+
* The superclass name is placed first; if it does not exist, an empty string `''` will occupy this position.
|
|
33
|
+
* The values of the `heritageClasses` map will be replaced with `ArkClass` or `null` during type inference.
|
|
34
|
+
*/
|
|
30
35
|
private heritageClasses;
|
|
31
36
|
private genericsTypes?;
|
|
32
37
|
private realTypes?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkClass.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkClass.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpH,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAIpD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,oBAAY,aAAa;IACrB,KAAK,IAAI;IACT,MAAM,IAAI;IACV,SAAS,IAAI;IACb,IAAI,IAAI;IACR,YAAY,IAAI;IAChB,MAAM,IAAI;CACb;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAa,YAAW,SAAS;IAC3D,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,IAAI,CAAC,CAAS;IACtB,OAAO,CAAC,OAAO,CAAc;IAE7B,OAAO,CAAC,gBAAgB,CAAW;IACnC,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,cAAc,CAAkB;
|
|
1
|
+
{"version":3,"file":"ArkClass.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkClass.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
@@ -38,6 +38,11 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
38
38
|
constructor() {
|
|
39
39
|
super();
|
|
40
40
|
this.lineCol = 0;
|
|
41
|
+
/**
|
|
42
|
+
* The keys of the `heritageClasses` map represent the names of superclass and interfaces.
|
|
43
|
+
* The superclass name is placed first; if it does not exist, an empty string `''` will occupy this position.
|
|
44
|
+
* The values of the `heritageClasses` map will be replaced with `ArkClass` or `null` during type inference.
|
|
45
|
+
*/
|
|
41
46
|
this.heritageClasses = new Map();
|
|
42
47
|
this.defaultMethod = null;
|
|
43
48
|
// name to model
|
|
@@ -157,7 +162,10 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
157
162
|
getHeritageClass(heritageClassName) {
|
|
158
163
|
let superClass = this.heritageClasses.get(heritageClassName);
|
|
159
164
|
if (superClass === undefined) {
|
|
160
|
-
|
|
165
|
+
let type = TypeInference_1.TypeInference.inferUnclearRefName(heritageClassName, this);
|
|
166
|
+
if (type) {
|
|
167
|
+
type = TypeInference_1.TypeInference.replaceAliasType(type);
|
|
168
|
+
}
|
|
161
169
|
if (type instanceof Type_1.ClassType &&
|
|
162
170
|
(superClass = this.declaringArkFile.getScene().getClass(type.getClassSignature()))) {
|
|
163
171
|
superClass.addExtendedClass(this);
|
|
@@ -94,13 +94,13 @@ export declare class ArkFile {
|
|
|
94
94
|
```typescript
|
|
95
95
|
// abc.ts ArkFile
|
|
96
96
|
export class A {
|
|
97
|
-
|
|
97
|
+
...
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
export namespace B {
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
101
|
+
export namespace C {
|
|
102
|
+
export class D {}
|
|
103
|
+
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
// xyz.ts call getExportInfoBy
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAa,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,
|
|
1
|
+
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
@@ -120,7 +120,8 @@ class ArkFile {
|
|
|
120
120
|
* @returns A class. If there is no class, the return will be a **null**.
|
|
121
121
|
*/
|
|
122
122
|
getClass(classSignature) {
|
|
123
|
-
const className = classSignature.
|
|
123
|
+
const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName()
|
|
124
|
+
: classSignature.getClassName();
|
|
124
125
|
return this.getClassWithName(className);
|
|
125
126
|
}
|
|
126
127
|
getClassWithName(Class) {
|
|
@@ -177,13 +178,13 @@ class ArkFile {
|
|
|
177
178
|
```typescript
|
|
178
179
|
// abc.ts ArkFile
|
|
179
180
|
export class A {
|
|
180
|
-
|
|
181
|
+
...
|
|
181
182
|
}
|
|
182
183
|
|
|
183
184
|
export namespace B {
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
export namespace C {
|
|
186
|
+
export class D {}
|
|
187
|
+
}
|
|
187
188
|
}
|
|
188
189
|
|
|
189
190
|
// xyz.ts call getExportInfoBy
|
|
@@ -9,8 +9,8 @@ import { ArkError } from '../common/ArkError';
|
|
|
9
9
|
* @category core/model
|
|
10
10
|
*/
|
|
11
11
|
export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
|
|
12
|
-
private
|
|
13
|
-
private
|
|
12
|
+
private sourceCodes;
|
|
13
|
+
private lineCols;
|
|
14
14
|
private declaringArkFile;
|
|
15
15
|
private declaringArkNamespace;
|
|
16
16
|
private declaringInstance;
|
|
@@ -30,11 +30,16 @@ export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
|
|
|
30
30
|
getNamespaceSignature(): NamespaceSignature;
|
|
31
31
|
getName(): string;
|
|
32
32
|
getCode(): string;
|
|
33
|
-
setCode(
|
|
33
|
+
setCode(sourceCode: string): void;
|
|
34
|
+
getCodes(): string[];
|
|
35
|
+
setCodes(sourceCodes: string[]): void;
|
|
36
|
+
addCode(sourceCode: string): void;
|
|
34
37
|
getLine(): number;
|
|
35
38
|
setLine(line: number): void;
|
|
36
39
|
getColumn(): number;
|
|
37
40
|
setColumn(column: number): void;
|
|
41
|
+
getLineColPairs(): [number, number][];
|
|
42
|
+
setLineCols(lineColPairs: [number, number][]): void;
|
|
38
43
|
getDeclaringInstance(): ArkFile | ArkNamespace;
|
|
39
44
|
setDeclaringInstance(declaringInstance: ArkFile | ArkNamespace): void;
|
|
40
45
|
getDeclaringArkFile(): ArkFile;
|
|
@@ -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,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,
|
|
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,MAAM,WAAW,CAAC;AACpC,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;;IAMlC,YAAY,CAAC,SAAS,EAAE,YAAY;IAIpC,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI;IAKzE,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIhE,aAAa,IAAI,YAAY,EAAE;IAI/B,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,IAAI;IAI1D,YAAY;IAIZ,qBAAqB;IAIrB,OAAO;IAIP,OAAO;IAIP,OAAO,CAAC,UAAU,EAAE,MAAM;IAO1B,QAAQ,IAAI,MAAM,EAAE;IAOpB,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI;IAKrC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjC,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,eAAe,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAQrC,WAAW,CAAC,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,IAAI;IAOnD,oBAAoB;IAIpB,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,GAAG,YAAY;IAI9D,mBAAmB;IAInB,mBAAmB,CAAC,gBAAgB,EAAE,OAAO;IAI7C,wBAAwB;IAIxB,wBAAwB,CAAC,qBAAqB,EAAE,YAAY;IAI5D,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IAMzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIhD,UAAU,IAAI,QAAQ,EAAE;IAIxB,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,cAAc,IAAI,UAAU,EAAE;IAU9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,aAAa,CAAC,UAAU,EAAE,UAAU;IAIpC,eAAe;IAIf,eAAe,CAAC,YAAY,EAAE,QAAQ;IAItC,+BAA+B,IAAI,SAAS,EAAE;IAW9C,+BAA+B,IAAI,QAAQ,EAAE;IAS7C,kCAAkC,IAAI,YAAY,EAAE;IASpD,uBAAuB;IAI9B,aAAa,IAAI,UAAU;IAIpB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAM3C,eAAe,CAAC,SAAS,EAAE,YAAY,GAAG,OAAO;IAMjD,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -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
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ArkNamespace = void 0;
|
|
18
18
|
const ArkExport_1 = require("./ArkExport");
|
|
19
|
+
const ArkSignature_1 = require("./ArkSignature");
|
|
19
20
|
const TSConst_1 = require("../common/TSConst");
|
|
20
21
|
const Position_1 = require("../base/Position");
|
|
21
22
|
const ArkBaseModel_1 = require("./ArkBaseModel");
|
|
@@ -25,8 +26,8 @@ const ArkBaseModel_1 = require("./ArkBaseModel");
|
|
|
25
26
|
class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
26
27
|
constructor() {
|
|
27
28
|
super();
|
|
28
|
-
this.
|
|
29
|
-
this.
|
|
29
|
+
this.sourceCodes = [''];
|
|
30
|
+
this.lineCols = [];
|
|
30
31
|
this.declaringArkNamespace = null;
|
|
31
32
|
this.exportInfos = new Map();
|
|
32
33
|
// name to model
|
|
@@ -60,22 +61,51 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
60
61
|
return this.namespaceSignature.getNamespaceName();
|
|
61
62
|
}
|
|
62
63
|
getCode() {
|
|
63
|
-
return this.
|
|
64
|
+
return this.sourceCodes[0];
|
|
64
65
|
}
|
|
65
|
-
setCode(
|
|
66
|
-
this.
|
|
66
|
+
setCode(sourceCode) {
|
|
67
|
+
this.sourceCodes[0] = sourceCode;
|
|
68
|
+
}
|
|
69
|
+
/*
|
|
70
|
+
* Get multiple sourceCodes when the arkNamespace is merged from multiple namespace with the same name
|
|
71
|
+
*/
|
|
72
|
+
getCodes() {
|
|
73
|
+
return this.sourceCodes;
|
|
74
|
+
}
|
|
75
|
+
/*
|
|
76
|
+
* Set multiple sourceCodes when the arkNamespace is merged from multiple namespace with the same name
|
|
77
|
+
*/
|
|
78
|
+
setCodes(sourceCodes) {
|
|
79
|
+
this.sourceCodes = [];
|
|
80
|
+
this.sourceCodes.push(...sourceCodes);
|
|
81
|
+
}
|
|
82
|
+
addCode(sourceCode) {
|
|
83
|
+
this.sourceCodes.push(sourceCode);
|
|
67
84
|
}
|
|
68
85
|
getLine() {
|
|
69
|
-
return (0, Position_1.getLineNo)(this.
|
|
86
|
+
return (0, Position_1.getLineNo)(this.lineCols[0]);
|
|
70
87
|
}
|
|
71
88
|
setLine(line) {
|
|
72
|
-
this.
|
|
89
|
+
this.lineCols[0] = (0, Position_1.setLine)(this.lineCols[0], line);
|
|
73
90
|
}
|
|
74
91
|
getColumn() {
|
|
75
|
-
return (0, Position_1.getColNo)(this.
|
|
92
|
+
return (0, Position_1.getColNo)(this.lineCols[0]);
|
|
76
93
|
}
|
|
77
94
|
setColumn(column) {
|
|
78
|
-
this.
|
|
95
|
+
this.lineCols[0] = (0, Position_1.setCol)(this.lineCols[0], column);
|
|
96
|
+
}
|
|
97
|
+
getLineColPairs() {
|
|
98
|
+
const lineColPairs = [];
|
|
99
|
+
this.lineCols.forEach(lineCol => {
|
|
100
|
+
lineColPairs.push([(0, Position_1.getLineNo)(lineCol), (0, Position_1.getColNo)(lineCol)]);
|
|
101
|
+
});
|
|
102
|
+
return lineColPairs;
|
|
103
|
+
}
|
|
104
|
+
setLineCols(lineColPairs) {
|
|
105
|
+
this.lineCols = [];
|
|
106
|
+
lineColPairs.forEach(lineColPair => {
|
|
107
|
+
this.lineCols.push((0, Position_1.setLineCol)(lineColPair[0], lineColPair[1]));
|
|
108
|
+
});
|
|
79
109
|
}
|
|
80
110
|
getDeclaringInstance() {
|
|
81
111
|
return this.declaringInstance;
|
|
@@ -96,7 +126,8 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
96
126
|
this.declaringArkNamespace = declaringArkNamespace;
|
|
97
127
|
}
|
|
98
128
|
getClass(classSignature) {
|
|
99
|
-
const className = classSignature.
|
|
129
|
+
const className = classSignature instanceof ArkSignature_1.AliasClassSignature ? classSignature.getOriginName()
|
|
130
|
+
: classSignature.getClassName();
|
|
100
131
|
return this.getClassWithName(className);
|
|
101
132
|
}
|
|
102
133
|
getClassWithName(Class) {
|
|
@@ -56,10 +56,20 @@ export declare class ClassSignature {
|
|
|
56
56
|
toString(): string;
|
|
57
57
|
toMapKey(): string;
|
|
58
58
|
}
|
|
59
|
+
/**
|
|
60
|
+
* `AliasClassSignature` is used to extend `ClassSignature`, preserving the actual name used during invocation.
|
|
61
|
+
*/
|
|
59
62
|
export declare class AliasClassSignature extends ClassSignature {
|
|
60
63
|
private readonly aliasName;
|
|
61
64
|
constructor(aliasName: string, signature: ClassSignature);
|
|
65
|
+
/**
|
|
66
|
+
* Returns the name used in the code.
|
|
67
|
+
*/
|
|
62
68
|
getClassName(): string;
|
|
69
|
+
/**
|
|
70
|
+
* Return the original name of declared class
|
|
71
|
+
*/
|
|
72
|
+
getOriginName(): string;
|
|
63
73
|
}
|
|
64
74
|
export type BaseSignature = ClassSignature | NamespaceSignature;
|
|
65
75
|
export declare class FieldSignature {
|
|
@@ -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;AAI7D,MAAM,MAAM,SAAS,GACjB,aAAa,GACX,kBAAkB,GAClB,cAAc,GACd,eAAe,GACf,cAAc,GACd,cAAc,CAAC;AAErB,MAAM,WAAW,YAAY;IACzB,YAAY,IAAI,SAAS,CAAC;CAC7B;AAED;;GAEG;AACH,qBAAa,aAAa;IACtB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IAEzB,gBAAuB,OAAO,EAAE,aAAa,CAA8D;gBAE/F,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM1C,cAAc;IAId,WAAW;IAIX,QAAQ,IAAI,MAAM;IAIlB,QAAQ,IAAI,MAAM;CAG5B;AAED,qBAAa,kBAAkB;IAC3B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,2BAA2B,CAA4B;IAE/D,gBAAuB,OAAO,EAAE,kBAAkB,CACjB;gBAErB,aAAa,EAAE,MAAM,EAAE,sBAAsB,EAAE,aAAa,EAC5D,2BAA2B,GAAE,kBAAkB,GAAG,IAAW;IAMlE,gBAAgB;IAIhB,yBAAyB;IAIzB,8BAA8B;IAI9B,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;CAO5B;AAED,qBAAa,cAAc;IACvB,OAAO,CAAC,sBAAsB,CAAgB;IAC9C,OAAO,CAAC,2BAA2B,CAA4B;IAC/D,OAAO,CAAC,SAAS,CAAS;IAE1B,gBAAuB,OAAO,EAAE,cAAc,CACpC;gBAEE,SAAS,EAAE,MAAM,EAAE,sBAAsB,EAAE,aAAa,EACxD,2BAA2B,GAAE,kBAAkB,GAAG,IAAW;IAMzE;;;OAGG;IACI,yBAAyB;IAIhC;;;OAGG;IACI,8BAA8B;IAIrC;;;OAGG;IACI,YAAY;IAIZ,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,OAAO,IAAI,SAAS;IAIpB,QAAQ,IAAI,MAAM;IAQlB,QAAQ,IAAI,MAAM;CAO5B;AAED,qBAAa,mBAAoB,SAAQ,cAAc;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,cAAc;
|
|
1
|
+
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"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"}
|