arkanalyzer 1.0.7 → 1.0.8
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 +8 -0
- package/docs/IR2ts-stmt.md +81 -0
- package/docs/IR2ts.md +82 -0
- package/lib/Config.d.ts +9 -1
- package/lib/Config.d.ts.map +1 -1
- package/lib/Config.js +24 -11
- package/lib/Scene.d.ts +49 -42
- package/lib/Scene.d.ts.map +1 -1
- package/lib/Scene.js +124 -93
- package/lib/callgraph/algorithm/AbstractAnalysis.js +1 -1
- package/lib/callgraph/common/Statistics.js +1 -1
- package/lib/callgraph/model/CallGraph.d.ts +3 -2
- package/lib/callgraph/model/CallGraph.d.ts.map +1 -1
- package/lib/callgraph/model/CallGraph.js +16 -6
- package/lib/callgraph/model/builder/CallGraphBuilder.js +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.d.ts +35 -8
- package/lib/callgraph/pointerAnalysis/Pag.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/Pag.js +93 -12
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +32 -5
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +378 -83
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts +3 -0
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts.map +1 -1
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +71 -18
- package/lib/core/base/Constant.d.ts +25 -5
- package/lib/core/base/Constant.d.ts.map +1 -1
- package/lib/core/base/Constant.js +46 -8
- package/lib/core/base/Expr.d.ts +45 -40
- package/lib/core/base/Expr.d.ts.map +1 -1
- package/lib/core/base/Expr.js +239 -153
- package/lib/core/base/Local.d.ts +2 -2
- package/lib/core/base/Local.d.ts.map +1 -1
- package/lib/core/base/Local.js +2 -2
- package/lib/core/base/Ref.d.ts +38 -37
- package/lib/core/base/Ref.d.ts.map +1 -1
- package/lib/core/base/Ref.js +102 -70
- package/lib/core/base/Stmt.d.ts +4 -0
- package/lib/core/base/Stmt.d.ts.map +1 -1
- package/lib/core/base/Stmt.js +12 -1
- package/lib/core/base/Type.d.ts +4 -0
- package/lib/core/base/Type.d.ts.map +1 -1
- package/lib/core/base/Type.js +41 -17
- package/lib/core/common/ArkError.d.ts +15 -0
- package/lib/core/common/ArkError.d.ts.map +1 -0
- package/lib/core/common/ArkError.js +28 -0
- package/lib/core/common/ArkIRTransformer.d.ts +7 -3
- package/lib/core/common/ArkIRTransformer.d.ts.map +1 -1
- package/lib/core/common/ArkIRTransformer.js +46 -20
- package/lib/core/common/Builtin.js +1 -1
- package/lib/core/common/CfgBuilder.d.ts +12 -0
- package/lib/core/common/CfgBuilder.d.ts.map +1 -1
- package/lib/core/common/CfgBuilder.js +289 -61
- package/lib/core/common/Const.d.ts +15 -10
- package/lib/core/common/Const.d.ts.map +1 -1
- package/lib/core/common/Const.js +18 -11
- package/lib/core/common/DummyMainCreater.d.ts +2 -1
- package/lib/core/common/DummyMainCreater.d.ts.map +1 -1
- package/lib/core/common/DummyMainCreater.js +28 -15
- package/lib/core/common/EtsConst.d.ts +1 -0
- package/lib/core/common/EtsConst.d.ts.map +1 -1
- package/lib/core/common/EtsConst.js +2 -1
- package/lib/core/common/IRUtils.d.ts +7 -0
- package/lib/core/common/IRUtils.d.ts.map +1 -1
- package/lib/core/common/IRUtils.js +34 -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 +32 -32
- package/lib/core/common/TSConst.d.ts +10 -3
- package/lib/core/common/TSConst.d.ts.map +1 -1
- package/lib/core/common/TSConst.js +11 -4
- package/lib/core/common/TypeInference.d.ts +8 -2
- package/lib/core/common/TypeInference.d.ts.map +1 -1
- package/lib/core/common/TypeInference.js +218 -87
- package/lib/core/common/ValueUtil.d.ts +0 -4
- package/lib/core/common/ValueUtil.d.ts.map +1 -1
- package/lib/core/common/ValueUtil.js +8 -25
- package/lib/core/dataflow/DataflowSolver.d.ts.map +1 -1
- package/lib/core/dataflow/DataflowSolver.js +2 -4
- package/lib/core/dataflow/TiantAnalysis.js +2 -1
- package/lib/core/dataflow/Util.d.ts +1 -1
- package/lib/core/dataflow/Util.d.ts.map +1 -1
- package/lib/core/dataflow/Util.js +8 -7
- package/lib/core/graph/BasicBlock.d.ts +41 -0
- package/lib/core/graph/BasicBlock.d.ts.map +1 -1
- package/lib/core/graph/BasicBlock.js +132 -1
- package/lib/core/graph/Cfg.d.ts +30 -1
- package/lib/core/graph/Cfg.d.ts.map +1 -1
- package/lib/core/graph/Cfg.js +129 -6
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts.map +1 -1
- package/lib/core/graph/builder/ViewTreeBuilder.js +3 -2
- package/lib/core/model/ArkBaseModel.d.ts +8 -0
- package/lib/core/model/ArkBaseModel.d.ts.map +1 -1
- package/lib/core/model/ArkBaseModel.js +56 -4
- package/lib/core/model/ArkClass.d.ts +36 -30
- package/lib/core/model/ArkClass.d.ts.map +1 -1
- package/lib/core/model/ArkClass.js +79 -40
- package/lib/core/model/ArkExport.d.ts +3 -0
- package/lib/core/model/ArkExport.d.ts.map +1 -1
- package/lib/core/model/ArkExport.js +11 -1
- package/lib/core/model/ArkField.d.ts +2 -0
- package/lib/core/model/ArkField.d.ts.map +1 -1
- package/lib/core/model/ArkField.js +4 -1
- package/lib/core/model/ArkFile.d.ts +4 -0
- package/lib/core/model/ArkFile.d.ts.map +1 -1
- package/lib/core/model/ArkFile.js +20 -0
- package/lib/core/model/ArkImport.d.ts +2 -0
- package/lib/core/model/ArkImport.d.ts.map +1 -1
- package/lib/core/model/ArkImport.js +3 -0
- package/lib/core/model/ArkMetadata.d.ts +20 -0
- package/lib/core/model/ArkMetadata.d.ts.map +1 -0
- package/lib/core/model/ArkMetadata.js +44 -0
- package/lib/core/model/ArkMethod.d.ts +156 -53
- package/lib/core/model/ArkMethod.d.ts.map +1 -1
- package/lib/core/model/ArkMethod.js +309 -54
- package/lib/core/model/ArkNamespace.d.ts +4 -0
- package/lib/core/model/ArkNamespace.d.ts.map +1 -1
- package/lib/core/model/ArkNamespace.js +13 -0
- package/lib/core/model/ArkSignature.d.ts +11 -5
- package/lib/core/model/ArkSignature.d.ts.map +1 -1
- package/lib/core/model/ArkSignature.js +38 -18
- package/lib/core/model/builder/ArkClassBuilder.d.ts +0 -1
- package/lib/core/model/builder/ArkClassBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkClassBuilder.js +9 -34
- package/lib/core/model/builder/ArkExportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkExportBuilder.js +6 -1
- package/lib/core/model/builder/ArkFieldBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkFieldBuilder.js +3 -0
- package/lib/core/model/builder/ArkFileBuilder.js +1 -1
- package/lib/core/model/builder/ArkImportBuilder.d.ts +2 -1
- package/lib/core/model/builder/ArkImportBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkImportBuilder.js +12 -5
- package/lib/core/model/builder/ArkMethodBuilder.d.ts +2 -1
- package/lib/core/model/builder/ArkMethodBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkMethodBuilder.js +87 -47
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/ArkNamespaceBuilder.js +2 -0
- package/lib/core/model/builder/builderUtils.d.ts.map +1 -1
- package/lib/core/model/builder/builderUtils.js +25 -2
- package/lib/save/source/SourceClass.d.ts.map +1 -1
- package/lib/save/source/SourceClass.js +4 -0
- package/lib/save/source/SourceField.d.ts.map +1 -1
- package/lib/save/source/SourceField.js +4 -0
- package/lib/save/source/SourceMethod.d.ts.map +1 -1
- package/lib/save/source/SourceMethod.js +7 -0
- package/lib/save/source/SourceModule.d.ts.map +1 -1
- package/lib/save/source/SourceModule.js +14 -9
- package/lib/save/source/SourceNamespace.d.ts.map +1 -1
- package/lib/save/source/SourceNamespace.js +4 -0
- package/lib/save/source/SourceStmt.d.ts.map +1 -1
- package/lib/save/source/SourceStmt.js +15 -3
- package/lib/save/source/SourceTransformer.d.ts +6 -0
- package/lib/save/source/SourceTransformer.d.ts.map +1 -1
- package/lib/save/source/SourceTransformer.js +72 -41
- package/lib/save/source/SourceUtils.d.ts.map +1 -1
- package/lib/save/source/SourceUtils.js +3 -2
- package/lib/transformer/StaticSingleAssignmentFormer.js +1 -1
- package/lib/utils/CfgStructualAnalysis.d.ts +1 -0
- package/lib/utils/CfgStructualAnalysis.d.ts.map +1 -1
- package/lib/utils/CfgStructualAnalysis.js +42 -8
- package/lib/utils/callGraphUtils.d.ts.map +1 -1
- package/lib/utils/callGraphUtils.js +7 -10
- package/lib/utils/crypto_utils.d.ts +6 -0
- package/lib/utils/crypto_utils.d.ts.map +1 -0
- package/lib/utils/crypto_utils.js +57 -0
- package/lib/utils/entryMethodUtils.js +23 -23
- package/lib/utils/getAllFiles.d.ts +1 -1
- package/lib/utils/getAllFiles.d.ts.map +1 -1
- package/lib/utils/getAllFiles.js +4 -5
- package/lib/utils/logger.js +2 -2
- package/package.json +3 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { GenericType } from '../base/Type';
|
|
1
|
+
import { GenericType, Type } from '../base/Type';
|
|
2
2
|
import { ViewTree } from '../graph/ViewTree';
|
|
3
3
|
import { ArkField } from './ArkField';
|
|
4
4
|
import { ArkFile } from './ArkFile';
|
|
@@ -8,6 +8,7 @@ import { ClassSignature, FieldSignature, FileSignature, MethodSignature, Namespa
|
|
|
8
8
|
import { Local } from '../base/Local';
|
|
9
9
|
import { ArkExport, ExportType } from './ArkExport';
|
|
10
10
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
11
|
+
import { ArkError } from '../common/ArkError';
|
|
11
12
|
export declare enum ClassCategory {
|
|
12
13
|
CLASS = 0,
|
|
13
14
|
STRUCT = 1,
|
|
@@ -30,6 +31,7 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
30
31
|
private superClass?;
|
|
31
32
|
private implementedInterfaceNames;
|
|
32
33
|
private genericsTypes?;
|
|
34
|
+
private realTypes?;
|
|
33
35
|
private defaultMethod;
|
|
34
36
|
private methods;
|
|
35
37
|
private fields;
|
|
@@ -73,9 +75,9 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
73
75
|
* @example
|
|
74
76
|
* 1. Get the {@link ArkFile} which the ArkClass is in.
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
```typescript
|
|
79
|
+
const arkFile = arkClass.getDeclaringArkFile();
|
|
80
|
+
```
|
|
79
81
|
*/
|
|
80
82
|
getDeclaringArkFile(): ArkFile;
|
|
81
83
|
setDeclaringArkFile(declaringArkFile: ArkFile): void;
|
|
@@ -123,6 +125,7 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
123
125
|
getFields(): ArkField[];
|
|
124
126
|
addField(field: ArkField): void;
|
|
125
127
|
addFields(fields: ArkField[]): void;
|
|
128
|
+
getRealTypes(): Type[] | undefined;
|
|
126
129
|
getGenericsTypes(): GenericType[] | undefined;
|
|
127
130
|
addGenericType(gType: GenericType): void;
|
|
128
131
|
/**
|
|
@@ -132,14 +135,14 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
132
135
|
* @returns An array of all methods in this class.
|
|
133
136
|
* @example
|
|
134
137
|
* 1. Get methods defined in class `BookService`.
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
|
|
139
|
+
```typescript
|
|
140
|
+
let classes: ArkClass[] = scene.getClasses();
|
|
141
|
+
let serviceClass : ArkClass = classes[1];
|
|
142
|
+
let methods: ArkMethod[] = serviceClass.getMethods();
|
|
143
|
+
let methodNames: string[] = methods.map(mthd => mthd.name);
|
|
144
|
+
console.log(methodNames);
|
|
145
|
+
```
|
|
143
146
|
*/
|
|
144
147
|
getMethods(generated?: boolean): ArkMethod[];
|
|
145
148
|
getMethod(methodSignature: MethodSignature): ArkMethod | null;
|
|
@@ -155,15 +158,15 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
155
158
|
* @example
|
|
156
159
|
* 1. get viewTree of ArkClass.
|
|
157
160
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
161
|
+
```typescript
|
|
162
|
+
for (let arkFiles of scene.getFiles()) {
|
|
163
|
+
for (let arkClasss of arkFiles.getClasses()) {
|
|
164
|
+
if (arkClasss.hasViewTree()) {
|
|
165
|
+
arkClasss.getViewTree();
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
```
|
|
167
170
|
*/
|
|
168
171
|
getViewTree(): ViewTree | undefined;
|
|
169
172
|
/**
|
|
@@ -173,15 +176,15 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
173
176
|
* @example
|
|
174
177
|
* 1. Judge viewTree of ArkClass.
|
|
175
178
|
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
179
|
+
```typescript
|
|
180
|
+
for (let arkFiles of scene.getFiles()) {
|
|
181
|
+
for (let arkClasss of arkFiles.getClasses()) {
|
|
182
|
+
if (arkClasss.hasViewTree()) {
|
|
183
|
+
arkClasss.getViewTree();
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
```
|
|
185
188
|
*/
|
|
186
189
|
hasViewTree(): boolean;
|
|
187
190
|
getStaticFields(classMap: Map<FileSignature | NamespaceSignature, ArkClass[]>): ArkField[];
|
|
@@ -193,5 +196,8 @@ export declare class ArkClass extends ArkBaseModel implements ArkExport {
|
|
|
193
196
|
getStaticInitMethod(): ArkMethod;
|
|
194
197
|
setInstanceInitMethod(arkMethod: ArkMethod): void;
|
|
195
198
|
setStaticInitMethod(arkMethod: ArkMethod): void;
|
|
199
|
+
removeField(field: ArkField): boolean;
|
|
200
|
+
removeMethod(method: ArkMethod): boolean;
|
|
201
|
+
validate(): ArkError;
|
|
196
202
|
}
|
|
197
203
|
//# sourceMappingURL=ArkClass.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkClass.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkClass.ts"],"names":[],"mappings":"AAeA,OAAO,EAAa,WAAW,EAAE,MAAM,cAAc,CAAC;
|
|
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;IAExC,OAAO,CAAC,cAAc,CAAc;IACpC,OAAO,CAAC,UAAU,CAAC,CAAkB;IACrC,OAAO,CAAC,yBAAyB,CAAgB;IACjD,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,aAAa,CAA0B;IAG/C,OAAO,CAAC,OAAO,CAAwD;IACvE,OAAO,CAAC,MAAM,CAAsD;IACpE,OAAO,CAAC,eAAe,CAAsD;IAC7E,OAAO,CAAC,aAAa,CAAwD;IAC7E,OAAO,CAAC,YAAY,CAAsD;IAE1E,OAAO,CAAC,kBAAkB,CAA8B;IACxD,OAAO,CAAC,gBAAgB,CAA8B;IAEtD,OAAO,CAAC,qBAAqB,CAAa;IAC1C,OAAO,CAAC,oBAAoB,CAAa;IAEzC,OAAO,CAAC,QAAQ,CAAC,CAAW;;IAM5B;;;OAGG;IACI,OAAO;IAId;;;OAGG;IACI,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAI3B;;;OAGG;IACI,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAI3B;;;OAGG;IACI,SAAS;IAIT,SAAS,CAAC,MAAM,EAAE,MAAM;IAIxB,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAIjD;;;;;;;;;OASG;IACI,mBAAmB;IAInB,mBAAmB,CAAC,gBAAgB,EAAE,OAAO;IAIpD;;;OAGG;IACI,wBAAwB,IAAI,YAAY,GAAG,SAAS;IAIpD,wBAAwB,CAAC,qBAAqB,EAAE,YAAY,GAAG,SAAS;IAIxE,iBAAiB,IAAI,OAAO;IAI5B,gBAAgB,IAAI,OAAO;IAIlC;;;;OAIG;IACI,YAAY;IAIZ,YAAY,CAAC,QAAQ,EAAE,cAAc;IAIrC,iBAAiB;IAIjB,iBAAiB,CAAC,cAAc,EAAE,MAAM;IAI/C;;;OAGG;IACI,aAAa,IAAI,QAAQ,GAAG,IAAI;IAmBhC,aAAa,CAAC,UAAU,EAAE,QAAQ;IAIlC,kBAAkB,IAAI,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;IAI3C,gBAAgB,CAAC,aAAa,EAAE,QAAQ;IAIxC,4BAA4B;IAI5B,2BAA2B,CAAC,aAAa,EAAE,MAAM;IAIjD,uBAAuB,CAAC,aAAa,EAAE,MAAM;IAIpD;;;;;OAKG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IASzD,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIpD,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIjE;;;OAGG;IACI,SAAS,IAAI,QAAQ,EAAE;IAMvB,QAAQ,CAAC,KAAK,EAAE,QAAQ;IAQxB,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE;IAM5B,YAAY,IAAI,IAAI,EAAE,GAAG,SAAS;IAIlC,gBAAgB;IAIhB,cAAc,CAAC,KAAK,EAAE,WAAW;IAOxC;;;;;;;;;;;;;;;OAeG;IACI,UAAU,CAAC,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,EAAE;IAO5C,SAAS,CAAC,eAAe,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI;IAqB7D,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAIvD,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAI7D,SAAS,CAAC,MAAM,EAAE,SAAS;IAQ3B,mBAAmB,CAAC,aAAa,EAAE,SAAS;IAK5C,mBAAmB,IAAI,SAAS,GAAG,IAAI;IAIvC,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAIrC;;;;;;;;;;;;;;;OAeG;IACI,WAAW,IAAI,QAAQ,GAAG,SAAS;IAI1C;;;;;;;;;;;;;;;;OAgBG;IACI,WAAW,IAAI,OAAO;IAItB,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,QAAQ,EAAE,CAAC,GAAG,QAAQ,EAAE;IAkB1F,iBAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,GAAG,kBAAkB,EAAE,KAAK,EAAE,CAAC,GAAG,KAAK,EAAE;IAOvF,wBAAwB;IAIxB,uBAAuB;IAI9B,aAAa,IAAI,UAAU;IAIpB,qBAAqB,IAAI,SAAS;IAIlC,mBAAmB,IAAI,SAAS;IAIhC,qBAAqB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAIjD,mBAAmB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAI/C,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IAOrC,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO;IAWxC,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -30,7 +30,7 @@ var ClassCategory;
|
|
|
30
30
|
ClassCategory[ClassCategory["ENUM"] = 3] = "ENUM";
|
|
31
31
|
ClassCategory[ClassCategory["TYPE_LITERAL"] = 4] = "TYPE_LITERAL";
|
|
32
32
|
ClassCategory[ClassCategory["OBJECT"] = 5] = "OBJECT";
|
|
33
|
-
})(ClassCategory
|
|
33
|
+
})(ClassCategory = exports.ClassCategory || (exports.ClassCategory = {}));
|
|
34
34
|
/**
|
|
35
35
|
* @category core/model
|
|
36
36
|
*/
|
|
@@ -101,9 +101,9 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
101
101
|
* @example
|
|
102
102
|
* 1. Get the {@link ArkFile} which the ArkClass is in.
|
|
103
103
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
104
|
+
```typescript
|
|
105
|
+
const arkFile = arkClass.getDeclaringArkFile();
|
|
106
|
+
```
|
|
107
107
|
*/
|
|
108
108
|
getDeclaringArkFile() {
|
|
109
109
|
return this.declaringArkFile;
|
|
@@ -151,13 +151,16 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
151
151
|
getSuperClass() {
|
|
152
152
|
if (this.superClass === undefined) {
|
|
153
153
|
const type = TypeInference_1.TypeInference.inferUnclearReferenceType(this.superClassName, this);
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
154
|
+
let superClass;
|
|
155
|
+
if (type instanceof Type_1.ClassType &&
|
|
156
|
+
(superClass = this.declaringArkFile.getScene().getClass(type.getClassSignature()))) {
|
|
157
|
+
superClass.addExtendedClass(this);
|
|
158
|
+
this.superClass = superClass;
|
|
159
|
+
const realGenericTypes = type.getRealGenericTypes();
|
|
160
|
+
if (realGenericTypes) {
|
|
161
|
+
this.realTypes = realGenericTypes;
|
|
160
162
|
}
|
|
163
|
+
return this.superClass;
|
|
161
164
|
}
|
|
162
165
|
this.superClass = null;
|
|
163
166
|
}
|
|
@@ -223,6 +226,9 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
223
226
|
this.addField(field);
|
|
224
227
|
});
|
|
225
228
|
}
|
|
229
|
+
getRealTypes() {
|
|
230
|
+
return this.realTypes;
|
|
231
|
+
}
|
|
226
232
|
getGenericsTypes() {
|
|
227
233
|
return this.genericsTypes;
|
|
228
234
|
}
|
|
@@ -239,14 +245,14 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
239
245
|
* @returns An array of all methods in this class.
|
|
240
246
|
* @example
|
|
241
247
|
* 1. Get methods defined in class `BookService`.
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
248
|
+
|
|
249
|
+
```typescript
|
|
250
|
+
let classes: ArkClass[] = scene.getClasses();
|
|
251
|
+
let serviceClass : ArkClass = classes[1];
|
|
252
|
+
let methods: ArkMethod[] = serviceClass.getMethods();
|
|
253
|
+
let methodNames: string[] = methods.map(mthd => mthd.name);
|
|
254
|
+
console.log(methodNames);
|
|
255
|
+
```
|
|
250
256
|
*/
|
|
251
257
|
getMethods(generated) {
|
|
252
258
|
const allMethods = Array.from(this.methods.values())
|
|
@@ -255,12 +261,25 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
255
261
|
return allMethods;
|
|
256
262
|
}
|
|
257
263
|
getMethod(methodSignature) {
|
|
264
|
+
var _a;
|
|
258
265
|
const methodName = methodSignature.getMethodSubSignature().getMethodName();
|
|
259
|
-
|
|
260
|
-
if (
|
|
261
|
-
|
|
266
|
+
const methodSearched = (_a = this.getMethodWithName(methodName)) !== null && _a !== void 0 ? _a : this.getStaticMethodWithName(methodName);
|
|
267
|
+
if (methodSearched === null) {
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
const implSignature = methodSearched.getImplementationSignature();
|
|
271
|
+
if (implSignature !== null && implSignature.isMatch(methodSignature)) {
|
|
272
|
+
return methodSearched;
|
|
273
|
+
}
|
|
274
|
+
const declareSignatures = methodSearched.getDeclareSignatures();
|
|
275
|
+
if (declareSignatures !== null) {
|
|
276
|
+
for (let i = 0; i < declareSignatures.length; i++) {
|
|
277
|
+
if (declareSignatures[i].isMatch(methodSignature)) {
|
|
278
|
+
return methodSearched;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
262
281
|
}
|
|
263
|
-
return
|
|
282
|
+
return null;
|
|
264
283
|
}
|
|
265
284
|
getMethodWithName(methodName) {
|
|
266
285
|
return this.methods.get(methodName) || null;
|
|
@@ -292,15 +311,15 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
292
311
|
* @example
|
|
293
312
|
* 1. get viewTree of ArkClass.
|
|
294
313
|
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
314
|
+
```typescript
|
|
315
|
+
for (let arkFiles of scene.getFiles()) {
|
|
316
|
+
for (let arkClasss of arkFiles.getClasses()) {
|
|
317
|
+
if (arkClasss.hasViewTree()) {
|
|
318
|
+
arkClasss.getViewTree();
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
```
|
|
304
323
|
*/
|
|
305
324
|
getViewTree() {
|
|
306
325
|
return this.viewTree;
|
|
@@ -312,15 +331,15 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
312
331
|
* @example
|
|
313
332
|
* 1. Judge viewTree of ArkClass.
|
|
314
333
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
334
|
+
```typescript
|
|
335
|
+
for (let arkFiles of scene.getFiles()) {
|
|
336
|
+
for (let arkClasss of arkFiles.getClasses()) {
|
|
337
|
+
if (arkClasss.hasViewTree()) {
|
|
338
|
+
arkClasss.getViewTree();
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
```
|
|
324
343
|
*/
|
|
325
344
|
hasViewTree() {
|
|
326
345
|
return this.viewTree !== undefined;
|
|
@@ -370,5 +389,25 @@ class ArkClass extends ArkBaseModel_1.ArkBaseModel {
|
|
|
370
389
|
setStaticInitMethod(arkMethod) {
|
|
371
390
|
this.staticInitMethod = arkMethod;
|
|
372
391
|
}
|
|
392
|
+
removeField(field) {
|
|
393
|
+
if (field.isStatic()) {
|
|
394
|
+
return this.staticFields.delete(field.getName());
|
|
395
|
+
}
|
|
396
|
+
return this.fields.delete(field.getName());
|
|
397
|
+
}
|
|
398
|
+
removeMethod(method) {
|
|
399
|
+
let rtn = false;
|
|
400
|
+
if (method.isStatic()) {
|
|
401
|
+
rtn = this.staticMethods.delete(method.getName());
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
rtn = this.methods.delete(method.getName());
|
|
405
|
+
}
|
|
406
|
+
rtn && (rtn = this.getDeclaringArkFile().getScene().removeMethod(method));
|
|
407
|
+
return rtn;
|
|
408
|
+
}
|
|
409
|
+
validate() {
|
|
410
|
+
return this.validateFields(['declaringArkFile', 'category', 'classSignature']);
|
|
411
|
+
}
|
|
373
412
|
}
|
|
374
413
|
exports.ArkClass = ArkClass;
|
|
@@ -2,6 +2,7 @@ import { LineColPosition } from '../base/Position';
|
|
|
2
2
|
import { ArkFile } from './ArkFile';
|
|
3
3
|
import { ArkSignature, ClassSignature, LocalSignature, MethodSignature, NamespaceSignature } from './ArkSignature';
|
|
4
4
|
import { ArkBaseModel, ModifierType } from './ArkBaseModel';
|
|
5
|
+
import { ArkError } from '../common/ArkError';
|
|
5
6
|
export type ExportSignature = NamespaceSignature | ClassSignature | MethodSignature | LocalSignature;
|
|
6
7
|
export declare enum ExportType {
|
|
7
8
|
NAME_SPACE = 0,
|
|
@@ -61,8 +62,10 @@ export declare class ExportInfo extends ArkBaseModel implements FromInfo {
|
|
|
61
62
|
declaringArkFile(value: ArkFile): any;
|
|
62
63
|
arkExport(value: ArkExport): any;
|
|
63
64
|
exportFrom(exportFrom: string): any;
|
|
65
|
+
setLeadingComments(comments: string[]): any;
|
|
64
66
|
build(): ExportInfo;
|
|
65
67
|
};
|
|
66
68
|
};
|
|
69
|
+
validate(): ArkError;
|
|
67
70
|
}
|
|
68
71
|
//# sourceMappingURL=ArkExport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkExport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkExport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ArkExport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkExport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEnH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAI9C,MAAM,MAAM,eAAe,GAAG,kBAAkB,GAAG,cAAc,GAAG,eAAe,GAAG,cAAc,CAAC;AAErG,oBAAY,UAAU;IAClB,UAAU,IAAI;IACd,KAAK,IAAI;IACT,MAAM,IAAI;IACV,KAAK,IAAI;IACT,IAAI,IAAI;IACR,OAAO,IAAI;CACd;AAED,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC3C,YAAY,IAAI,MAAM,CAAC;IACvB,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC;IAEtD,OAAO,IAAI,MAAM,CAAC;IAElB,aAAa,IAAI,UAAU,CAAC;CAE/B;AAED,MAAM,WAAW,QAAQ;IACrB,SAAS,IAAI,OAAO,CAAC;IAErB,aAAa,IAAI,MAAM,CAAC;IAExB,OAAO,IAAI,MAAM,GAAG,SAAS,CAAC;IAE9B,mBAAmB,IAAI,OAAO,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,YAAa,YAAW,QAAQ;IAC5D,OAAO,CAAC,QAAQ,CAAC,CAAU;IAC3B,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAc;IAEtC,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,SAAS,CAAC,CAAmB;IACrC,OAAO,CAAC,UAAU,CAAC,CAAS;IAE5B,OAAO,CAAC,gBAAgB,CAAC,CAAkB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAS;IAC9B,OAAO,CAAC,gBAAgB,CAAW;IAEnC,OAAO;IAIA,OAAO,IAAI,MAAM,GAAG,SAAS;IAI7B,aAAa,IAAI,MAAM;IAIvB,mBAAmB,IAAI,MAAM;IAI7B,mBAAmB,CAAC,gBAAgB,EAAE,UAAU,GAAG,IAAI;IAIvD,mBAAmB,IAAI,UAAU;IAIjC,eAAe,IAAI,MAAM,GAAG,SAAS;IAIrC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAIpC,YAAY,IAAI,SAAS,GAAG,SAAS,GAAG,IAAI;IAI5C,SAAS,IAAI,OAAO;IAUpB,mBAAmB,IAAI,eAAe;IAItC,eAAe,IAAI,MAAM;IAIzB,mBAAmB,IAAI,OAAO;IAIrC,OAAc,OAAO;;wBACL,UAAU;+CAEoB,MAAM;+CAKN,UAAU;uCAKlB,MAAM;iCAKZ,MAAM;+CAKQ,eAAe;uCAKvB,MAAM;oCAKT,OAAO;6BAKd,SAAS;mCAKH,MAAM;yCAOA,MAAM,EAAE;qBAO5B,UAAU;;MAG5B;IAEK,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -18,6 +18,7 @@ exports.ExportInfo = exports.ExportType = void 0;
|
|
|
18
18
|
const Position_1 = require("../base/Position");
|
|
19
19
|
const TSConst_1 = require("../common/TSConst");
|
|
20
20
|
const ArkBaseModel_1 = require("./ArkBaseModel");
|
|
21
|
+
const ArkMetadata_1 = require("./ArkMetadata");
|
|
21
22
|
var ExportType;
|
|
22
23
|
(function (ExportType) {
|
|
23
24
|
ExportType[ExportType["NAME_SPACE"] = 0] = "NAME_SPACE";
|
|
@@ -26,7 +27,7 @@ var ExportType;
|
|
|
26
27
|
ExportType[ExportType["LOCAL"] = 3] = "LOCAL";
|
|
27
28
|
ExportType[ExportType["TYPE"] = 4] = "TYPE";
|
|
28
29
|
ExportType[ExportType["UNKNOWN"] = 9] = "UNKNOWN";
|
|
29
|
-
})(ExportType
|
|
30
|
+
})(ExportType = exports.ExportType || (exports.ExportType = {}));
|
|
30
31
|
/**
|
|
31
32
|
* @category core/model
|
|
32
33
|
*/
|
|
@@ -81,6 +82,9 @@ class ExportInfo extends ArkBaseModel_1.ArkBaseModel {
|
|
|
81
82
|
getDeclaringArkFile() {
|
|
82
83
|
return this.declaringArkFile;
|
|
83
84
|
}
|
|
85
|
+
validate() {
|
|
86
|
+
return this.validateFields(['declaringArkFile']);
|
|
87
|
+
}
|
|
84
88
|
}
|
|
85
89
|
exports.ExportInfo = ExportInfo;
|
|
86
90
|
ExportInfo.Builder = class ArkExportBuilder {
|
|
@@ -125,6 +129,12 @@ ExportInfo.Builder = class ArkExportBuilder {
|
|
|
125
129
|
}
|
|
126
130
|
return this;
|
|
127
131
|
}
|
|
132
|
+
setLeadingComments(comments) {
|
|
133
|
+
if (comments.length > 0) {
|
|
134
|
+
this.exportInfo.setMetadata(ArkMetadata_1.ArkMetadataKind.LEADING_COMMENTS, comments);
|
|
135
|
+
}
|
|
136
|
+
return this;
|
|
137
|
+
}
|
|
128
138
|
build() {
|
|
129
139
|
return this.exportInfo;
|
|
130
140
|
}
|
|
@@ -4,6 +4,7 @@ import { ArkClass } from './ArkClass';
|
|
|
4
4
|
import { FieldSignature } from './ArkSignature';
|
|
5
5
|
import { Type } from '../base/Type';
|
|
6
6
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
7
|
+
import { ArkError } from '../common/ArkError';
|
|
7
8
|
export declare enum FieldCategory {
|
|
8
9
|
PROPERTY_DECLARATION = 0,
|
|
9
10
|
PROPERTY_ASSIGNMENT = 1,
|
|
@@ -57,5 +58,6 @@ export declare class ArkField extends ArkBaseModel {
|
|
|
57
58
|
* @returns The original position of the field at source code.
|
|
58
59
|
*/
|
|
59
60
|
getOriginPosition(): LineColPosition;
|
|
61
|
+
validate(): ArkError;
|
|
60
62
|
}
|
|
61
63
|
//# sourceMappingURL=ArkField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArkField.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkField.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,oBAAY,aAAa;IACrB,oBAAoB,IAAI;IACxB,mBAAmB,IAAI;IACvB,8BAA8B,IAAI;IAClC,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;IACtB,WAAW,IAAI;IACf,eAAe,IAAI;IACnB,YAAY,IAAI;CACnB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACtC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAc;;IAM1B,oBAAoB;IAIpB,oBAAoB,CAAC,cAAc,EAAE,QAAQ;IAIpD;;;OAGG;IACI,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,OAAO;IAIP,OAAO,IAAG,IAAI;IAId,YAAY,IAAI,cAAc;IAI9B,YAAY,CAAC,QAAQ,EAAE,cAAc;IAI5C;;;OAGG;IACI,cAAc,IAAI,IAAI,EAAE;IAIxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE;IAIlC,gBAAgB,CAAC,aAAa,EAAE,OAAO;IAIvC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO;IAI7C,gBAAgB;IAIhB,mBAAmB;IAInB,iBAAiB,CAAC,QAAQ,EAAE,eAAe;IAIlD;;;OAGG;IACI,iBAAiB,IAAI,eAAe;
|
|
1
|
+
{"version":3,"file":"ArkField.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkField.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG9C,oBAAY,aAAa;IACrB,oBAAoB,IAAI;IACxB,mBAAmB,IAAI;IACvB,8BAA8B,IAAI;IAClC,iBAAiB,IAAI;IACrB,kBAAkB,IAAI;IACtB,WAAW,IAAI;IACf,eAAe,IAAI;IACnB,YAAY,IAAI;CACnB;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,YAAY;IACtC,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,QAAQ,CAAiB;IAEjC,OAAO,CAAC,cAAc,CAAY;IAClC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,gBAAgB,CAAkB;IAE1C,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,cAAc,CAAC,CAAkB;IAEzC,OAAO,CAAC,WAAW,CAAc;;IAM1B,oBAAoB;IAIpB,oBAAoB,CAAC,cAAc,EAAE,QAAQ;IAIpD;;;OAGG;IACI,OAAO;IAIP,OAAO,CAAC,IAAI,EAAE,MAAM;IAIpB,WAAW,IAAI,aAAa;IAI5B,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAI1C,OAAO;IAIP,OAAO,IAAG,IAAI;IAId,YAAY,IAAI,cAAc;IAI9B,YAAY,CAAC,QAAQ,EAAE,cAAc;IAI5C;;;OAGG;IACI,cAAc,IAAI,IAAI,EAAE;IAIxB,cAAc,CAAC,WAAW,EAAE,IAAI,EAAE;IAIlC,gBAAgB,CAAC,aAAa,EAAE,OAAO;IAIvC,mBAAmB,CAAC,gBAAgB,EAAE,OAAO;IAI7C,gBAAgB;IAIhB,mBAAmB;IAInB,iBAAiB,CAAC,QAAQ,EAAE,eAAe;IAIlD;;;OAGG;IACI,iBAAiB,IAAI,eAAe;IAIpC,QAAQ,IAAI,QAAQ;CAG9B"}
|
|
@@ -27,7 +27,7 @@ var FieldCategory;
|
|
|
27
27
|
FieldCategory[FieldCategory["ENUM_MEMBER"] = 5] = "ENUM_MEMBER";
|
|
28
28
|
FieldCategory[FieldCategory["INDEX_SIGNATURE"] = 6] = "INDEX_SIGNATURE";
|
|
29
29
|
FieldCategory[FieldCategory["GET_ACCESSOR"] = 7] = "GET_ACCESSOR";
|
|
30
|
-
})(FieldCategory
|
|
30
|
+
})(FieldCategory = exports.FieldCategory || (exports.FieldCategory = {}));
|
|
31
31
|
/**
|
|
32
32
|
* @category core/model
|
|
33
33
|
*/
|
|
@@ -106,5 +106,8 @@ class ArkField extends ArkBaseModel_1.ArkBaseModel {
|
|
|
106
106
|
var _a;
|
|
107
107
|
return (_a = this.originPosition) !== null && _a !== void 0 ? _a : Position_1.LineColPosition.DEFAULT;
|
|
108
108
|
}
|
|
109
|
+
validate() {
|
|
110
|
+
return this.validateFields(['category', 'declaringClass', 'fieldSignature']);
|
|
111
|
+
}
|
|
109
112
|
}
|
|
110
113
|
exports.ArkField = ArkField;
|
|
@@ -81,9 +81,13 @@ export declare class ArkFile {
|
|
|
81
81
|
getImportInfos(): ImportInfo[];
|
|
82
82
|
getImportInfoBy(name: string): ImportInfo | undefined;
|
|
83
83
|
addImportInfo(importInfo: ImportInfo): void;
|
|
84
|
+
removeImportInfo(importInfo: ImportInfo): boolean;
|
|
85
|
+
removeNamespace(namespace: ArkNamespace): boolean;
|
|
86
|
+
removeArkClass(arkClass: ArkClass): boolean;
|
|
84
87
|
getExportInfos(): ExportInfo[];
|
|
85
88
|
getExportInfoBy(name: string): ExportInfo | undefined;
|
|
86
89
|
addExportInfo(exportInfo: ExportInfo, key?: string): void;
|
|
90
|
+
removeExportInfo(exportInfo: ExportInfo, key?: string): void;
|
|
87
91
|
getProjectName(): string;
|
|
88
92
|
getModuleName(): string | undefined;
|
|
89
93
|
setOhPackageJson5Path(ohPackageJson5Path: string[]): void;
|
|
@@ -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,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,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,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAGnF,eAAO,MAAM,iBAAiB,UAEqD,CAAC;AAEpF;;GAEG;AACH,qBAAa,OAAO;IAChB,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,UAAU,CAAc;IAChC,OAAO,CAAC,IAAI,CAAc;IAE1B,OAAO,CAAC,YAAY,CAAY;IAGhC,OAAO,CAAC,UAAU,CAA8D;IAChF,OAAO,CAAC,OAAO,CAAsD;IAErE,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,aAAa,CAA0D;IAE/E,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,WAAW,CAAC,CAAc;IAElC,OAAO,CAAC,aAAa,CAAwC;IAE7D,OAAO,CAAC,kBAAkB,CAAgB;IAE1C,OAAO,CAAC,oBAAoB,CAAa;;IAKzC;;;OAGG;IACI,OAAO;IAIP,QAAQ,CAAC,KAAK,EAAE,KAAK;IAI5B;;;;;OAKG;IACI,QAAQ;IAIR,cAAc;IAId,cAAc,CAAC,WAAW,EAAE,WAAW;IAIvC,aAAa,CAAC,UAAU,EAAE,MAAM;IAIhC,aAAa,IAAI,MAAM;IAI9B;;;;;;;;;OASG;IACI,WAAW,IAAI,MAAM;IAIrB,WAAW,CAAC,gBAAgB,EAAE,MAAM;IAIpC,OAAO,CAAC,IAAI,EAAE,MAAM;IAI3B;;;OAGG;IACI,OAAO;IAIP,WAAW,CAAC,QAAQ,EAAE,QAAQ;IAI9B,eAAe;IAIf,eAAe,CAAC,YAAY,EAAE,QAAQ;IAItC,YAAY,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,YAAY,GAAG,IAAI;IAKzE,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAIhE,aAAa,IAAI,YAAY,EAAE;IAItC;;;;OAIG;IACI,QAAQ,CAAC,cAAc,EAAE,cAAc,GAAG,QAAQ,GAAG,IAAI;IAKzD,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,IAAI;IAIhD,UAAU,IAAI,QAAQ,EAAE;IAIxB,YAAY,CAAC,SAAS,EAAE,YAAY;IAI3C;;;;OAIG;IACI,cAAc,IAAI,UAAU,EAAE;IAI9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,aAAa,CAAC,UAAU,EAAE,UAAU;IAIpC,cAAc,IAAI,UAAU,EAAE;IAU9B,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAIrD,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,GAAG,CAAC,EAAE,MAAM;IAIlD,cAAc;IAId,aAAa;IAIb,qBAAqB,CAAC,kBAAkB,EAAE,MAAM,EAAE;IAIlD,qBAAqB;IAI5B;;;OAGG;IACI,gBAAgB;IAIhB,gBAAgB,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAIpD,6BAA6B,IAAI,YAAY,EAAE;IAS/C,uBAAuB;CAGjC"}
|
|
1
|
+
{"version":3,"file":"ArkFile.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -145,6 +145,19 @@ class ArkFile {
|
|
|
145
145
|
addImportInfo(importInfo) {
|
|
146
146
|
this.importInfoMap.set(importInfo.getImportClauseName(), importInfo);
|
|
147
147
|
}
|
|
148
|
+
removeImportInfo(importInfo) {
|
|
149
|
+
return this.importInfoMap.delete(importInfo.getImportClauseName());
|
|
150
|
+
}
|
|
151
|
+
removeNamespace(namespace) {
|
|
152
|
+
let rtn = this.namespaces.delete(namespace.getName());
|
|
153
|
+
rtn && (rtn = this.getScene().removeNamespace(namespace));
|
|
154
|
+
return rtn;
|
|
155
|
+
}
|
|
156
|
+
removeArkClass(arkClass) {
|
|
157
|
+
let rtn = this.classes.delete(arkClass.getName());
|
|
158
|
+
rtn && (rtn = this.getScene().removeClass(arkClass));
|
|
159
|
+
return rtn;
|
|
160
|
+
}
|
|
148
161
|
getExportInfos() {
|
|
149
162
|
const exportInfos = [];
|
|
150
163
|
this.exportInfoMap.forEach((value, key) => {
|
|
@@ -160,6 +173,13 @@ class ArkFile {
|
|
|
160
173
|
addExportInfo(exportInfo, key) {
|
|
161
174
|
this.exportInfoMap.set(key !== null && key !== void 0 ? key : exportInfo.getExportClauseName(), exportInfo);
|
|
162
175
|
}
|
|
176
|
+
removeExportInfo(exportInfo, key) {
|
|
177
|
+
if (key) {
|
|
178
|
+
this.exportInfoMap.delete(key);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
181
|
+
this.exportInfoMap.delete(exportInfo.getExportClauseName());
|
|
182
|
+
}
|
|
163
183
|
getProjectName() {
|
|
164
184
|
return this.fileSignature.getProjectName();
|
|
165
185
|
}
|
|
@@ -2,6 +2,7 @@ import { ArkFile } from './ArkFile';
|
|
|
2
2
|
import { LineColPosition } from '../base/Position';
|
|
3
3
|
import { ExportInfo, FromInfo } from './ArkExport';
|
|
4
4
|
import { ArkBaseModel } from './ArkBaseModel';
|
|
5
|
+
import { ArkError } from '../common/ArkError';
|
|
5
6
|
/**
|
|
6
7
|
* @category core/model
|
|
7
8
|
*/
|
|
@@ -39,5 +40,6 @@ export declare class ImportInfo extends ArkBaseModel implements FromInfo {
|
|
|
39
40
|
getTsSourceCode(): string;
|
|
40
41
|
getFrom(): string | undefined;
|
|
41
42
|
isDefault(): boolean;
|
|
43
|
+
validate(): ArkError;
|
|
42
44
|
}
|
|
43
45
|
//# sourceMappingURL=ArkImport.d.ts.map
|
|
@@ -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;AACpC,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;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;;IAMpC,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;
|
|
1
|
+
{"version":3,"file":"ArkImport.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkImport.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,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;;IAMpC,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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export declare enum ArkMetadataKind {
|
|
2
|
+
LEADING_COMMENTS = 0
|
|
3
|
+
}
|
|
4
|
+
export type ArkMetadataType = string[];
|
|
5
|
+
/**
|
|
6
|
+
* ArkMetadata
|
|
7
|
+
* @example
|
|
8
|
+
* // get leading comments
|
|
9
|
+
* let stmt: Stmt = xxx;
|
|
10
|
+
* let comments = stmt.getMetadata(ArkMetadataKind.LEADING_COMMENTS) || [];
|
|
11
|
+
* comments.forEach((comment) => {
|
|
12
|
+
* logger.info(comment);
|
|
13
|
+
* });
|
|
14
|
+
*/
|
|
15
|
+
export declare class ArkMetadata {
|
|
16
|
+
protected metadata?: Map<ArkMetadataKind, ArkMetadataType>;
|
|
17
|
+
getMetadata(kind: ArkMetadataKind): ArkMetadataType | undefined;
|
|
18
|
+
setMetadata(kind: ArkMetadataKind, value: ArkMetadataType): void;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=ArkMetadata.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ArkMetadata.d.ts","sourceRoot":"","sources":["../../../src/core/model/ArkMetadata.ts"],"names":[],"mappings":"AAeA,oBAAY,eAAe;IACvB,gBAAgB,IAAA;CACnB;AAED,MAAM,MAAM,eAAe,GAAG,MAAM,EAAE,CAAC;AAEvC;;;;;;;;;GASG;AACH,qBAAa,WAAW;IACpB,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAEpD,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,SAAS;IAI/D,WAAW,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,GAAG,IAAI;CAM1E"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2024 Huawei Device Co., Ltd.
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.ArkMetadata = exports.ArkMetadataKind = void 0;
|
|
18
|
+
var ArkMetadataKind;
|
|
19
|
+
(function (ArkMetadataKind) {
|
|
20
|
+
ArkMetadataKind[ArkMetadataKind["LEADING_COMMENTS"] = 0] = "LEADING_COMMENTS";
|
|
21
|
+
})(ArkMetadataKind = exports.ArkMetadataKind || (exports.ArkMetadataKind = {}));
|
|
22
|
+
/**
|
|
23
|
+
* ArkMetadata
|
|
24
|
+
* @example
|
|
25
|
+
* // get leading comments
|
|
26
|
+
* let stmt: Stmt = xxx;
|
|
27
|
+
* let comments = stmt.getMetadata(ArkMetadataKind.LEADING_COMMENTS) || [];
|
|
28
|
+
* comments.forEach((comment) => {
|
|
29
|
+
* logger.info(comment);
|
|
30
|
+
* });
|
|
31
|
+
*/
|
|
32
|
+
class ArkMetadata {
|
|
33
|
+
getMetadata(kind) {
|
|
34
|
+
var _a;
|
|
35
|
+
return (_a = this.metadata) === null || _a === void 0 ? void 0 : _a.get(kind);
|
|
36
|
+
}
|
|
37
|
+
setMetadata(kind, value) {
|
|
38
|
+
if (!this.metadata) {
|
|
39
|
+
this.metadata = new Map();
|
|
40
|
+
}
|
|
41
|
+
this.metadata.set(kind, value);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.ArkMetadata = ArkMetadata;
|