arkanalyzer 1.0.22 → 1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +8 -0
- package/README.md +9 -0
- package/lib/Scene.js +4 -4
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts.map +1 -1
- package/lib/callgraph/algorithm/AbstractAnalysis.js +4 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +3 -2
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +58 -26
- package/lib/core/base/Expr.d.ts +24 -5
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +49 -9
- 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 +14 -13
- package/lib/core/base/Type.d.ts +1 -1
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +1 -0
- package/lib/core/common/Builtin.d.ts.map +1 -1
- package/lib/core/common/Builtin.js +3 -3
- 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 -1
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +1 -1
- package/lib/core/common/IRInference.d.ts +2 -2
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +39 -23
- package/lib/core/common/ModelUtils.d.ts.map +1 -1
- package/lib/core/common/ModelUtils.js +10 -12
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +6 -3
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts +1 -0
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +45 -0
- package/lib/core/model/ArkClass.d.ts +11 -2
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +25 -6
- package/lib/core/model/ArkExport.d.ts +5 -1
- 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 +5 -0
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +6 -0
- package/lib/core/model/ArkFile.d.ts +13 -1
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +19 -2
- package/lib/core/model/ArkImport.d.ts +5 -1
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +6 -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 +13 -0
- package/lib/core/model/ArkNamespace.d.ts +5 -1
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +6 -0
- package/lib/core/model/ArkSignature.d.ts +2 -2
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +6 -5
- package/lib/core/model/builder/ArkFileBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFileBuilder.js +5 -0
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +4 -6
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +1 -0
- package/lib/utils/FileUtils.d.ts +2 -0
- package/lib/utils/FileUtils.d.ts.map +1 -1
- package/lib/utils/FileUtils.js +12 -0
- package/lib/utils/getAllFiles.js +2 -2
- package/package.json +2 -2
|
@@ -14,18 +14,25 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.ArkFile = exports.notStmtOrExprKind = void 0;
|
|
17
|
+
exports.ArkFile = exports.Language = exports.notStmtOrExprKind = void 0;
|
|
18
18
|
const ArkNamespace_1 = require("./ArkNamespace");
|
|
19
19
|
const ArkSignature_1 = require("./ArkSignature");
|
|
20
20
|
const TSConst_1 = require("../common/TSConst");
|
|
21
21
|
exports.notStmtOrExprKind = ['ModuleDeclaration', 'ClassDeclaration', 'InterfaceDeclaration', 'EnumDeclaration', 'ExportDeclaration',
|
|
22
22
|
'ExportAssignment', 'MethodDeclaration', 'Constructor', 'FunctionDeclaration', 'GetAccessor', 'SetAccessor', 'ArrowFunction',
|
|
23
23
|
'FunctionExpression', 'MethodSignature', 'ConstructSignature', 'CallSignature'];
|
|
24
|
+
var Language;
|
|
25
|
+
(function (Language) {
|
|
26
|
+
Language[Language["TYPESCRIPT"] = 0] = "TYPESCRIPT";
|
|
27
|
+
Language[Language["ARKTS1_1"] = 1] = "ARKTS1_1";
|
|
28
|
+
Language[Language["ARKTS1_2"] = 2] = "ARKTS1_2";
|
|
29
|
+
Language[Language["UNKNOWN"] = -1] = "UNKNOWN";
|
|
30
|
+
})(Language = exports.Language || (exports.Language = {}));
|
|
24
31
|
/**
|
|
25
32
|
* @category core/model
|
|
26
33
|
*/
|
|
27
34
|
class ArkFile {
|
|
28
|
-
constructor() {
|
|
35
|
+
constructor(language) {
|
|
29
36
|
this.absoluteFilePath = '';
|
|
30
37
|
this.projectDir = '';
|
|
31
38
|
this.code = '';
|
|
@@ -37,6 +44,16 @@ class ArkFile {
|
|
|
37
44
|
this.fileSignature = ArkSignature_1.FileSignature.DEFAULT;
|
|
38
45
|
this.ohPackageJson5Path = [];
|
|
39
46
|
this.anonymousClassNumber = 0;
|
|
47
|
+
this.language = language;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Returns the program language of the file.
|
|
51
|
+
*/
|
|
52
|
+
getLanguage() {
|
|
53
|
+
return this.language;
|
|
54
|
+
}
|
|
55
|
+
setLanguage(language) {
|
|
56
|
+
this.language = language;
|
|
40
57
|
}
|
|
41
58
|
/**
|
|
42
59
|
* Returns the **string** name of the file, which also acts as the file's relative path.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ArkFile } from './ArkFile';
|
|
1
|
+
import { ArkFile, Language } from './ArkFile';
|
|
2
2
|
import { LineColPosition } from '../base/Position';
|
|
3
3
|
import { ExportInfo, FromInfo } from './ArkExport';
|
|
4
4
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
@@ -16,6 +16,10 @@ export declare class ImportInfo extends ArkBaseModel implements FromInfo {
|
|
|
16
16
|
private tsSourceCode?;
|
|
17
17
|
private lazyExportInfo?;
|
|
18
18
|
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Returns the program language of the file where this import info defined.
|
|
21
|
+
*/
|
|
22
|
+
getLanguage(): Language;
|
|
19
23
|
build(importClauseName: string, importType: string, importFrom: string, originTsPosition: LineColPosition, modifiers: number, nameBeforeAs?: string): void;
|
|
20
24
|
getOriginName(): string;
|
|
21
25
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,UAAU,CAAC,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,cAAc,CAAC,CAAoB;;IAM3C;;OAEG;IACI,WAAW,IAAI,QAAQ;IAIvB,KAAK,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EACnG,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAS9C,aAAa,IAAI,MAAM;IAI9B;;;;;OAKG;IACI,iBAAiB,IAAI,UAAU,GAAG,IAAI;IAOtC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO,GAAG,IAAI;IAIpD,mBAAmB,IAAI,OAAO;IAI9B,mBAAmB,IAAI,MAAM;IAI7B,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAInD,aAAa,IAAI,MAAM;IAIvB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIvC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;IAIhD,mBAAmB,CAAC,gBAAgB,EAAE,eAAe,GAAG,IAAI;IAI5D,mBAAmB,IAAI,eAAe;IAItC,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAI3C,eAAe,IAAI,MAAM;IAIzB,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,SAAS,IAAI,OAAO;IAOpB,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -27,6 +27,12 @@ class ImportInfo extends ArkBaseModel_1.ArkBaseModel {
|
|
|
27
27
|
this.importClauseName = '';
|
|
28
28
|
this.importType = '';
|
|
29
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Returns the program language of the file where this import info defined.
|
|
32
|
+
*/
|
|
33
|
+
getLanguage() {
|
|
34
|
+
return this.getDeclaringArkFile().getLanguage();
|
|
35
|
+
}
|
|
30
36
|
build(importClauseName, importType, importFrom, originTsPosition, modifiers, nameBeforeAs) {
|
|
31
37
|
this.setImportClauseName(importClauseName);
|
|
32
38
|
this.setImportType(importType);
|
|
@@ -13,6 +13,7 @@ import { LineCol } from '../base/Position';
|
|
|
13
13
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
14
14
|
import { ArkError } from '../common/ArkError';
|
|
15
15
|
import { Local } from '../base/Local';
|
|
16
|
+
import { Language } from './ArkFile';
|
|
16
17
|
export declare const arkMethodNodeKind: string[];
|
|
17
18
|
/**
|
|
18
19
|
* @category core/model
|
|
@@ -31,7 +32,12 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
31
32
|
private bodyBuilder?;
|
|
32
33
|
private isGeneratedFlag;
|
|
33
34
|
private asteriskToken;
|
|
35
|
+
private questionToken;
|
|
34
36
|
constructor();
|
|
37
|
+
/**
|
|
38
|
+
* Returns the program language of the file where this method defined.
|
|
39
|
+
*/
|
|
40
|
+
getLanguage(): Language;
|
|
35
41
|
getExportType(): ExportType;
|
|
36
42
|
getName(): string;
|
|
37
43
|
/**
|
|
@@ -258,5 +264,7 @@ export declare class ArkMethod extends ArkBaseModel implements ArkExport {
|
|
|
258
264
|
getOuterMethod(): ArkMethod | undefined;
|
|
259
265
|
setOuterMethod(method: ArkMethod): void;
|
|
260
266
|
getFunctionLocal(name: string): Local | null;
|
|
267
|
+
setQuestionToken(questionToken: boolean): void;
|
|
268
|
+
getQuestionToken(): boolean;
|
|
261
269
|
}
|
|
262
270
|
//# sourceMappingURL=ArkMethod.d.ts.map
|
|
@@ -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,EAA2B,WAAW,EAA2B,IAAI,EAAa,MAAM,cAAc,CAAC;AAC9G,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;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,EAAuB,OAAO,EAAmB,MAAM,kBAAkB,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAgB,MAAM,oBAAoB,CAAC;AAI5D,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkMethod.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMethod.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,13 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
37
37
|
super();
|
|
38
38
|
this.isGeneratedFlag = false;
|
|
39
39
|
this.asteriskToken = false;
|
|
40
|
+
this.questionToken = false;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Returns the program language of the file where this method defined.
|
|
44
|
+
*/
|
|
45
|
+
getLanguage() {
|
|
46
|
+
return this.getDeclaringArkClass().getLanguage();
|
|
40
47
|
}
|
|
41
48
|
getExportType() {
|
|
42
49
|
return ArkExport_1.ExportType.METHOD;
|
|
@@ -588,5 +595,11 @@ class ArkMethod extends ArkBaseModel_1.ArkBaseModel {
|
|
|
588
595
|
const local = (_a = this.getBody()) === null || _a === void 0 ? void 0 : _a.getLocals().get(name);
|
|
589
596
|
return (local === null || local === void 0 ? void 0 : local.getType()) instanceof Type_1.FunctionType ? local : null;
|
|
590
597
|
}
|
|
598
|
+
setQuestionToken(questionToken) {
|
|
599
|
+
this.questionToken = questionToken;
|
|
600
|
+
}
|
|
601
|
+
getQuestionToken() {
|
|
602
|
+
return this.questionToken;
|
|
603
|
+
}
|
|
591
604
|
}
|
|
592
605
|
exports.ArkMethod = ArkMethod;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ArkExport, ExportInfo, ExportType } from './ArkExport';
|
|
2
2
|
import { ArkClass } from './ArkClass';
|
|
3
|
-
import { ArkFile } from './ArkFile';
|
|
3
|
+
import { ArkFile, Language } from './ArkFile';
|
|
4
4
|
import { ArkMethod } from './ArkMethod';
|
|
5
5
|
import { ClassSignature, NamespaceSignature } from './ArkSignature';
|
|
6
6
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
@@ -21,6 +21,10 @@ export declare class ArkNamespace extends ArkBaseModel implements ArkExport {
|
|
|
21
21
|
private namespaceSignature;
|
|
22
22
|
private anonymousClassNumber;
|
|
23
23
|
constructor();
|
|
24
|
+
/**
|
|
25
|
+
* Returns the program language of the file where this namespace defined.
|
|
26
|
+
*/
|
|
27
|
+
getLanguage(): Language;
|
|
24
28
|
addNamespace(namespace: ArkNamespace): void;
|
|
25
29
|
getNamespace(namespaceSignature: NamespaceSignature): ArkNamespace | null;
|
|
26
30
|
getNamespaceWithName(namespaceName: string): ArkNamespace | null;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"ArkNamespace.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkNamespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,6 +35,12 @@ class ArkNamespace extends ArkBaseModel_1.ArkBaseModel {
|
|
|
35
35
|
this.classes = new Map();
|
|
36
36
|
this.anonymousClassNumber = 0;
|
|
37
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Returns the program language of the file where this namespace defined.
|
|
40
|
+
*/
|
|
41
|
+
getLanguage() {
|
|
42
|
+
return this.getDeclaringArkFile().getLanguage();
|
|
43
|
+
}
|
|
38
44
|
addNamespace(namespace) {
|
|
39
45
|
this.namespaces.set(namespace.getName(), namespace);
|
|
40
46
|
}
|
|
@@ -104,7 +104,7 @@ export declare class MethodSubSignature {
|
|
|
104
104
|
getReturnType(): Type;
|
|
105
105
|
setReturnType(returnType: Type): void;
|
|
106
106
|
isStatic(): boolean;
|
|
107
|
-
toString(): string;
|
|
107
|
+
toString(ptrName?: string): string;
|
|
108
108
|
}
|
|
109
109
|
/**
|
|
110
110
|
* @category core/model
|
|
@@ -138,7 +138,7 @@ export declare class MethodSignature {
|
|
|
138
138
|
*/
|
|
139
139
|
getMethodSubSignature(): MethodSubSignature;
|
|
140
140
|
getType(): Type;
|
|
141
|
-
toString(): string;
|
|
141
|
+
toString(ptrName?: string): string;
|
|
142
142
|
toMapKey(): string;
|
|
143
143
|
isMatch(signature: MethodSignature): boolean;
|
|
144
144
|
getParamLength(): number;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"ArkSignature.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkSignature.ts"],"names":[],"mappings":"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"}
|
|
@@ -238,13 +238,13 @@ class MethodSubSignature {
|
|
|
238
238
|
isStatic() {
|
|
239
239
|
return this.staticFlag;
|
|
240
240
|
}
|
|
241
|
-
toString() {
|
|
241
|
+
toString(ptrName) {
|
|
242
242
|
let paraStr = "";
|
|
243
243
|
this.getParameterTypes().forEach((parameterType) => {
|
|
244
244
|
paraStr += parameterType.toString() + ", ";
|
|
245
245
|
});
|
|
246
246
|
paraStr = paraStr.replace(/, $/, '');
|
|
247
|
-
let tmpSig = `${this.getMethodName()}(${paraStr})`;
|
|
247
|
+
let tmpSig = `${ptrName !== null && ptrName !== void 0 ? ptrName : this.getMethodName()}(${paraStr})`;
|
|
248
248
|
if (this.isStatic()) {
|
|
249
249
|
tmpSig = '[static]' + tmpSig;
|
|
250
250
|
}
|
|
@@ -291,8 +291,8 @@ class MethodSignature {
|
|
|
291
291
|
getType() {
|
|
292
292
|
return this.methodSubSignature.getReturnType();
|
|
293
293
|
}
|
|
294
|
-
toString() {
|
|
295
|
-
return this.declaringClassSignature.toString() + '.' + this.methodSubSignature.toString();
|
|
294
|
+
toString(ptrName) {
|
|
295
|
+
return this.declaringClassSignature.toString() + '.' + this.methodSubSignature.toString(ptrName);
|
|
296
296
|
}
|
|
297
297
|
toMapKey() {
|
|
298
298
|
return this.declaringClassSignature.toMapKey() + '.' + this.methodSubSignature.toString();
|
|
@@ -301,7 +301,8 @@ class MethodSignature {
|
|
|
301
301
|
return ((this.toString() === signature.toString()) && (this.getType().toString() === signature.getType().toString()));
|
|
302
302
|
}
|
|
303
303
|
getParamLength() {
|
|
304
|
-
return this.methodSubSignature.getParameters()
|
|
304
|
+
return this.methodSubSignature.getParameters()
|
|
305
|
+
.filter(p => !p.getName().startsWith(Const_1.LEXICAL_ENV_NAME_PREFIX)).length;
|
|
305
306
|
}
|
|
306
307
|
}
|
|
307
308
|
exports.MethodSignature = MethodSignature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkFileBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkFileBuilder.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,OAAO,
|
|
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,UAEqD,CAAC;AAEpF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAC9D,WAAW,EAAE,MAAM,QAkBvD"}
|
|
@@ -44,6 +44,7 @@ exports.buildArkFileFromFile = exports.notStmtOrExprKind = void 0;
|
|
|
44
44
|
const fs_1 = __importDefault(require("fs"));
|
|
45
45
|
const path_1 = __importDefault(require("path"));
|
|
46
46
|
const ohos_typescript_1 = __importDefault(require("ohos-typescript"));
|
|
47
|
+
const ArkFile_1 = require("../ArkFile");
|
|
47
48
|
const ArkNamespace_1 = require("../ArkNamespace");
|
|
48
49
|
const logger_1 = __importStar(require("../../../utils/logger"));
|
|
49
50
|
const ArkClassBuilder_1 = require("./ArkClassBuilder");
|
|
@@ -56,6 +57,7 @@ const ArkMethod_1 = require("../ArkMethod");
|
|
|
56
57
|
const Position_1 = require("../../base/Position");
|
|
57
58
|
const EtsConst_1 = require("../../common/EtsConst");
|
|
58
59
|
const ArkSignature_1 = require("../ArkSignature");
|
|
60
|
+
const Const_1 = require("../../common/Const");
|
|
59
61
|
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'ArkFileBuilder');
|
|
60
62
|
exports.notStmtOrExprKind = ['ModuleDeclaration', 'ClassDeclaration', 'InterfaceDeclaration', 'EnumDeclaration', 'ExportDeclaration',
|
|
61
63
|
'ExportAssignment', 'MethodDeclaration', 'Constructor', 'FunctionDeclaration', 'GetAccessor', 'SetAccessor', 'ArrowFunction',
|
|
@@ -144,6 +146,9 @@ function buildArkFile(arkFile, astRoot) {
|
|
|
144
146
|
else if (ohos_typescript_1.default.isTypeAliasDeclaration(child) && (0, ArkExportBuilder_1.isExported)(child.modifiers)) {
|
|
145
147
|
(0, ArkExportBuilder_1.buildExportTypeAliasDeclaration)(child, astRoot, arkFile).forEach(item => arkFile.addExportInfo(item));
|
|
146
148
|
}
|
|
149
|
+
else if (ohos_typescript_1.default.isExpressionStatement(child) && ohos_typescript_1.default.isStringLiteral(child.expression)) {
|
|
150
|
+
child.expression.text.trim() === Const_1.ARKTS_STATIC_MARK && arkFile.setLanguage(ArkFile_1.Language.ARKTS1_2);
|
|
151
|
+
}
|
|
147
152
|
else {
|
|
148
153
|
logger.info('Child joined default method of arkFile: ', ohos_typescript_1.default.SyntaxKind[child.kind]);
|
|
149
154
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkMethodBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkMethodBuilder.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,IAAI,EAAe,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAE,QAAQ,EAAiB,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAgBjC,OAAO,EAAmD,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAExF,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBzC,MAAM,MAAM,cAAc,GACtB,EAAE,CAAC,mBAAmB,GACtB,EAAE,CAAC,iBAAiB,GACpB,EAAE,CAAC,sBAAsB,GACzB,EAAE,CAAC,aAAa,GAChB,EAAE,CAAC,mBAAmB,GACtB,EAAE,CAAC,kBAAkB,GACrB,EAAE,CAAC,eAAe,GAClB,EAAE,CAAC,6BAA6B,GAChC,EAAE,CAAC,wBAAwB,GAC3B,EAAE,CAAC,gBAAgB,CAAC;AAExB,wBAAgB,iCAAiC,CAAC,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EACxC,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,QAYvG;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,eAAe,CAAC,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"ArkMethodBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkMethodBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,12 +76,10 @@ function buildDefaultArkMethodFromArkClass(declaringClass, mtd, sourceFile, node
|
|
|
76
76
|
exports.buildDefaultArkMethodFromArkClass = buildDefaultArkMethodFromArkClass;
|
|
77
77
|
function buildArkMethodFromArkClass(methodNode, declaringClass, mtd, sourceFile, declaringMethod) {
|
|
78
78
|
mtd.setDeclaringArkClass(declaringClass);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
mtd.setAsteriskToken(methodNode.asteriskToken !== undefined);
|
|
84
|
-
}
|
|
79
|
+
declaringMethod !== undefined && mtd.setOuterMethod(declaringMethod);
|
|
80
|
+
ohos_typescript_1.default.isFunctionDeclaration(methodNode) && mtd.setAsteriskToken(methodNode.asteriskToken !== undefined);
|
|
81
|
+
// All MethodLikeNode except FunctionTypeNode have questionToken.
|
|
82
|
+
!ohos_typescript_1.default.isFunctionTypeNode(methodNode) && mtd.setQuestionToken(methodNode.questionToken !== undefined);
|
|
85
83
|
mtd.setCode(methodNode.getText(sourceFile));
|
|
86
84
|
mtd.setModifiers((0, builderUtils_1.buildModifiers)(methodNode));
|
|
87
85
|
mtd.setDecorators((0, builderUtils_1.buildDecorators)(methodNode, sourceFile));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkNamespaceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkNamespaceBuilder.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW/C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,GAAG,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"ArkNamespaceBuilder.d.ts","sourceRoot":"","sources":["../../../../src/core/model/builder/ArkNamespaceBuilder.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAW/C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,OAAO,GAAG,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,QAqDnJ;AAmFD,wBAAgB,eAAe,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA4B7E"}
|
|
@@ -91,6 +91,7 @@ function buildArkNamespace(node, declaringInstance, ns, sourceFile) {
|
|
|
91
91
|
logger.warn('This ModuleBody is an NamespaceDeclaration.');
|
|
92
92
|
let childNs = new ArkNamespace_1.ArkNamespace();
|
|
93
93
|
buildArkNamespace(node.body, ns, childNs, sourceFile);
|
|
94
|
+
ns.addNamespace(childNs);
|
|
94
95
|
}
|
|
95
96
|
else if (ohos_typescript_1.default.isIdentifier(node.body)) {
|
|
96
97
|
logger.warn('ModuleBody is Identifier.');
|
package/lib/utils/FileUtils.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Language } from '../core/model/ArkFile';
|
|
1
2
|
export declare class FileUtils {
|
|
2
3
|
static readonly FILE_FILTER: {
|
|
3
4
|
ignores: string[];
|
|
@@ -9,6 +10,7 @@ export declare class FileUtils {
|
|
|
9
10
|
static generateModuleMap(ohPkgContentMap: Map<string, {
|
|
10
11
|
[k: string]: unknown;
|
|
11
12
|
}>): Map<string, ModulePath>;
|
|
13
|
+
static getFileLanguage(file: string): Language;
|
|
12
14
|
}
|
|
13
15
|
export declare class ModulePath {
|
|
14
16
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/FileUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileUtils.d.ts","sourceRoot":"","sources":["../../src/utils/FileUtils.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAIjD,qBAAa,SAAS;IAClB,gBAAuB,WAAW;;;MAGjC;WAEa,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;WASzC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;WASrC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;WAIrC,iBAAiB,CAAC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;WA4BxE,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ;CAWxD;AAED,qBAAa,UAAU;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;gBAED,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;CAIzC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,GAAG,CAAC,MAAM,CAAqB,GAAG,MAAM,CA0BrH"}
|
package/lib/utils/FileUtils.js
CHANGED
|
@@ -46,6 +46,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
46
46
|
const logger_1 = __importStar(require("./logger"));
|
|
47
47
|
const pathTransfer_1 = require("./pathTransfer");
|
|
48
48
|
const EtsConst_1 = require("../core/common/EtsConst");
|
|
49
|
+
const ArkFile_1 = require("../core/model/ArkFile");
|
|
49
50
|
const logger = logger_1.default.getLogger(logger_1.LOG_MODULE_TYPE.ARKANALYZER, 'FileUtils');
|
|
50
51
|
class FileUtils {
|
|
51
52
|
static getIndexFileName(srcPath) {
|
|
@@ -94,6 +95,17 @@ class FileUtils {
|
|
|
94
95
|
});
|
|
95
96
|
return moduleMap;
|
|
96
97
|
}
|
|
98
|
+
static getFileLanguage(file) {
|
|
99
|
+
const extension = path_1.default.extname(file).toLowerCase();
|
|
100
|
+
switch (extension) {
|
|
101
|
+
case '.ts':
|
|
102
|
+
return ArkFile_1.Language.TYPESCRIPT;
|
|
103
|
+
case '.ets':
|
|
104
|
+
return ArkFile_1.Language.ARKTS1_1;
|
|
105
|
+
default:
|
|
106
|
+
return ArkFile_1.Language.UNKNOWN;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
97
109
|
}
|
|
98
110
|
exports.FileUtils = FileUtils;
|
|
99
111
|
FileUtils.FILE_FILTER = {
|
package/lib/utils/getAllFiles.js
CHANGED
|
@@ -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
|
|
@@ -57,7 +57,7 @@ function getAllFiles(srcPath, exts, ignore = [], filenameArr = [], visited = new
|
|
|
57
57
|
let ignoreFiles = new Set(ignore);
|
|
58
58
|
// 如果源目录不存在,直接结束程序
|
|
59
59
|
if (!fs_1.default.existsSync(srcPath)) {
|
|
60
|
-
logger.error(`Input directory is not exist, please check!`);
|
|
60
|
+
logger.error(`Input directory ${srcPath} is not exist, please check!`);
|
|
61
61
|
return filenameArr;
|
|
62
62
|
}
|
|
63
63
|
// 获取src的绝对路径
|