• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2024-2025 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16// callgraph/algorithm
17export { AbstractAnalysis } from './callgraph/algorithm/AbstractAnalysis';
18export { ClassHierarchyAnalysis } from './callgraph/algorithm/ClassHierarchyAnalysis';
19export { RapidTypeAnalysis } from './callgraph/algorithm/RapidTypeAnalysis';
20
21// callgraph/common
22export { PTAStat, PAGStat, CGStat } from './callgraph/common/Statistics';
23
24// callgraph/model
25export * from './callgraph/model/CallGraph';
26export { CallGraphBuilder } from './callgraph/model/builder/CallGraphBuilder';
27
28// callgraph/pointerAnalysis
29export { KLimitedContextSensitive } from './callgraph/pointerAnalysis/Context';
30export { DummyCallCreator } from './callgraph/pointerAnalysis/DummyCallCreator';
31export * from './callgraph/pointerAnalysis/Pag';
32export { CSFuncID, PagBuilder } from './callgraph/pointerAnalysis/PagBuilder';
33export { PointerAnalysis } from './callgraph/pointerAnalysis/PointerAnalysis';
34export { PointerAnalysisConfig } from './callgraph/pointerAnalysis/PointerAnalysisConfig';
35export { PtsSet, DiffPTData } from './callgraph/pointerAnalysis/PtsDS';
36
37export { DVFG } from './VFG/DVFG';
38export { DVFGBuilder } from './VFG/builder/DVFGBuilder';
39
40// core/base
41export { Constant } from './core/base/Constant';
42export { Decorator } from './core/base/Decorator';
43export { DefUseChain } from './core/base/DefUseChain';
44export * from './core/base/Expr';
45export { Local } from './core/base/Local';
46export { LineColPosition, FullPosition } from './core/base/Position';
47export * from './core/base/Ref';
48export * from './core/base/Stmt';
49export * from './core/base/Type';
50export { Value } from './core/base/Value';
51
52// core/common
53export { ModelUtils } from './core/common/ModelUtils';
54export * from './core/common/Const';
55export { DummyMainCreater } from './core/common/DummyMainCreater';
56export * from './core/common/EtsConst';
57export { ExprUseReplacer } from './core/common/ExprUseReplacer';
58export { IRUtils } from './core/common/IRUtils';
59export { RefUseReplacer } from './core/common/RefUseReplacer';
60export { StmtUseReplacer } from './core/common/StmtUseReplacer';
61export * from './core/common/TSConst';
62export { TypeInference } from './core/common/TypeInference';
63export { ValueUtil } from './core/common/ValueUtil';
64export { VisibleValue, Scope } from './core/common/VisibleValue';
65
66// core/dataflow
67export { DataflowProblem, FlowFunction } from './core/dataflow/DataflowProblem';
68export { DataflowResult } from './core/dataflow/DataflowResult';
69export { DataflowSolver } from './core/dataflow/DataflowSolver';
70export { PathEdgePoint, PathEdge } from './core/dataflow/Edge';
71export { Fact } from './core/dataflow/Fact';
72export { UndefinedVariableChecker, UndefinedVariableSolver } from './core/dataflow/UndefinedVariable';
73
74// core/graph
75export { BasicBlock } from './core/graph/BasicBlock';
76export { Cfg } from './core/graph/Cfg';
77export { ViewTree, ViewTreeNode } from './core/graph/ViewTree';
78export { DominanceFinder } from './core/graph/DominanceFinder';
79export { DominanceTree } from './core/graph/DominanceTree';
80export { NodeID, Kind, BaseEdge, BaseNode, BaseExplicitGraph } from './core/graph/BaseExplicitGraph';
81export { SCCDetection } from './core/graph/Scc';
82
83// core/model
84export { ArkFile } from './core/model/ArkFile';
85export { ArkNamespace } from './core/model/ArkNamespace';
86export { ArkClass } from './core/model/ArkClass';
87export { ArkMethod } from './core/model/ArkMethod';
88export { ArkField } from './core/model/ArkField';
89export { ExportInfo } from './core/model/ArkExport';
90export { ImportInfo } from './core/model/ArkImport';
91export { ArkBody } from './core/model/ArkBody';
92export * from './core/model/ArkSignature';
93export * from './core/model/builder/ArkSignatureBuilder';
94
95export { SceneConfig } from './Config';
96export { Scene } from './Scene';
97
98// save
99export { Printer } from './save/Printer';
100export { PrinterBuilder } from './save/PrinterBuilder';
101export { DotMethodPrinter, DotClassPrinter, DotNamespacePrinter, DotFilePrinter } from './save/DotPrinter';
102export { SourceMethod as SourceMethodPrinter } from './save/source/SourceMethod';
103export { SourceClass as SourceClassPrinter } from './save/source/SourceClass';
104export { SourceNamespace as SourceNamespacePrinter } from './save/source/SourceNamespace';
105export { SourceFilePrinter } from './save/source/SourceFilePrinter';
106export { JsonPrinter } from './save/JsonPrinter';
107export { GraphPrinter } from './save/GraphPrinter';
108export { ViewTreePrinter } from './save/ViewTreePrinter';
109
110// transformer
111export * from './transformer/StaticSingleAssignmentFormer';
112
113// utils
114export * from './utils/callGraphUtils';
115export * from './utils/entryMethodUtils';
116export * from './utils/FileUtils';
117export * from './utils/getAllFiles';
118export * from './utils/json5parser';
119export * from './utils/pathTransfer';
120export * from './utils/AstTreeUtils';
121export { LOG_LEVEL, LOG_MODULE_TYPE } from './utils/logger';
122export { default as Logger } from './utils/logger';
123
124//ohos-typescript
125import ts from 'ohos-typescript';
126export { ts };
127