arkanalyzer 1.0.20 → 1.0.21
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/lib/Config.d.ts +70 -70
- package/lib/Config.js +198 -198
- package/lib/Scene.d.ts +316 -316
- package/lib/Scene.js +1316 -1316
- package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +28 -28
- package/lib/callgraph/algorithm/AbstractAnalysis.js +144 -144
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts +10 -10
- package/lib/callgraph/algorithm/ClassHierarchyAnalysis.js +69 -69
- package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts +15 -15
- package/lib/callgraph/algorithm/RapidTypeAnalysis.js +146 -146
- package/lib/callgraph/common/Statistics.d.ts +57 -57
- package/lib/callgraph/common/Statistics.js +228 -228
- package/lib/callgraph/model/CallGraph.d.ts +96 -96
- package/lib/callgraph/model/CallGraph.js +354 -354
- package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +15 -15
- package/lib/callgraph/model/builder/CallGraphBuilder.js +106 -106
- package/lib/callgraph/pointerAnalysis/Context.d.ts +37 -37
- package/lib/callgraph/pointerAnalysis/Context.js +155 -155
- package/lib/callgraph/pointerAnalysis/DummyCallCreator.d.ts +22 -22
- package/lib/callgraph/pointerAnalysis/DummyCallCreator.js +104 -104
- package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +5 -5
- package/lib/callgraph/pointerAnalysis/PTAUtils.js +46 -46
- package/lib/callgraph/pointerAnalysis/Pag.d.ts +261 -261
- package/lib/callgraph/pointerAnalysis/Pag.js +930 -930
- package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +157 -157
- package/lib/callgraph/pointerAnalysis/PagBuilder.js +1399 -1399
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts +72 -72
- package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +573 -573
- package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.d.ts +15 -15
- package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.js +81 -81
- package/lib/callgraph/pointerAnalysis/PtsDS.d.ts +80 -80
- package/lib/callgraph/pointerAnalysis/PtsDS.js +308 -308
- package/lib/core/base/Constant.d.ts +48 -48
- package/lib/core/base/Constant.js +103 -103
- package/lib/core/base/Decorator.d.ts +15 -15
- package/lib/core/base/Decorator.js +46 -46
- package/lib/core/base/DefUseChain.d.ts +8 -8
- package/lib/core/base/DefUseChain.js +25 -25
- package/lib/core/base/Expr.d.ts +340 -340
- package/lib/core/base/Expr.js +917 -917
- package/lib/core/base/Local.d.ts +104 -104
- package/lib/core/base/Local.js +176 -176
- package/lib/core/base/Position.d.ts +30 -30
- package/lib/core/base/Position.js +147 -147
- package/lib/core/base/Ref.d.ts +173 -173
- package/lib/core/base/Ref.js +374 -374
- package/lib/core/base/Stmt.d.ts +237 -237
- package/lib/core/base/Stmt.js +525 -525
- package/lib/core/base/Trap.d.ts +8 -8
- package/lib/core/base/Trap.js +30 -30
- package/lib/core/base/Type.d.ts +308 -308
- package/lib/core/base/Type.js +639 -639
- package/lib/core/base/TypeExpr.d.ts +71 -71
- package/lib/core/base/TypeExpr.js +155 -155
- package/lib/core/base/Value.d.ts +32 -32
- package/lib/core/base/Value.js +16 -16
- package/lib/core/common/ArkError.d.ts +14 -14
- package/lib/core/common/ArkError.js +28 -28
- package/lib/core/common/ArkIRTransformer.d.ts +67 -67
- package/lib/core/common/ArkIRTransformer.js +690 -690
- package/lib/core/common/ArkValueTransformer.d.ts +89 -89
- package/lib/core/common/ArkValueTransformer.js +1478 -1478
- package/lib/core/common/Builtin.d.ts +36 -36
- package/lib/core/common/Builtin.js +81 -81
- package/lib/core/common/Const.d.ts +21 -21
- package/lib/core/common/Const.js +43 -43
- package/lib/core/common/DummyMainCreater.d.ts +46 -46
- package/lib/core/common/DummyMainCreater.js +319 -319
- package/lib/core/common/EtsConst.d.ts +73 -73
- package/lib/core/common/EtsConst.js +1021 -1021
- package/lib/core/common/ExprUseReplacer.d.ts +21 -21
- package/lib/core/common/ExprUseReplacer.js +124 -124
- package/lib/core/common/IRInference.d.ts +36 -36
- package/lib/core/common/IRInference.d.ts.map +1 -1
- package/lib/core/common/IRInference.js +651 -648
- package/lib/core/common/IRUtils.d.ts +18 -18
- package/lib/core/common/IRUtils.js +141 -141
- package/lib/core/common/ModelUtils.d.ts +70 -70
- package/lib/core/common/ModelUtils.js +712 -712
- package/lib/core/common/RefUseReplacer.d.ts +13 -13
- package/lib/core/common/RefUseReplacer.js +52 -52
- package/lib/core/common/SdkUtils.d.ts +8 -8
- package/lib/core/common/SdkUtils.js +105 -105
- package/lib/core/common/StmtDefReplacer.d.ts +12 -12
- package/lib/core/common/StmtDefReplacer.js +41 -41
- package/lib/core/common/StmtUseReplacer.d.ts +16 -16
- package/lib/core/common/StmtUseReplacer.js +108 -108
- package/lib/core/common/TSConst.d.ts +18 -18
- package/lib/core/common/TSConst.js +36 -36
- package/lib/core/common/TypeInference.d.ts +102 -102
- package/lib/core/common/TypeInference.js +748 -748
- package/lib/core/common/ValueUtil.d.ts +12 -12
- package/lib/core/common/ValueUtil.js +54 -54
- package/lib/core/common/VisibleValue.d.ts +36 -36
- package/lib/core/common/VisibleValue.js +212 -212
- package/lib/core/dataflow/DataflowProblem.d.ts +20 -20
- package/lib/core/dataflow/DataflowProblem.js +20 -20
- package/lib/core/dataflow/DataflowResult.d.ts +7 -7
- package/lib/core/dataflow/DataflowResult.js +26 -26
- package/lib/core/dataflow/DataflowSolver.d.ts +43 -43
- package/lib/core/dataflow/DataflowSolver.js +307 -307
- package/lib/core/dataflow/Edge.d.ts +11 -11
- package/lib/core/dataflow/Edge.js +31 -31
- package/lib/core/dataflow/Fact.d.ts +6 -6
- package/lib/core/dataflow/Fact.js +24 -24
- package/lib/core/dataflow/GenericDataFlow.d.ts +142 -142
- package/lib/core/dataflow/GenericDataFlow.js +109 -109
- package/lib/core/dataflow/ReachingDef.d.ts +62 -62
- package/lib/core/dataflow/ReachingDef.js +168 -168
- package/lib/core/dataflow/UndefinedVariable.d.ts +45 -45
- package/lib/core/dataflow/UndefinedVariable.js +288 -288
- package/lib/core/dataflow/Util.d.ts +9 -9
- package/lib/core/dataflow/Util.js +64 -64
- package/lib/core/graph/BaseExplicitGraph.d.ts +58 -58
- package/lib/core/graph/BaseExplicitGraph.js +157 -157
- package/lib/core/graph/BaseImplicitGraph.d.ts +77 -77
- package/lib/core/graph/BaseImplicitGraph.js +78 -78
- package/lib/core/graph/BasicBlock.d.ts +104 -104
- package/lib/core/graph/BasicBlock.js +280 -280
- package/lib/core/graph/Cfg.d.ts +59 -59
- package/lib/core/graph/Cfg.js +282 -282
- package/lib/core/graph/DependsGraph.d.ts +35 -35
- package/lib/core/graph/DependsGraph.js +87 -87
- package/lib/core/graph/DominanceFinder.d.ts +15 -15
- package/lib/core/graph/DominanceFinder.js +121 -121
- package/lib/core/graph/DominanceTree.d.ts +12 -12
- package/lib/core/graph/DominanceTree.js +70 -70
- package/lib/core/graph/GraphTraits.d.ts +7 -7
- package/lib/core/graph/GraphTraits.js +16 -16
- package/lib/core/graph/Scc.d.ts +61 -61
- package/lib/core/graph/Scc.js +222 -222
- package/lib/core/graph/ViewTree.d.ts +114 -114
- package/lib/core/graph/ViewTree.js +16 -16
- package/lib/core/graph/builder/CfgBuilder.d.ts +176 -176
- package/lib/core/graph/builder/CfgBuilder.js +1139 -1139
- package/lib/core/graph/builder/ConditionBuilder.d.ts +15 -15
- package/lib/core/graph/builder/ConditionBuilder.js +252 -252
- package/lib/core/graph/builder/LoopBuilder.d.ts +20 -20
- package/lib/core/graph/builder/LoopBuilder.js +251 -251
- package/lib/core/graph/builder/SwitchBuilder.d.ts +11 -11
- package/lib/core/graph/builder/SwitchBuilder.js +152 -152
- package/lib/core/graph/builder/TrapBuilder.d.ts +16 -16
- package/lib/core/graph/builder/TrapBuilder.js +272 -272
- package/lib/core/graph/builder/ViewTreeBuilder.d.ts +203 -203
- package/lib/core/graph/builder/ViewTreeBuilder.js +1055 -1055
- package/lib/core/model/ArkBaseModel.d.ts +59 -59
- package/lib/core/model/ArkBaseModel.js +274 -274
- package/lib/core/model/ArkBody.d.ts +24 -24
- package/lib/core/model/ArkBody.js +65 -65
- package/lib/core/model/ArkClass.d.ts +206 -206
- package/lib/core/model/ArkClass.js +439 -439
- package/lib/core/model/ArkExport.d.ts +72 -72
- package/lib/core/model/ArkExport.js +147 -147
- package/lib/core/model/ArkField.d.ts +62 -62
- package/lib/core/model/ArkField.js +113 -113
- package/lib/core/model/ArkFile.d.ts +131 -131
- package/lib/core/model/ArkFile.js +267 -267
- package/lib/core/model/ArkImport.d.ts +44 -44
- package/lib/core/model/ArkImport.js +108 -108
- package/lib/core/model/ArkMetadata.d.ts +31 -31
- package/lib/core/model/ArkMetadata.js +55 -55
- package/lib/core/model/ArkMethod.d.ts +261 -261
- package/lib/core/model/ArkMethod.js +592 -592
- package/lib/core/model/ArkNamespace.d.ts +66 -66
- package/lib/core/model/ArkNamespace.js +209 -209
- package/lib/core/model/ArkSignature.d.ts +162 -162
- package/lib/core/model/ArkSignature.js +379 -379
- package/lib/core/model/builder/ArkClassBuilder.d.ts +12 -12
- package/lib/core/model/builder/ArkClassBuilder.js +454 -454
- package/lib/core/model/builder/ArkExportBuilder.d.ts +24 -24
- package/lib/core/model/builder/ArkExportBuilder.js +210 -210
- package/lib/core/model/builder/ArkFieldBuilder.d.ts +8 -8
- package/lib/core/model/builder/ArkFieldBuilder.js +193 -193
- package/lib/core/model/builder/ArkFileBuilder.d.ts +9 -9
- package/lib/core/model/builder/ArkFileBuilder.js +165 -165
- package/lib/core/model/builder/ArkImportBuilder.d.ts +4 -4
- package/lib/core/model/builder/ArkImportBuilder.js +128 -128
- package/lib/core/model/builder/ArkMethodBuilder.d.ts +63 -63
- package/lib/core/model/builder/ArkMethodBuilder.js +486 -486
- package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +5 -5
- package/lib/core/model/builder/ArkNamespaceBuilder.js +205 -205
- package/lib/core/model/builder/ArkSignatureBuilder.d.ts +8 -8
- package/lib/core/model/builder/ArkSignatureBuilder.js +40 -40
- package/lib/core/model/builder/BodyBuilder.d.ts +55 -30
- package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
- package/lib/core/model/builder/BodyBuilder.js +542 -371
- package/lib/core/model/builder/builderUtils.d.ts +18 -18
- package/lib/core/model/builder/builderUtils.js +558 -558
- package/lib/index.d.ts +82 -80
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +201 -196
- package/lib/save/ArkStream.d.ts +23 -23
- package/lib/save/ArkStream.js +83 -83
- package/lib/save/DotPrinter.d.ts +43 -43
- package/lib/save/DotPrinter.js +170 -170
- package/lib/save/GraphPrinter.d.ts +16 -16
- package/lib/save/GraphPrinter.js +134 -134
- package/lib/save/JsonPrinter.d.ts +30 -30
- package/lib/save/JsonPrinter.js +580 -580
- package/lib/save/Printer.d.ts +12 -12
- package/lib/save/Printer.js +27 -27
- package/lib/save/PrinterBuilder.d.ts +53 -53
- package/lib/save/PrinterBuilder.js +145 -145
- package/lib/save/ViewTreePrinter.d.ts +14 -14
- package/lib/save/ViewTreePrinter.js +123 -123
- package/lib/save/arkir/ArkIRClassPrinter.d.ts +13 -13
- package/lib/save/arkir/ArkIRClassPrinter.js +92 -92
- package/lib/save/arkir/ArkIRFieldPrinter.d.ts +11 -11
- package/lib/save/arkir/ArkIRFieldPrinter.js +64 -64
- package/lib/save/arkir/ArkIRFilePrinter.d.ts +12 -12
- package/lib/save/arkir/ArkIRFilePrinter.js +54 -54
- package/lib/save/arkir/ArkIRMethodPrinter.d.ts +16 -16
- package/lib/save/arkir/ArkIRMethodPrinter.js +159 -159
- package/lib/save/arkir/ArkIRNamespacePrinter.d.ts +11 -11
- package/lib/save/arkir/ArkIRNamespacePrinter.js +66 -66
- package/lib/save/base/BasePrinter.d.ts +23 -23
- package/lib/save/base/BasePrinter.js +70 -70
- package/lib/save/base/ExportPrinter.d.ts +8 -8
- package/lib/save/base/ExportPrinter.js +67 -67
- package/lib/save/base/ImportPrinter.d.ts +9 -9
- package/lib/save/base/ImportPrinter.js +92 -92
- package/lib/save/base/PrinterUtils.d.ts +24 -24
- package/lib/save/base/PrinterUtils.js +208 -208
- package/lib/save/serializeArkIR.d.ts +8 -8
- package/lib/save/serializeArkIR.js +294 -294
- package/lib/save/source/SourceBase.d.ts +22 -22
- package/lib/save/source/SourceBase.js +64 -64
- package/lib/save/source/SourceBody.d.ts +58 -58
- package/lib/save/source/SourceBody.js +296 -296
- package/lib/save/source/SourceClass.d.ts +25 -25
- package/lib/save/source/SourceClass.js +187 -187
- package/lib/save/source/SourceField.d.ts +13 -13
- package/lib/save/source/SourceField.js +73 -73
- package/lib/save/source/SourceFilePrinter.d.ts +12 -12
- package/lib/save/source/SourceFilePrinter.js +69 -69
- package/lib/save/source/SourceMethod.d.ts +22 -22
- package/lib/save/source/SourceMethod.d.ts.map +1 -1
- package/lib/save/source/SourceMethod.js +196 -193
- package/lib/save/source/SourceNamespace.d.ts +11 -11
- package/lib/save/source/SourceNamespace.js +83 -83
- package/lib/save/source/SourceStmt.d.ts +178 -178
- package/lib/save/source/SourceStmt.js +838 -838
- package/lib/save/source/SourceTransformer.d.ts +46 -46
- package/lib/save/source/SourceTransformer.js +446 -446
- package/lib/transformer/FunctionTransformer.d.ts +2 -2
- package/lib/transformer/FunctionTransformer.js +17 -17
- package/lib/transformer/SceneTransformer.d.ts +2 -2
- package/lib/transformer/SceneTransformer.js +17 -17
- package/lib/transformer/StaticSingleAssignmentFormer.d.ts +12 -12
- package/lib/transformer/StaticSingleAssignmentFormer.js +259 -259
- package/lib/transformer/Transformer.d.ts +6 -6
- package/lib/transformer/Transformer.js +22 -22
- package/lib/utils/AstTreeUtils.d.ts +4 -4
- package/lib/utils/AstTreeUtils.js +26 -26
- package/lib/utils/CfgStructualAnalysis.d.ts +110 -110
- package/lib/utils/CfgStructualAnalysis.js +1277 -1277
- package/lib/utils/FileUtils.d.ts +18 -18
- package/lib/utils/FileUtils.js +135 -135
- package/lib/utils/SparseBitVector.d.ts +100 -100
- package/lib/utils/SparseBitVector.js +445 -445
- package/lib/utils/callGraphUtils.d.ts +30 -30
- package/lib/utils/callGraphUtils.js +205 -205
- package/lib/utils/crypto_utils.d.ts +5 -5
- package/lib/utils/crypto_utils.js +57 -57
- package/lib/utils/entryMethodUtils.d.ts +13 -13
- package/lib/utils/entryMethodUtils.js +110 -110
- package/lib/utils/getAllFiles.d.ts +9 -9
- package/lib/utils/getAllFiles.js +90 -90
- package/lib/utils/json5parser.d.ts +6 -6
- package/lib/utils/json5parser.js +146 -146
- package/lib/utils/logger.d.ts +18 -18
- package/lib/utils/logger.d.ts.map +1 -1
- package/lib/utils/logger.js +97 -90
- package/lib/utils/pathTransfer.d.ts +1 -1
- package/lib/utils/pathTransfer.js +25 -25
- package/node_modules/json5/lib/cli.js +0 -0
- package/node_modules/ohos-typescript/bin/tsc +0 -0
- package/node_modules/ohos-typescript/bin/tsserver +0 -0
- package/package.json +3 -3
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
import { Value } from './Value';
|
|
2
|
-
import { ArkMethod } from '../model/ArkMethod';
|
|
3
|
-
import { Type } from './Type';
|
|
4
|
-
import { ArkBaseModel } from '../model/ArkBaseModel';
|
|
5
|
-
/**
|
|
6
|
-
* abstract type expr represents the type operations of types or values.
|
|
7
|
-
* AbstractTypeExpr is different from AbstractExpr.
|
|
8
|
-
* @category core/base/typeExpr
|
|
9
|
-
* @extends Type
|
|
10
|
-
* @example
|
|
11
|
-
* ```typescript
|
|
12
|
-
* let a = number;
|
|
13
|
-
* type A = typeof a;
|
|
14
|
-
* let b: keyof typeof a;
|
|
15
|
-
* ```
|
|
16
|
-
*/
|
|
17
|
-
export declare abstract class AbstractTypeExpr extends Type {
|
|
18
|
-
abstract getUses(): Value[];
|
|
19
|
-
abstract getType(): Type;
|
|
20
|
-
inferType(arkMethod: ArkMethod): void;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* typeQuery type expr represents the get type of value with typeof.
|
|
24
|
-
* @category core/base/typeExpr
|
|
25
|
-
* @extends AbstractTypeExpr
|
|
26
|
-
* @example
|
|
27
|
-
```typescript
|
|
28
|
-
// opValue is a and type A is number
|
|
29
|
-
let a = number;
|
|
30
|
-
type A = typeof a;
|
|
31
|
-
```
|
|
32
|
-
*/
|
|
33
|
-
export declare class TypeQueryExpr extends AbstractTypeExpr {
|
|
34
|
-
private opValue;
|
|
35
|
-
private genericTypes?;
|
|
36
|
-
constructor(opValue: Value | ArkBaseModel, generateTypes?: Type[]);
|
|
37
|
-
setOpValue(opValue: Value | ArkBaseModel): void;
|
|
38
|
-
getOpValue(): Value | ArkBaseModel;
|
|
39
|
-
setGenerateTypes(types: Type[]): void;
|
|
40
|
-
getGenerateTypes(): Type[] | undefined;
|
|
41
|
-
addGenericType(gType: Type): void;
|
|
42
|
-
getUses(): Value[];
|
|
43
|
-
getType(): Type;
|
|
44
|
-
getTypeString(): string;
|
|
45
|
-
inferType(arkMethod: ArkMethod): void;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* keyof type expr represents the type operator with keyof.
|
|
49
|
-
* It should be an internal expr.
|
|
50
|
-
* the final type should be transferred to union type, unless it cannot find out all types within the union type.
|
|
51
|
-
* @category core/base/typeExpr
|
|
52
|
-
* @extends AbstractTypeExpr
|
|
53
|
-
* @example
|
|
54
|
-
```typescript
|
|
55
|
-
// opType is {a: 1, b: 2} and type of A is KeyofTypeExpr, which can be transferred to union type {'a', 'b'}
|
|
56
|
-
type A = keyof {a: 1, b: 2};
|
|
57
|
-
|
|
58
|
-
// opType is number and type of B is KeyofTypeExpr, which can be transferred to union type "toString" | "toFixed" | "toExponential" | ...
|
|
59
|
-
type B = keyof number;
|
|
60
|
-
```
|
|
61
|
-
*/
|
|
62
|
-
export declare class KeyofTypeExpr extends AbstractTypeExpr {
|
|
63
|
-
private opType;
|
|
64
|
-
constructor(opType: Type);
|
|
65
|
-
getOpType(): Type;
|
|
66
|
-
setOpType(opType: Type): void;
|
|
67
|
-
getUses(): Value[];
|
|
68
|
-
getType(): Type;
|
|
69
|
-
getTypeString(): string;
|
|
70
|
-
inferType(arkMethod: ArkMethod): void;
|
|
71
|
-
}
|
|
1
|
+
import { Value } from './Value';
|
|
2
|
+
import { ArkMethod } from '../model/ArkMethod';
|
|
3
|
+
import { Type } from './Type';
|
|
4
|
+
import { ArkBaseModel } from '../model/ArkBaseModel';
|
|
5
|
+
/**
|
|
6
|
+
* abstract type expr represents the type operations of types or values.
|
|
7
|
+
* AbstractTypeExpr is different from AbstractExpr.
|
|
8
|
+
* @category core/base/typeExpr
|
|
9
|
+
* @extends Type
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* let a = number;
|
|
13
|
+
* type A = typeof a;
|
|
14
|
+
* let b: keyof typeof a;
|
|
15
|
+
* ```
|
|
16
|
+
*/
|
|
17
|
+
export declare abstract class AbstractTypeExpr extends Type {
|
|
18
|
+
abstract getUses(): Value[];
|
|
19
|
+
abstract getType(): Type;
|
|
20
|
+
inferType(arkMethod: ArkMethod): void;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* typeQuery type expr represents the get type of value with typeof.
|
|
24
|
+
* @category core/base/typeExpr
|
|
25
|
+
* @extends AbstractTypeExpr
|
|
26
|
+
* @example
|
|
27
|
+
```typescript
|
|
28
|
+
// opValue is a and type A is number
|
|
29
|
+
let a = number;
|
|
30
|
+
type A = typeof a;
|
|
31
|
+
```
|
|
32
|
+
*/
|
|
33
|
+
export declare class TypeQueryExpr extends AbstractTypeExpr {
|
|
34
|
+
private opValue;
|
|
35
|
+
private genericTypes?;
|
|
36
|
+
constructor(opValue: Value | ArkBaseModel, generateTypes?: Type[]);
|
|
37
|
+
setOpValue(opValue: Value | ArkBaseModel): void;
|
|
38
|
+
getOpValue(): Value | ArkBaseModel;
|
|
39
|
+
setGenerateTypes(types: Type[]): void;
|
|
40
|
+
getGenerateTypes(): Type[] | undefined;
|
|
41
|
+
addGenericType(gType: Type): void;
|
|
42
|
+
getUses(): Value[];
|
|
43
|
+
getType(): Type;
|
|
44
|
+
getTypeString(): string;
|
|
45
|
+
inferType(arkMethod: ArkMethod): void;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* keyof type expr represents the type operator with keyof.
|
|
49
|
+
* It should be an internal expr.
|
|
50
|
+
* the final type should be transferred to union type, unless it cannot find out all types within the union type.
|
|
51
|
+
* @category core/base/typeExpr
|
|
52
|
+
* @extends AbstractTypeExpr
|
|
53
|
+
* @example
|
|
54
|
+
```typescript
|
|
55
|
+
// opType is {a: 1, b: 2} and type of A is KeyofTypeExpr, which can be transferred to union type {'a', 'b'}
|
|
56
|
+
type A = keyof {a: 1, b: 2};
|
|
57
|
+
|
|
58
|
+
// opType is number and type of B is KeyofTypeExpr, which can be transferred to union type "toString" | "toFixed" | "toExponential" | ...
|
|
59
|
+
type B = keyof number;
|
|
60
|
+
```
|
|
61
|
+
*/
|
|
62
|
+
export declare class KeyofTypeExpr extends AbstractTypeExpr {
|
|
63
|
+
private opType;
|
|
64
|
+
constructor(opType: Type);
|
|
65
|
+
getOpType(): Type;
|
|
66
|
+
setOpType(opType: Type): void;
|
|
67
|
+
getUses(): Value[];
|
|
68
|
+
getType(): Type;
|
|
69
|
+
getTypeString(): string;
|
|
70
|
+
inferType(arkMethod: ArkMethod): void;
|
|
71
|
+
}
|
|
72
72
|
//# sourceMappingURL=TypeExpr.d.ts.map
|
|
@@ -1,155 +1,155 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*
|
|
3
|
-
* Copyright (c) 2025 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.KeyofTypeExpr = exports.TypeQueryExpr = exports.AbstractTypeExpr = void 0;
|
|
18
|
-
const ArkMethod_1 = require("../model/ArkMethod");
|
|
19
|
-
const Type_1 = require("./Type");
|
|
20
|
-
const IRInference_1 = require("../common/IRInference");
|
|
21
|
-
const ArkBaseModel_1 = require("../model/ArkBaseModel");
|
|
22
|
-
const ModelUtils_1 = require("../common/ModelUtils");
|
|
23
|
-
const ArkClass_1 = require("../model/ArkClass");
|
|
24
|
-
/**
|
|
25
|
-
* abstract type expr represents the type operations of types or values.
|
|
26
|
-
* AbstractTypeExpr is different from AbstractExpr.
|
|
27
|
-
* @category core/base/typeExpr
|
|
28
|
-
* @extends Type
|
|
29
|
-
* @example
|
|
30
|
-
* ```typescript
|
|
31
|
-
* let a = number;
|
|
32
|
-
* type A = typeof a;
|
|
33
|
-
* let b: keyof typeof a;
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
class AbstractTypeExpr extends Type_1.Type {
|
|
37
|
-
inferType(arkMethod) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
exports.AbstractTypeExpr = AbstractTypeExpr;
|
|
42
|
-
/**
|
|
43
|
-
* typeQuery type expr represents the get type of value with typeof.
|
|
44
|
-
* @category core/base/typeExpr
|
|
45
|
-
* @extends AbstractTypeExpr
|
|
46
|
-
* @example
|
|
47
|
-
```typescript
|
|
48
|
-
// opValue is a and type A is number
|
|
49
|
-
let a = number;
|
|
50
|
-
type A = typeof a;
|
|
51
|
-
```
|
|
52
|
-
*/
|
|
53
|
-
class TypeQueryExpr extends AbstractTypeExpr {
|
|
54
|
-
constructor(opValue, generateTypes) {
|
|
55
|
-
super();
|
|
56
|
-
this.opValue = opValue;
|
|
57
|
-
this.genericTypes = generateTypes;
|
|
58
|
-
}
|
|
59
|
-
setOpValue(opValue) {
|
|
60
|
-
this.opValue = opValue;
|
|
61
|
-
}
|
|
62
|
-
getOpValue() {
|
|
63
|
-
return this.opValue;
|
|
64
|
-
}
|
|
65
|
-
setGenerateTypes(types) {
|
|
66
|
-
this.genericTypes = types;
|
|
67
|
-
}
|
|
68
|
-
getGenerateTypes() {
|
|
69
|
-
return this.genericTypes;
|
|
70
|
-
}
|
|
71
|
-
addGenericType(gType) {
|
|
72
|
-
if (!this.genericTypes) {
|
|
73
|
-
this.genericTypes = [];
|
|
74
|
-
}
|
|
75
|
-
this.genericTypes.push(gType);
|
|
76
|
-
}
|
|
77
|
-
getUses() {
|
|
78
|
-
const opValue = this.getOpValue();
|
|
79
|
-
if (opValue instanceof ArkBaseModel_1.ArkBaseModel) {
|
|
80
|
-
return [];
|
|
81
|
-
}
|
|
82
|
-
let uses = [];
|
|
83
|
-
uses.push(opValue);
|
|
84
|
-
uses.push(...opValue.getUses());
|
|
85
|
-
return uses;
|
|
86
|
-
}
|
|
87
|
-
getType() {
|
|
88
|
-
var _a;
|
|
89
|
-
const opValue = this.getOpValue();
|
|
90
|
-
if (opValue instanceof ArkBaseModel_1.ArkBaseModel) {
|
|
91
|
-
return (_a = ModelUtils_1.ModelUtils.parseArkBaseModel2Type(opValue)) !== null && _a !== void 0 ? _a : Type_1.UnknownType.getInstance();
|
|
92
|
-
}
|
|
93
|
-
return opValue.getType();
|
|
94
|
-
}
|
|
95
|
-
getTypeString() {
|
|
96
|
-
const opValue = this.getOpValue();
|
|
97
|
-
const gTypes = this.getGenerateTypes();
|
|
98
|
-
const genericStr = gTypes && gTypes.length > 0 ? `<${gTypes.join(',')}>` : '';
|
|
99
|
-
if (opValue instanceof ArkClass_1.ArkClass || opValue instanceof ArkMethod_1.ArkMethod) {
|
|
100
|
-
return `typeof ${opValue.getSignature().toString()}${genericStr}`;
|
|
101
|
-
}
|
|
102
|
-
return `typeof ${opValue.toString()}${genericStr}`;
|
|
103
|
-
}
|
|
104
|
-
inferType(arkMethod) {
|
|
105
|
-
IRInference_1.IRInference.inferTypeQueryExpr(this, arkMethod);
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
exports.TypeQueryExpr = TypeQueryExpr;
|
|
109
|
-
/**
|
|
110
|
-
* keyof type expr represents the type operator with keyof.
|
|
111
|
-
* It should be an internal expr.
|
|
112
|
-
* the final type should be transferred to union type, unless it cannot find out all types within the union type.
|
|
113
|
-
* @category core/base/typeExpr
|
|
114
|
-
* @extends AbstractTypeExpr
|
|
115
|
-
* @example
|
|
116
|
-
```typescript
|
|
117
|
-
// opType is {a: 1, b: 2} and type of A is KeyofTypeExpr, which can be transferred to union type {'a', 'b'}
|
|
118
|
-
type A = keyof {a: 1, b: 2};
|
|
119
|
-
|
|
120
|
-
// opType is number and type of B is KeyofTypeExpr, which can be transferred to union type "toString" | "toFixed" | "toExponential" | ...
|
|
121
|
-
type B = keyof number;
|
|
122
|
-
```
|
|
123
|
-
*/
|
|
124
|
-
class KeyofTypeExpr extends AbstractTypeExpr {
|
|
125
|
-
constructor(opType) {
|
|
126
|
-
super();
|
|
127
|
-
this.opType = opType;
|
|
128
|
-
}
|
|
129
|
-
getOpType() {
|
|
130
|
-
return this.opType;
|
|
131
|
-
}
|
|
132
|
-
setOpType(opType) {
|
|
133
|
-
this.opType = opType;
|
|
134
|
-
}
|
|
135
|
-
getUses() {
|
|
136
|
-
let uses = [];
|
|
137
|
-
if (this.getOpType() instanceof TypeQueryExpr) {
|
|
138
|
-
uses.push(...this.getOpType().getUses());
|
|
139
|
-
}
|
|
140
|
-
return uses;
|
|
141
|
-
}
|
|
142
|
-
getType() {
|
|
143
|
-
return this;
|
|
144
|
-
}
|
|
145
|
-
getTypeString() {
|
|
146
|
-
if (this.getOpType() instanceof Type_1.UnionType || this.getOpType() instanceof Type_1.IntersectionType) {
|
|
147
|
-
return `keyof (${this.getOpType().toString()})`;
|
|
148
|
-
}
|
|
149
|
-
return `keyof ${this.getOpType().toString()}`;
|
|
150
|
-
}
|
|
151
|
-
inferType(arkMethod) {
|
|
152
|
-
IRInference_1.IRInference.inferKeyofTypeExpr(this, arkMethod);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
exports.KeyofTypeExpr = KeyofTypeExpr;
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2025 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.KeyofTypeExpr = exports.TypeQueryExpr = exports.AbstractTypeExpr = void 0;
|
|
18
|
+
const ArkMethod_1 = require("../model/ArkMethod");
|
|
19
|
+
const Type_1 = require("./Type");
|
|
20
|
+
const IRInference_1 = require("../common/IRInference");
|
|
21
|
+
const ArkBaseModel_1 = require("../model/ArkBaseModel");
|
|
22
|
+
const ModelUtils_1 = require("../common/ModelUtils");
|
|
23
|
+
const ArkClass_1 = require("../model/ArkClass");
|
|
24
|
+
/**
|
|
25
|
+
* abstract type expr represents the type operations of types or values.
|
|
26
|
+
* AbstractTypeExpr is different from AbstractExpr.
|
|
27
|
+
* @category core/base/typeExpr
|
|
28
|
+
* @extends Type
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* let a = number;
|
|
32
|
+
* type A = typeof a;
|
|
33
|
+
* let b: keyof typeof a;
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
class AbstractTypeExpr extends Type_1.Type {
|
|
37
|
+
inferType(arkMethod) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
exports.AbstractTypeExpr = AbstractTypeExpr;
|
|
42
|
+
/**
|
|
43
|
+
* typeQuery type expr represents the get type of value with typeof.
|
|
44
|
+
* @category core/base/typeExpr
|
|
45
|
+
* @extends AbstractTypeExpr
|
|
46
|
+
* @example
|
|
47
|
+
```typescript
|
|
48
|
+
// opValue is a and type A is number
|
|
49
|
+
let a = number;
|
|
50
|
+
type A = typeof a;
|
|
51
|
+
```
|
|
52
|
+
*/
|
|
53
|
+
class TypeQueryExpr extends AbstractTypeExpr {
|
|
54
|
+
constructor(opValue, generateTypes) {
|
|
55
|
+
super();
|
|
56
|
+
this.opValue = opValue;
|
|
57
|
+
this.genericTypes = generateTypes;
|
|
58
|
+
}
|
|
59
|
+
setOpValue(opValue) {
|
|
60
|
+
this.opValue = opValue;
|
|
61
|
+
}
|
|
62
|
+
getOpValue() {
|
|
63
|
+
return this.opValue;
|
|
64
|
+
}
|
|
65
|
+
setGenerateTypes(types) {
|
|
66
|
+
this.genericTypes = types;
|
|
67
|
+
}
|
|
68
|
+
getGenerateTypes() {
|
|
69
|
+
return this.genericTypes;
|
|
70
|
+
}
|
|
71
|
+
addGenericType(gType) {
|
|
72
|
+
if (!this.genericTypes) {
|
|
73
|
+
this.genericTypes = [];
|
|
74
|
+
}
|
|
75
|
+
this.genericTypes.push(gType);
|
|
76
|
+
}
|
|
77
|
+
getUses() {
|
|
78
|
+
const opValue = this.getOpValue();
|
|
79
|
+
if (opValue instanceof ArkBaseModel_1.ArkBaseModel) {
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
let uses = [];
|
|
83
|
+
uses.push(opValue);
|
|
84
|
+
uses.push(...opValue.getUses());
|
|
85
|
+
return uses;
|
|
86
|
+
}
|
|
87
|
+
getType() {
|
|
88
|
+
var _a;
|
|
89
|
+
const opValue = this.getOpValue();
|
|
90
|
+
if (opValue instanceof ArkBaseModel_1.ArkBaseModel) {
|
|
91
|
+
return (_a = ModelUtils_1.ModelUtils.parseArkBaseModel2Type(opValue)) !== null && _a !== void 0 ? _a : Type_1.UnknownType.getInstance();
|
|
92
|
+
}
|
|
93
|
+
return opValue.getType();
|
|
94
|
+
}
|
|
95
|
+
getTypeString() {
|
|
96
|
+
const opValue = this.getOpValue();
|
|
97
|
+
const gTypes = this.getGenerateTypes();
|
|
98
|
+
const genericStr = gTypes && gTypes.length > 0 ? `<${gTypes.join(',')}>` : '';
|
|
99
|
+
if (opValue instanceof ArkClass_1.ArkClass || opValue instanceof ArkMethod_1.ArkMethod) {
|
|
100
|
+
return `typeof ${opValue.getSignature().toString()}${genericStr}`;
|
|
101
|
+
}
|
|
102
|
+
return `typeof ${opValue.toString()}${genericStr}`;
|
|
103
|
+
}
|
|
104
|
+
inferType(arkMethod) {
|
|
105
|
+
IRInference_1.IRInference.inferTypeQueryExpr(this, arkMethod);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
exports.TypeQueryExpr = TypeQueryExpr;
|
|
109
|
+
/**
|
|
110
|
+
* keyof type expr represents the type operator with keyof.
|
|
111
|
+
* It should be an internal expr.
|
|
112
|
+
* the final type should be transferred to union type, unless it cannot find out all types within the union type.
|
|
113
|
+
* @category core/base/typeExpr
|
|
114
|
+
* @extends AbstractTypeExpr
|
|
115
|
+
* @example
|
|
116
|
+
```typescript
|
|
117
|
+
// opType is {a: 1, b: 2} and type of A is KeyofTypeExpr, which can be transferred to union type {'a', 'b'}
|
|
118
|
+
type A = keyof {a: 1, b: 2};
|
|
119
|
+
|
|
120
|
+
// opType is number and type of B is KeyofTypeExpr, which can be transferred to union type "toString" | "toFixed" | "toExponential" | ...
|
|
121
|
+
type B = keyof number;
|
|
122
|
+
```
|
|
123
|
+
*/
|
|
124
|
+
class KeyofTypeExpr extends AbstractTypeExpr {
|
|
125
|
+
constructor(opType) {
|
|
126
|
+
super();
|
|
127
|
+
this.opType = opType;
|
|
128
|
+
}
|
|
129
|
+
getOpType() {
|
|
130
|
+
return this.opType;
|
|
131
|
+
}
|
|
132
|
+
setOpType(opType) {
|
|
133
|
+
this.opType = opType;
|
|
134
|
+
}
|
|
135
|
+
getUses() {
|
|
136
|
+
let uses = [];
|
|
137
|
+
if (this.getOpType() instanceof TypeQueryExpr) {
|
|
138
|
+
uses.push(...this.getOpType().getUses());
|
|
139
|
+
}
|
|
140
|
+
return uses;
|
|
141
|
+
}
|
|
142
|
+
getType() {
|
|
143
|
+
return this;
|
|
144
|
+
}
|
|
145
|
+
getTypeString() {
|
|
146
|
+
if (this.getOpType() instanceof Type_1.UnionType || this.getOpType() instanceof Type_1.IntersectionType) {
|
|
147
|
+
return `keyof (${this.getOpType().toString()})`;
|
|
148
|
+
}
|
|
149
|
+
return `keyof ${this.getOpType().toString()}`;
|
|
150
|
+
}
|
|
151
|
+
inferType(arkMethod) {
|
|
152
|
+
IRInference_1.IRInference.inferKeyofTypeExpr(this, arkMethod);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.KeyofTypeExpr = KeyofTypeExpr;
|
package/lib/core/base/Value.d.ts
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import { Type } from './Type';
|
|
2
|
-
/**
|
|
3
|
-
* @category core/base
|
|
4
|
-
*/
|
|
5
|
-
export interface Value {
|
|
6
|
-
/**
|
|
7
|
-
* Return a list of values which are contained in this {@link Value}.
|
|
8
|
-
* Value is a core interface in ArkAnalyzer, which may represent any value or expression.
|
|
9
|
-
* @returns An **array** of values used by this value.
|
|
10
|
-
*/
|
|
11
|
-
getUses(): Value[];
|
|
12
|
-
/**
|
|
13
|
-
* Return the type of this value. The interface is encapsulated in {@link Value}.
|
|
14
|
-
* The `Type` is defined in type.ts, such as **Any**, **Unknown**, **TypeParameter**,
|
|
15
|
-
* **UnclearReference**, **Primitive**, **Number**, **String**, etc.
|
|
16
|
-
* @returns The type of this value.
|
|
17
|
-
* @example
|
|
18
|
-
* 1. In the declaration statement, determine the left-value type and right-value type.
|
|
19
|
-
|
|
20
|
-
```typescript
|
|
21
|
-
let leftValue:Value;
|
|
22
|
-
let rightValue:Value;
|
|
23
|
-
...
|
|
24
|
-
if (leftValue.getType() instanceof UnknownType &&
|
|
25
|
-
!(rightValue.getType() instanceof UnknownType) &&
|
|
26
|
-
!(rightValue.getType() instanceof UndefinedType)) {
|
|
27
|
-
...
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
*/
|
|
31
|
-
getType(): Type;
|
|
32
|
-
}
|
|
1
|
+
import { Type } from './Type';
|
|
2
|
+
/**
|
|
3
|
+
* @category core/base
|
|
4
|
+
*/
|
|
5
|
+
export interface Value {
|
|
6
|
+
/**
|
|
7
|
+
* Return a list of values which are contained in this {@link Value}.
|
|
8
|
+
* Value is a core interface in ArkAnalyzer, which may represent any value or expression.
|
|
9
|
+
* @returns An **array** of values used by this value.
|
|
10
|
+
*/
|
|
11
|
+
getUses(): Value[];
|
|
12
|
+
/**
|
|
13
|
+
* Return the type of this value. The interface is encapsulated in {@link Value}.
|
|
14
|
+
* The `Type` is defined in type.ts, such as **Any**, **Unknown**, **TypeParameter**,
|
|
15
|
+
* **UnclearReference**, **Primitive**, **Number**, **String**, etc.
|
|
16
|
+
* @returns The type of this value.
|
|
17
|
+
* @example
|
|
18
|
+
* 1. In the declaration statement, determine the left-value type and right-value type.
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
let leftValue:Value;
|
|
22
|
+
let rightValue:Value;
|
|
23
|
+
...
|
|
24
|
+
if (leftValue.getType() instanceof UnknownType &&
|
|
25
|
+
!(rightValue.getType() instanceof UnknownType) &&
|
|
26
|
+
!(rightValue.getType() instanceof UndefinedType)) {
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
*/
|
|
31
|
+
getType(): Type;
|
|
32
|
+
}
|
|
33
33
|
//# sourceMappingURL=Value.d.ts.map
|
package/lib/core/base/Value.js
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
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 });
|
|
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 });
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export declare enum ArkErrorCode {
|
|
2
|
-
OK = 0,
|
|
3
|
-
CLASS_INSTANCE_FIELD_UNDEFINDED = -1,
|
|
4
|
-
BB_MORE_THAN_ONE_BRANCH_RET_STMT = -2,
|
|
5
|
-
BB_BRANCH_RET_STMT_NOT_AT_END = -3,
|
|
6
|
-
CFG_NOT_FOUND_START_BLOCK = -4,
|
|
7
|
-
CFG_HAS_UNREACHABLE_BLOCK = -5,
|
|
8
|
-
METHOD_SIGNATURE_UNDEFINED = -6,
|
|
9
|
-
METHOD_SIGNATURE_LINE_UNMATCHED = -7
|
|
10
|
-
}
|
|
11
|
-
export interface ArkError {
|
|
12
|
-
errCode: ArkErrorCode;
|
|
13
|
-
errMsg?: string;
|
|
14
|
-
}
|
|
1
|
+
export declare enum ArkErrorCode {
|
|
2
|
+
OK = 0,
|
|
3
|
+
CLASS_INSTANCE_FIELD_UNDEFINDED = -1,
|
|
4
|
+
BB_MORE_THAN_ONE_BRANCH_RET_STMT = -2,
|
|
5
|
+
BB_BRANCH_RET_STMT_NOT_AT_END = -3,
|
|
6
|
+
CFG_NOT_FOUND_START_BLOCK = -4,
|
|
7
|
+
CFG_HAS_UNREACHABLE_BLOCK = -5,
|
|
8
|
+
METHOD_SIGNATURE_UNDEFINED = -6,
|
|
9
|
+
METHOD_SIGNATURE_LINE_UNMATCHED = -7
|
|
10
|
+
}
|
|
11
|
+
export interface ArkError {
|
|
12
|
+
errCode: ArkErrorCode;
|
|
13
|
+
errMsg?: string;
|
|
14
|
+
}
|
|
15
15
|
//# sourceMappingURL=ArkError.d.ts.map
|
|
@@ -1,28 +1,28 @@
|
|
|
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.ArkErrorCode = void 0;
|
|
18
|
-
var ArkErrorCode;
|
|
19
|
-
(function (ArkErrorCode) {
|
|
20
|
-
ArkErrorCode[ArkErrorCode["OK"] = 0] = "OK";
|
|
21
|
-
ArkErrorCode[ArkErrorCode["CLASS_INSTANCE_FIELD_UNDEFINDED"] = -1] = "CLASS_INSTANCE_FIELD_UNDEFINDED";
|
|
22
|
-
ArkErrorCode[ArkErrorCode["BB_MORE_THAN_ONE_BRANCH_RET_STMT"] = -2] = "BB_MORE_THAN_ONE_BRANCH_RET_STMT";
|
|
23
|
-
ArkErrorCode[ArkErrorCode["BB_BRANCH_RET_STMT_NOT_AT_END"] = -3] = "BB_BRANCH_RET_STMT_NOT_AT_END";
|
|
24
|
-
ArkErrorCode[ArkErrorCode["CFG_NOT_FOUND_START_BLOCK"] = -4] = "CFG_NOT_FOUND_START_BLOCK";
|
|
25
|
-
ArkErrorCode[ArkErrorCode["CFG_HAS_UNREACHABLE_BLOCK"] = -5] = "CFG_HAS_UNREACHABLE_BLOCK";
|
|
26
|
-
ArkErrorCode[ArkErrorCode["METHOD_SIGNATURE_UNDEFINED"] = -6] = "METHOD_SIGNATURE_UNDEFINED";
|
|
27
|
-
ArkErrorCode[ArkErrorCode["METHOD_SIGNATURE_LINE_UNMATCHED"] = -7] = "METHOD_SIGNATURE_LINE_UNMATCHED";
|
|
28
|
-
})(ArkErrorCode = exports.ArkErrorCode || (exports.ArkErrorCode = {}));
|
|
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.ArkErrorCode = void 0;
|
|
18
|
+
var ArkErrorCode;
|
|
19
|
+
(function (ArkErrorCode) {
|
|
20
|
+
ArkErrorCode[ArkErrorCode["OK"] = 0] = "OK";
|
|
21
|
+
ArkErrorCode[ArkErrorCode["CLASS_INSTANCE_FIELD_UNDEFINDED"] = -1] = "CLASS_INSTANCE_FIELD_UNDEFINDED";
|
|
22
|
+
ArkErrorCode[ArkErrorCode["BB_MORE_THAN_ONE_BRANCH_RET_STMT"] = -2] = "BB_MORE_THAN_ONE_BRANCH_RET_STMT";
|
|
23
|
+
ArkErrorCode[ArkErrorCode["BB_BRANCH_RET_STMT_NOT_AT_END"] = -3] = "BB_BRANCH_RET_STMT_NOT_AT_END";
|
|
24
|
+
ArkErrorCode[ArkErrorCode["CFG_NOT_FOUND_START_BLOCK"] = -4] = "CFG_NOT_FOUND_START_BLOCK";
|
|
25
|
+
ArkErrorCode[ArkErrorCode["CFG_HAS_UNREACHABLE_BLOCK"] = -5] = "CFG_HAS_UNREACHABLE_BLOCK";
|
|
26
|
+
ArkErrorCode[ArkErrorCode["METHOD_SIGNATURE_UNDEFINED"] = -6] = "METHOD_SIGNATURE_UNDEFINED";
|
|
27
|
+
ArkErrorCode[ArkErrorCode["METHOD_SIGNATURE_LINE_UNMATCHED"] = -7] = "METHOD_SIGNATURE_LINE_UNMATCHED";
|
|
28
|
+
})(ArkErrorCode = exports.ArkErrorCode || (exports.ArkErrorCode = {}));
|