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,204 +1,204 @@
|
|
|
1
|
-
import { Constant } from '../../base/Constant';
|
|
2
|
-
import { Decorator } from '../../base/Decorator';
|
|
3
|
-
import { ArkInstanceFieldRef } from '../../base/Ref';
|
|
4
|
-
import { Stmt } from '../../base/Stmt';
|
|
5
|
-
import { Type } from '../../base/Type';
|
|
6
|
-
import { ArkClass } from '../../model/ArkClass';
|
|
7
|
-
import { ArkField } from '../../model/ArkField';
|
|
8
|
-
import { ArkMethod } from '../../model/ArkMethod';
|
|
9
|
-
import { ClassSignature, MethodSignature } from '../../model/ArkSignature';
|
|
10
|
-
import { ViewTree, ViewTreeNode } from '../ViewTree';
|
|
11
|
-
declare class ViewTreeNodeImpl implements ViewTreeNode {
|
|
12
|
-
name: string;
|
|
13
|
-
stmts: Map<string, [Stmt, (MethodSignature | ArkInstanceFieldRef | Constant)[]]>;
|
|
14
|
-
attributes: Map<string, [Stmt, (MethodSignature | ArkInstanceFieldRef | Constant)[]]>;
|
|
15
|
-
stateValues: Set<ArkField>;
|
|
16
|
-
parent: ViewTreeNode | null;
|
|
17
|
-
children: ViewTreeNodeImpl[];
|
|
18
|
-
classSignature?: MethodSignature | ClassSignature | undefined;
|
|
19
|
-
signature?: MethodSignature | ClassSignature | undefined;
|
|
20
|
-
stateValuesTransfer?: Map<ArkField, ArkMethod | ArkField> | undefined;
|
|
21
|
-
builderParam?: ArkField | undefined;
|
|
22
|
-
builder?: MethodSignature | undefined;
|
|
23
|
-
private type;
|
|
24
|
-
constructor(name: string);
|
|
25
|
-
/**
|
|
26
|
-
* Whether the node type is Builder.
|
|
27
|
-
* @returns true: node is Builder, false others.
|
|
28
|
-
*/
|
|
29
|
-
isBuilder(): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* @internal
|
|
32
|
-
*/
|
|
33
|
-
isBuilderParam(): boolean;
|
|
34
|
-
/**
|
|
35
|
-
* Whether the node type is custom component.
|
|
36
|
-
* @returns true: node is custom component, false others.
|
|
37
|
-
*/
|
|
38
|
-
isCustomComponent(): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* walk node and node's children
|
|
41
|
-
* @param selector Node selector function, return true skipping the follow-up nodes.
|
|
42
|
-
* @returns
|
|
43
|
-
* - true: There are nodes that meet the selector.
|
|
44
|
-
* - false: does not exist.
|
|
45
|
-
*/
|
|
46
|
-
walk(selector: (item: ViewTreeNode) => boolean, visitor?: Set<ViewTreeNode>): boolean;
|
|
47
|
-
static createCustomComponent(): ViewTreeNodeImpl;
|
|
48
|
-
static createBuilderNode(): ViewTreeNodeImpl;
|
|
49
|
-
static createBuilderParamNode(): ViewTreeNodeImpl;
|
|
50
|
-
changeBuilderParam2BuilderNode(builder: ArkMethod): void;
|
|
51
|
-
hasBuilderParam(): boolean;
|
|
52
|
-
clone(parent: ViewTreeNodeImpl, map?: Map<ViewTreeNodeImpl, ViewTreeNodeImpl>): ViewTreeNodeImpl;
|
|
53
|
-
addStmt(tree: ViewTreeImpl, stmt: Stmt): void;
|
|
54
|
-
private parseAttributes;
|
|
55
|
-
private getBindValues;
|
|
56
|
-
parseStateValues(tree: ViewTreeImpl, stmt: Stmt): void;
|
|
57
|
-
}
|
|
58
|
-
declare class TreeNodeStack {
|
|
59
|
-
protected root: ViewTreeNodeImpl | null;
|
|
60
|
-
protected stack: ViewTreeNodeImpl[];
|
|
61
|
-
constructor();
|
|
62
|
-
/**
|
|
63
|
-
* @internal
|
|
64
|
-
*/
|
|
65
|
-
push(node: ViewTreeNodeImpl): void;
|
|
66
|
-
/**
|
|
67
|
-
* @internal
|
|
68
|
-
*/
|
|
69
|
-
pop(): void;
|
|
70
|
-
/**
|
|
71
|
-
* @internal
|
|
72
|
-
*/
|
|
73
|
-
top(): ViewTreeNodeImpl | null;
|
|
74
|
-
/**
|
|
75
|
-
* @internal
|
|
76
|
-
*/
|
|
77
|
-
isEmpty(): boolean;
|
|
78
|
-
/**
|
|
79
|
-
* @internal
|
|
80
|
-
*/
|
|
81
|
-
popAutomicComponent(name: string): void;
|
|
82
|
-
/**
|
|
83
|
-
* @internal
|
|
84
|
-
*/
|
|
85
|
-
popComponentExpect(name: string): TreeNodeStack;
|
|
86
|
-
private getParent;
|
|
87
|
-
protected isContainer(name: string): boolean;
|
|
88
|
-
}
|
|
89
|
-
export declare class ViewTreeImpl extends TreeNodeStack implements ViewTree {
|
|
90
|
-
private render;
|
|
91
|
-
private buildViewStatus;
|
|
92
|
-
private stateValues;
|
|
93
|
-
private fieldTypes;
|
|
94
|
-
/**
|
|
95
|
-
* @internal
|
|
96
|
-
*/
|
|
97
|
-
constructor(render: ArkMethod);
|
|
98
|
-
/**
|
|
99
|
-
* ViewTree root node.
|
|
100
|
-
* @returns root node
|
|
101
|
-
*/
|
|
102
|
-
getRoot(): ViewTreeNode | null;
|
|
103
|
-
/**
|
|
104
|
-
* Map of the component controlled by the state variable
|
|
105
|
-
* @returns
|
|
106
|
-
*/
|
|
107
|
-
getStateValues(): Map<ArkField, Set<ViewTreeNode>>;
|
|
108
|
-
/**
|
|
109
|
-
* @deprecated Use {@link getStateValues} instead.
|
|
110
|
-
*/
|
|
111
|
-
isClassField(name: string): boolean;
|
|
112
|
-
/**
|
|
113
|
-
* @deprecated Use {@link getStateValues} instead.
|
|
114
|
-
*/
|
|
115
|
-
getClassFieldType(name: string): Decorator | Type | undefined;
|
|
116
|
-
/**
|
|
117
|
-
* @internal
|
|
118
|
-
*/
|
|
119
|
-
private buildViewTree;
|
|
120
|
-
/**
|
|
121
|
-
* @internal
|
|
122
|
-
*/
|
|
123
|
-
private isInitialized;
|
|
124
|
-
/**
|
|
125
|
-
* @internal
|
|
126
|
-
*/
|
|
127
|
-
addStateValue(field: ArkField, node: ViewTreeNode): void;
|
|
128
|
-
/**
|
|
129
|
-
* @internal
|
|
130
|
-
*/
|
|
131
|
-
private isCreateFunc;
|
|
132
|
-
private loadClasssFieldTypes;
|
|
133
|
-
/**
|
|
134
|
-
* @internal
|
|
135
|
-
*/
|
|
136
|
-
getDeclaringArkClass(): ArkClass;
|
|
137
|
-
/**
|
|
138
|
-
* @internal
|
|
139
|
-
*/
|
|
140
|
-
private findMethod;
|
|
141
|
-
/**
|
|
142
|
-
* @internal
|
|
143
|
-
*/
|
|
144
|
-
private findMethodWithName;
|
|
145
|
-
/**
|
|
146
|
-
* @internal
|
|
147
|
-
*/
|
|
148
|
-
private findClass;
|
|
149
|
-
private findBuilderMethod;
|
|
150
|
-
/**
|
|
151
|
-
* @internal
|
|
152
|
-
*/
|
|
153
|
-
private addBuilderNode;
|
|
154
|
-
/**
|
|
155
|
-
* @internal
|
|
156
|
-
*/
|
|
157
|
-
private addCustomComponentNode;
|
|
158
|
-
private cloneBuilderParamNode;
|
|
159
|
-
/**
|
|
160
|
-
* @internal
|
|
161
|
-
*/
|
|
162
|
-
private addBuilderParamNode;
|
|
163
|
-
/**
|
|
164
|
-
* @internal
|
|
165
|
-
*/
|
|
166
|
-
private addSystemComponentNode;
|
|
167
|
-
private findMethodInvokeBuilderMethod;
|
|
168
|
-
private parseObjectLiteralExpr;
|
|
169
|
-
private viewComponentCreationParser;
|
|
170
|
-
private waterFlowCreationParser;
|
|
171
|
-
private forEachCreationParser;
|
|
172
|
-
private repeatCreationParser;
|
|
173
|
-
private ifBranchCreationParser;
|
|
174
|
-
private COMPONENT_CREATE_PARSERS;
|
|
175
|
-
private componentCreateParse;
|
|
176
|
-
private parseStaticInvokeExpr;
|
|
177
|
-
/**
|
|
178
|
-
* $temp4.margin({ top: 20 });
|
|
179
|
-
* @param viewTree
|
|
180
|
-
* @param local2Node
|
|
181
|
-
* @param expr
|
|
182
|
-
*/
|
|
183
|
-
private parseInstanceInvokeExpr;
|
|
184
|
-
/**
|
|
185
|
-
* $temp3 = View.create($temp2);
|
|
186
|
-
* $temp4 = View.pop();
|
|
187
|
-
* $temp4.margin({ top: 20 });
|
|
188
|
-
*
|
|
189
|
-
* $temp2 = List.create();
|
|
190
|
-
* $temp5 = $temp2.width('100%');
|
|
191
|
-
* $temp6 = $temp5.height('100%');
|
|
192
|
-
* $temp6.backgroundColor('#FFDCDCDC');
|
|
193
|
-
* @param viewTree
|
|
194
|
-
* @param local2Node
|
|
195
|
-
* @param stmt
|
|
196
|
-
* @returns
|
|
197
|
-
*/
|
|
198
|
-
private parseAssignStmt;
|
|
199
|
-
private parseInvokeStmt;
|
|
200
|
-
private buildViewTreeFromCfg;
|
|
201
|
-
}
|
|
202
|
-
export declare function buildViewTree(render: ArkMethod): ViewTree;
|
|
203
|
-
export {};
|
|
1
|
+
import { Constant } from '../../base/Constant';
|
|
2
|
+
import { Decorator } from '../../base/Decorator';
|
|
3
|
+
import { ArkInstanceFieldRef } from '../../base/Ref';
|
|
4
|
+
import { Stmt } from '../../base/Stmt';
|
|
5
|
+
import { Type } from '../../base/Type';
|
|
6
|
+
import { ArkClass } from '../../model/ArkClass';
|
|
7
|
+
import { ArkField } from '../../model/ArkField';
|
|
8
|
+
import { ArkMethod } from '../../model/ArkMethod';
|
|
9
|
+
import { ClassSignature, MethodSignature } from '../../model/ArkSignature';
|
|
10
|
+
import { ViewTree, ViewTreeNode } from '../ViewTree';
|
|
11
|
+
declare class ViewTreeNodeImpl implements ViewTreeNode {
|
|
12
|
+
name: string;
|
|
13
|
+
stmts: Map<string, [Stmt, (MethodSignature | ArkInstanceFieldRef | Constant)[]]>;
|
|
14
|
+
attributes: Map<string, [Stmt, (MethodSignature | ArkInstanceFieldRef | Constant)[]]>;
|
|
15
|
+
stateValues: Set<ArkField>;
|
|
16
|
+
parent: ViewTreeNode | null;
|
|
17
|
+
children: ViewTreeNodeImpl[];
|
|
18
|
+
classSignature?: MethodSignature | ClassSignature | undefined;
|
|
19
|
+
signature?: MethodSignature | ClassSignature | undefined;
|
|
20
|
+
stateValuesTransfer?: Map<ArkField, ArkMethod | ArkField> | undefined;
|
|
21
|
+
builderParam?: ArkField | undefined;
|
|
22
|
+
builder?: MethodSignature | undefined;
|
|
23
|
+
private type;
|
|
24
|
+
constructor(name: string);
|
|
25
|
+
/**
|
|
26
|
+
* Whether the node type is Builder.
|
|
27
|
+
* @returns true: node is Builder, false others.
|
|
28
|
+
*/
|
|
29
|
+
isBuilder(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
isBuilderParam(): boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Whether the node type is custom component.
|
|
36
|
+
* @returns true: node is custom component, false others.
|
|
37
|
+
*/
|
|
38
|
+
isCustomComponent(): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* walk node and node's children
|
|
41
|
+
* @param selector Node selector function, return true skipping the follow-up nodes.
|
|
42
|
+
* @returns
|
|
43
|
+
* - true: There are nodes that meet the selector.
|
|
44
|
+
* - false: does not exist.
|
|
45
|
+
*/
|
|
46
|
+
walk(selector: (item: ViewTreeNode) => boolean, visitor?: Set<ViewTreeNode>): boolean;
|
|
47
|
+
static createCustomComponent(): ViewTreeNodeImpl;
|
|
48
|
+
static createBuilderNode(): ViewTreeNodeImpl;
|
|
49
|
+
static createBuilderParamNode(): ViewTreeNodeImpl;
|
|
50
|
+
changeBuilderParam2BuilderNode(builder: ArkMethod): void;
|
|
51
|
+
hasBuilderParam(): boolean;
|
|
52
|
+
clone(parent: ViewTreeNodeImpl, map?: Map<ViewTreeNodeImpl, ViewTreeNodeImpl>): ViewTreeNodeImpl;
|
|
53
|
+
addStmt(tree: ViewTreeImpl, stmt: Stmt): void;
|
|
54
|
+
private parseAttributes;
|
|
55
|
+
private getBindValues;
|
|
56
|
+
parseStateValues(tree: ViewTreeImpl, stmt: Stmt): void;
|
|
57
|
+
}
|
|
58
|
+
declare class TreeNodeStack {
|
|
59
|
+
protected root: ViewTreeNodeImpl | null;
|
|
60
|
+
protected stack: ViewTreeNodeImpl[];
|
|
61
|
+
constructor();
|
|
62
|
+
/**
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
push(node: ViewTreeNodeImpl): void;
|
|
66
|
+
/**
|
|
67
|
+
* @internal
|
|
68
|
+
*/
|
|
69
|
+
pop(): void;
|
|
70
|
+
/**
|
|
71
|
+
* @internal
|
|
72
|
+
*/
|
|
73
|
+
top(): ViewTreeNodeImpl | null;
|
|
74
|
+
/**
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
isEmpty(): boolean;
|
|
78
|
+
/**
|
|
79
|
+
* @internal
|
|
80
|
+
*/
|
|
81
|
+
popAutomicComponent(name: string): void;
|
|
82
|
+
/**
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
popComponentExpect(name: string): TreeNodeStack;
|
|
86
|
+
private getParent;
|
|
87
|
+
protected isContainer(name: string): boolean;
|
|
88
|
+
}
|
|
89
|
+
export declare class ViewTreeImpl extends TreeNodeStack implements ViewTree {
|
|
90
|
+
private render;
|
|
91
|
+
private buildViewStatus;
|
|
92
|
+
private stateValues;
|
|
93
|
+
private fieldTypes;
|
|
94
|
+
/**
|
|
95
|
+
* @internal
|
|
96
|
+
*/
|
|
97
|
+
constructor(render: ArkMethod);
|
|
98
|
+
/**
|
|
99
|
+
* ViewTree root node.
|
|
100
|
+
* @returns root node
|
|
101
|
+
*/
|
|
102
|
+
getRoot(): ViewTreeNode | null;
|
|
103
|
+
/**
|
|
104
|
+
* Map of the component controlled by the state variable
|
|
105
|
+
* @returns
|
|
106
|
+
*/
|
|
107
|
+
getStateValues(): Map<ArkField, Set<ViewTreeNode>>;
|
|
108
|
+
/**
|
|
109
|
+
* @deprecated Use {@link getStateValues} instead.
|
|
110
|
+
*/
|
|
111
|
+
isClassField(name: string): boolean;
|
|
112
|
+
/**
|
|
113
|
+
* @deprecated Use {@link getStateValues} instead.
|
|
114
|
+
*/
|
|
115
|
+
getClassFieldType(name: string): Decorator | Type | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* @internal
|
|
118
|
+
*/
|
|
119
|
+
private buildViewTree;
|
|
120
|
+
/**
|
|
121
|
+
* @internal
|
|
122
|
+
*/
|
|
123
|
+
private isInitialized;
|
|
124
|
+
/**
|
|
125
|
+
* @internal
|
|
126
|
+
*/
|
|
127
|
+
addStateValue(field: ArkField, node: ViewTreeNode): void;
|
|
128
|
+
/**
|
|
129
|
+
* @internal
|
|
130
|
+
*/
|
|
131
|
+
private isCreateFunc;
|
|
132
|
+
private loadClasssFieldTypes;
|
|
133
|
+
/**
|
|
134
|
+
* @internal
|
|
135
|
+
*/
|
|
136
|
+
getDeclaringArkClass(): ArkClass;
|
|
137
|
+
/**
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
private findMethod;
|
|
141
|
+
/**
|
|
142
|
+
* @internal
|
|
143
|
+
*/
|
|
144
|
+
private findMethodWithName;
|
|
145
|
+
/**
|
|
146
|
+
* @internal
|
|
147
|
+
*/
|
|
148
|
+
private findClass;
|
|
149
|
+
private findBuilderMethod;
|
|
150
|
+
/**
|
|
151
|
+
* @internal
|
|
152
|
+
*/
|
|
153
|
+
private addBuilderNode;
|
|
154
|
+
/**
|
|
155
|
+
* @internal
|
|
156
|
+
*/
|
|
157
|
+
private addCustomComponentNode;
|
|
158
|
+
private cloneBuilderParamNode;
|
|
159
|
+
/**
|
|
160
|
+
* @internal
|
|
161
|
+
*/
|
|
162
|
+
private addBuilderParamNode;
|
|
163
|
+
/**
|
|
164
|
+
* @internal
|
|
165
|
+
*/
|
|
166
|
+
private addSystemComponentNode;
|
|
167
|
+
private findMethodInvokeBuilderMethod;
|
|
168
|
+
private parseObjectLiteralExpr;
|
|
169
|
+
private viewComponentCreationParser;
|
|
170
|
+
private waterFlowCreationParser;
|
|
171
|
+
private forEachCreationParser;
|
|
172
|
+
private repeatCreationParser;
|
|
173
|
+
private ifBranchCreationParser;
|
|
174
|
+
private COMPONENT_CREATE_PARSERS;
|
|
175
|
+
private componentCreateParse;
|
|
176
|
+
private parseStaticInvokeExpr;
|
|
177
|
+
/**
|
|
178
|
+
* $temp4.margin({ top: 20 });
|
|
179
|
+
* @param viewTree
|
|
180
|
+
* @param local2Node
|
|
181
|
+
* @param expr
|
|
182
|
+
*/
|
|
183
|
+
private parseInstanceInvokeExpr;
|
|
184
|
+
/**
|
|
185
|
+
* $temp3 = View.create($temp2);
|
|
186
|
+
* $temp4 = View.pop();
|
|
187
|
+
* $temp4.margin({ top: 20 });
|
|
188
|
+
*
|
|
189
|
+
* $temp2 = List.create();
|
|
190
|
+
* $temp5 = $temp2.width('100%');
|
|
191
|
+
* $temp6 = $temp5.height('100%');
|
|
192
|
+
* $temp6.backgroundColor('#FFDCDCDC');
|
|
193
|
+
* @param viewTree
|
|
194
|
+
* @param local2Node
|
|
195
|
+
* @param stmt
|
|
196
|
+
* @returns
|
|
197
|
+
*/
|
|
198
|
+
private parseAssignStmt;
|
|
199
|
+
private parseInvokeStmt;
|
|
200
|
+
private buildViewTreeFromCfg;
|
|
201
|
+
}
|
|
202
|
+
export declare function buildViewTree(render: ArkMethod): ViewTree;
|
|
203
|
+
export {};
|
|
204
204
|
//# sourceMappingURL=ViewTreeBuilder.d.ts.map
|