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.
Files changed (279) hide show
  1. package/lib/Config.d.ts +70 -70
  2. package/lib/Config.js +198 -198
  3. package/lib/Scene.d.ts +316 -316
  4. package/lib/Scene.js +1316 -1316
  5. package/lib/callgraph/algorithm/AbstractAnalysis.d.ts +28 -28
  6. package/lib/callgraph/algorithm/AbstractAnalysis.js +144 -144
  7. package/lib/callgraph/algorithm/ClassHierarchyAnalysis.d.ts +10 -10
  8. package/lib/callgraph/algorithm/ClassHierarchyAnalysis.js +69 -69
  9. package/lib/callgraph/algorithm/RapidTypeAnalysis.d.ts +15 -15
  10. package/lib/callgraph/algorithm/RapidTypeAnalysis.js +146 -146
  11. package/lib/callgraph/common/Statistics.d.ts +57 -57
  12. package/lib/callgraph/common/Statistics.js +228 -228
  13. package/lib/callgraph/model/CallGraph.d.ts +96 -96
  14. package/lib/callgraph/model/CallGraph.js +354 -354
  15. package/lib/callgraph/model/builder/CallGraphBuilder.d.ts +15 -15
  16. package/lib/callgraph/model/builder/CallGraphBuilder.js +106 -106
  17. package/lib/callgraph/pointerAnalysis/Context.d.ts +37 -37
  18. package/lib/callgraph/pointerAnalysis/Context.js +155 -155
  19. package/lib/callgraph/pointerAnalysis/DummyCallCreator.d.ts +22 -22
  20. package/lib/callgraph/pointerAnalysis/DummyCallCreator.js +104 -104
  21. package/lib/callgraph/pointerAnalysis/PTAUtils.d.ts +5 -5
  22. package/lib/callgraph/pointerAnalysis/PTAUtils.js +46 -46
  23. package/lib/callgraph/pointerAnalysis/Pag.d.ts +261 -261
  24. package/lib/callgraph/pointerAnalysis/Pag.js +930 -930
  25. package/lib/callgraph/pointerAnalysis/PagBuilder.d.ts +157 -157
  26. package/lib/callgraph/pointerAnalysis/PagBuilder.js +1399 -1399
  27. package/lib/callgraph/pointerAnalysis/PointerAnalysis.d.ts +72 -72
  28. package/lib/callgraph/pointerAnalysis/PointerAnalysis.js +573 -573
  29. package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.d.ts +15 -15
  30. package/lib/callgraph/pointerAnalysis/PointerAnalysisConfig.js +81 -81
  31. package/lib/callgraph/pointerAnalysis/PtsDS.d.ts +80 -80
  32. package/lib/callgraph/pointerAnalysis/PtsDS.js +308 -308
  33. package/lib/core/base/Constant.d.ts +48 -48
  34. package/lib/core/base/Constant.js +103 -103
  35. package/lib/core/base/Decorator.d.ts +15 -15
  36. package/lib/core/base/Decorator.js +46 -46
  37. package/lib/core/base/DefUseChain.d.ts +8 -8
  38. package/lib/core/base/DefUseChain.js +25 -25
  39. package/lib/core/base/Expr.d.ts +340 -340
  40. package/lib/core/base/Expr.js +917 -917
  41. package/lib/core/base/Local.d.ts +104 -104
  42. package/lib/core/base/Local.js +176 -176
  43. package/lib/core/base/Position.d.ts +30 -30
  44. package/lib/core/base/Position.js +147 -147
  45. package/lib/core/base/Ref.d.ts +173 -173
  46. package/lib/core/base/Ref.js +374 -374
  47. package/lib/core/base/Stmt.d.ts +237 -237
  48. package/lib/core/base/Stmt.js +525 -525
  49. package/lib/core/base/Trap.d.ts +8 -8
  50. package/lib/core/base/Trap.js +30 -30
  51. package/lib/core/base/Type.d.ts +308 -308
  52. package/lib/core/base/Type.js +639 -639
  53. package/lib/core/base/TypeExpr.d.ts +71 -71
  54. package/lib/core/base/TypeExpr.js +155 -155
  55. package/lib/core/base/Value.d.ts +32 -32
  56. package/lib/core/base/Value.js +16 -16
  57. package/lib/core/common/ArkError.d.ts +14 -14
  58. package/lib/core/common/ArkError.js +28 -28
  59. package/lib/core/common/ArkIRTransformer.d.ts +67 -67
  60. package/lib/core/common/ArkIRTransformer.js +690 -690
  61. package/lib/core/common/ArkValueTransformer.d.ts +89 -89
  62. package/lib/core/common/ArkValueTransformer.js +1478 -1478
  63. package/lib/core/common/Builtin.d.ts +36 -36
  64. package/lib/core/common/Builtin.js +81 -81
  65. package/lib/core/common/Const.d.ts +21 -21
  66. package/lib/core/common/Const.js +43 -43
  67. package/lib/core/common/DummyMainCreater.d.ts +46 -46
  68. package/lib/core/common/DummyMainCreater.js +319 -319
  69. package/lib/core/common/EtsConst.d.ts +73 -73
  70. package/lib/core/common/EtsConst.js +1021 -1021
  71. package/lib/core/common/ExprUseReplacer.d.ts +21 -21
  72. package/lib/core/common/ExprUseReplacer.js +124 -124
  73. package/lib/core/common/IRInference.d.ts +36 -36
  74. package/lib/core/common/IRInference.d.ts.map +1 -1
  75. package/lib/core/common/IRInference.js +651 -648
  76. package/lib/core/common/IRUtils.d.ts +18 -18
  77. package/lib/core/common/IRUtils.js +141 -141
  78. package/lib/core/common/ModelUtils.d.ts +70 -70
  79. package/lib/core/common/ModelUtils.js +712 -712
  80. package/lib/core/common/RefUseReplacer.d.ts +13 -13
  81. package/lib/core/common/RefUseReplacer.js +52 -52
  82. package/lib/core/common/SdkUtils.d.ts +8 -8
  83. package/lib/core/common/SdkUtils.js +105 -105
  84. package/lib/core/common/StmtDefReplacer.d.ts +12 -12
  85. package/lib/core/common/StmtDefReplacer.js +41 -41
  86. package/lib/core/common/StmtUseReplacer.d.ts +16 -16
  87. package/lib/core/common/StmtUseReplacer.js +108 -108
  88. package/lib/core/common/TSConst.d.ts +18 -18
  89. package/lib/core/common/TSConst.js +36 -36
  90. package/lib/core/common/TypeInference.d.ts +102 -102
  91. package/lib/core/common/TypeInference.js +748 -748
  92. package/lib/core/common/ValueUtil.d.ts +12 -12
  93. package/lib/core/common/ValueUtil.js +54 -54
  94. package/lib/core/common/VisibleValue.d.ts +36 -36
  95. package/lib/core/common/VisibleValue.js +212 -212
  96. package/lib/core/dataflow/DataflowProblem.d.ts +20 -20
  97. package/lib/core/dataflow/DataflowProblem.js +20 -20
  98. package/lib/core/dataflow/DataflowResult.d.ts +7 -7
  99. package/lib/core/dataflow/DataflowResult.js +26 -26
  100. package/lib/core/dataflow/DataflowSolver.d.ts +43 -43
  101. package/lib/core/dataflow/DataflowSolver.js +307 -307
  102. package/lib/core/dataflow/Edge.d.ts +11 -11
  103. package/lib/core/dataflow/Edge.js +31 -31
  104. package/lib/core/dataflow/Fact.d.ts +6 -6
  105. package/lib/core/dataflow/Fact.js +24 -24
  106. package/lib/core/dataflow/GenericDataFlow.d.ts +142 -142
  107. package/lib/core/dataflow/GenericDataFlow.js +109 -109
  108. package/lib/core/dataflow/ReachingDef.d.ts +62 -62
  109. package/lib/core/dataflow/ReachingDef.js +168 -168
  110. package/lib/core/dataflow/UndefinedVariable.d.ts +45 -45
  111. package/lib/core/dataflow/UndefinedVariable.js +288 -288
  112. package/lib/core/dataflow/Util.d.ts +9 -9
  113. package/lib/core/dataflow/Util.js +64 -64
  114. package/lib/core/graph/BaseExplicitGraph.d.ts +58 -58
  115. package/lib/core/graph/BaseExplicitGraph.js +157 -157
  116. package/lib/core/graph/BaseImplicitGraph.d.ts +77 -77
  117. package/lib/core/graph/BaseImplicitGraph.js +78 -78
  118. package/lib/core/graph/BasicBlock.d.ts +104 -104
  119. package/lib/core/graph/BasicBlock.js +280 -280
  120. package/lib/core/graph/Cfg.d.ts +59 -59
  121. package/lib/core/graph/Cfg.js +282 -282
  122. package/lib/core/graph/DependsGraph.d.ts +35 -35
  123. package/lib/core/graph/DependsGraph.js +87 -87
  124. package/lib/core/graph/DominanceFinder.d.ts +15 -15
  125. package/lib/core/graph/DominanceFinder.js +121 -121
  126. package/lib/core/graph/DominanceTree.d.ts +12 -12
  127. package/lib/core/graph/DominanceTree.js +70 -70
  128. package/lib/core/graph/GraphTraits.d.ts +7 -7
  129. package/lib/core/graph/GraphTraits.js +16 -16
  130. package/lib/core/graph/Scc.d.ts +61 -61
  131. package/lib/core/graph/Scc.js +222 -222
  132. package/lib/core/graph/ViewTree.d.ts +114 -114
  133. package/lib/core/graph/ViewTree.js +16 -16
  134. package/lib/core/graph/builder/CfgBuilder.d.ts +176 -176
  135. package/lib/core/graph/builder/CfgBuilder.js +1139 -1139
  136. package/lib/core/graph/builder/ConditionBuilder.d.ts +15 -15
  137. package/lib/core/graph/builder/ConditionBuilder.js +252 -252
  138. package/lib/core/graph/builder/LoopBuilder.d.ts +20 -20
  139. package/lib/core/graph/builder/LoopBuilder.js +251 -251
  140. package/lib/core/graph/builder/SwitchBuilder.d.ts +11 -11
  141. package/lib/core/graph/builder/SwitchBuilder.js +152 -152
  142. package/lib/core/graph/builder/TrapBuilder.d.ts +16 -16
  143. package/lib/core/graph/builder/TrapBuilder.js +272 -272
  144. package/lib/core/graph/builder/ViewTreeBuilder.d.ts +203 -203
  145. package/lib/core/graph/builder/ViewTreeBuilder.js +1055 -1055
  146. package/lib/core/model/ArkBaseModel.d.ts +59 -59
  147. package/lib/core/model/ArkBaseModel.js +274 -274
  148. package/lib/core/model/ArkBody.d.ts +24 -24
  149. package/lib/core/model/ArkBody.js +65 -65
  150. package/lib/core/model/ArkClass.d.ts +206 -206
  151. package/lib/core/model/ArkClass.js +439 -439
  152. package/lib/core/model/ArkExport.d.ts +72 -72
  153. package/lib/core/model/ArkExport.js +147 -147
  154. package/lib/core/model/ArkField.d.ts +62 -62
  155. package/lib/core/model/ArkField.js +113 -113
  156. package/lib/core/model/ArkFile.d.ts +131 -131
  157. package/lib/core/model/ArkFile.js +267 -267
  158. package/lib/core/model/ArkImport.d.ts +44 -44
  159. package/lib/core/model/ArkImport.js +108 -108
  160. package/lib/core/model/ArkMetadata.d.ts +31 -31
  161. package/lib/core/model/ArkMetadata.js +55 -55
  162. package/lib/core/model/ArkMethod.d.ts +261 -261
  163. package/lib/core/model/ArkMethod.js +592 -592
  164. package/lib/core/model/ArkNamespace.d.ts +66 -66
  165. package/lib/core/model/ArkNamespace.js +209 -209
  166. package/lib/core/model/ArkSignature.d.ts +162 -162
  167. package/lib/core/model/ArkSignature.js +379 -379
  168. package/lib/core/model/builder/ArkClassBuilder.d.ts +12 -12
  169. package/lib/core/model/builder/ArkClassBuilder.js +454 -454
  170. package/lib/core/model/builder/ArkExportBuilder.d.ts +24 -24
  171. package/lib/core/model/builder/ArkExportBuilder.js +210 -210
  172. package/lib/core/model/builder/ArkFieldBuilder.d.ts +8 -8
  173. package/lib/core/model/builder/ArkFieldBuilder.js +193 -193
  174. package/lib/core/model/builder/ArkFileBuilder.d.ts +9 -9
  175. package/lib/core/model/builder/ArkFileBuilder.js +165 -165
  176. package/lib/core/model/builder/ArkImportBuilder.d.ts +4 -4
  177. package/lib/core/model/builder/ArkImportBuilder.js +128 -128
  178. package/lib/core/model/builder/ArkMethodBuilder.d.ts +63 -63
  179. package/lib/core/model/builder/ArkMethodBuilder.js +486 -486
  180. package/lib/core/model/builder/ArkNamespaceBuilder.d.ts +5 -5
  181. package/lib/core/model/builder/ArkNamespaceBuilder.js +205 -205
  182. package/lib/core/model/builder/ArkSignatureBuilder.d.ts +8 -8
  183. package/lib/core/model/builder/ArkSignatureBuilder.js +40 -40
  184. package/lib/core/model/builder/BodyBuilder.d.ts +55 -30
  185. package/lib/core/model/builder/BodyBuilder.d.ts.map +1 -1
  186. package/lib/core/model/builder/BodyBuilder.js +542 -371
  187. package/lib/core/model/builder/builderUtils.d.ts +18 -18
  188. package/lib/core/model/builder/builderUtils.js +558 -558
  189. package/lib/index.d.ts +82 -80
  190. package/lib/index.d.ts.map +1 -1
  191. package/lib/index.js +201 -196
  192. package/lib/save/ArkStream.d.ts +23 -23
  193. package/lib/save/ArkStream.js +83 -83
  194. package/lib/save/DotPrinter.d.ts +43 -43
  195. package/lib/save/DotPrinter.js +170 -170
  196. package/lib/save/GraphPrinter.d.ts +16 -16
  197. package/lib/save/GraphPrinter.js +134 -134
  198. package/lib/save/JsonPrinter.d.ts +30 -30
  199. package/lib/save/JsonPrinter.js +580 -580
  200. package/lib/save/Printer.d.ts +12 -12
  201. package/lib/save/Printer.js +27 -27
  202. package/lib/save/PrinterBuilder.d.ts +53 -53
  203. package/lib/save/PrinterBuilder.js +145 -145
  204. package/lib/save/ViewTreePrinter.d.ts +14 -14
  205. package/lib/save/ViewTreePrinter.js +123 -123
  206. package/lib/save/arkir/ArkIRClassPrinter.d.ts +13 -13
  207. package/lib/save/arkir/ArkIRClassPrinter.js +92 -92
  208. package/lib/save/arkir/ArkIRFieldPrinter.d.ts +11 -11
  209. package/lib/save/arkir/ArkIRFieldPrinter.js +64 -64
  210. package/lib/save/arkir/ArkIRFilePrinter.d.ts +12 -12
  211. package/lib/save/arkir/ArkIRFilePrinter.js +54 -54
  212. package/lib/save/arkir/ArkIRMethodPrinter.d.ts +16 -16
  213. package/lib/save/arkir/ArkIRMethodPrinter.js +159 -159
  214. package/lib/save/arkir/ArkIRNamespacePrinter.d.ts +11 -11
  215. package/lib/save/arkir/ArkIRNamespacePrinter.js +66 -66
  216. package/lib/save/base/BasePrinter.d.ts +23 -23
  217. package/lib/save/base/BasePrinter.js +70 -70
  218. package/lib/save/base/ExportPrinter.d.ts +8 -8
  219. package/lib/save/base/ExportPrinter.js +67 -67
  220. package/lib/save/base/ImportPrinter.d.ts +9 -9
  221. package/lib/save/base/ImportPrinter.js +92 -92
  222. package/lib/save/base/PrinterUtils.d.ts +24 -24
  223. package/lib/save/base/PrinterUtils.js +208 -208
  224. package/lib/save/serializeArkIR.d.ts +8 -8
  225. package/lib/save/serializeArkIR.js +294 -294
  226. package/lib/save/source/SourceBase.d.ts +22 -22
  227. package/lib/save/source/SourceBase.js +64 -64
  228. package/lib/save/source/SourceBody.d.ts +58 -58
  229. package/lib/save/source/SourceBody.js +296 -296
  230. package/lib/save/source/SourceClass.d.ts +25 -25
  231. package/lib/save/source/SourceClass.js +187 -187
  232. package/lib/save/source/SourceField.d.ts +13 -13
  233. package/lib/save/source/SourceField.js +73 -73
  234. package/lib/save/source/SourceFilePrinter.d.ts +12 -12
  235. package/lib/save/source/SourceFilePrinter.js +69 -69
  236. package/lib/save/source/SourceMethod.d.ts +22 -22
  237. package/lib/save/source/SourceMethod.d.ts.map +1 -1
  238. package/lib/save/source/SourceMethod.js +196 -193
  239. package/lib/save/source/SourceNamespace.d.ts +11 -11
  240. package/lib/save/source/SourceNamespace.js +83 -83
  241. package/lib/save/source/SourceStmt.d.ts +178 -178
  242. package/lib/save/source/SourceStmt.js +838 -838
  243. package/lib/save/source/SourceTransformer.d.ts +46 -46
  244. package/lib/save/source/SourceTransformer.js +446 -446
  245. package/lib/transformer/FunctionTransformer.d.ts +2 -2
  246. package/lib/transformer/FunctionTransformer.js +17 -17
  247. package/lib/transformer/SceneTransformer.d.ts +2 -2
  248. package/lib/transformer/SceneTransformer.js +17 -17
  249. package/lib/transformer/StaticSingleAssignmentFormer.d.ts +12 -12
  250. package/lib/transformer/StaticSingleAssignmentFormer.js +259 -259
  251. package/lib/transformer/Transformer.d.ts +6 -6
  252. package/lib/transformer/Transformer.js +22 -22
  253. package/lib/utils/AstTreeUtils.d.ts +4 -4
  254. package/lib/utils/AstTreeUtils.js +26 -26
  255. package/lib/utils/CfgStructualAnalysis.d.ts +110 -110
  256. package/lib/utils/CfgStructualAnalysis.js +1277 -1277
  257. package/lib/utils/FileUtils.d.ts +18 -18
  258. package/lib/utils/FileUtils.js +135 -135
  259. package/lib/utils/SparseBitVector.d.ts +100 -100
  260. package/lib/utils/SparseBitVector.js +445 -445
  261. package/lib/utils/callGraphUtils.d.ts +30 -30
  262. package/lib/utils/callGraphUtils.js +205 -205
  263. package/lib/utils/crypto_utils.d.ts +5 -5
  264. package/lib/utils/crypto_utils.js +57 -57
  265. package/lib/utils/entryMethodUtils.d.ts +13 -13
  266. package/lib/utils/entryMethodUtils.js +110 -110
  267. package/lib/utils/getAllFiles.d.ts +9 -9
  268. package/lib/utils/getAllFiles.js +90 -90
  269. package/lib/utils/json5parser.d.ts +6 -6
  270. package/lib/utils/json5parser.js +146 -146
  271. package/lib/utils/logger.d.ts +18 -18
  272. package/lib/utils/logger.d.ts.map +1 -1
  273. package/lib/utils/logger.js +97 -90
  274. package/lib/utils/pathTransfer.d.ts +1 -1
  275. package/lib/utils/pathTransfer.js +25 -25
  276. package/node_modules/json5/lib/cli.js +0 -0
  277. package/node_modules/ohos-typescript/bin/tsc +0 -0
  278. package/node_modules/ohos-typescript/bin/tsserver +0 -0
  279. package/package.json +3 -3
@@ -1,309 +1,309 @@
1
- import { AliasTypeSignature, ClassSignature, MethodSignature, NamespaceSignature } from '../model/ArkSignature';
2
- import { ArkExport, ExportType } from '../model/ArkExport';
3
- import { ModifierType } from '../model/ArkBaseModel';
4
- import { Local } from './Local';
5
- /**
6
- * @category core/base/type
7
- */
8
- export declare abstract class Type {
9
- toString(): string;
10
- abstract getTypeString(): string;
11
- }
12
- /**
13
- * any type
14
- * @category core/base/type
15
- */
16
- export declare class AnyType extends Type {
17
- private static readonly INSTANCE;
18
- static getInstance(): AnyType;
19
- private constructor();
20
- getTypeString(): string;
21
- }
22
- /**
23
- * unknown type
24
- * @category core/base/type
25
- */
26
- export declare class UnknownType extends Type {
27
- private static readonly INSTANCE;
28
- static getInstance(): UnknownType;
29
- private constructor();
30
- getTypeString(): string;
31
- }
32
- /**
33
- * unclear type
34
- * @category core/base/type
35
- */
36
- export declare class UnclearReferenceType extends Type {
37
- private name;
38
- private genericTypes;
39
- constructor(name: string, genericTypes?: Type[]);
40
- getName(): string;
41
- getGenericTypes(): Type[];
42
- getTypeString(): string;
43
- }
44
- /**
45
- * primitive type
46
- * @category core/base/type
47
- */
48
- export declare abstract class PrimitiveType extends Type {
49
- private name;
50
- constructor(name: string);
51
- getName(): string;
52
- getTypeString(): string;
53
- }
54
- export declare class BooleanType extends PrimitiveType {
55
- private static readonly INSTANCE;
56
- private constructor();
57
- static getInstance(): BooleanType;
58
- }
59
- export declare class NumberType extends PrimitiveType {
60
- private static readonly INSTANCE;
61
- private constructor();
62
- static getInstance(): NumberType;
63
- }
64
- export declare class StringType extends PrimitiveType {
65
- private static readonly INSTANCE;
66
- private constructor();
67
- static getInstance(): StringType;
68
- }
69
- /**
70
- * null type
71
- * @category core/base/type
72
- */
73
- export declare class NullType extends PrimitiveType {
74
- private static readonly INSTANCE;
75
- static getInstance(): NullType;
76
- private constructor();
77
- }
78
- /**
79
- * undefined type
80
- * @category core/base/type
81
- */
82
- export declare class UndefinedType extends PrimitiveType {
83
- private static readonly INSTANCE;
84
- static getInstance(): UndefinedType;
85
- private constructor();
86
- }
87
- /**
88
- * literal type
89
- * @category core/base/type
90
- */
91
- export declare class LiteralType extends PrimitiveType {
92
- static readonly TRUE: LiteralType;
93
- static readonly FALSE: LiteralType;
94
- private literalName;
95
- constructor(literalName: string | number | boolean);
96
- getLiteralName(): string | number | boolean;
97
- getTypeString(): string;
98
- }
99
- /**
100
- * union type
101
- * @category core/base/type
102
- */
103
- export declare class UnionType extends Type {
104
- private types;
105
- private currType;
106
- constructor(types: Type[], currType?: Type);
107
- getTypes(): Type[];
108
- getCurrType(): Type;
109
- setCurrType(newType: Type): void;
110
- getTypeString(): string;
111
- flatType(): Type[];
112
- }
113
- /**
114
- * intersection type
115
- * @category core/base/type
116
- */
117
- export declare class IntersectionType extends Type {
118
- private types;
119
- constructor(types: Type[]);
120
- getTypes(): Type[];
121
- getTypeString(): string;
122
- }
123
- /**
124
- * types for function void return type
125
- * @category core/base/type
126
- */
127
- export declare class VoidType extends Type {
128
- private static readonly INSTANCE;
129
- static getInstance(): VoidType;
130
- private constructor();
131
- getTypeString(): string;
132
- }
133
- export declare class NeverType extends Type {
134
- private static readonly INSTANCE;
135
- static getInstance(): NeverType;
136
- private constructor();
137
- getTypeString(): string;
138
- }
139
- /**
140
- * function type
141
- * @category core/base/type
142
- */
143
- export declare class FunctionType extends Type {
144
- private methodSignature;
145
- private realGenericTypes?;
146
- constructor(methodSignature: MethodSignature, realGenericTypes?: Type[]);
147
- getMethodSignature(): MethodSignature;
148
- getRealGenericTypes(): Type[] | undefined;
149
- getTypeString(): string;
150
- }
151
- /**
152
- * types for closures which is a special FunctionType with a lexical env
153
- * @category core/base/type
154
- */
155
- export declare class ClosureType extends FunctionType {
156
- private lexicalEnv;
157
- constructor(lexicalEnv: LexicalEnvType, methodSignature: MethodSignature, realGenericTypes?: Type[]);
158
- getLexicalEnv(): LexicalEnvType;
159
- getTypeString(): string;
160
- }
161
- /**
162
- * type of an object
163
- * @category core/base/type
164
- */
165
- export declare class ClassType extends Type {
166
- private classSignature;
167
- private realGenericTypes?;
168
- constructor(classSignature: ClassSignature, realGenericTypes?: Type[]);
169
- getClassSignature(): ClassSignature;
170
- setClassSignature(newClassSignature: ClassSignature): void;
171
- getRealGenericTypes(): Type[] | undefined;
172
- setRealGenericTypes(types: Type[] | undefined): void;
173
- getTypeString(): string;
174
- }
175
- /**
176
- * Array type
177
- * @category core/base/type
178
- * @extends Type
179
- * @example
180
- ```typescript
181
- // baseType is number, dimension is 1, readonlyFlag is true
182
- let a: readonly number[] = [1, 2, 3];
183
-
184
- // baseType is number, dimension is 1, readonlyFlag is undefined
185
- let a: number[] = [1, 2, 3];
186
- ```
187
- */
188
- export declare class ArrayType extends Type {
189
- private baseType;
190
- private dimension;
191
- private readonlyFlag?;
192
- constructor(baseType: Type, dimension: number);
193
- /**
194
- * Returns the base type of this array, such as `Any`, `Unknown`, `TypeParameter`, etc.
195
- * @returns The base type of array.
196
- */
197
- getBaseType(): Type;
198
- setBaseType(newType: Type): void;
199
- getDimension(): number;
200
- setReadonlyFlag(readonlyFlag: boolean): void;
201
- getReadonlyFlag(): boolean | undefined;
202
- getTypeString(): string;
203
- }
204
- /**
205
- * Tuple type
206
- * @category core/base/type
207
- * @extends Type
208
- * @example
209
- ```typescript
210
- // types are number and string, dimension is 1, readonlyFlag is true
211
- let a: readonly number[] = [1, 2, 3];
212
-
213
- // baseType is number, dimension is 1, readonlyFlag is undefined
214
- let a: number[] = [1, 2, 3];
215
- ```
216
- */
217
- export declare class TupleType extends Type {
218
- private types;
219
- private readonlyFlag?;
220
- constructor(types: Type[]);
221
- getTypes(): Type[];
222
- setReadonlyFlag(readonlyFlag: boolean): void;
223
- getReadonlyFlag(): boolean | undefined;
224
- getTypeString(): string;
225
- }
226
- /**
227
- * alias type
228
- * @category core/base/type
229
- * @extends Type
230
- * @example
231
- ```typescript
232
- // alias type A is defined without any genericTypes (undefined) or realGenericTypes (undefined)
233
- type A = number;
234
-
235
- // alias type B is defined with genericTypes but not instance with realGenericTypes (undefined)
236
- type B<T> = T[];
237
-
238
- // alias type could also be defined with another instance generic type such as aliaType, FunctionType and ClassType
239
- // genericTypes and realGenericTypes of C are both undefined
240
- // originalType of C is an instance of B with genericTypes [T] and realGenericTypes [numberType]
241
- type C = B<number>;
242
- ```
243
- */
244
- export declare class AliasType extends Type implements ArkExport {
245
- private originalType;
246
- private name;
247
- private signature;
248
- protected modifiers?: number;
249
- private genericTypes?;
250
- private realGenericTypes?;
251
- constructor(name: string, originalType: Type, signature: AliasTypeSignature, genericTypes?: GenericType[]);
252
- getName(): string;
253
- setOriginalType(type: Type): void;
254
- getOriginalType(): Type;
255
- getTypeString(): string;
256
- getExportType(): ExportType;
257
- getModifiers(): number;
258
- containsModifier(modifierType: ModifierType): boolean;
259
- setModifiers(modifiers: number): void;
260
- addModifier(modifier: ModifierType | number): void;
261
- removeModifier(modifier: ModifierType): void;
262
- getSignature(): AliasTypeSignature;
263
- setGenericTypes(genericTypes: GenericType[]): void;
264
- getGenericTypes(): GenericType[] | undefined;
265
- setRealGenericTypes(realGenericTypes: Type[]): void;
266
- getRealGenericTypes(): Type[] | undefined;
267
- }
268
- export declare class GenericType extends Type {
269
- private name;
270
- private defaultType?;
271
- private constraint?;
272
- private index?;
273
- constructor(name: string, defaultType?: Type, constraint?: Type);
274
- getName(): string;
275
- getDefaultType(): Type | undefined;
276
- setDefaultType(type: Type): void;
277
- getConstraint(): Type | undefined;
278
- setConstraint(type: Type): void;
279
- setIndex(index: number): void;
280
- getIndex(): number;
281
- getTypeString(): string;
282
- }
283
- export declare abstract class AnnotationType extends Type {
284
- private originType;
285
- protected constructor(originType: string);
286
- getOriginType(): string;
287
- getTypeString(): string;
288
- }
289
- export declare class AnnotationNamespaceType extends AnnotationType {
290
- private namespaceSignature;
291
- static getInstance(signature: NamespaceSignature): AnnotationNamespaceType;
292
- getNamespaceSignature(): NamespaceSignature;
293
- setNamespaceSignature(signature: NamespaceSignature): void;
294
- constructor(originType: string);
295
- getOriginType(): string;
296
- }
297
- export declare class AnnotationTypeQueryType extends AnnotationType {
298
- constructor(originType: string);
299
- }
300
- export declare class LexicalEnvType extends Type {
301
- private nestedMethodSignature;
302
- private closures;
303
- constructor(nestedMethod: MethodSignature, closures?: Local[]);
304
- getNestedMethod(): MethodSignature;
305
- getClosures(): Local[];
306
- addClosure(closure: Local): void;
307
- getTypeString(): string;
308
- }
1
+ import { AliasTypeSignature, ClassSignature, MethodSignature, NamespaceSignature } from '../model/ArkSignature';
2
+ import { ArkExport, ExportType } from '../model/ArkExport';
3
+ import { ModifierType } from '../model/ArkBaseModel';
4
+ import { Local } from './Local';
5
+ /**
6
+ * @category core/base/type
7
+ */
8
+ export declare abstract class Type {
9
+ toString(): string;
10
+ abstract getTypeString(): string;
11
+ }
12
+ /**
13
+ * any type
14
+ * @category core/base/type
15
+ */
16
+ export declare class AnyType extends Type {
17
+ private static readonly INSTANCE;
18
+ static getInstance(): AnyType;
19
+ private constructor();
20
+ getTypeString(): string;
21
+ }
22
+ /**
23
+ * unknown type
24
+ * @category core/base/type
25
+ */
26
+ export declare class UnknownType extends Type {
27
+ private static readonly INSTANCE;
28
+ static getInstance(): UnknownType;
29
+ private constructor();
30
+ getTypeString(): string;
31
+ }
32
+ /**
33
+ * unclear type
34
+ * @category core/base/type
35
+ */
36
+ export declare class UnclearReferenceType extends Type {
37
+ private name;
38
+ private genericTypes;
39
+ constructor(name: string, genericTypes?: Type[]);
40
+ getName(): string;
41
+ getGenericTypes(): Type[];
42
+ getTypeString(): string;
43
+ }
44
+ /**
45
+ * primitive type
46
+ * @category core/base/type
47
+ */
48
+ export declare abstract class PrimitiveType extends Type {
49
+ private name;
50
+ constructor(name: string);
51
+ getName(): string;
52
+ getTypeString(): string;
53
+ }
54
+ export declare class BooleanType extends PrimitiveType {
55
+ private static readonly INSTANCE;
56
+ private constructor();
57
+ static getInstance(): BooleanType;
58
+ }
59
+ export declare class NumberType extends PrimitiveType {
60
+ private static readonly INSTANCE;
61
+ private constructor();
62
+ static getInstance(): NumberType;
63
+ }
64
+ export declare class StringType extends PrimitiveType {
65
+ private static readonly INSTANCE;
66
+ private constructor();
67
+ static getInstance(): StringType;
68
+ }
69
+ /**
70
+ * null type
71
+ * @category core/base/type
72
+ */
73
+ export declare class NullType extends PrimitiveType {
74
+ private static readonly INSTANCE;
75
+ static getInstance(): NullType;
76
+ private constructor();
77
+ }
78
+ /**
79
+ * undefined type
80
+ * @category core/base/type
81
+ */
82
+ export declare class UndefinedType extends PrimitiveType {
83
+ private static readonly INSTANCE;
84
+ static getInstance(): UndefinedType;
85
+ private constructor();
86
+ }
87
+ /**
88
+ * literal type
89
+ * @category core/base/type
90
+ */
91
+ export declare class LiteralType extends PrimitiveType {
92
+ static readonly TRUE: LiteralType;
93
+ static readonly FALSE: LiteralType;
94
+ private literalName;
95
+ constructor(literalName: string | number | boolean);
96
+ getLiteralName(): string | number | boolean;
97
+ getTypeString(): string;
98
+ }
99
+ /**
100
+ * union type
101
+ * @category core/base/type
102
+ */
103
+ export declare class UnionType extends Type {
104
+ private types;
105
+ private currType;
106
+ constructor(types: Type[], currType?: Type);
107
+ getTypes(): Type[];
108
+ getCurrType(): Type;
109
+ setCurrType(newType: Type): void;
110
+ getTypeString(): string;
111
+ flatType(): Type[];
112
+ }
113
+ /**
114
+ * intersection type
115
+ * @category core/base/type
116
+ */
117
+ export declare class IntersectionType extends Type {
118
+ private types;
119
+ constructor(types: Type[]);
120
+ getTypes(): Type[];
121
+ getTypeString(): string;
122
+ }
123
+ /**
124
+ * types for function void return type
125
+ * @category core/base/type
126
+ */
127
+ export declare class VoidType extends Type {
128
+ private static readonly INSTANCE;
129
+ static getInstance(): VoidType;
130
+ private constructor();
131
+ getTypeString(): string;
132
+ }
133
+ export declare class NeverType extends Type {
134
+ private static readonly INSTANCE;
135
+ static getInstance(): NeverType;
136
+ private constructor();
137
+ getTypeString(): string;
138
+ }
139
+ /**
140
+ * function type
141
+ * @category core/base/type
142
+ */
143
+ export declare class FunctionType extends Type {
144
+ private methodSignature;
145
+ private realGenericTypes?;
146
+ constructor(methodSignature: MethodSignature, realGenericTypes?: Type[]);
147
+ getMethodSignature(): MethodSignature;
148
+ getRealGenericTypes(): Type[] | undefined;
149
+ getTypeString(): string;
150
+ }
151
+ /**
152
+ * types for closures which is a special FunctionType with a lexical env
153
+ * @category core/base/type
154
+ */
155
+ export declare class ClosureType extends FunctionType {
156
+ private lexicalEnv;
157
+ constructor(lexicalEnv: LexicalEnvType, methodSignature: MethodSignature, realGenericTypes?: Type[]);
158
+ getLexicalEnv(): LexicalEnvType;
159
+ getTypeString(): string;
160
+ }
161
+ /**
162
+ * type of an object
163
+ * @category core/base/type
164
+ */
165
+ export declare class ClassType extends Type {
166
+ private classSignature;
167
+ private realGenericTypes?;
168
+ constructor(classSignature: ClassSignature, realGenericTypes?: Type[]);
169
+ getClassSignature(): ClassSignature;
170
+ setClassSignature(newClassSignature: ClassSignature): void;
171
+ getRealGenericTypes(): Type[] | undefined;
172
+ setRealGenericTypes(types: Type[] | undefined): void;
173
+ getTypeString(): string;
174
+ }
175
+ /**
176
+ * Array type
177
+ * @category core/base/type
178
+ * @extends Type
179
+ * @example
180
+ ```typescript
181
+ // baseType is number, dimension is 1, readonlyFlag is true
182
+ let a: readonly number[] = [1, 2, 3];
183
+
184
+ // baseType is number, dimension is 1, readonlyFlag is undefined
185
+ let a: number[] = [1, 2, 3];
186
+ ```
187
+ */
188
+ export declare class ArrayType extends Type {
189
+ private baseType;
190
+ private dimension;
191
+ private readonlyFlag?;
192
+ constructor(baseType: Type, dimension: number);
193
+ /**
194
+ * Returns the base type of this array, such as `Any`, `Unknown`, `TypeParameter`, etc.
195
+ * @returns The base type of array.
196
+ */
197
+ getBaseType(): Type;
198
+ setBaseType(newType: Type): void;
199
+ getDimension(): number;
200
+ setReadonlyFlag(readonlyFlag: boolean): void;
201
+ getReadonlyFlag(): boolean | undefined;
202
+ getTypeString(): string;
203
+ }
204
+ /**
205
+ * Tuple type
206
+ * @category core/base/type
207
+ * @extends Type
208
+ * @example
209
+ ```typescript
210
+ // types are number and string, dimension is 1, readonlyFlag is true
211
+ let a: readonly number[] = [1, 2, 3];
212
+
213
+ // baseType is number, dimension is 1, readonlyFlag is undefined
214
+ let a: number[] = [1, 2, 3];
215
+ ```
216
+ */
217
+ export declare class TupleType extends Type {
218
+ private types;
219
+ private readonlyFlag?;
220
+ constructor(types: Type[]);
221
+ getTypes(): Type[];
222
+ setReadonlyFlag(readonlyFlag: boolean): void;
223
+ getReadonlyFlag(): boolean | undefined;
224
+ getTypeString(): string;
225
+ }
226
+ /**
227
+ * alias type
228
+ * @category core/base/type
229
+ * @extends Type
230
+ * @example
231
+ ```typescript
232
+ // alias type A is defined without any genericTypes (undefined) or realGenericTypes (undefined)
233
+ type A = number;
234
+
235
+ // alias type B is defined with genericTypes but not instance with realGenericTypes (undefined)
236
+ type B<T> = T[];
237
+
238
+ // alias type could also be defined with another instance generic type such as aliaType, FunctionType and ClassType
239
+ // genericTypes and realGenericTypes of C are both undefined
240
+ // originalType of C is an instance of B with genericTypes [T] and realGenericTypes [numberType]
241
+ type C = B<number>;
242
+ ```
243
+ */
244
+ export declare class AliasType extends Type implements ArkExport {
245
+ private originalType;
246
+ private name;
247
+ private signature;
248
+ protected modifiers?: number;
249
+ private genericTypes?;
250
+ private realGenericTypes?;
251
+ constructor(name: string, originalType: Type, signature: AliasTypeSignature, genericTypes?: GenericType[]);
252
+ getName(): string;
253
+ setOriginalType(type: Type): void;
254
+ getOriginalType(): Type;
255
+ getTypeString(): string;
256
+ getExportType(): ExportType;
257
+ getModifiers(): number;
258
+ containsModifier(modifierType: ModifierType): boolean;
259
+ setModifiers(modifiers: number): void;
260
+ addModifier(modifier: ModifierType | number): void;
261
+ removeModifier(modifier: ModifierType): void;
262
+ getSignature(): AliasTypeSignature;
263
+ setGenericTypes(genericTypes: GenericType[]): void;
264
+ getGenericTypes(): GenericType[] | undefined;
265
+ setRealGenericTypes(realGenericTypes: Type[]): void;
266
+ getRealGenericTypes(): Type[] | undefined;
267
+ }
268
+ export declare class GenericType extends Type {
269
+ private name;
270
+ private defaultType?;
271
+ private constraint?;
272
+ private index?;
273
+ constructor(name: string, defaultType?: Type, constraint?: Type);
274
+ getName(): string;
275
+ getDefaultType(): Type | undefined;
276
+ setDefaultType(type: Type): void;
277
+ getConstraint(): Type | undefined;
278
+ setConstraint(type: Type): void;
279
+ setIndex(index: number): void;
280
+ getIndex(): number;
281
+ getTypeString(): string;
282
+ }
283
+ export declare abstract class AnnotationType extends Type {
284
+ private originType;
285
+ protected constructor(originType: string);
286
+ getOriginType(): string;
287
+ getTypeString(): string;
288
+ }
289
+ export declare class AnnotationNamespaceType extends AnnotationType {
290
+ private namespaceSignature;
291
+ static getInstance(signature: NamespaceSignature): AnnotationNamespaceType;
292
+ getNamespaceSignature(): NamespaceSignature;
293
+ setNamespaceSignature(signature: NamespaceSignature): void;
294
+ constructor(originType: string);
295
+ getOriginType(): string;
296
+ }
297
+ export declare class AnnotationTypeQueryType extends AnnotationType {
298
+ constructor(originType: string);
299
+ }
300
+ export declare class LexicalEnvType extends Type {
301
+ private nestedMethodSignature;
302
+ private closures;
303
+ constructor(nestedMethod: MethodSignature, closures?: Local[]);
304
+ getNestedMethod(): MethodSignature;
305
+ getClosures(): Local[];
306
+ addClosure(closure: Local): void;
307
+ getTypeString(): string;
308
+ }
309
309
  //# sourceMappingURL=Type.d.ts.map