ranger-compiler 2.1.69 → 3.0.3

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 (363) hide show
  1. package/CHANGELOG.md +103 -0
  2. package/README.md +991 -96
  3. package/{compiler/Lang.clj → dist/Lang.rgr} +2345 -75
  4. package/dist/README.md +116 -0
  5. package/dist/{bin/api.d.ts → api.d.ts} +430 -154
  6. package/dist/api.js +34345 -0
  7. package/{lib/Ajax.clj → dist/lib/Ajax.rgr} +1 -1
  8. package/{lib/CmdParams.clj → dist/lib/CmdParams.rgr} +72 -72
  9. package/{lib/Crypto.clj → dist/lib/Crypto.rgr} +1 -1
  10. package/{lib/DOMLib.clj → dist/lib/DOMLib.rgr} +2 -2
  11. package/{lib/Engine3D.clj → dist/lib/Engine3D.rgr} +1 -1
  12. package/{lib/ImmutableVector.clj → dist/lib/ImmutableVector.rgr} +364 -364
  13. package/{lib/IndexedDB.clj → dist/lib/IndexedDB.rgr} +1 -1
  14. package/{lib/JSON.clj → dist/lib/JSON.rgr} +105 -2
  15. package/{lib/JinxProcess.clj → dist/lib/JinxProcess.rgr} +3 -3
  16. package/{lib/Storage.clj → dist/lib/Storage.rgr} +1 -1
  17. package/{lib/Timers.clj → dist/lib/Timers.rgr} +176 -170
  18. package/{lib/ViewLib.clj → dist/lib/ViewLib.rgr} +1 -1
  19. package/dist/lib/lib/ACEEditor.rgr +5 -0
  20. package/dist/lib/lib/Ajax.rgr +196 -0
  21. package/dist/lib/lib/CmdParams.rgr +72 -0
  22. package/dist/lib/lib/Crypto.rgr +90 -0
  23. package/dist/lib/lib/DOMLib.rgr +307 -0
  24. package/{examples/3D/Engine3D.clj → dist/lib/lib/Engine3D.rgr} +870 -857
  25. package/dist/lib/lib/ImmutableVector.rgr +364 -0
  26. package/dist/lib/lib/IndexedDB.rgr +32 -0
  27. package/{compiler/JSON.clj → dist/lib/lib/JSON.rgr} +106 -3
  28. package/dist/lib/lib/JinxProcess.rgr +838 -0
  29. package/dist/lib/lib/SQL.rgr +44 -0
  30. package/dist/lib/lib/ServiceLib.rgr +9 -0
  31. package/dist/lib/lib/Storage.rgr +89 -0
  32. package/dist/lib/lib/Time.rgr +75 -0
  33. package/dist/lib/lib/Timers.rgr +176 -0
  34. package/dist/lib/lib/TypedArrays.rgr +14 -0
  35. package/dist/lib/lib/ViewLib.rgr +851 -0
  36. package/dist/lib/lib/WebLib.rgr +47 -0
  37. package/dist/lib/lib/WebServerLib.rgr +137 -0
  38. package/{lib/ranger-dir.clj → dist/lib/lib/ranger-dir.rgr} +1 -1
  39. package/{compiler/stdlib.clj → dist/lib/lib/stdlib.rgr} +42 -19
  40. package/{lib/stdops.clj → dist/lib/lib/stdops.rgr} +1 -1
  41. package/dist/lib/ranger-dir.rgr +175 -0
  42. package/{lib/stdlib.clj → dist/lib/stdlib.rgr} +2 -2
  43. package/dist/lib/stdops.rgr +168 -0
  44. package/dist/package.json +47 -0
  45. package/{bin/output.js → dist/rgrc.js} +15377 -7935
  46. package/dist/stdops.rgr +168 -0
  47. package/package.json +196 -38
  48. package/adventofcode/day1/bin/LambdaSignature1.java +0 -3
  49. package/adventofcode/day1/bin/LambdaSignature2.java +0 -3
  50. package/adventofcode/day1/bin/LambdaSignature3.java +0 -3
  51. package/adventofcode/day1/bin/day1.cpp +0 -124
  52. package/adventofcode/day1/bin/day1.go +0 -75
  53. package/adventofcode/day1/bin/day1.js +0 -45
  54. package/adventofcode/day1/bin/day1.php +0 -46
  55. package/adventofcode/day1/bin/day1.scala +0 -48
  56. package/adventofcode/day1/bin/day1.swift +0 -48
  57. package/adventofcode/day1/bin/day1_part2.cpp +0 -180
  58. package/adventofcode/day1/bin/day1_part2.go +0 -123
  59. package/adventofcode/day1/bin/day1_part2.js +0 -76
  60. package/adventofcode/day1/bin/day1_part2.php +0 -88
  61. package/adventofcode/day1/bin/day1_part2.scala +0 -81
  62. package/adventofcode/day1/bin/day1_part2.swift +0 -91
  63. package/adventofcode/day1/bin/day_one.java +0 -38
  64. package/adventofcode/day1/bin/day_one_part_two.java +0 -57
  65. package/adventofcode/day1/bin/operatorsOf.java +0 -37
  66. package/adventofcode/day1/bin/operatorsOf_5.java +0 -10
  67. package/adventofcode/day1/bin/operatorsOfboolean_5.java +0 -10
  68. package/adventofcode/day1/bin/variant.hpp +0 -2416
  69. package/adventofcode/day1/compile.bat +0 -7
  70. package/adventofcode/day1/compile2.bat +0 -7
  71. package/adventofcode/day1/day1.clj +0 -19
  72. package/adventofcode/day1/day1_part2.clj +0 -43
  73. package/adventofcode/day1/input1.txt +0 -1
  74. package/adventofcode/day2/bin/LambdaSignature1.class +0 -0
  75. package/adventofcode/day2/bin/LambdaSignature1.java +0 -3
  76. package/adventofcode/day2/bin/LambdaSignature2.class +0 -0
  77. package/adventofcode/day2/bin/LambdaSignature2.java +0 -3
  78. package/adventofcode/day2/bin/day2.cpp +0 -133
  79. package/adventofcode/day2/bin/day2.go +0 -85
  80. package/adventofcode/day2/bin/day2.js +0 -45
  81. package/adventofcode/day2/bin/day2.php +0 -59
  82. package/adventofcode/day2/bin/day2.scala +0 -54
  83. package/adventofcode/day2/bin/day2.swift +0 -62
  84. package/adventofcode/day2/bin/day2_part2.cpp +0 -150
  85. package/adventofcode/day2/bin/day2_part2.go +0 -101
  86. package/adventofcode/day2/bin/day2_part2.js +0 -54
  87. package/adventofcode/day2/bin/day2_part2.php +0 -80
  88. package/adventofcode/day2/bin/day2_part2.scala +0 -68
  89. package/adventofcode/day2/bin/day2_part2.swift +0 -82
  90. package/adventofcode/day2/bin/day_two.java +0 -61
  91. package/adventofcode/day2/bin/day_two_part_two$1$1$1.class +0 -0
  92. package/adventofcode/day2/bin/day_two_part_two$1$1.class +0 -0
  93. package/adventofcode/day2/bin/day_two_part_two$1.class +0 -0
  94. package/adventofcode/day2/bin/day_two_part_two.class +0 -0
  95. package/adventofcode/day2/bin/day_two_part_two.java +0 -80
  96. package/adventofcode/day2/bin/operatorsOf.class +0 -0
  97. package/adventofcode/day2/bin/operatorsOf.java +0 -18
  98. package/adventofcode/day2/bin/variant.hpp +0 -2416
  99. package/adventofcode/day2/compile.bat +0 -7
  100. package/adventofcode/day2/compile2.bat +0 -7
  101. package/adventofcode/day2/day2.clj +0 -60
  102. package/adventofcode/day2/day2_part2.clj +0 -69
  103. package/adventofcode/day2/input1.txt +0 -1
  104. package/adventofcode/day3/bin/Grid.java +0 -92
  105. package/adventofcode/day3/bin/GridRow.java +0 -5
  106. package/adventofcode/day3/bin/LambdaSignature1.java +0 -3
  107. package/adventofcode/day3/bin/LambdaSignature2.java +0 -3
  108. package/adventofcode/day3/bin/LambdaSignature3.java +0 -3
  109. package/adventofcode/day3/bin/day3.cpp +0 -64
  110. package/adventofcode/day3/bin/day3.go +0 -55
  111. package/adventofcode/day3/bin/day3.js +0 -42
  112. package/adventofcode/day3/bin/day3.php +0 -41
  113. package/adventofcode/day3/bin/day3.scala +0 -52
  114. package/adventofcode/day3/bin/day3.swift +0 -43
  115. package/adventofcode/day3/bin/day3_part2.cpp +0 -216
  116. package/adventofcode/day3/bin/day3_part2.go +0 -188
  117. package/adventofcode/day3/bin/day3_part2.js +0 -123
  118. package/adventofcode/day3/bin/day3_part2.php +0 -135
  119. package/adventofcode/day3/bin/day3_part2.swift +0 -131
  120. package/adventofcode/day3/bin/day_three_part_two.java +0 -43
  121. package/adventofcode/day3/bin/day_two.java +0 -42
  122. package/adventofcode/day3/bin/operatorsOf.java +0 -14
  123. package/adventofcode/day3/bin/variant.hpp +0 -2416
  124. package/adventofcode/day3/compile.bat +0 -7
  125. package/adventofcode/day3/compile2.bat +0 -7
  126. package/adventofcode/day3/day3.clj +0 -42
  127. package/adventofcode/day3/day3_part2.clj +0 -112
  128. package/adventofcode/day4/bin/LambdaSignature1.java +0 -3
  129. package/adventofcode/day4/bin/day4.cpp +0 -118
  130. package/adventofcode/day4/bin/day4.go +0 -75
  131. package/adventofcode/day4/bin/day4.js +0 -40
  132. package/adventofcode/day4/bin/day4.php +0 -52
  133. package/adventofcode/day4/bin/day4.scala +0 -47
  134. package/adventofcode/day4/bin/day4.swift +0 -56
  135. package/adventofcode/day4/bin/day4_part2.go +0 -129
  136. package/adventofcode/day4/bin/day4_part2.js +0 -72
  137. package/adventofcode/day4/bin/day_four.java +0 -41
  138. package/adventofcode/day4/bin/inputData.java +0 -7
  139. package/adventofcode/day4/bin/operatorsOf.java +0 -11
  140. package/adventofcode/day4/bin/variant.hpp +0 -2416
  141. package/adventofcode/day4/compile.bat +0 -7
  142. package/adventofcode/day4/compile2.bat +0 -7
  143. package/adventofcode/day4/day4.clj +0 -32
  144. package/adventofcode/day4/day4_part2.clj +0 -44
  145. package/adventofcode/day4/input.clj +0 -519
  146. package/adventofcode/day4/input.txt +0 -512
  147. package/bin/api.ts +0 -24471
  148. package/bin/compiler.ts +0 -24482
  149. package/compiler/ColorConsole.clj +0 -22
  150. package/compiler/ContextOperators.clj +0 -75
  151. package/compiler/FlowEnterVarDef.clj +0 -223
  152. package/compiler/InputFileSystem.clj +0 -276
  153. package/compiler/RangerDocs.clj +0 -7
  154. package/compiler/TFactory.clj +0 -146
  155. package/compiler/TFiles.clj +0 -23
  156. package/compiler/TFlow.clj +0 -39
  157. package/compiler/TNodeFactory.clj +0 -84
  158. package/compiler/TTypes.clj +0 -188
  159. package/compiler/VirtualCompiler.clj +0 -800
  160. package/compiler/bin/ng_Compiler.js +0 -23779
  161. package/compiler/commonmark_plugin.clj +0 -359
  162. package/compiler/feat2.bat +0 -2
  163. package/compiler/feats.bat +0 -9
  164. package/compiler/feature_tests.clj +0 -192
  165. package/compiler/index.js +0 -2
  166. package/compiler/issue_57.clj +0 -25
  167. package/compiler/makefile_plugin.clj +0 -135
  168. package/compiler/markdown_plugin.clj +0 -386
  169. package/compiler/maven_plugin.clj +0 -162
  170. package/compiler/ng_AndroidPageWriter.clj +0 -299
  171. package/compiler/ng_CodeNode.clj +0 -756
  172. package/compiler/ng_CodeNodeCompilerExtensions.clj +0 -839
  173. package/compiler/ng_Compiler.clj +0 -49
  174. package/compiler/ng_CompilerGeneric.clj +0 -260
  175. package/compiler/ng_CompilerOrig.clj +0 -854
  176. package/compiler/ng_DictNode.clj +0 -346
  177. package/compiler/ng_DictNode2.clj +0 -316
  178. package/compiler/ng_Execute.clj +0 -138
  179. package/compiler/ng_Execute1.clj +0 -129
  180. package/compiler/ng_FlowWork.clj +0 -3951
  181. package/compiler/ng_LiveCompiler.clj +0 -1109
  182. package/compiler/ng_RagnerJavaScriptClassWriter.clj +0 -402
  183. package/compiler/ng_RangerActiveOperators.clj +0 -86
  184. package/compiler/ng_RangerAppClassDesc.clj +0 -400
  185. package/compiler/ng_RangerAppEnums.clj +0 -86
  186. package/compiler/ng_RangerAppFunctionDesc.clj +0 -127
  187. package/compiler/ng_RangerAppMessages.clj +0 -15
  188. package/compiler/ng_RangerAppOperatorDesc.clj +0 -20
  189. package/compiler/ng_RangerAppParamDesc.clj +0 -388
  190. package/compiler/ng_RangerAppWriterContext.clj +0 -1793
  191. package/compiler/ng_RangerArgMatch.clj +0 -638
  192. package/compiler/ng_RangerCSharpClassWriter.clj +0 -484
  193. package/compiler/ng_RangerCppClassWriter.clj +0 -1023
  194. package/compiler/ng_RangerDocGenerator.clj +0 -305
  195. package/compiler/ng_RangerFlowParser.clj +0 -4992
  196. package/compiler/ng_RangerFlowParserOrig.clj +0 -4002
  197. package/compiler/ng_RangerGenericClassWriter.clj +0 -573
  198. package/compiler/ng_RangerGolangClassWriter.clj +0 -1766
  199. package/compiler/ng_RangerImmutableExtension.clj +0 -77
  200. package/compiler/ng_RangerJava7ClassWriter.clj +0 -961
  201. package/compiler/ng_RangerJavaScriptClassWriter.clj +0 -1042
  202. package/compiler/ng_RangerKotlinClassWriter.clj +0 -372
  203. package/compiler/ng_RangerLanguageWriters.clj +0 -14
  204. package/compiler/ng_RangerLispParser.clj +0 -873
  205. package/compiler/ng_RangerPHPClassWriter.clj +0 -643
  206. package/compiler/ng_RangerPlugin.clj +0 -41
  207. package/compiler/ng_RangerRangerClassWriter.clj +0 -357
  208. package/compiler/ng_RangerRustClassWriter.clj +0 -420
  209. package/compiler/ng_RangerScalaClassWriter.clj +0 -818
  210. package/compiler/ng_RangerSerializeClass.clj +0 -502
  211. package/compiler/ng_RangerServiceBuilder.clj +0 -63
  212. package/compiler/ng_RangerSwift3ClassWriter.clj +0 -809
  213. package/compiler/ng_RangerSwiftClassWriter.clj +0 -0
  214. package/compiler/ng_RangerTypeClass.clj +0 -45
  215. package/compiler/ng_SourceParser.clj +0 -241
  216. package/compiler/ng_SourceParser2.clj +0 -214
  217. package/compiler/ng_WebPageWriter.clj +0 -39
  218. package/compiler/ng_jsonParser.clj +0 -340
  219. package/compiler/ng_p_test.clj +0 -1711
  220. package/compiler/ng_parser.clj +0 -911
  221. package/compiler/ng_parser2.clj +0 -735
  222. package/compiler/ng_parser2_backup.clj +0 -1679
  223. package/compiler/ng_parser_backup.clj +0 -886
  224. package/compiler/ng_parser_ok.clj +0 -1718
  225. package/compiler/ng_parser_ok2.clj +0 -1717
  226. package/compiler/ng_parser_std_match.clj +0 -687
  227. package/compiler/ng_parser_std_match2.clj +0 -1012
  228. package/compiler/ng_parser_v2.clj +0 -1251
  229. package/compiler/ng_ui.clj +0 -403
  230. package/compiler/ng_ui_test.clj +0 -18
  231. package/compiler/ng_writer.clj +0 -338
  232. package/compiler/ng_xmlParser.clj +0 -472
  233. package/compiler/ng_xmlParser2.clj +0 -317
  234. package/compiler/ng_xmlParser3.clj +0 -251
  235. package/compiler/opdoc.bat +0 -4
  236. package/compiler/operators.md +0 -290
  237. package/compiler/p.bat +0 -4
  238. package/compiler/package.json +0 -10
  239. package/compiler/pcmd.bat +0 -4
  240. package/compiler/pcmd2.bat +0 -3
  241. package/compiler/plaintext_plugin.clj +0 -69
  242. package/compiler/plugin.bat +0 -19
  243. package/compiler/plugin2.bat +0 -4
  244. package/compiler/plugin_app.bat +0 -3
  245. package/compiler/plugin_apps.clj +0 -27
  246. package/compiler/plugins.bat +0 -10
  247. package/compiler/reveal_plugin.clj +0 -409
  248. package/compiler/simplePlugin.clj +0 -780
  249. package/compiler/t.bat +0 -3
  250. package/compiler/test_any.clj +0 -43
  251. package/compiler/test_call.clj +0 -141
  252. package/compiler/test_chain.clj +0 -79
  253. package/compiler/test_json.clj +0 -10
  254. package/compiler/test_lambda.clj +0 -153
  255. package/compiler/test_pcmd.clj +0 -32
  256. package/compiler/test_pcmd2.clj +0 -29
  257. package/compiler/test_plugin.clj +0 -237
  258. package/compiler/test_readfile.clj +0 -13
  259. package/compiler/test_reveal.clj +0 -19
  260. package/compiler/test_slides.clj +0 -312
  261. package/compiler/test_types.clj +0 -143
  262. package/compiler/test_types2.clj +0 -49
  263. package/compiler/test_types3.clj +0 -53
  264. package/compiler/test_var.clj +0 -40
  265. package/compiler/tonpm.bat +0 -14
  266. package/compiler/tonpm2.bat +0 -12
  267. package/compiler/ui_plugin.clj +0 -507
  268. package/compiler/ui_plugin2.clj +0 -427
  269. package/compiler/update-git.bat +0 -3
  270. package/compiler/vcomp.bat +0 -4
  271. package/compiler/viewbuilder_Android.clj +0 -176
  272. package/compiler/viewbuilder_Web.clj +0 -105
  273. package/dist/bin/api.js +0 -32422
  274. package/dist/bin/api.js.map +0 -1
  275. package/dist/bin/compiler.d.ts +0 -1638
  276. package/dist/bin/compiler.js +0 -32444
  277. package/dist/bin/compiler.js.map +0 -1
  278. package/examples/3D/bin/test_3d.js +0 -329
  279. package/examples/3D/test_3d.clj +0 -385
  280. package/examples/EVGColor/EVGColor.clj +0 -310
  281. package/examples/EVGColor/EVGColorContext.clj +0 -176
  282. package/examples/EVGColor/bin/EVGColor.js +0 -286
  283. package/examples/EVGColor/bin/minimized.js +0 -286
  284. package/examples/SVGPath/SVGPath.clj +0 -625
  285. package/examples/SVGPath/Vec2.clj +0 -103
  286. package/examples/SVGPath/bin/SVGPath.cpp +0 -887
  287. package/examples/SVGPath/bin/SVGPath.js +0 -682
  288. package/examples/SVGPath/bin/minimized.js +0 -578
  289. package/examples/SVGPath/bin/variant.hpp +0 -2416
  290. package/examples/minification/Vec2.clj +0 -103
  291. package/examples/minification/bin/minified.js +0 -44
  292. package/examples/minification/bin/test.js +0 -117
  293. package/examples/minification/test.clj +0 -13
  294. package/fiddle/VirtualCompiler.js +0 -23495
  295. package/fiddle/browser_editor.js +0 -13240
  296. package/fiddle/compileEnv.js +0 -1
  297. package/fiddle/compileEnv.json +0 -1
  298. package/fiddle/lang_data.js +0 -1
  299. package/index.html +0 -18
  300. package/native/httpd/HttpTester.clj +0 -33
  301. package/native/httpd/RangerWebService.clj +0 -81
  302. package/operators.md +0 -290
  303. package/tsconfig.json +0 -29
  304. package/versions/cpp/compiler.cpp +0 -15032
  305. package/versions/es6/compiler.js +0 -12860
  306. package/versions/go/compiler.go +0 -21338
  307. package/versions/java/AfterCodeNode.java +0 -4
  308. package/versions/java/ClassJoinPoint.java +0 -6
  309. package/versions/java/CodeFile.java +0 -42
  310. package/versions/java/CodeFileSystem.java +0 -72
  311. package/versions/java/CodeNode.java +0 -807
  312. package/versions/java/CodeSlice.java +0 -13
  313. package/versions/java/CodeWriter.java +0 -185
  314. package/versions/java/ColorConsole.java +0 -8
  315. package/versions/java/CompilerInterface.java +0 -213
  316. package/versions/java/DictNode.java +0 -353
  317. package/versions/java/LiveCompiler.java +0 -772
  318. package/versions/java/NodeEvalState.java +0 -24
  319. package/versions/java/OpFindResult.java +0 -6
  320. package/versions/java/RangerAppArrayValue.java +0 -7
  321. package/versions/java/RangerAppClassDesc.java +0 -217
  322. package/versions/java/RangerAppEnum.java +0 -14
  323. package/versions/java/RangerAppFunctionDesc.java +0 -20
  324. package/versions/java/RangerAppHashValue.java +0 -11
  325. package/versions/java/RangerAppInterfaceImpl.java +0 -6
  326. package/versions/java/RangerAppMethodVariants.java +0 -6
  327. package/versions/java/RangerAppParamDesc.java +0 -321
  328. package/versions/java/RangerAppTodo.java +0 -6
  329. package/versions/java/RangerAppValue.java +0 -10
  330. package/versions/java/RangerAppWriterContext.java +0 -800
  331. package/versions/java/RangerArgMatch.java +0 -317
  332. package/versions/java/RangerBackReference.java +0 -7
  333. package/versions/java/RangerCSharpClassWriter.java +0 -287
  334. package/versions/java/RangerCompilerMessage.java +0 -9
  335. package/versions/java/RangerCppClassWriter.java +0 -725
  336. package/versions/java/RangerFlowParser.java +0 -2142
  337. package/versions/java/RangerGenericClassWriter.java +0 -367
  338. package/versions/java/RangerGolangClassWriter.java +0 -1379
  339. package/versions/java/RangerJava7ClassWriter.java +0 -652
  340. package/versions/java/RangerJavaScriptClassWriter.java +0 -305
  341. package/versions/java/RangerKotlinClassWriter.java +0 -380
  342. package/versions/java/RangerLispParser.java +0 -845
  343. package/versions/java/RangerNodeValue.java +0 -9
  344. package/versions/java/RangerPHPClassWriter.java +0 -527
  345. package/versions/java/RangerParamEventHandler.java +0 -6
  346. package/versions/java/RangerParamEventList.java +0 -5
  347. package/versions/java/RangerParamEventMap.java +0 -27
  348. package/versions/java/RangerRangerClassWriter.java +0 -268
  349. package/versions/java/RangerRefForce.java +0 -7
  350. package/versions/java/RangerScalaClassWriter.java +0 -365
  351. package/versions/java/RangerSerializeClass.java +0 -148
  352. package/versions/java/RangerSwift3ClassWriter.java +0 -548
  353. package/versions/java/RangerTypeClass.java +0 -17
  354. package/versions/java/SourceCode.java +0 -65
  355. package/versions/php/compiler.php +0 -13830
  356. package/versions/swift3/compiler.swift +0 -12542
  357. /package/{lib/ACEEditor.clj → dist/lib/ACEEditor.rgr} +0 -0
  358. /package/{lib/SQL.clj → dist/lib/SQL.rgr} +0 -0
  359. /package/{lib/ServiceLib.clj → dist/lib/ServiceLib.rgr} +0 -0
  360. /package/{lib/Time.clj → dist/lib/Time.rgr} +0 -0
  361. /package/{lib/TypedArrays.clj → dist/lib/TypedArrays.rgr} +0 -0
  362. /package/{lib/WebLib.clj → dist/lib/WebLib.rgr} +0 -0
  363. /package/{lib/WebServerLib.clj → dist/lib/WebServerLib.rgr} +0 -0
@@ -1,4 +1,4 @@
1
- declare type union_Any = CmdParams | test_cmdparams | InputFSFolder | InputFSFile | InputEnv | test_input_filesystem | RangerAppTodo | RangerCompilerMessage | RangerParamEventHandler | RangerParamEventList | RangerParamEventMap | RangerAppArrayValue | RangerAppHashValue | RangerAppValue | RangerRefForce | RangerAppParamDesc | RangerAppFunctionDesc | RangerAppMethodVariants | RangerAppInterfaceImpl | RangerTraitParams | RangerAppClassDesc | RangerTypeClass | SourceCode | CodeNodeLiteral | CodeNode | TypeCounts | RangerNodeValue | RangerBackReference | RangerAppEnum | OpFindResult | RangerOperatorList | RangerNodeList | ContextTransaction | ContextTransactionMutation | RangerRegisteredPlugin | RangerAppWriterContext | CodeFile | CodeFileSystem | CodeSlice | CodeWriter | RangerLispParser | RangerArgMatch | DictNode | RangerSerializeClass | RangerImmutableExtension | RangerServiceBuilder | RangerAppOperatorDesc | TFiles | TTypes | ClassJoinPoint | WalkLater | RangerFlowParser | TFactory | CallChain | NodeEvalState | RangerGenericClassWriter | AndroidPageWriter | RangerJava7ClassWriter | RangerSwift3ClassWriter | RangerCppClassWriter | RangerKotlinClassWriter | RangerCSharpClassWriter | RangerScalaClassWriter | RangerGolangClassWriter | RangerPHPClassWriter | WebPageWriter | RangerJavaScriptClassWriter | RangerRangerClassWriter | OpList | RangerActiveOperators | LiveCompiler | ColorConsole | RangerDocGenerator | viewbuilder_Android | viewbuilder_Web | CompilerResults | VirtualCompiler | CompilerInterface | number | string | boolean | number;
1
+ type union_Any = CmdParams | test_cmdparams | InputFSFolder | InputFSFile | InputEnv | test_input_filesystem | RangerAppTodo | RangerCompilerMessage | RangerParamEventHandler | RangerParamEventList | RangerParamEventMap | RangerAppArrayValue | RangerAppHashValue | RangerAppValue | RangerRefForce | RangerAppParamDesc | RangerAppFunctionDesc | RangerAppMethodVariants | RangerAppInterfaceImpl | RangerTraitParams | RangerAppClassDesc | RangerTypeClass | SourceCode | CodeNodeLiteral | CodeNode | TypeCounts | RangerNodeValue | RangerBackReference | RangerAppEnum | OpFindResult | RangerOperatorList | RangerNodeList | ContextTransaction | ContextTransactionMutation | RangerRegisteredPlugin | RangerAppWriterContext | CodeFile | CodeFileSystem | CodeSlice | CodeWriter | RangerLispParser | RangerArgMatch | DictNode | RangerSerializeClass | RangerImmutableExtension | RangerServiceBuilder | RangerAppOperatorDesc | TFiles | TTypes | ClassJoinPoint | WalkLater | RangerFlowParser | TFactory | CallChain | NodeEvalState | RangerGenericClassWriter | AndroidPageWriter | RangerJava7ClassWriter | RangerSwift3ClassWriter | RangerSwift6ClassWriter | RangerCppClassWriter | MethodCallList | RangerRustClassWriter | RangerKotlinClassWriter | RangerCSharpClassWriter | RangerScalaClassWriter | RangerGolangClassWriter | RangerGolangHttpServerWriter | RangerPHPClassWriter | RangerPythonClassWriter | WebPageWriter | RangerJavaScriptClassWriter | RangerRangerClassWriter | OpList | RangerActiveOperators | LiveCompiler | ColorConsole | CLIProgress | RangerDocGenerator | StaticAnalyzer | viewbuilder_Android | viewbuilder_Web | CompilerResults | VirtualCompiler | CompilerInterface | number | string | boolean | number;
2
2
  export declare class CmdParams {
3
3
  flags: {
4
4
  [key: string]: boolean;
@@ -11,8 +11,8 @@ export declare class CmdParams {
11
11
  hasParam(name: string): boolean;
12
12
  getParam(name: string): string;
13
13
  collect(): void;
14
- toDictionary(): Object;
15
- static fromDictionary(dict: Object): Promise<CmdParams>;
14
+ toDictionary(): Record<string, any>;
15
+ static fromDictionary(dict: Record<string, any>): Promise<CmdParams>;
16
16
  }
17
17
  export declare class test_cmdparams {
18
18
  constructor();
@@ -27,8 +27,8 @@ export declare class InputFSFolder {
27
27
  files: Array<InputFSFile>;
28
28
  constructor();
29
29
  forTree(cb: (item: InputFSFolder) => void): void;
30
- toDictionary(): Object;
31
- static fromDictionary(dict: Object): Promise<InputFSFolder>;
30
+ toDictionary(): Record<string, any>;
31
+ static fromDictionary(dict: Record<string, any>): Promise<InputFSFolder>;
32
32
  }
33
33
  export declare class InputFSFile {
34
34
  name: string;
@@ -36,27 +36,27 @@ export declare class InputFSFile {
36
36
  is_folder: boolean;
37
37
  base64bin: boolean;
38
38
  constructor();
39
- toDictionary(): Object;
40
- static fromDictionary(dict: Object): InputFSFile;
39
+ toDictionary(): Record<string, any>;
40
+ static fromDictionary(dict: Record<string, any>): InputFSFile;
41
41
  }
42
42
  export declare class InputEnv {
43
43
  use_real: boolean;
44
- filesystem: InputFSFolder;
44
+ filesystem?: InputFSFolder;
45
45
  envVars: {
46
46
  [key: string]: string;
47
47
  };
48
- commandLine: CmdParams;
48
+ commandLine?: CmdParams;
49
49
  constructor();
50
50
  setEnv(name: string, value: string): void;
51
- toDictionary(): Object;
52
- static fromDictionary(dict: Object): Promise<InputEnv>;
51
+ toDictionary(): Record<string, any>;
52
+ static fromDictionary(dict: Record<string, any>): Promise<InputEnv>;
53
53
  }
54
54
  export declare class test_input_filesystem {
55
55
  constructor();
56
56
  }
57
57
  export declare class RangerAppTodo {
58
58
  description: string;
59
- todonode: CodeNode;
59
+ todonode?: CodeNode;
60
60
  constructor();
61
61
  }
62
62
  export declare class RangerCompilerMessage {
@@ -64,7 +64,7 @@ export declare class RangerCompilerMessage {
64
64
  code_line: number;
65
65
  fileName: string;
66
66
  description: string;
67
- node: CodeNode;
67
+ node?: CodeNode;
68
68
  constructor();
69
69
  }
70
70
  export declare class RangerParamEventHandler {
@@ -113,19 +113,19 @@ export declare class RangerAppValue {
113
113
  string_value: string;
114
114
  int_value: number;
115
115
  boolean_value: boolean;
116
- arr: RangerAppArrayValue;
117
- hash: RangerAppHashValue;
116
+ arr?: RangerAppArrayValue;
117
+ hash?: RangerAppHashValue;
118
118
  constructor();
119
119
  }
120
120
  export declare class RangerRefForce {
121
121
  strength: number;
122
122
  lifetime: number;
123
- changer: CodeNode;
123
+ changer?: CodeNode;
124
124
  constructor();
125
125
  }
126
126
  export declare class RangerAppParamDesc {
127
127
  name: string;
128
- value: RangerAppValue;
128
+ value?: RangerAppValue;
129
129
  compiledName: string;
130
130
  debugString: string;
131
131
  is_register: boolean;
@@ -136,34 +136,44 @@ export declare class RangerAppParamDesc {
136
136
  prop_assign_cnt: number;
137
137
  value_type: number;
138
138
  has_default: boolean;
139
- def_value: CodeNode;
140
- default_value: RangerNodeValue;
139
+ def_value?: CodeNode;
140
+ default_value?: RangerNodeValue;
141
141
  isThis: boolean;
142
- classDesc: RangerAppClassDesc;
142
+ classDesc?: RangerAppClassDesc;
143
143
  is_immutable: boolean;
144
144
  is_static: boolean;
145
- propertyClass: RangerAppClassDesc;
146
- fnDesc: RangerAppFunctionDesc;
145
+ propertyClass?: RangerAppClassDesc;
146
+ fnDesc?: RangerAppFunctionDesc;
147
147
  ownerHistory: Array<RangerRefForce>;
148
148
  varType: number;
149
149
  refType: number;
150
150
  initRefType: number;
151
- isParam: boolean;
151
+ isParam?: boolean;
152
152
  paramIndex: number;
153
153
  is_optional: boolean;
154
154
  is_mutating: boolean;
155
155
  is_set: boolean;
156
156
  is_class_variable: boolean;
157
157
  is_captured: boolean;
158
- node: CodeNode;
159
- nameNode: CodeNode;
160
- fnBody: CodeNode;
158
+ mutation_count: number;
159
+ read_count: number;
160
+ is_assigned_from_member: boolean;
161
+ source_member_name: string;
162
+ escapes_function: boolean;
163
+ needs_cpp_reference: boolean;
164
+ rust_borrow_type: number;
165
+ rust_assigned_to_weak: boolean;
166
+ rust_needs_rc_wrap: boolean;
167
+ rust_assigned_to_field: boolean;
168
+ node?: CodeNode;
169
+ nameNode?: CodeNode;
170
+ fnBody?: CodeNode;
161
171
  params: Array<RangerAppParamDesc>;
162
- return_value: RangerAppParamDesc;
172
+ return_value?: RangerAppParamDesc;
163
173
  description: string;
164
174
  git_doc: string;
165
175
  has_events: boolean;
166
- eMap: RangerParamEventMap;
176
+ eMap?: RangerParamEventMap;
167
177
  constructor();
168
178
  addEvent(name: string, e: RangerParamEventHandler): void;
169
179
  changeStrength(newStrength: number, lifeTime: number, changer: CodeNode): void;
@@ -190,26 +200,39 @@ export declare class RangerAppParamDesc {
190
200
  export declare class RangerAppFunctionDesc extends RangerAppParamDesc {
191
201
  name: string;
192
202
  ref_cnt: number;
193
- node: CodeNode;
194
- nameNode: CodeNode;
195
- fnBody: CodeNode;
203
+ node?: CodeNode;
204
+ nameNode?: CodeNode;
205
+ fnBody?: CodeNode;
196
206
  params: Array<RangerAppParamDesc>;
197
- return_value: RangerAppParamDesc;
207
+ return_value?: RangerAppParamDesc;
198
208
  is_method: boolean;
199
209
  is_static: boolean;
200
210
  is_lambda: boolean;
201
211
  is_unsed: boolean;
202
212
  is_called_from_main: boolean;
203
- container_class: RangerAppClassDesc;
213
+ container_class?: RangerAppClassDesc;
204
214
  refType: number;
205
- fnCtx: RangerAppWriterContext;
206
- insideFn: RangerAppFunctionDesc;
215
+ fnCtx?: RangerAppWriterContext;
216
+ insideFn?: RangerAppFunctionDesc;
207
217
  call_graph_done: boolean;
208
218
  isCalling: Array<RangerAppFunctionDesc>;
209
219
  isCalledBy: Array<RangerAppFunctionDesc>;
210
220
  isUsingClasses: Array<RangerAppClassDesc>;
211
221
  isDirectlyUsingClasses: Array<RangerAppClassDesc>;
212
222
  myLambdas: Array<RangerAppFunctionDesc>;
223
+ returns_member_field: boolean;
224
+ returned_member_name: string;
225
+ all_paths_return: boolean;
226
+ mutates_self: boolean;
227
+ static_analysis_done: boolean;
228
+ rust_uses_self: boolean;
229
+ rust_passes_self_to_weak: boolean;
230
+ rust_can_be_static: boolean;
231
+ mutation_analysis_done: boolean;
232
+ mutation_analysis_in_progress: boolean;
233
+ directly_mutates_self: boolean;
234
+ transitively_mutates_self: boolean;
235
+ mutates_param_indices: Array<number>;
213
236
  constructor();
214
237
  addCallTo(m: RangerAppFunctionDesc): void;
215
238
  addIndirectClassUsage(m: RangerAppClassDesc, ctx: RangerAppWriterContext): void;
@@ -226,7 +249,7 @@ export declare class RangerAppMethodVariants {
226
249
  }
227
250
  export declare class RangerAppInterfaceImpl {
228
251
  name: string;
229
- typeParams: CodeNode;
252
+ typeParams?: CodeNode;
230
253
  constructor();
231
254
  }
232
255
  export declare class RangerTraitParams {
@@ -246,7 +269,7 @@ export declare class RangerAppClassDesc extends RangerAppParamDesc {
246
269
  systemNodes: {
247
270
  [key: string]: CodeNode;
248
271
  };
249
- systemInfo: CodeNode;
272
+ systemInfo?: CodeNode;
250
273
  is_interface: boolean;
251
274
  is_system_union: boolean;
252
275
  is_template: boolean;
@@ -257,8 +280,8 @@ export declare class RangerAppClassDesc extends RangerAppParamDesc {
257
280
  is_union: boolean;
258
281
  is_used_by_main: boolean;
259
282
  is_not_used: boolean;
260
- generic_params: CodeNode;
261
- ctx: RangerAppWriterContext;
283
+ generic_params?: CodeNode;
284
+ ctx?: RangerAppWriterContext;
262
285
  variables: Array<RangerAppParamDesc>;
263
286
  capturedLocals: Array<RangerAppParamDesc>;
264
287
  methods: Array<RangerAppFunctionDesc>;
@@ -274,11 +297,11 @@ export declare class RangerAppClassDesc extends RangerAppParamDesc {
274
297
  [key: string]: RangerAppMethodVariants;
275
298
  };
276
299
  has_constructor: boolean;
277
- constructor_node: CodeNode;
278
- constructor_fn: RangerAppFunctionDesc;
300
+ constructor_node?: CodeNode;
301
+ constructor_fn?: RangerAppFunctionDesc;
279
302
  has_destructor: boolean;
280
- destructor_node: CodeNode;
281
- destructor_fn: RangerAppFunctionDesc;
303
+ destructor_node?: CodeNode;
304
+ destructor_fn?: RangerAppFunctionDesc;
282
305
  extends_classes: Array<string>;
283
306
  implements_interfaces: Array<string>;
284
307
  consumes_traits: Array<string>;
@@ -286,15 +309,19 @@ export declare class RangerAppClassDesc extends RangerAppParamDesc {
286
309
  [key: string]: RangerTraitParams;
287
310
  };
288
311
  is_union_of: Array<string>;
289
- nameNode: CodeNode;
290
- classNode: CodeNode;
312
+ nameNode?: CodeNode;
313
+ classNode?: CodeNode;
291
314
  contr_writers: Array<CodeWriter>;
292
315
  is_inherited: boolean;
316
+ is_extended_by_children: boolean;
317
+ child_classes: Array<string>;
293
318
  constructor();
294
319
  isClass(): boolean;
295
320
  isProperty(): boolean;
296
321
  doesInherit(): boolean;
297
322
  isNormalClass(): boolean;
323
+ getSystemclassType(): string;
324
+ isSystemclassType(typeName: string): boolean;
298
325
  hasTrait(class_name: string, ctx: RangerAppWriterContext): RangerAppClassDesc;
299
326
  isSameOrParentClass(class_name: string, ctx: RangerAppWriterContext): boolean;
300
327
  hasOwnMethod(m_name: string): boolean;
@@ -313,13 +340,13 @@ export declare class RangerTypeClass {
313
340
  name: string;
314
341
  compiledName: string;
315
342
  value_type: number;
316
- arrayType: RangerTypeClass;
317
- keyType: RangerTypeClass;
343
+ arrayType?: RangerTypeClass;
344
+ keyType?: RangerTypeClass;
318
345
  implements_traits: Array<RangerTypeClass>;
319
346
  implements_interfaces: Array<RangerTypeClass>;
320
347
  extends_classes: Array<RangerTypeClass>;
321
348
  belongs_to_union: Array<RangerTypeClass>;
322
- description: union_Any;
349
+ description?: union_Any;
323
350
  is_empty: boolean;
324
351
  is_primitive: boolean;
325
352
  is_mutable: boolean;
@@ -331,8 +358,8 @@ export declare class RangerTypeClass {
331
358
  is_interface: boolean;
332
359
  is_generic: boolean;
333
360
  is_lambda: boolean;
334
- nameNode: CodeNode;
335
- templateParams: CodeNode;
361
+ nameNode?: CodeNode;
362
+ templateParams?: CodeNode;
336
363
  constructor();
337
364
  }
338
365
  export declare class SourceCode {
@@ -354,16 +381,16 @@ export declare class CodeNodeLiteral {
354
381
  array_type: string;
355
382
  ns: Array<string>;
356
383
  has_vref_annotation: boolean;
357
- vref_annotation: CodeNodeLiteral;
384
+ vref_annotation?: CodeNodeLiteral;
358
385
  has_type_annotation: boolean;
359
- type_annotation: CodeNodeLiteral;
386
+ type_annotation?: CodeNodeLiteral;
360
387
  parsed_type: number;
361
388
  value_type: number;
362
389
  double_value: number;
363
390
  string_value: string;
364
391
  int_value: number;
365
392
  boolean_value: boolean;
366
- expression_value: CodeNodeLiteral;
393
+ expression_value?: CodeNodeLiteral;
367
394
  props: {
368
395
  [key: string]: CodeNodeLiteral;
369
396
  };
@@ -372,11 +399,11 @@ export declare class CodeNodeLiteral {
372
399
  children: Array<CodeNodeLiteral>;
373
400
  attrs: Array<CodeNodeLiteral>;
374
401
  constructor();
375
- toDictionary(): Object;
376
- static fromDictionary(dict: Object): Promise<CodeNodeLiteral>;
402
+ toDictionary(): Record<string, any>;
403
+ static fromDictionary(dict: Record<string, any>): Promise<CodeNodeLiteral>;
377
404
  }
378
405
  export declare class CodeNode {
379
- code: SourceCode;
406
+ code?: SourceCode;
380
407
  sp: number;
381
408
  ep: number;
382
409
  row: number;
@@ -393,23 +420,26 @@ export declare class CodeNode {
393
420
  vref: string;
394
421
  is_block_node: boolean;
395
422
  infix_operator: boolean;
396
- infix_node: CodeNode;
423
+ infix_node?: CodeNode;
397
424
  infix_subnode: boolean;
398
425
  has_lambda: boolean;
399
426
  has_lambda_call: boolean;
400
427
  has_call: boolean;
428
+ rust_needs_preevaluate: boolean;
429
+ rust_preevaluated_args: Array<CodeNode>;
430
+ rust_use_tmpvar: string;
401
431
  operator_pred: number;
402
432
  to_the_right: boolean;
403
- right_node: CodeNode;
433
+ right_node?: CodeNode;
404
434
  type_type: string;
405
435
  type_name: string;
406
436
  key_type: string;
407
437
  array_type: string;
408
438
  ns: Array<string>;
409
439
  has_vref_annotation: boolean;
410
- vref_annotation: CodeNode;
440
+ vref_annotation?: CodeNode;
411
441
  has_type_annotation: boolean;
412
- type_annotation: CodeNode;
442
+ type_annotation?: CodeNode;
413
443
  parsed_type: number;
414
444
  value_type: number;
415
445
  ref_type: number;
@@ -418,49 +448,49 @@ export declare class CodeNode {
418
448
  string_value: string;
419
449
  int_value: number;
420
450
  boolean_value: boolean;
421
- expression_value: CodeNode;
451
+ expression_value?: CodeNode;
422
452
  props: {
423
453
  [key: string]: CodeNode;
424
454
  };
425
455
  prop_keys: Array<string>;
426
456
  comments: Array<CodeNode>;
427
457
  children: Array<CodeNode>;
428
- parent: CodeNode;
458
+ parent?: CodeNode;
429
459
  attrs: Array<CodeNode>;
430
460
  appGUID: string;
431
461
  register_name: string;
432
462
  register_expressions: Array<CodeNode>;
433
463
  after_expression: Array<CodeNode>;
434
- definedTypeClass: RangerTypeClass;
435
- evalTypeClass: RangerTypeClass;
436
- lambda_ctx: RangerAppWriterContext;
464
+ definedTypeClass?: RangerTypeClass;
465
+ evalTypeClass?: RangerTypeClass;
466
+ lambda_ctx?: RangerAppWriterContext;
437
467
  nsp: Array<RangerAppParamDesc>;
438
468
  eval_type: number;
439
469
  eval_type_name: string;
440
470
  eval_key_type: string;
441
471
  eval_array_type: string;
442
- eval_function: CodeNode;
472
+ eval_function?: CodeNode;
443
473
  flow_done: boolean;
444
474
  ref_change_done: boolean;
445
- eval_type_node: CodeNode;
475
+ eval_type_node?: CodeNode;
446
476
  didReturnAtIndex: number;
447
477
  hasVarDef: boolean;
448
478
  hasClassDescription: boolean;
449
479
  hasNewOper: boolean;
450
- clDesc: RangerAppClassDesc;
480
+ clDesc?: RangerAppClassDesc;
451
481
  hasFnCall: boolean;
452
- fnDesc: RangerAppFunctionDesc;
453
- lambdaFnDesc: RangerAppFunctionDesc;
482
+ fnDesc?: RangerAppFunctionDesc;
483
+ lambdaFnDesc?: RangerAppFunctionDesc;
454
484
  hasParamDesc: boolean;
455
- paramDesc: RangerAppParamDesc;
456
- ownParamDesc: RangerAppParamDesc;
457
- evalCtx: RangerAppWriterContext;
458
- evalState: NodeEvalState;
459
- operator_node: CodeNode;
460
- flow_ctx: RangerAppWriterContext;
485
+ paramDesc?: RangerAppParamDesc;
486
+ ownParamDesc?: RangerAppParamDesc;
487
+ evalCtx?: RangerAppWriterContext;
488
+ evalState?: NodeEvalState;
489
+ operator_node?: CodeNode;
490
+ flow_ctx?: RangerAppWriterContext;
461
491
  is_part_of_chain: boolean;
462
492
  methodChain: Array<CallChain>;
463
- chainTarget: CodeNode;
493
+ chainTarget?: CodeNode;
464
494
  register_set: boolean;
465
495
  did_walk: boolean;
466
496
  reg_compiled_name: string;
@@ -478,6 +508,10 @@ export declare class CodeNode {
478
508
  getFlag(flagName: string): CodeNode;
479
509
  hasFlag(flagName: string): boolean;
480
510
  setFlag(flagName: string): void;
511
+ getFlagInt(flagName: string, paramName: string, defaultValue: number): number;
512
+ getFlagFirstString(flagName: string, defaultValue: string): string;
513
+ getFlagSiblingString(flagName: string, defaultValue: string): string;
514
+ hasFlagParam(flagName: string, paramName: string): boolean;
481
515
  getTypeInformationString(): string;
482
516
  getLine(): number;
483
517
  getLineString(line_index: number): string;
@@ -563,17 +597,17 @@ export declare class TypeCounts {
563
597
  constructor();
564
598
  }
565
599
  export declare class RangerNodeValue {
566
- double_value: number;
567
- string_value: string;
568
- int_value: number;
569
- boolean_value: boolean;
570
- expression_value: CodeNode;
600
+ double_value?: number;
601
+ string_value?: string;
602
+ int_value?: number;
603
+ boolean_value?: boolean;
604
+ expression_value?: CodeNode;
571
605
  constructor();
572
606
  }
573
607
  export declare class RangerBackReference {
574
- from_class: string;
575
- var_name: string;
576
- ref_type: string;
608
+ from_class?: string;
609
+ var_name?: string;
610
+ ref_type?: string;
577
611
  constructor();
578
612
  }
579
613
  export declare class RangerAppEnum {
@@ -582,13 +616,13 @@ export declare class RangerAppEnum {
582
616
  values: {
583
617
  [key: string]: number;
584
618
  };
585
- node: CodeNode;
619
+ node?: CodeNode;
586
620
  constructor();
587
621
  add(n: string): void;
588
622
  }
589
623
  export declare class OpFindResult {
590
624
  did_find: boolean;
591
- node: CodeNode;
625
+ node?: CodeNode;
592
626
  constructor();
593
627
  }
594
628
  export declare class RangerOperatorList {
@@ -604,16 +638,16 @@ export declare class ContextTransaction {
604
638
  desc: string;
605
639
  ended: boolean;
606
640
  failed: boolean;
607
- ctx: RangerAppWriterContext;
641
+ ctx?: RangerAppWriterContext;
608
642
  mutations: Array<ContextTransactionMutation>;
609
- parent: ContextTransaction;
643
+ parent?: ContextTransaction;
610
644
  children: Array<ContextTransaction>;
611
645
  constructor();
612
646
  }
613
647
  export declare class ContextTransactionMutation {
614
- sourceNode: CodeNode;
615
- targetNode: CodeNode;
616
- addedNode: CodeNode;
648
+ sourceNode?: CodeNode;
649
+ targetNode?: CodeNode;
650
+ addedNode?: CodeNode;
617
651
  constructor();
618
652
  }
619
653
  export declare class RangerRegisteredPlugin {
@@ -622,21 +656,21 @@ export declare class RangerRegisteredPlugin {
622
656
  constructor();
623
657
  }
624
658
  export declare class RangerAppWriterContext {
625
- langOperators: CodeNode;
626
- stdCommands: CodeNode;
627
- operators: RangerActiveOperators;
659
+ langOperators?: CodeNode;
660
+ stdCommands?: CodeNode;
661
+ operators?: RangerActiveOperators;
628
662
  op_list: {
629
663
  [key: string]: RangerOperatorList;
630
664
  };
631
- reservedWords: CodeNode;
665
+ reservedWords?: CodeNode;
632
666
  intRootCounter: number;
633
667
  targetLangName: string;
634
- parent: RangerAppWriterContext;
668
+ parent?: RangerAppWriterContext;
635
669
  defined_imports: Array<string>;
636
670
  already_imported: {
637
671
  [key: string]: boolean;
638
672
  };
639
- fileSystem: CodeFileSystem;
673
+ fileSystem?: CodeFileSystem;
640
674
  is_function: boolean;
641
675
  class_level_context: boolean;
642
676
  function_level_context: boolean;
@@ -652,17 +686,18 @@ export declare class RangerAppWriterContext {
652
686
  expr_stack: Array<boolean>;
653
687
  expr_restart: boolean;
654
688
  expr_restart_block: boolean;
689
+ in_lhs_of_assignment: boolean;
655
690
  in_method: boolean;
656
691
  method_stack: Array<boolean>;
657
692
  typeNames: Array<string>;
658
693
  typeClasses: {
659
694
  [key: string]: RangerTypeClass;
660
695
  };
661
- currentClassName: string;
696
+ currentClassName?: string;
662
697
  in_class: boolean;
663
698
  in_static_method: boolean;
664
- currentClass: RangerAppClassDesc;
665
- currentMethod: RangerAppFunctionDesc;
699
+ currentClass?: RangerAppClassDesc;
700
+ currentMethod?: RangerAppFunctionDesc;
666
701
  thisName: string;
667
702
  definedEnums: {
668
703
  [key: string]: RangerAppEnum;
@@ -744,8 +779,8 @@ export declare class RangerAppWriterContext {
744
779
  libraryPaths: Array<string>;
745
780
  outputPath: string;
746
781
  counters: TypeCounts;
747
- parser: RangerFlowParser;
748
- compiler: LiveCompiler;
782
+ parser?: RangerFlowParser;
783
+ compiler?: LiveCompiler;
749
784
  pluginNodes: {
750
785
  [key: string]: RangerNodeList;
751
786
  };
@@ -753,17 +788,31 @@ export declare class RangerAppWriterContext {
753
788
  [key: string]: RangerNodeList;
754
789
  };
755
790
  registered_plugins: Array<RangerRegisteredPlugin>;
756
- operatorFunction: (name: string) => CodeNode;
757
- lastBlockOp: CodeNode;
791
+ operatorFunction?: (name: string) => CodeNode;
792
+ lastBlockOp?: CodeNode;
758
793
  opFnsList: {
759
794
  [key: string]: CodeNode;
760
795
  };
761
796
  test_compile: Array<boolean>;
762
797
  activeTransaction: Array<ContextTransaction>;
763
798
  transactions: Array<ContextTransaction>;
764
- env: InputEnv;
799
+ env?: InputEnv;
800
+ rust_moved_vars: {
801
+ [key: string]: boolean;
802
+ };
803
+ rust_usage_count: {
804
+ [key: string]: number;
805
+ };
806
+ rust_temp_counter: number;
765
807
  rootFile: string;
766
808
  constructor();
809
+ rustMarkMoved(varName: string): void;
810
+ rustIsMoved(varName: string): boolean;
811
+ rustClearMoved(varName: string): void;
812
+ rustIncUsage(varName: string): void;
813
+ rustGetUsageCount(varName: string): number;
814
+ rustNeedsClone(varName: string): boolean;
815
+ rustGetTempVar(): string;
767
816
  getEnv(): InputEnv;
768
817
  setTestCompile(): void;
769
818
  unsetTestCompile(): void;
@@ -888,6 +937,9 @@ export declare class RangerAppWriterContext {
888
937
  expressionLevel(): number;
889
938
  setInExpr(): void;
890
939
  unsetInExpr(): void;
940
+ setInLhs(): void;
941
+ unsetInLhs(): void;
942
+ isInLhs(): boolean;
891
943
  getErrorCount(): number;
892
944
  isInStatic(): boolean;
893
945
  isInMain(): boolean;
@@ -903,12 +955,12 @@ export declare class RangerAppWriterContext {
903
955
  export declare class CodeFile {
904
956
  path_name: string;
905
957
  name: string;
906
- writer: CodeWriter;
958
+ writer?: CodeWriter;
907
959
  import_list: {
908
960
  [key: string]: string;
909
961
  };
910
962
  import_names: Array<string>;
911
- fileSystem: CodeFileSystem;
963
+ fileSystem?: CodeFileSystem;
912
964
  constructor(filePath: string, fileName: string);
913
965
  addImport(import_name: string): void;
914
966
  rewrite(newString: string): void;
@@ -926,7 +978,7 @@ export declare class CodeFileSystem {
926
978
  }
927
979
  export declare class CodeSlice {
928
980
  code: string;
929
- writer: CodeWriter;
981
+ writer?: CodeWriter;
930
982
  constructor();
931
983
  getCode(): string;
932
984
  }
@@ -945,11 +997,11 @@ export declare class CodeWriter {
945
997
  [key: string]: number;
946
998
  };
947
999
  slices: Array<CodeSlice>;
948
- current_slice: CodeSlice;
949
- ownerFile: CodeFile;
1000
+ current_slice?: CodeSlice;
1001
+ ownerFile?: CodeFile;
950
1002
  forks: Array<CodeWriter>;
951
1003
  tagOffset: number;
952
- parent: CodeWriter;
1004
+ parent?: CodeWriter;
953
1005
  had_nl: boolean;
954
1006
  constructor();
955
1007
  rewrite(newString: string): void;
@@ -972,18 +1024,18 @@ export declare class CodeWriter {
972
1024
  static emptyWithFS(): CodeWriter;
973
1025
  }
974
1026
  export declare class RangerLispParser {
975
- code: SourceCode;
976
- buff: string;
1027
+ code?: SourceCode;
1028
+ buff?: string;
977
1029
  __len: number;
978
1030
  i: number;
979
1031
  last_line_start: number;
980
1032
  current_line_index: number;
981
1033
  parents: Array<CodeNode>;
982
- next: CodeNode;
1034
+ next?: CodeNode;
983
1035
  paren_cnt: number;
984
1036
  get_op_pred: number;
985
- rootNode: CodeNode;
986
- curr_node: CodeNode;
1037
+ rootNode?: CodeNode;
1038
+ curr_node?: CodeNode;
987
1039
  had_error: boolean;
988
1040
  disableOperators: boolean;
989
1041
  constructor(code_module: SourceCode);
@@ -1036,7 +1088,7 @@ export declare class DictNode {
1036
1088
  int_value: number;
1037
1089
  string_value: string;
1038
1090
  boolean_value: boolean;
1039
- object_value: DictNode;
1091
+ object_value?: DictNode;
1040
1092
  children: Array<DictNode>;
1041
1093
  objects: {
1042
1094
  [key: string]: DictNode;
@@ -1089,11 +1141,11 @@ export declare class RangerServiceBuilder {
1089
1141
  export declare class RangerAppOperatorDesc extends RangerAppParamDesc {
1090
1142
  name: string;
1091
1143
  ref_cnt: number;
1092
- node: CodeNode;
1093
- nameNode: CodeNode;
1094
- fnBody: CodeNode;
1144
+ node?: CodeNode;
1145
+ nameNode?: CodeNode;
1146
+ fnBody?: CodeNode;
1095
1147
  op_params: Array<CodeNode>;
1096
- firstArg: CodeNode;
1148
+ firstArg?: CodeNode;
1097
1149
  constructor();
1098
1150
  isOperator(): boolean;
1099
1151
  isProperty(): boolean;
@@ -1111,21 +1163,21 @@ export declare class TTypes {
1111
1163
  static baseTypeAsEval(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1112
1164
  }
1113
1165
  export declare class ClassJoinPoint {
1114
- class_def: RangerAppClassDesc;
1115
- node: CodeNode;
1166
+ class_def?: RangerAppClassDesc;
1167
+ node?: CodeNode;
1116
1168
  constructor();
1117
1169
  }
1118
1170
  export declare class WalkLater {
1119
- arg: CodeNode;
1120
- callArg: CodeNode;
1171
+ arg?: CodeNode;
1172
+ callArg?: CodeNode;
1121
1173
  constructor();
1122
1174
  }
1123
1175
  export declare class RangerFlowParser {
1124
1176
  hasRootPath: boolean;
1125
1177
  rootPath: string;
1126
1178
  _debug: boolean;
1127
- stdCommands: CodeNode;
1128
- lastProcessedNode: CodeNode;
1179
+ stdCommands?: CodeNode;
1180
+ lastProcessedNode?: CodeNode;
1129
1181
  collectWalkAtEnd: Array<CodeNode>;
1130
1182
  walkAlso: Array<CodeNode>;
1131
1183
  serializedClasses: Array<RangerAppClassDesc>;
@@ -1226,12 +1278,12 @@ export declare class TFactory {
1226
1278
  }
1227
1279
  export declare class CallChain {
1228
1280
  methodName: string;
1229
- method: CodeNode;
1230
- args: CodeNode;
1281
+ method?: CodeNode;
1282
+ args?: CodeNode;
1231
1283
  constructor();
1232
1284
  }
1233
1285
  export declare class NodeEvalState {
1234
- ctx: RangerAppWriterContext;
1286
+ ctx?: RangerAppWriterContext;
1235
1287
  is_running: boolean;
1236
1288
  child_index: number;
1237
1289
  cmd_index: number;
@@ -1250,11 +1302,11 @@ export declare class NodeEvalState {
1250
1302
  eval_end_index: number;
1251
1303
  ask_eval_start: number;
1252
1304
  ask_eval_end: number;
1253
- evaluating_cmd: CodeNode;
1305
+ evaluating_cmd?: CodeNode;
1254
1306
  constructor();
1255
1307
  }
1256
1308
  export declare class RangerGenericClassWriter {
1257
- compiler: LiveCompiler;
1309
+ compiler?: LiveCompiler;
1258
1310
  compFlags: {
1259
1311
  [key: string]: boolean;
1260
1312
  };
@@ -1295,13 +1347,13 @@ export declare class RangerGenericClassWriter {
1295
1347
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1296
1348
  }
1297
1349
  export declare class AndroidPageWriter {
1298
- classWriter: RangerGenericClassWriter;
1350
+ classWriter?: RangerGenericClassWriter;
1299
1351
  constructor();
1300
1352
  BuildAST(code_string: string): CodeNode;
1301
1353
  CreatePage(parser: RangerFlowParser, node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1302
1354
  }
1303
1355
  export declare class RangerJava7ClassWriter extends RangerGenericClassWriter {
1304
- compiler: LiveCompiler;
1356
+ compiler?: LiveCompiler;
1305
1357
  signatures: {
1306
1358
  [key: string]: number;
1307
1359
  };
@@ -1331,7 +1383,29 @@ export declare class RangerJava7ClassWriter extends RangerGenericClassWriter {
1331
1383
  CreatePage(parser: RangerFlowParser, node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1332
1384
  }
1333
1385
  export declare class RangerSwift3ClassWriter extends RangerGenericClassWriter {
1334
- compiler: LiveCompiler;
1386
+ compiler?: LiveCompiler;
1387
+ header_created: boolean;
1388
+ constructor();
1389
+ adjustType(tn: string): string;
1390
+ getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
1391
+ getTypeString(type_string: string): string;
1392
+ writeTypeDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1393
+ WriteEnum(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1394
+ WriteVRef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1395
+ writeVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1396
+ writeArgsDef(fnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1397
+ writeArgsDefWithLocals(fnDesc: RangerAppFunctionDesc, localFnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1398
+ CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1399
+ writeFnCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1400
+ CreateLambdaCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1401
+ CreateLambda(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1402
+ writeNewCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1403
+ haveSameSig(fn1: RangerAppFunctionDesc, fn2: RangerAppFunctionDesc, ctx: RangerAppWriterContext): boolean;
1404
+ CustomOperator(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1405
+ writeClass(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1406
+ }
1407
+ export declare class RangerSwift6ClassWriter extends RangerGenericClassWriter {
1408
+ compiler?: LiveCompiler;
1335
1409
  header_created: boolean;
1336
1410
  constructor();
1337
1411
  adjustType(tn: string): string;
@@ -1353,9 +1427,10 @@ export declare class RangerSwift3ClassWriter extends RangerGenericClassWriter {
1353
1427
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1354
1428
  }
1355
1429
  export declare class RangerCppClassWriter extends RangerGenericClassWriter {
1356
- compiler: LiveCompiler;
1430
+ compiler?: LiveCompiler;
1357
1431
  header_created: boolean;
1358
1432
  constructor();
1433
+ lineEnding(): string;
1359
1434
  adjustType(tn: string): string;
1360
1435
  WriteScalarValue(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1361
1436
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1380,8 +1455,60 @@ export declare class RangerCppClassWriter extends RangerGenericClassWriter {
1380
1455
  CreateUnions(parser: RangerFlowParser, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1381
1456
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1382
1457
  }
1458
+ export declare class MethodCallList {
1459
+ calls: Array<string>;
1460
+ constructor();
1461
+ add(methodName: string): void;
1462
+ }
1463
+ export declare class RangerRustClassWriter extends RangerGenericClassWriter {
1464
+ compiler?: LiveCompiler;
1465
+ thisName: string;
1466
+ fileHeaderWritten: boolean;
1467
+ constructor();
1468
+ lineEnding(): string;
1469
+ adjustType(tn: string): string;
1470
+ WriteScalarValue(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1471
+ getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
1472
+ getTypeString(type_string: string): string;
1473
+ writeTypeDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1474
+ WriteVRef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1475
+ writeStructField(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1476
+ writeVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1477
+ writeArgsDef(fnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1478
+ containsSelfReference(node: CodeNode): boolean;
1479
+ fnBodyUsesThis(node: CodeNode, ctx: RangerAppWriterContext): boolean;
1480
+ accessesFieldOf(node: CodeNode, varName: string): boolean;
1481
+ getArgRootVar(node: CodeNode): string;
1482
+ hasMutRefConflict(node: CodeNode, fnDesc: RangerAppFunctionDesc, argIdx: number, givenArgs: CodeNode): boolean;
1483
+ collectSelfMethodCalls(node: CodeNode, ctx: RangerAppWriterContext, calls: Array<string>): void;
1484
+ fnBodyDirectlyMutatesThis(node: CodeNode, ctx: RangerAppWriterContext): boolean;
1485
+ buildClassMutationGraph(cl: RangerAppClassDesc, ctx: RangerAppWriterContext, directMutations: {
1486
+ [key: string]: boolean;
1487
+ }, callGraph: {
1488
+ [key: string]: MethodCallList;
1489
+ }): void;
1490
+ methodTransitivelyMutates(methodName: string, directMutations: {
1491
+ [key: string]: boolean;
1492
+ }, callGraph: {
1493
+ [key: string]: MethodCallList;
1494
+ }, visited: Array<string>): boolean;
1495
+ methodMutatesThis(methodName: string, directMutations: {
1496
+ [key: string]: boolean;
1497
+ }, callGraph: {
1498
+ [key: string]: MethodCallList;
1499
+ }): boolean;
1500
+ fnBodyMutatesThis(node: CodeNode, ctx: RangerAppWriterContext): boolean;
1501
+ CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1502
+ CreateMethodCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1503
+ isSelfMethodCall(node: CodeNode): boolean;
1504
+ findSelfCallInArgs(node: CodeNode): number;
1505
+ writeFnCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1506
+ writeNewCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1507
+ writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1508
+ CustomOperator(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1509
+ }
1383
1510
  export declare class RangerKotlinClassWriter extends RangerGenericClassWriter {
1384
- compiler: LiveCompiler;
1511
+ compiler?: LiveCompiler;
1385
1512
  constructor();
1386
1513
  WriteScalarValue(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1387
1514
  adjustType(tn: string): string;
@@ -1396,7 +1523,7 @@ export declare class RangerKotlinClassWriter extends RangerGenericClassWriter {
1396
1523
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1397
1524
  }
1398
1525
  export declare class RangerCSharpClassWriter extends RangerGenericClassWriter {
1399
- compiler: LiveCompiler;
1526
+ compiler?: LiveCompiler;
1400
1527
  constructor();
1401
1528
  adjustType(tn: string): string;
1402
1529
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1411,7 +1538,7 @@ export declare class RangerCSharpClassWriter extends RangerGenericClassWriter {
1411
1538
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1412
1539
  }
1413
1540
  export declare class RangerScalaClassWriter extends RangerGenericClassWriter {
1414
- compiler: LiveCompiler;
1541
+ compiler?: LiveCompiler;
1415
1542
  init_done: boolean;
1416
1543
  constructor();
1417
1544
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1429,10 +1556,12 @@ export declare class RangerScalaClassWriter extends RangerGenericClassWriter {
1429
1556
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1430
1557
  }
1431
1558
  export declare class RangerGolangClassWriter extends RangerGenericClassWriter {
1432
- compiler: LiveCompiler;
1559
+ compiler?: LiveCompiler;
1433
1560
  thisName: string;
1434
1561
  write_raw_type: boolean;
1435
1562
  did_write_nullable: boolean;
1563
+ did_write_sseclient: boolean;
1564
+ httpServerWriter: RangerGolangHttpServerWriter;
1436
1565
  constructor();
1437
1566
  WriteScalarValue(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1438
1567
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1445,6 +1574,7 @@ export declare class RangerGolangClassWriter extends RangerGenericClassWriter {
1445
1574
  WriteSetterVRef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1446
1575
  goExtractAssign(value: CodeNode, p: RangerAppParamDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1447
1576
  writeStructField(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1577
+ CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1448
1578
  writeVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1449
1579
  writeArgsDef(fnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1450
1580
  writeNewCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
@@ -1455,8 +1585,23 @@ export declare class RangerGolangClassWriter extends RangerGenericClassWriter {
1455
1585
  writeInterface(cl: RangerAppClassDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1456
1586
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1457
1587
  }
1588
+ export declare class RangerGolangHttpServerWriter {
1589
+ didWriteSSEClient: boolean;
1590
+ didWriteHttpTypes: boolean;
1591
+ constructor();
1592
+ isHttpServerClass(cl: RangerAppClassDesc): boolean;
1593
+ getServerPort(cl: RangerAppClassDesc): number;
1594
+ getRouteMethod(fnDesc: RangerAppFunctionDesc): string;
1595
+ getRoutePath(fnDesc: RangerAppFunctionDesc): string;
1596
+ writeSSEClientStruct(wr: CodeWriter): void;
1597
+ addHttpImports(wr: CodeWriter): void;
1598
+ writeServerStart(serverArg: CodeNode, node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter, writer: RangerGolangClassWriter): void;
1599
+ writeStartMethod(cl: RangerAppClassDesc, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1600
+ writeStopMethod(cl: RangerAppClassDesc, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1601
+ writeHttpServerClass(cl: RangerAppClassDesc, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1602
+ }
1458
1603
  export declare class RangerPHPClassWriter extends RangerGenericClassWriter {
1459
- compiler: LiveCompiler;
1604
+ compiler?: LiveCompiler;
1460
1605
  thisName: string;
1461
1606
  wrote_header: boolean;
1462
1607
  constructor();
@@ -1479,21 +1624,46 @@ export declare class RangerPHPClassWriter extends RangerGenericClassWriter {
1479
1624
  CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1480
1625
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1481
1626
  }
1627
+ export declare class RangerPythonClassWriter extends RangerGenericClassWriter {
1628
+ compiler?: LiveCompiler;
1629
+ thisName: string;
1630
+ wrote_header: boolean;
1631
+ constructor();
1632
+ adjustType(tn: string): string;
1633
+ EncodeString(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): string;
1634
+ WriteScalarValue(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1635
+ WriteVRef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1636
+ writeVarInitDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1637
+ writeVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1638
+ CreateMethodCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1639
+ CreatePropertyGet(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1640
+ CreateLambdaCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1641
+ CreateLambda(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1642
+ writeClassVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1643
+ writeArgsDef(fnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1644
+ writeArrayLiteral(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1645
+ writeFnCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1646
+ writeNewCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1647
+ CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1648
+ writeClass(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1649
+ }
1482
1650
  export declare class WebPageWriter {
1483
- classWriter: RangerGenericClassWriter;
1651
+ classWriter?: RangerGenericClassWriter;
1484
1652
  constructor();
1485
1653
  CreatePage(parser: RangerFlowParser, node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1486
1654
  }
1487
1655
  export declare class RangerJavaScriptClassWriter extends RangerGenericClassWriter {
1488
- compiler: LiveCompiler;
1656
+ compiler?: LiveCompiler;
1489
1657
  thisName: string;
1490
1658
  wrote_header: boolean;
1491
1659
  target_flow: boolean;
1492
1660
  target_typescript: boolean;
1661
+ target_esm: boolean;
1493
1662
  constructor();
1494
1663
  lineEnding(): string;
1495
1664
  adjustType(tn: string): string;
1496
1665
  CreateTsUnions(parser: RangerFlowParser, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1666
+ isOptionalReference(node: CodeNode): boolean;
1497
1667
  writeFnCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1498
1668
  CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1499
1669
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1503,6 +1673,7 @@ export declare class RangerJavaScriptClassWriter extends RangerGenericClassWrite
1503
1673
  writeVarInitDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1504
1674
  writeVarDef(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1505
1675
  writeClassVarDef(p: RangerAppParamDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1676
+ writeNewCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1506
1677
  CreateLambdaCall(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1507
1678
  CreateLambda(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1508
1679
  writeArgsDef(fnDesc: RangerAppFunctionDesc, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
@@ -1514,7 +1685,7 @@ export declare class RangerJavaScriptClassWriter extends RangerGenericClassWrite
1514
1685
  writeNpmPackage(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1515
1686
  }
1516
1687
  export declare class RangerRangerClassWriter extends RangerGenericClassWriter {
1517
- compiler: LiveCompiler;
1688
+ compiler?: LiveCompiler;
1518
1689
  constructor();
1519
1690
  adjustType(tn: string): string;
1520
1691
  getObjectTypeString(type_string: string, ctx: RangerAppWriterContext): string;
@@ -1537,8 +1708,8 @@ export declare class OpList {
1537
1708
  constructor();
1538
1709
  }
1539
1710
  export declare class RangerActiveOperators {
1540
- stdCommands: CodeNode;
1541
- parent: RangerActiveOperators;
1711
+ stdCommands?: CodeNode;
1712
+ parent?: RangerActiveOperators;
1542
1713
  opHash: {
1543
1714
  [key: string]: OpList;
1544
1715
  };
@@ -1550,12 +1721,12 @@ export declare class RangerActiveOperators {
1550
1721
  initFrom(main: CodeNode): void;
1551
1722
  }
1552
1723
  export declare class LiveCompiler {
1553
- parser: RangerFlowParser;
1554
- langWriter: RangerGenericClassWriter;
1724
+ parser?: RangerFlowParser;
1725
+ langWriter?: RangerGenericClassWriter;
1555
1726
  hasCreatedPolyfill: {
1556
1727
  [key: string]: boolean;
1557
1728
  };
1558
- lastProcessedNode: CodeNode;
1729
+ lastProcessedNode?: CodeNode;
1559
1730
  repeat_index: number;
1560
1731
  installedFile: {
1561
1732
  [key: string]: boolean;
@@ -1571,7 +1742,8 @@ export declare class LiveCompiler {
1571
1742
  CreateCallExpression(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1572
1743
  CreateLambda(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1573
1744
  getTypeString(str: string, ctx: RangerAppWriterContext): string;
1574
- createPolyfill(code: string, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1745
+ createPolyfill(location: string, code: string, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1746
+ createPolyfillLegacy(code: string, ctx: RangerAppWriterContext, wr: CodeWriter): void;
1575
1747
  installFile(filename: string, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1576
1748
  findOpCode(op: CodeNode, node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1577
1749
  findOpTemplate(op: CodeNode, node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<CodeNode>;
@@ -1586,6 +1758,58 @@ export declare class ColorConsole {
1586
1758
  constructor();
1587
1759
  out(color: string, str: string): void;
1588
1760
  }
1761
+ export declare class CLIProgress {
1762
+ useColors: boolean;
1763
+ totalSteps: number;
1764
+ currentStep: number;
1765
+ startTime: number;
1766
+ stepStartTime: number;
1767
+ inputFile: string;
1768
+ outputFile: string;
1769
+ targetLanguage: string;
1770
+ compilerVersion: string;
1771
+ constructor();
1772
+ setUseColors(use: boolean): void;
1773
+ setCompilationInfo(input: string, output: string, target: string): void;
1774
+ checkMark(): string;
1775
+ crossMark(): string;
1776
+ arrowRight(): string;
1777
+ bullet(): string;
1778
+ lightning(): string;
1779
+ green(text: string): string;
1780
+ red(text: string): string;
1781
+ yellow(text: string): string;
1782
+ cyan(text: string): string;
1783
+ blue(text: string): string;
1784
+ magenta(text: string): string;
1785
+ gray(text: string): string;
1786
+ dim(text: string): string;
1787
+ bold(text: string): string;
1788
+ boldCyan(text: string): string;
1789
+ boldGreen(text: string): string;
1790
+ boldRed(text: string): string;
1791
+ success(msg: string): string;
1792
+ error(msg: string): string;
1793
+ warning(msg: string): string;
1794
+ info(msg: string): string;
1795
+ divider(): string;
1796
+ shortDivider(): string;
1797
+ padRight(text: string, width: number): string;
1798
+ padLeft(text: string, width: number): string;
1799
+ printHeader(): void;
1800
+ printCompilationInfo(): void;
1801
+ getTargetDisplay(lang: string): string;
1802
+ step(stepNum: number, stepName: string): void;
1803
+ stepWithDetail(stepNum: number, stepName: string, detail: string): void;
1804
+ printSuccess(outputPath: string): void;
1805
+ printFailure(errorCount: number): void;
1806
+ printCompilerError(filename: string, lineNum: number, colNum: number, description: string, lineContent: string, prevLine: string, nextLine: string): void;
1807
+ printSimpleError(filename: string, lineNum: number, description: string, lineContent: string): void;
1808
+ printHelpHeader(): void;
1809
+ printOption(option: string, description: string): void;
1810
+ printFlag(flag: string, description: string): void;
1811
+ printSection(title: string): void;
1812
+ }
1589
1813
  export declare class RangerDocGenerator {
1590
1814
  constructor();
1591
1815
  writeTypeDef(item: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
@@ -1595,6 +1819,53 @@ export declare class RangerDocGenerator {
1595
1819
  writeTypeDoc(list: Array<RangerAppOperatorDesc>, tester: (item: RangerAppOperatorDesc) => boolean, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1596
1820
  createOperatorDoc(node: CodeNode, ctx: RangerAppWriterContext, orig_wr: CodeWriter): Promise<void>;
1597
1821
  }
1822
+ export declare class StaticAnalyzer {
1823
+ ctx?: RangerAppWriterContext;
1824
+ currentFunction?: RangerAppFunctionDesc;
1825
+ currentClass?: RangerAppClassDesc;
1826
+ debug: boolean;
1827
+ mutatingOps: {
1828
+ [key: string]: boolean;
1829
+ };
1830
+ constructor();
1831
+ initMutatingOps(): void;
1832
+ isMutatingOperator(opName: string): boolean;
1833
+ isMutatingNode(node: CodeNode): boolean;
1834
+ getRootVarName(node: CodeNode): string;
1835
+ isMemberAccess(node: CodeNode): boolean;
1836
+ getMemberPath(node: CodeNode): string;
1837
+ markVarAsMutated(varName: string, fnCtx: RangerAppWriterContext): void;
1838
+ analyzeVarDef(node: CodeNode): void;
1839
+ walkForFieldAssignments(node: CodeNode, fnCtx: RangerAppWriterContext): void;
1840
+ walkForMutations(node: CodeNode, fnCtx: RangerAppWriterContext): void;
1841
+ walkForReturns(node: CodeNode): void;
1842
+ isSelfAssignment(node: CodeNode): boolean;
1843
+ usesSelf(node: CodeNode): boolean;
1844
+ walkForSelfAnalysis(node: CodeNode): void;
1845
+ isWeakField(fieldName: string): boolean;
1846
+ walkForWeakAssignments(node: CodeNode, fnCtx: RangerAppWriterContext): void;
1847
+ walkForTransitiveWeak(node: CodeNode, fnCtx: RangerAppWriterContext): void;
1848
+ containsSelfMethodCall(node: CodeNode): boolean;
1849
+ collectSelfMethodCallArgs(node: CodeNode, results: Array<CodeNode>): void;
1850
+ walkForRustBorrowConflicts(node: CodeNode): void;
1851
+ analyzeFunction(fn: RangerAppFunctionDesc): void;
1852
+ analyzeClass(cl: RangerAppClassDesc): void;
1853
+ analyzeTransitiveWeak(fn: RangerAppFunctionDesc): void;
1854
+ analyzeClassTransitiveWeak(cl: RangerAppClassDesc): void;
1855
+ walkForTransitiveMutBorrow(node: CodeNode, fnCtx: RangerAppWriterContext, fn: RangerAppFunctionDesc, changedParams: Array<string>): void;
1856
+ analyzeTransitiveMutBorrow(fn: RangerAppFunctionDesc, changedParams: Array<string>): void;
1857
+ analyzeClassTransitiveMutBorrow(cl: RangerAppClassDesc, changedParams: Array<string>): void;
1858
+ checkDirectSelfMutation(fn: RangerAppFunctionDesc): boolean;
1859
+ nodeDirectlyMutatesSelf(node: CodeNode): boolean;
1860
+ analyzeMethodMutation(fn: RangerAppFunctionDesc): boolean;
1861
+ checkTransitiveMutation(node: CodeNode, fn: RangerAppFunctionDesc): boolean;
1862
+ analyzeClassMutation(cl: RangerAppClassDesc): void;
1863
+ doesMethodMutate(typeName: string, methodName: string): boolean;
1864
+ analyzeParamMethodCalls(node: CodeNode, fnCtx: RangerAppWriterContext, fn: RangerAppFunctionDesc): void;
1865
+ analyzeMethodParamMutations(fn: RangerAppFunctionDesc): void;
1866
+ analyzeClassParamMutations(cl: RangerAppClassDesc): void;
1867
+ analyzeAll(): void;
1868
+ }
1598
1869
  export declare class viewbuilder_Android {
1599
1870
  constructor();
1600
1871
  _attr(wr: CodeWriter, name: string, value: string): void;
@@ -1613,20 +1884,25 @@ export declare class viewbuilder_Web {
1613
1884
  writeClass(node: CodeNode, ctx: RangerAppWriterContext, wr: CodeWriter): Promise<void>;
1614
1885
  }
1615
1886
  export declare class CompilerResults {
1616
- ctx: RangerAppWriterContext;
1617
- fileSystem: CodeFileSystem;
1887
+ ctx?: RangerAppWriterContext;
1888
+ fileSystem?: CodeFileSystem;
1618
1889
  target_dir: string;
1890
+ hasErrors: boolean;
1891
+ errorMessage: string;
1619
1892
  constructor();
1620
1893
  }
1621
1894
  export declare class VirtualCompiler {
1622
- envObj: InputEnv;
1895
+ envObj?: InputEnv;
1623
1896
  constructor();
1624
1897
  getEnvVar(name: string): string;
1625
1898
  possiblePaths(envVarName: string): Array<string>;
1626
1899
  searchLib(paths: Array<string>, libname: string): string;
1627
1900
  fillStr(cnt: number): string;
1901
+ detectLanguageFromExtension(filename: string): string;
1902
+ isTypeScriptExtension(filename: string): boolean;
1628
1903
  run(env: InputEnv): Promise<CompilerResults>;
1629
1904
  static create_env(): Promise<void>;
1905
+ static displayCompilerErrorsWithCLI(appCtx: RangerAppWriterContext, cli: CLIProgress): void;
1630
1906
  static displayCompilerErrors(appCtx: RangerAppWriterContext): void;
1631
1907
  static displayParserErrors(appCtx: RangerAppWriterContext): void;
1632
1908
  }