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 +0,0 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../../bin/api.ts"],"names":[],"mappings":"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","sourcesContent":["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;\nexport class CmdParams {\n flags: {[key:string]:boolean};\n params: {[key:string]:string};\n values: Array<string>;\n constructor() {\n this.flags = {};\n this.params = {};\n this.values = [];\n }\n hasParam (name : string) : boolean {\n return ( typeof(this.params[name] ) != \"undefined\" && this.params.hasOwnProperty(name) );\n };\n getParam (name : string) : string {\n return this.params[name];\n };\n collect () : void {\n let cnt : number = (process.argv.length - 2);\n let i : number = 0;\n while (cnt > 0) {\n const argStr : string = process.argv[ 2 + i];\n const firstC : number = argStr.charCodeAt(0 );\n if ( firstC == (45) ) {\n const pS : string = argStr.substring(1, (argStr.length) );\n const parts : Array<string> = pS.split(\"=\");\n if ( (parts.length) == 1 ) {\n const flag : string = parts[0];\n this.flags[flag] = true;\n } else {\n const name : string = parts[0];\n parts.splice(0, 1).pop();\n const value : string = parts.join(\"=\");\n this.params[name] = value;\n }\n } else {\n this.values.push(argStr);\n }\n cnt = cnt - 1;\n i = i + 1;\n };\n };\n toDictionary () : Object {\n let res : Object = {};\n try {\n let values_1 : Object = {};\n const keyList : Array<string> = Object.keys(this.flags);\n for ( let index = 0; index < keyList.length; index++) {\n var keyname = keyList[index];\n const item : boolean = (this.flags[keyname]);\n values_1[keyname] = item;\n };\n res[\"flags\"] = values_1;\n let values_2 : Object = {};\n const keyList_1 : Array<string> = Object.keys(this.params);\n for ( let index_1 = 0; index_1 < keyList_1.length; index_1++) {\n var keyname_1 = keyList_1[index_1];\n const item_1 : string = (this.params[keyname_1]);\n values_2[keyname_1] = item_1;\n };\n res[\"params\"] = values_2;\n let values_3 : Array<any> = [];\n for ( let i = 0; i < this.values.length; i++) {\n var item_2 = this.values[i];\n values_3.push(item_2);\n };\n res[\"values\"] = values_3;\n } catch(e) {\n }\n return res;\n };\n // typescript static \n static async fromDictionary (dict : Object) : Promise<CmdParams> {\n const obj : CmdParams = new CmdParams();\n try {\n const values : Object = (dict[\"flags\"] instanceof Object ) ? dict [\"flags\"] : undefined ;\n if ( (typeof(values) !== \"undefined\" && values != null ) ) {\n const theObjflags : Object = values;\n const obj_keys : Array<string> = Object.keys(theObjflags);\n await operatorsOf.forEach_12(obj_keys, ((item : string, index : number):void => { \n const v : boolean = typeof(theObjflags [item]) === \"undefined\" ? undefined :(theObjflags [item]) ;\n if ( (typeof(v) !== \"undefined\" && v != null ) ) {\n obj.flags[item] = v;\n }\n }));\n }\n const values_1 : Object = (dict[\"params\"] instanceof Object ) ? dict [\"params\"] : undefined ;\n if ( (typeof(values_1) !== \"undefined\" && values_1 != null ) ) {\n const theObjparams : Object = values_1;\n const obj_keys_1 : Array<string> = Object.keys(theObjparams);\n await operatorsOf.forEach_12(obj_keys_1, ((item : string, index : number):void => { \n const v_1 : string = (typeof (theObjparams [item]) != \"string\" ) ? undefined : theObjparams [item] \n ;\n if ( (typeof(v_1) !== \"undefined\" && v_1 != null ) ) {\n obj.params[item] = v_1;\n }\n }));\n }\n const values_2 : Array<any> = (dict[\"values\"] instanceof Array ) ? dict [\"values\"] : undefined ;\n if ( (typeof(values_2) !== \"undefined\" && values_2 != null ) ) {\n const arr : Array<any> = values_2;\n operatorsOfJSONArrayObject_57.forEach_58(arr, ((item : Object, index : number):void => { \n if( typeof(item) === 'string' ) /* union case for string */ {\n var oo = item;\n obj.values.push(oo);\n };\n }));\n }\n } catch(e) {\n }\n return obj;\n };\n}\nexport class test_cmdparams {\n constructor() {\n }\n run () : void {\n const prms : CmdParams = new CmdParams();\n prms.collect();\n console.log(\"--- params ----\");\n const pNames : Array<string> = Object.keys(prms.params);\n for ( let i = 0; i < pNames.length; i++) {\n var v = pNames[i];\n console.log((v + \" = \") + ((prms.params[v])));\n };\n console.log(\"--- flags ----\");\n const flagNames : Array<string> = Object.keys(prms.flags);\n for ( let i_1 = 0; i_1 < flagNames.length; i_1++) {\n var v_1 = flagNames[i_1];\n console.log(v_1);\n };\n console.log(\"--- values ----\");\n for ( let i_2 = 0; i_2 < prms.values.length; i_2++) {\n var v_2 = prms.values[i_2];\n console.log(v_2);\n };\n };\n}\nexport class InputFSFolder {\n name: string;\n data: string;\n is_folder: boolean;\n base64bin: boolean;\n folders: Array<InputFSFolder>;\n files: Array<InputFSFile>;\n constructor() {\n this.name = \"\";\n this.data = \"\";\n this.is_folder = true;\n this.base64bin = false;\n this.folders = [];\n this.files = [];\n }\n forTree (cb : (item:InputFSFolder) => void) : void {\n cb(this);\n operatorsOf.forEach_2(this.folders, ((item : InputFSFolder, index : number):void => { \n item.forTree(cb);\n }));\n };\n toDictionary () : Object {\n let res : Object = {};\n try {\n res[\"name\"] = this.name;\n res[\"data\"] = this.data;\n res[\"is_folder\"] = this.is_folder;\n res[\"base64bin\"] = this.base64bin;\n let values : Array<any> = [];\n for ( let i = 0; i < this.folders.length; i++) {\n var item = this.folders[i];\n const obj : Object = item.toDictionary();\n values.push(obj);\n };\n res[\"folders\"] = values;\n let values_1 : Array<any> = [];\n for ( let i_1 = 0; i_1 < this.files.length; i_1++) {\n var item_1 = this.files[i_1];\n const obj_1 : Object = item_1.toDictionary();\n values_1.push(obj_1);\n };\n res[\"files\"] = values_1;\n } catch(e) {\n }\n return res;\n };\n // typescript static \n static async fromDictionary (dict : Object) : Promise<InputFSFolder> {\n const obj : InputFSFolder = new InputFSFolder();\n try {\n const v : string = (typeof (dict [\"name\"]) != \"string\" ) ? undefined : dict [\"name\"] \n ;\n if ( (typeof(v) !== \"undefined\" && v != null ) ) {\n obj.name = v;\n }\n const v_1 : string = (typeof (dict [\"data\"]) != \"string\" ) ? undefined : dict [\"data\"] \n ;\n if ( (typeof(v_1) !== \"undefined\" && v_1 != null ) ) {\n obj.data = v_1;\n }\n const v_2 : boolean = typeof(dict [\"is_folder\"]) === \"undefined\" ? undefined :(dict [\"is_folder\"]) ;\n if ( (typeof(v_2) !== \"undefined\" && v_2 != null ) ) {\n obj.is_folder = v_2;\n }\n const v_3 : boolean = typeof(dict [\"base64bin\"]) === \"undefined\" ? undefined :(dict [\"base64bin\"]) ;\n if ( (typeof(v_3) !== \"undefined\" && v_3 != null ) ) {\n obj.base64bin = v_3;\n }\n const values : Array<any> = (dict[\"folders\"] instanceof Array ) ? dict [\"folders\"] : undefined ;\n if ( (typeof(values) !== \"undefined\" && values != null ) ) {\n const arr : Array<any> = values;\n await operatorsOf_57.forEach_58(arr, (async (item : Object, index : number): Promise<void> => { \n if( item instanceof Object ) /* union case */ {\n var oo = item;\n const newObj : InputFSFolder = await InputFSFolder.fromDictionary(oo);\n obj.folders.push(newObj);\n };\n }));\n }\n const values_1 : Array<any> = (dict[\"files\"] instanceof Array ) ? dict [\"files\"] : undefined ;\n if ( (typeof(values_1) !== \"undefined\" && values_1 != null ) ) {\n const arr_1 : Array<any> = values_1;\n await operatorsOf_57.forEach_58(arr_1, ((item : Object, index : number):void => { \n if( item instanceof Object ) /* union case */ {\n var oo_1 = item;\n const newObj_1 : InputFSFile = InputFSFile.fromDictionary(oo_1);\n obj.files.push(newObj_1);\n };\n }));\n }\n } catch(e) {\n }\n return obj;\n };\n}\nexport class InputFSFile {\n name: string;\n data: string;\n is_folder: boolean;\n base64bin: boolean;\n constructor() {\n this.name = \"\";\n this.data = \"\";\n this.is_folder = false;\n this.base64bin = false;\n }\n toDictionary () : Object {\n let res : Object = {};\n try {\n res[\"name\"] = this.name;\n res[\"data\"] = this.data;\n res[\"is_folder\"] = this.is_folder;\n res[\"base64bin\"] = this.base64bin;\n } catch(e) {\n }\n return res;\n };\n // typescript static \n static fromDictionary (dict : Object) : InputFSFile {\n const obj : InputFSFile = new InputFSFile();\n try {\n const v : string = (typeof (dict [\"name\"]) != \"string\" ) ? undefined : dict [\"name\"] \n ;\n if ( (typeof(v) !== \"undefined\" && v != null ) ) {\n obj.name = v;\n }\n const v_1 : string = (typeof (dict [\"data\"]) != \"string\" ) ? undefined : dict [\"data\"] \n ;\n if ( (typeof(v_1) !== \"undefined\" && v_1 != null ) ) {\n obj.data = v_1;\n }\n const v_2 : boolean = typeof(dict [\"is_folder\"]) === \"undefined\" ? undefined :(dict [\"is_folder\"]) ;\n if ( (typeof(v_2) !== \"undefined\" && v_2 != null ) ) {\n obj.is_folder = v_2;\n }\n const v_3 : boolean = typeof(dict [\"base64bin\"]) === \"undefined\" ? undefined :(dict [\"base64bin\"]) ;\n if ( (typeof(v_3) !== \"undefined\" && v_3 != null ) ) {\n obj.base64bin = v_3;\n }\n } catch(e) {\n }\n return obj;\n };\n}\nexport class InputEnv {\n use_real: boolean;\n filesystem: InputFSFolder;\n envVars: {[key:string]:string};\n commandLine: CmdParams;\n constructor() {\n this.use_real = false;\n this.envVars = {};\n }\n setEnv (name : string, value : string) : void {\n this.envVars[name] = value;\n };\n toDictionary () : Object {\n let res : Object = {};\n try {\n res[\"use_real\"] = this.use_real;\n if ( (typeof(this.filesystem) !== \"undefined\" && this.filesystem != null ) ) {\n res[\"filesystem\"] = ((this.filesystem)).toDictionary();\n }\n let values : Object = {};\n const keyList : Array<string> = Object.keys(this.envVars);\n for ( let index = 0; index < keyList.length; index++) {\n var keyname = keyList[index];\n const item : string = (this.envVars[keyname]);\n values[keyname] = item;\n };\n res[\"envVars\"] = values;\n if ( (typeof(this.commandLine) !== \"undefined\" && this.commandLine != null ) ) {\n res[\"commandLine\"] = ((this.commandLine)).toDictionary();\n }\n } catch(e) {\n }\n return res;\n };\n // typescript static \n static async fromDictionary (dict : Object) : Promise<InputEnv> {\n const obj : InputEnv = new InputEnv();\n try {\n const v : boolean = typeof(dict [\"use_real\"]) === \"undefined\" ? undefined :(dict [\"use_real\"]) ;\n if ( (typeof(v) !== \"undefined\" && v != null ) ) {\n obj.use_real = v;\n }\n const theValue : Object = (dict[\"filesystem\"] instanceof Object ) ? dict [\"filesystem\"] : undefined ;\n if ( (typeof(theValue) !== \"undefined\" && theValue != null ) ) {\n const newObj : InputFSFolder = await InputFSFolder.fromDictionary((theValue));\n obj.filesystem = newObj;\n }\n const values : Object = (dict[\"envVars\"] instanceof Object ) ? dict [\"envVars\"] : undefined ;\n if ( (typeof(values) !== \"undefined\" && values != null ) ) {\n const theObjenvVars : Object = values;\n const obj_keys : Array<string> = Object.keys(theObjenvVars);\n await operatorsOf.forEach_12(obj_keys, ((item : string, index : number):void => { \n const v_1 : string = (typeof (theObjenvVars [item]) != \"string\" ) ? undefined : theObjenvVars [item] \n ;\n if ( (typeof(v_1) !== \"undefined\" && v_1 != null ) ) {\n obj.envVars[item] = v_1;\n }\n }));\n }\n const theValue_1 : Object = (dict[\"commandLine\"] instanceof Object ) ? dict [\"commandLine\"] : undefined ;\n if ( (typeof(theValue_1) !== \"undefined\" && theValue_1 != null ) ) {\n const newObj_1 : CmdParams = await CmdParams.fromDictionary((theValue_1));\n obj.commandLine = newObj_1;\n }\n } catch(e) {\n }\n return obj;\n };\n}\nexport class test_input_filesystem {\n constructor() {\n }\n}\nexport class RangerAppTodo {\n description: string;\n todonode: CodeNode;\n constructor() {\n this.description = \"\";\n }\n}\nexport class RangerCompilerMessage {\n error_level: number;\n code_line: number;\n fileName: string;\n description: string;\n node: CodeNode;\n constructor() {\n this.error_level = 0; /** note: unused */\n this.code_line = 0; /** note: unused */\n this.fileName = \"\"; /** note: unused */\n this.description = \"\";\n }\n}\nexport class RangerParamEventHandler {\n constructor() {\n }\n callback (param : RangerAppParamDesc) : void {\n };\n}\nexport class RangerParamEventList {\n list: Array<RangerParamEventHandler>;\n constructor() {\n this.list = [];\n }\n}\nexport class RangerParamEventMap {\n events: {[key:string]:RangerParamEventList};\n constructor() {\n this.events = {};\n }\n clearAllEvents () : void {\n };\n addEvent (name : string, e : RangerParamEventHandler) : void {\n if ( (( typeof(this.events[name] ) != \"undefined\" && this.events.hasOwnProperty(name) )) == false ) {\n this.events[name] = new RangerParamEventList();\n }\n const list : RangerParamEventList = (this.events[name]);\n list.list.push(e);\n };\n fireEvent (name : string, from : RangerAppParamDesc) : void {\n if ( ( typeof(this.events[name] ) != \"undefined\" && this.events.hasOwnProperty(name) ) ) {\n const list : RangerParamEventList = (this.events[name]);\n for ( let i = 0; i < list.list.length; i++) {\n var ev = list.list[i];\n ev.callback(from);\n };\n }\n };\n}\nexport class RangerAppArrayValue {\n value_type: number;\n value_type_name: string;\n values: Array<RangerAppValue>;\n constructor() {\n this.value_type = 0; /** note: unused */\n this.value_type_name = \"\"; /** note: unused */\n this.values = []; /** note: unused */\n }\n}\nexport class RangerAppHashValue {\n value_type: number;\n key_type_name: string;\n value_type_name: string;\n s_values: {[key:string]:RangerAppValue};\n i_values: {[key:string]:RangerAppValue};\n b_values: {[key:string]:RangerAppValue};\n d_values: {[key:string]:RangerAppValue};\n constructor() {\n this.value_type = 0; /** note: unused */\n this.key_type_name = \"\"; /** note: unused */\n this.value_type_name = \"\"; /** note: unused */\n this.s_values = {}; /** note: unused */\n this.i_values = {}; /** note: unused */\n this.b_values = {}; /** note: unused */\n this.d_values = {}; /** note: unused */\n }\n}\nexport class RangerAppValue {\n double_value: number;\n string_value: string;\n int_value: number;\n boolean_value: boolean;\n arr: RangerAppArrayValue;\n hash: RangerAppHashValue;\n constructor() {\n this.double_value = 0.0; /** note: unused */\n this.string_value = \"\"; /** note: unused */\n this.int_value = 0; /** note: unused */\n this.boolean_value = false; /** note: unused */\n }\n}\nexport class RangerRefForce {\n strength: number;\n lifetime: number;\n changer: CodeNode;\n constructor() {\n this.strength = 0;\n this.lifetime = 1;\n }\n}\nexport class RangerAppParamDesc {\n name: string;\n value: RangerAppValue;\n compiledName: string;\n debugString: string;\n is_register: boolean;\n ref_cnt: number;\n init_cnt: number;\n set_cnt: number;\n return_cnt: number;\n prop_assign_cnt: number;\n value_type: number;\n has_default: boolean;\n def_value: CodeNode;\n default_value: RangerNodeValue;\n isThis: boolean;\n classDesc: RangerAppClassDesc;\n is_immutable: boolean;\n is_static: boolean;\n propertyClass: RangerAppClassDesc;\n fnDesc: RangerAppFunctionDesc;\n ownerHistory: Array<RangerRefForce>;\n varType: number;\n refType: number;\n initRefType: number;\n isParam: boolean;\n paramIndex: number;\n is_optional: boolean;\n is_mutating: boolean;\n is_set: boolean;\n is_class_variable: boolean;\n is_captured: boolean;\n node: CodeNode;\n nameNode: CodeNode;\n fnBody: CodeNode;\n params: Array<RangerAppParamDesc>;\n return_value: RangerAppParamDesc;\n description: string;\n git_doc: string;\n has_events: boolean;\n eMap: RangerParamEventMap;\n constructor() {\n this.name = \"\";\n this.compiledName = \"\";\n this.debugString = \"\";\n this.is_register = false;\n this.ref_cnt = 0;\n this.init_cnt = 0;\n this.set_cnt = 0;\n this.return_cnt = 0;\n this.prop_assign_cnt = 0; /** note: unused */\n this.value_type = 0;\n this.has_default = false; /** note: unused */\n this.isThis = false; /** note: unused */\n this.is_immutable = false;\n this.is_static = false; /** note: unused */\n this.ownerHistory = [];\n this.varType = 0;\n this.refType = 0;\n this.initRefType = 0;\n this.paramIndex = 0; /** note: unused */\n this.is_optional = false;\n this.is_mutating = false; /** note: unused */\n this.is_set = false; /** note: unused */\n this.is_class_variable = false;\n this.is_captured = false;\n this.params = []; /** note: unused */\n this.description = \"\"; /** note: unused */\n this.git_doc = \"\";\n this.has_events = false;\n }\n addEvent (name : string, e : RangerParamEventHandler) : void {\n if ( this.has_events == false ) {\n this.eMap = new RangerParamEventMap();\n this.has_events = true;\n }\n this.eMap.addEvent(name, e);\n };\n changeStrength (newStrength : number, lifeTime : number, changer : CodeNode) : void {\n const entry : RangerRefForce = new RangerRefForce();\n entry.strength = newStrength;\n entry.lifetime = lifeTime;\n entry.changer = changer;\n this.ownerHistory.push(entry);\n };\n isFunction () : boolean {\n return false;\n };\n isProperty () : boolean {\n return true;\n };\n isClass () : boolean {\n return false;\n };\n isOperator () : boolean {\n return false;\n };\n doesInherit () : boolean {\n return false;\n };\n isAllocatedType () : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n if ( this.nameNode.eval_type != 0 ) {\n if ( this.nameNode.eval_type == 6 ) {\n return true;\n }\n if ( this.nameNode.eval_type == 7 ) {\n return true;\n }\n if ( (((((this.nameNode.eval_type == 15) || (this.nameNode.eval_type == 14)) || (this.nameNode.eval_type == 4)) || (this.nameNode.eval_type == 2)) || (this.nameNode.eval_type == 5)) || (this.nameNode.eval_type == 3) ) {\n return false;\n }\n if ( this.nameNode.eval_type == 13 ) {\n return false;\n }\n return true;\n }\n if ( this.nameNode.value_type == 11 ) {\n if ( false == this.nameNode.isPrimitive() ) {\n return true;\n }\n }\n if ( this.nameNode.value_type == 6 ) {\n return true;\n }\n if ( this.nameNode.value_type == 7 ) {\n return true;\n }\n }\n return false;\n };\n moveRefTo (nodeToMove : CodeNode, target : RangerAppParamDesc, ctx : RangerAppWriterContext) : void {\n const b_disable_errors : boolean = ctx.hasCompilerFlag(\"refcnt\") == false;\n if ( nodeToMove.ref_change_done ) {\n return;\n }\n if ( false == target.isAllocatedType() ) {\n return;\n }\n if ( false == this.isAllocatedType() ) {\n return;\n }\n nodeToMove.ref_change_done = true;\n const other_s : number = target.getStrength();\n const my_s : number = this.getStrength();\n let my_lifetime : number = this.getLifetime();\n const other_lifetime : number = target.getLifetime();\n let a_lives : boolean = false;\n let b_lives : boolean = false;\n const tmp_var : boolean = this.nameNode.hasFlag(\"temp\");\n if ( (typeof(target.nameNode) !== \"undefined\" && target.nameNode != null ) ) {\n if ( target.nameNode.hasFlag(\"lives\") ) {\n my_lifetime = 2;\n b_lives = true;\n }\n }\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n if ( this.nameNode.hasFlag(\"lives\") ) {\n my_lifetime = 2;\n a_lives = true;\n }\n }\n if ( other_s > 0 ) {\n if ( my_s == 1 ) {\n let lt : number = my_lifetime;\n if ( other_lifetime > my_lifetime ) {\n lt = other_lifetime;\n }\n this.changeStrength(0, lt, nodeToMove);\n } else {\n if ( my_s == 0 ) {\n if ( tmp_var == false ) {\n if ( false == b_disable_errors ) {\n ctx.addError(nodeToMove, \"Can not move a weak reference to a strong target.\");\n console.log(\"can not move weak refs to strong target:\");\n this.debugRefChanges();\n }\n }\n } else {\n if ( false == b_disable_errors ) {\n ctx.addError(nodeToMove, \"Can not move immutable reference to a strong target, evald type \" + this.nameNode.eval_type_name);\n }\n }\n }\n } else {\n if ( a_lives || b_lives ) {\n } else {\n if ( (my_lifetime < other_lifetime) && (this.return_cnt == 0) ) {\n if ( this.nameNode.hasFlag(\"returnvalue\") == false ) {\n if ( false == b_disable_errors ) {\n ctx.addError(nodeToMove, \"Can not create a weak reference if target has longer lifetime than original, current lifetime == \" + my_lifetime);\n }\n }\n }\n }\n }\n };\n originalStrength () : number {\n const __len : number = this.ownerHistory.length;\n if ( __len > 0 ) {\n const firstEntry : RangerRefForce = this.ownerHistory[0];\n return firstEntry.strength;\n }\n return 1;\n };\n getLifetime () : number {\n const __len : number = this.ownerHistory.length;\n if ( __len > 0 ) {\n const lastEntry : RangerRefForce = this.ownerHistory[(__len - 1)];\n return lastEntry.lifetime;\n }\n return 1;\n };\n getStrength () : number {\n const __len : number = this.ownerHistory.length;\n if ( __len > 0 ) {\n const lastEntry : RangerRefForce = this.ownerHistory[(__len - 1)];\n return lastEntry.strength;\n }\n return 1;\n };\n debugRefChanges () : void {\n console.log((\"variable \" + this.name) + \" ref history : \");\n for ( let i = 0; i < this.ownerHistory.length; i++) {\n var h = this.ownerHistory[i];\n console.log(((\" => change to \" + h.strength) + \" by \") + h.changer.getCode());\n };\n };\n pointsToObject (ctx : RangerAppWriterContext) : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n let is_primitive : boolean = false;\n switch (this.nameNode.array_type ) { \n case \"string\" : \n is_primitive = true;\n break;\n case \"int\" : \n is_primitive = true;\n break;\n case \"boolean\" : \n is_primitive = true;\n break;\n case \"double\" : \n is_primitive = true;\n break;\n };\n if ( is_primitive ) {\n return false;\n }\n if ( (this.nameNode.value_type == 6) || (this.nameNode.value_type == 7) ) {\n let is_object : boolean = true;\n switch (this.nameNode.array_type ) { \n case \"string\" : \n is_object = false;\n break;\n case \"int\" : \n is_object = false;\n break;\n case \"boolean\" : \n is_object = false;\n break;\n case \"double\" : \n is_object = false;\n break;\n };\n return is_object;\n }\n if ( this.nameNode.value_type == 11 ) {\n let is_object_1 : boolean = true;\n switch (this.nameNode.type_name ) { \n case \"string\" : \n is_object_1 = false;\n break;\n case \"int\" : \n is_object_1 = false;\n break;\n case \"boolean\" : \n is_object_1 = false;\n break;\n case \"double\" : \n is_object_1 = false;\n break;\n };\n if ( ctx.isEnumDefined(this.nameNode.type_name) ) {\n return false;\n }\n return is_object_1;\n }\n }\n return false;\n };\n isObject () : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n if ( this.nameNode.value_type == 11 ) {\n if ( false == this.nameNode.isPrimitive() ) {\n return true;\n }\n }\n }\n return false;\n };\n isArray () : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n if ( this.nameNode.value_type == 6 ) {\n return true;\n }\n }\n return false;\n };\n isHash () : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n if ( this.nameNode.value_type == 7 ) {\n return true;\n }\n }\n return false;\n };\n isPrimitive () : boolean {\n if ( (typeof(this.nameNode) !== \"undefined\" && this.nameNode != null ) ) {\n return this.nameNode.isPrimitive();\n }\n return false;\n };\n getRefTypeName () : string {\n switch (this.refType ) { \n case 0 : \n return \"NoType\";\n case 1 : \n return \"Weak\";\n };\n return \"\";\n };\n getVarTypeName () : string {\n switch (this.refType ) { \n case 0 : \n return \"NoType\";\n case 1 : \n return \"This\";\n };\n return \"\";\n };\n getTypeName () : string {\n const s : string = this.nameNode.type_name;\n return s;\n };\n}\nexport class RangerAppFunctionDesc extends RangerAppParamDesc {\n name: string;\n ref_cnt: number;\n node: CodeNode;\n nameNode: CodeNode;\n fnBody: CodeNode;\n params: Array<RangerAppParamDesc>;\n return_value: RangerAppParamDesc;\n is_method: boolean;\n is_static: boolean;\n is_lambda: boolean;\n is_unsed: boolean;\n is_called_from_main: boolean;\n container_class: RangerAppClassDesc;\n refType: number;\n fnCtx: RangerAppWriterContext;\n insideFn: RangerAppFunctionDesc;\n call_graph_done: boolean;\n isCalling: Array<RangerAppFunctionDesc>;\n isCalledBy: Array<RangerAppFunctionDesc>;\n isUsingClasses: Array<RangerAppClassDesc>;\n isDirectlyUsingClasses: Array<RangerAppClassDesc>;\n myLambdas: Array<RangerAppFunctionDesc>;\n constructor() {\n super()\n this.name = \"\";\n this.ref_cnt = 0;\n this.params = [];\n this.is_method = false; /** note: unused */\n this.is_static = false;\n this.is_lambda = false;\n this.is_unsed = false;\n this.is_called_from_main = false;\n this.refType = 0;\n this.call_graph_done = false; /** note: unused */\n this.isCalling = [];\n this.isCalledBy = [];\n this.isUsingClasses = [];\n this.isDirectlyUsingClasses = [];\n this.myLambdas = [];\n }\n addCallTo (m : RangerAppFunctionDesc) : void {\n if ( (m.isCalledBy.indexOf(this)) < 0 ) {\n m.isCalledBy.push(this);\n this.isCalling.push(m);\n }\n };\n addIndirectClassUsage (m : RangerAppClassDesc, ctx : RangerAppWriterContext) : void {\n if ( (this.isUsingClasses.indexOf(m)) < 0 ) {\n this.isUsingClasses.push(m);\n operatorsOf.forEach_11(m.variables, ((item : RangerAppParamDesc, index : number):void => { \n const nn : CodeNode = item.nameNode;\n if ( ctx.isDefinedClass(nn.type_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(nn.type_name);\n this.addIndirectClassUsage(cc, ctx);\n }\n if ( ctx.isDefinedClass(nn.array_type) ) {\n const cc_1 : RangerAppClassDesc = ctx.findClass(nn.array_type);\n this.addIndirectClassUsage(cc_1, ctx);\n }\n }));\n }\n };\n addClassUsage (m : RangerAppClassDesc, ctx : RangerAppWriterContext) : void {\n if ( (this.isUsingClasses.indexOf(m)) < 0 ) {\n this.isUsingClasses.push(m);\n this.isDirectlyUsingClasses.push(m);\n operatorsOf.forEach_11(m.variables, ((item : RangerAppParamDesc, index : number):void => { \n const nn : CodeNode = item.nameNode;\n if ( ctx.isDefinedClass(nn.type_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(nn.type_name);\n this.addIndirectClassUsage(cc, ctx);\n }\n if ( ctx.isDefinedClass(nn.array_type) ) {\n const cc_1 : RangerAppClassDesc = ctx.findClass(nn.array_type);\n this.addIndirectClassUsage(cc_1, ctx);\n }\n }));\n } else {\n if ( (this.isDirectlyUsingClasses.indexOf(m)) < 0 ) {\n this.isDirectlyUsingClasses.push(m);\n }\n }\n };\n async forOtherVersions (ctx : RangerAppWriterContext, cb : (item:RangerAppFunctionDesc) => void) : Promise<void> {\n if ( typeof(this.container_class) === \"undefined\" ) {\n return;\n }\n const f : RangerAppFunctionDesc = this;\n const cc : RangerAppClassDesc = f.container_class;\n await operatorsOf.forEach_12(cc.extends_classes, ((item : string, index : number):void => { \n const otherClass : RangerAppClassDesc = ctx.findClass(item);\n if ( otherClass.hasMethod(f.name) ) {\n const m : RangerAppFunctionDesc = otherClass.findMethod(f.name);\n cb(m);\n }\n }));\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n if ( (item.extends_classes.indexOf(f.container_class.name)) >= 0 ) {\n if ( item.hasMethod(f.name) ) {\n const m_1 : RangerAppFunctionDesc = item.findMethod(f.name);\n cb(m_1);\n }\n }\n }));\n };\n isFunction () : boolean {\n return true;\n };\n isClass () : boolean {\n return false;\n };\n isProperty () : boolean {\n return false;\n };\n}\nexport class RangerAppMethodVariants {\n name: string;\n variants: Array<RangerAppFunctionDesc>;\n constructor() {\n this.name = \"\"; /** note: unused */\n this.variants = [];\n }\n}\nexport class RangerAppInterfaceImpl {\n name: string;\n typeParams: CodeNode;\n constructor() {\n this.name = \"\"; /** note: unused */\n }\n}\nexport class RangerTraitParams {\n param_names: Array<string>;\n values: {[key:string]:string};\n constructor() {\n this.param_names = [];\n this.values = {};\n }\n}\nexport class RangerAppClassDesc extends RangerAppParamDesc {\n name: string;\n is_system: boolean;\n compiledName: string;\n systemNames: {[key:string]:string};\n systemNodes: {[key:string]:CodeNode};\n systemInfo: CodeNode;\n is_interface: boolean;\n is_system_union: boolean;\n is_template: boolean;\n is_serialized: boolean;\n is_trait: boolean;\n is_operator_class: boolean;\n is_generic_instance: boolean;\n is_union: boolean;\n is_used_by_main: boolean;\n is_not_used: boolean;\n generic_params: CodeNode;\n ctx: RangerAppWriterContext;\n variables: Array<RangerAppParamDesc>;\n capturedLocals: Array<RangerAppParamDesc>;\n methods: Array<RangerAppFunctionDesc>;\n defined_methods: {[key:string]:boolean};\n static_methods: Array<RangerAppFunctionDesc>;\n defined_static_methods: {[key:string]:boolean};\n defined_variants: Array<string>;\n method_variants: {[key:string]:RangerAppMethodVariants};\n has_constructor: boolean;\n constructor_node: CodeNode;\n constructor_fn: RangerAppFunctionDesc;\n has_destructor: boolean;\n destructor_node: CodeNode;\n destructor_fn: RangerAppFunctionDesc;\n extends_classes: Array<string>;\n implements_interfaces: Array<string>;\n consumes_traits: Array<string>;\n trait_params: {[key:string]:RangerTraitParams};\n is_union_of: Array<string>;\n nameNode: CodeNode;\n classNode: CodeNode;\n contr_writers: Array<CodeWriter>;\n is_inherited: boolean;\n constructor() {\n super()\n this.name = \"\";\n this.is_system = false;\n this.compiledName = \"\";\n this.systemNames = {};\n this.systemNodes = {};\n this.is_interface = false;\n this.is_system_union = false;\n this.is_template = false;\n this.is_serialized = false;\n this.is_trait = false;\n this.is_operator_class = false;\n this.is_generic_instance = false;\n this.is_union = false;\n this.is_used_by_main = false;\n this.is_not_used = false; /** note: unused */\n this.variables = [];\n this.capturedLocals = [];\n this.methods = [];\n this.defined_methods = {};\n this.static_methods = [];\n this.defined_static_methods = {};\n this.defined_variants = [];\n this.method_variants = {};\n this.has_constructor = false;\n this.has_destructor = false; /** note: unused */\n this.extends_classes = [];\n this.implements_interfaces = [];\n this.consumes_traits = [];\n this.trait_params = {};\n this.is_union_of = [];\n this.contr_writers = []; /** note: unused */\n this.is_inherited = false;\n }\n isClass () : boolean {\n return true;\n };\n isProperty () : boolean {\n return false;\n };\n doesInherit () : boolean {\n return this.is_inherited;\n };\n isNormalClass () : boolean {\n const special : boolean = ((((this.is_operator_class || this.is_trait) || this.is_system) || this.is_generic_instance) || this.is_system_union) || this.is_union;\n return special == false;\n };\n hasTrait (class_name : string, ctx : RangerAppWriterContext) : RangerAppClassDesc {\n let res : RangerAppClassDesc ;\n for ( let i = 0; i < this.consumes_traits.length; i++) {\n var c_name = this.consumes_traits[i];\n const c : RangerAppClassDesc = ctx.findClass(c_name);\n if ( c_name == class_name ) {\n res = c;\n return res;\n }\n };\n return res;\n };\n isSameOrParentClass (class_name : string, ctx : RangerAppWriterContext) : boolean {\n if ( ctx.isPrimitiveType(class_name) ) {\n if ( (this.is_union_of.indexOf(class_name)) >= 0 ) {\n return true;\n }\n return false;\n }\n if ( class_name == this.name ) {\n return true;\n }\n if ( (this.extends_classes.indexOf(class_name)) >= 0 ) {\n return true;\n }\n if ( (this.consumes_traits.indexOf(class_name)) >= 0 ) {\n return true;\n }\n if ( (this.implements_interfaces.indexOf(class_name)) >= 0 ) {\n return true;\n }\n if ( (this.is_union_of.indexOf(class_name)) >= 0 ) {\n return true;\n }\n for ( let i = 0; i < this.extends_classes.length; i++) {\n var c_name = this.extends_classes[i];\n const c : RangerAppClassDesc = ctx.findClass(c_name);\n if ( c.isSameOrParentClass(class_name, ctx) ) {\n return true;\n }\n };\n for ( let i_1 = 0; i_1 < this.consumes_traits.length; i_1++) {\n var c_name_1 = this.consumes_traits[i_1];\n const c_1 : RangerAppClassDesc = ctx.findClass(c_name_1);\n if ( c_1.isSameOrParentClass(class_name, ctx) ) {\n return true;\n }\n };\n for ( let i_2 = 0; i_2 < this.implements_interfaces.length; i_2++) {\n var i_name = this.implements_interfaces[i_2];\n const c_2 : RangerAppClassDesc = ctx.findClass(i_name);\n if ( c_2.isSameOrParentClass(class_name, ctx) ) {\n return true;\n }\n };\n for ( let i_3 = 0; i_3 < this.is_union_of.length; i_3++) {\n var i_name_1 = this.is_union_of[i_3];\n if ( ctx.isDefinedClass(i_name_1) ) {\n const c_3 : RangerAppClassDesc = ctx.findClass(i_name_1);\n if ( c_3.isSameOrParentClass(class_name, ctx) ) {\n return true;\n }\n } else {\n }\n };\n return false;\n };\n hasOwnMethod (m_name : string) : boolean {\n if ( ( typeof(this.defined_methods[m_name] ) != \"undefined\" && this.defined_methods.hasOwnProperty(m_name) ) ) {\n return true;\n }\n return false;\n };\n hasMethod (m_name : string) : boolean {\n if ( ( typeof(this.defined_methods[m_name] ) != \"undefined\" && this.defined_methods.hasOwnProperty(m_name) ) ) {\n return true;\n }\n for ( let i = 0; i < this.extends_classes.length; i++) {\n var cname = this.extends_classes[i];\n const cDesc : RangerAppClassDesc = this.ctx.findClass(cname);\n if ( cDesc.hasMethod(m_name) ) {\n return cDesc.hasMethod(m_name);\n }\n };\n return false;\n };\n findMethod (f_name : string) : RangerAppFunctionDesc {\n let res : RangerAppFunctionDesc ;\n const vNames : Array<string> = Object.keys(this.method_variants);\n for ( let i = 0; i < vNames.length; i++) {\n var mname = vNames[i];\n if ( mname == f_name ) {\n const list : RangerAppMethodVariants = (this.method_variants[mname]);\n res = list.variants[0];\n return res;\n }\n };\n for ( let i_1 = 0; i_1 < this.extends_classes.length; i_1++) {\n var cname = this.extends_classes[i_1];\n const cDesc : RangerAppClassDesc = this.ctx.findClass(cname);\n if ( cDesc.hasMethod(f_name) ) {\n return cDesc.findMethod(f_name);\n }\n };\n return res;\n };\n hasStaticMethod (m_name : string) : boolean {\n return ( typeof(this.defined_static_methods[m_name] ) != \"undefined\" && this.defined_static_methods.hasOwnProperty(m_name) );\n };\n findStaticMethod (f_name : string) : RangerAppFunctionDesc {\n let e : RangerAppFunctionDesc ;\n for ( let i = 0; i < this.static_methods.length; i++) {\n var m = this.static_methods[i];\n if ( m.name == f_name ) {\n e = m;\n return e;\n }\n };\n for ( let i_1 = 0; i_1 < this.extends_classes.length; i_1++) {\n var cname = this.extends_classes[i_1];\n const cDesc : RangerAppClassDesc = this.ctx.findClass(cname);\n if ( cDesc.hasStaticMethod(f_name) ) {\n return cDesc.findStaticMethod(f_name);\n }\n };\n return e;\n };\n findVariable (f_name : string) : RangerAppParamDesc {\n let e : RangerAppParamDesc ;\n for ( let i = 0; i < this.variables.length; i++) {\n var m = this.variables[i];\n if ( m.name == f_name ) {\n e = m;\n return e;\n }\n };\n for ( let i_1 = 0; i_1 < this.extends_classes.length; i_1++) {\n var cname = this.extends_classes[i_1];\n const cDesc : RangerAppClassDesc = this.ctx.findClass(cname);\n return cDesc.findVariable(f_name);\n };\n return e;\n };\n addParentClass (p_name : string) : void {\n this.extends_classes.push(p_name);\n };\n async createVariable (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n try {\n const parser : RangerFlowParser = ctx.getParser();\n const s : string = node.getVRefAt(1);\n const vDef : CodeNode = node.children[1];\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n if ( vDef.has_type_annotation ) {\n await parser.CheckTypeAnnotationOf(vDef, ctx, wr);\n }\n if ( s != ctx.transformWord(s) ) {\n }\n const currC : RangerAppClassDesc = this;\n if ( currC.is_immutable ) {\n vDef.setFlag(\"weak\");\n if ( vDef.value_type == 6 ) {\n const initNode : CodeNode = node.newExpressionNode();\n (initNode).push(node.newVRefNode(\"new\"));\n const tDef : CodeNode = node.newVRefNode(\"Vector\");\n const vAnn : CodeNode = node.newExpressionNode();\n (vAnn).push(node.newVRefNode(vDef.array_type));\n tDef.has_vref_annotation = true;\n tDef.vref_annotation = vAnn;\n (initNode).push(tDef);\n node.children[2] = initNode;\n vDef.value_type = 11;\n vDef.type_name = \"Vector\";\n const tAnn : CodeNode = node.newExpressionNode();\n (tAnn).push(node.newVRefNode(vDef.array_type));\n vDef.has_type_annotation = true;\n vDef.type_annotation = tAnn;\n await parser.CheckTypeAnnotationOf(vDef, ctx, wr);\n await parser.CheckVRefTypeAnnotationOf(tDef, ctx, wr);\n }\n if ( vDef.value_type == 7 ) {\n const initNode_1 : CodeNode = node.newExpressionNode();\n (initNode_1).push(node.newVRefNode(\"new\"));\n const tDef_1 : CodeNode = node.newVRefNode(\"Map\");\n const vAnn_1 : CodeNode = node.newExpressionNode();\n (vAnn_1).push(node.newVRefNode(vDef.key_type));\n (vAnn_1).push(node.newVRefNode(vDef.array_type));\n tDef_1.has_vref_annotation = true;\n tDef_1.vref_annotation = vAnn_1;\n (initNode_1).push(tDef_1);\n node.children[2] = initNode_1;\n vDef.value_type = 11;\n vDef.type_name = \"Map\";\n const tAnn_1 : CodeNode = node.newExpressionNode();\n (tAnn_1).push(node.newVRefNode(vDef.key_type));\n (tAnn_1).push(node.newVRefNode(vDef.array_type));\n vDef.has_type_annotation = true;\n vDef.type_annotation = tAnn_1;\n await parser.CheckTypeAnnotationOf(vDef, ctx, wr);\n await parser.CheckVRefTypeAnnotationOf(tDef_1, ctx, wr);\n }\n }\n p.name = s;\n p.value_type = vDef.value_type;\n p.node = node;\n p.is_class_variable = true;\n p.varType = 8;\n p.node = node;\n p.nameNode = vDef;\n vDef.hasParamDesc = true;\n vDef.ownParamDesc = p;\n vDef.paramDesc = p;\n node.hasParamDesc = true;\n node.paramDesc = p;\n if ( vDef.hasFlag(\"weak\") ) {\n p.changeStrength(0, 2, p.nameNode);\n } else {\n p.changeStrength(2, 2, p.nameNode);\n }\n if ( (node.children.length) > 2 ) {\n p.set_cnt = 1;\n p.init_cnt = 1;\n p.def_value = node.children[2];\n p.is_optional = false;\n if ( p.def_value.value_type == 4 ) {\n vDef.type_name = \"string\";\n }\n if ( p.def_value.value_type == 3 ) {\n vDef.type_name = \"int\";\n }\n if ( p.def_value.value_type == 2 ) {\n vDef.type_name = \"double\";\n }\n if ( p.def_value.value_type == 5 ) {\n vDef.type_name = \"boolean\";\n }\n const valueNode : CodeNode = node.children[2];\n if ( (valueNode.children.length) > 0 ) {\n const fc : CodeNode = valueNode.getFirst();\n if ( fc.vref == \"new\" ) {\n const second : CodeNode = valueNode.getSecond();\n await parser.CheckVRefTypeAnnotationOf(second, ctx, wr);\n }\n }\n } else {\n p.is_optional = true;\n if ( false == ((vDef.value_type == 6) || (vDef.value_type == 7)) ) {\n vDef.setFlag(\"optional\");\n }\n }\n currC.addVariable(p);\n const subCtx : RangerAppWriterContext = currC.ctx;\n subCtx.defineVariable(p.name, p);\n p.is_class_variable = true;\n } catch(e) {\n ctx.addError(node, \"Could not add variable into class \" + this.name);\n }\n };\n addVariable (desc : RangerAppParamDesc) : void {\n this.variables.push(desc);\n desc.propertyClass = this;\n };\n addMethod (desc : RangerAppFunctionDesc) : void {\n this.defined_methods[desc.name] = true;\n this.methods.push(desc);\n const defVs : RangerAppMethodVariants = this.method_variants[desc.name];\n if ( typeof(defVs) === \"undefined\" ) {\n const new_v : RangerAppMethodVariants = new RangerAppMethodVariants();\n this.method_variants[desc.name] = new_v;\n this.defined_variants.push(desc.name);\n new_v.variants.push(desc);\n } else {\n const new_v2 : RangerAppMethodVariants = defVs;\n new_v2.variants.push(desc);\n }\n desc.container_class = this;\n };\n addStaticMethod (desc : RangerAppFunctionDesc) : void {\n this.defined_static_methods[desc.name] = true;\n this.static_methods.push(desc);\n if ( desc.name == \"main\" ) {\n const nn : CodeNode = desc.nameNode;\n if ( nn.has_vref_annotation == false ) {\n const vAnn : CodeNode = this.node.newExpressionNode();\n nn.has_vref_annotation = true;\n nn.vref_annotation = vAnn;\n }\n nn.vref_annotation.children.push(nn.vref_annotation.newVRefNode(\"main\"));\n }\n };\n}\nexport class RangerTypeClass {\n name: string;\n compiledName: string;\n value_type: number;\n arrayType: RangerTypeClass;\n keyType: RangerTypeClass;\n implements_traits: Array<RangerTypeClass>;\n implements_interfaces: Array<RangerTypeClass>;\n extends_classes: Array<RangerTypeClass>;\n belongs_to_union: Array<RangerTypeClass>;\n description: union_Any;\n is_empty: boolean;\n is_primitive: boolean;\n is_mutable: boolean;\n is_optional: boolean;\n is_union: boolean;\n is_trait: boolean;\n is_class: boolean;\n is_system: boolean;\n is_interface: boolean;\n is_generic: boolean;\n is_lambda: boolean;\n nameNode: CodeNode;\n templateParams: CodeNode;\n constructor() {\n this.name = \"\";\n this.compiledName = \"\"; /** note: unused */\n this.value_type = 0;\n this.implements_traits = []; /** note: unused */\n this.implements_interfaces = []; /** note: unused */\n this.extends_classes = []; /** note: unused */\n this.belongs_to_union = []; /** note: unused */\n this.is_empty = false;\n this.is_primitive = false;\n this.is_mutable = false; /** note: unused */\n this.is_optional = false; /** note: unused */\n this.is_union = false; /** note: unused */\n this.is_trait = false; /** note: unused */\n this.is_class = false;\n this.is_system = false;\n this.is_interface = false; /** note: unused */\n this.is_generic = false; /** note: unused */\n this.is_lambda = false;\n }\n}\nexport class SourceCode {\n code: string;\n lines: Array<string>;\n filename: string;\n constructor(code_str : string) {\n this.code = \"\";\n this.lines = [];\n this.filename = \"\";\n this.code = code_str;\n this.lines = code_str.split(\"\\n\");\n }\n getLineString (line_index : number) : string {\n if ( (this.lines.length) > line_index ) {\n return this.lines[line_index];\n }\n return \"\";\n };\n getLine (sp : number) : number {\n let cnt : number = 0;\n for ( let i = 0; i < this.lines.length; i++) {\n var str = this.lines[i];\n cnt = cnt + ((str.length) + 1);\n if ( cnt > sp ) {\n return i;\n }\n };\n return -1;\n };\n getColumnStr (sp : number) : string {\n let cnt : number = 0;\n let last_col : number = 0;\n for ( let i = 0; i < this.lines.length; i++) {\n var str = this.lines[i];\n cnt = cnt + ((str.length) + 1);\n if ( cnt > sp ) {\n let ll : number = sp - last_col;\n let ss : string = \"\";\n while (ll > 0) {\n ss = ss + \" \";\n ll = ll - 1;\n };\n return ss;\n }\n last_col = cnt;\n };\n return \"\";\n };\n getColumn (sp : number) : number {\n let cnt : number = 0;\n let last_col : number = 0;\n for ( let i = 0; i < this.lines.length; i++) {\n var str = this.lines[i];\n cnt = cnt + ((str.length) + 1);\n if ( cnt > sp ) {\n return sp - last_col;\n }\n last_col = cnt;\n };\n return -1;\n };\n}\nexport class CodeNodeLiteral {\n expression: boolean;\n vref: string;\n is_block_node: boolean;\n type_name: string;\n key_type: string;\n array_type: string;\n ns: Array<string>;\n has_vref_annotation: boolean;\n vref_annotation: CodeNodeLiteral;\n has_type_annotation: boolean;\n type_annotation: CodeNodeLiteral;\n parsed_type: number;\n value_type: number;\n double_value: number;\n string_value: string;\n int_value: number;\n boolean_value: boolean;\n expression_value: CodeNodeLiteral;\n props: {[key:string]:CodeNodeLiteral};\n prop_keys: Array<string>;\n comments: Array<CodeNodeLiteral>;\n children: Array<CodeNodeLiteral>;\n attrs: Array<CodeNodeLiteral>;\n constructor() {\n this.expression = false;\n this.vref = \"\";\n this.is_block_node = false;\n this.type_name = \"\";\n this.key_type = \"\";\n this.array_type = \"\";\n this.ns = [];\n this.has_vref_annotation = false;\n this.has_type_annotation = false;\n this.parsed_type = 0;\n this.value_type = 0;\n this.double_value = 0.0;\n this.string_value = \"\";\n this.int_value = 0;\n this.boolean_value = false;\n this.props = {};\n this.prop_keys = [];\n this.comments = [];\n this.children = [];\n this.attrs = [];\n }\n toDictionary () : Object {\n let res : Object = {};\n try {\n res[\"expression\"] = this.expression;\n res[\"vref\"] = this.vref;\n res[\"is_block_node\"] = this.is_block_node;\n res[\"type_name\"] = this.type_name;\n res[\"key_type\"] = this.key_type;\n res[\"array_type\"] = this.array_type;\n let values : Array<any> = [];\n for ( let i = 0; i < this.ns.length; i++) {\n var item = this.ns[i];\n values.push(item);\n };\n res[\"ns\"] = values;\n res[\"has_vref_annotation\"] = this.has_vref_annotation;\n if ( (typeof(this.vref_annotation) !== \"undefined\" && this.vref_annotation != null ) ) {\n res[\"vref_annotation\"] = ((this.vref_annotation)).toDictionary();\n }\n res[\"has_type_annotation\"] = this.has_type_annotation;\n if ( (typeof(this.type_annotation) !== \"undefined\" && this.type_annotation != null ) ) {\n res[\"type_annotation\"] = ((this.type_annotation)).toDictionary();\n }\n res[\"parsed_type\"] = this.parsed_type;\n res[\"value_type\"] = this.value_type;\n res[\"double_value\"] = this.double_value;\n res[\"string_value\"] = this.string_value;\n res[\"int_value\"] = this.int_value;\n res[\"boolean_value\"] = this.boolean_value;\n if ( (typeof(this.expression_value) !== \"undefined\" && this.expression_value != null ) ) {\n res[\"expression_value\"] = ((this.expression_value)).toDictionary();\n }\n let values_1 : Object = {};\n const keyList : Array<string> = Object.keys(this.props);\n for ( let index = 0; index < keyList.length; index++) {\n var keyname = keyList[index];\n const item_1 : CodeNodeLiteral = (this.props[keyname]);\n const obj : Object = item_1.toDictionary();\n values_1[keyname] = obj;\n };\n res[\"props\"] = values_1;\n let values_2 : Array<any> = [];\n for ( let i_1 = 0; i_1 < this.prop_keys.length; i_1++) {\n var item_2 = this.prop_keys[i_1];\n values_2.push(item_2);\n };\n res[\"prop_keys\"] = values_2;\n let values_3 : Array<any> = [];\n for ( let i_2 = 0; i_2 < this.comments.length; i_2++) {\n var item_3 = this.comments[i_2];\n const obj_1 : Object = item_3.toDictionary();\n values_3.push(obj_1);\n };\n res[\"comments\"] = values_3;\n let values_4 : Array<any> = [];\n for ( let i_3 = 0; i_3 < this.children.length; i_3++) {\n var item_4 = this.children[i_3];\n const obj_2 : Object = item_4.toDictionary();\n values_4.push(obj_2);\n };\n res[\"children\"] = values_4;\n let values_5 : Array<any> = [];\n for ( let i_4 = 0; i_4 < this.attrs.length; i_4++) {\n var item_5 = this.attrs[i_4];\n const obj_3 : Object = item_5.toDictionary();\n values_5.push(obj_3);\n };\n res[\"attrs\"] = values_5;\n } catch(e) {\n }\n return res;\n };\n // typescript static \n static async fromDictionary (dict : Object) : Promise<CodeNodeLiteral> {\n const obj : CodeNodeLiteral = new CodeNodeLiteral();\n try {\n const v : boolean = typeof(dict [\"expression\"]) === \"undefined\" ? undefined :(dict [\"expression\"]) ;\n if ( (typeof(v) !== \"undefined\" && v != null ) ) {\n obj.expression = v;\n }\n const v_1 : string = (typeof (dict [\"vref\"]) != \"string\" ) ? undefined : dict [\"vref\"] \n ;\n if ( (typeof(v_1) !== \"undefined\" && v_1 != null ) ) {\n obj.vref = v_1;\n }\n const v_2 : boolean = typeof(dict [\"is_block_node\"]) === \"undefined\" ? undefined :(dict [\"is_block_node\"]) ;\n if ( (typeof(v_2) !== \"undefined\" && v_2 != null ) ) {\n obj.is_block_node = v_2;\n }\n const v_3 : string = (typeof (dict [\"type_name\"]) != \"string\" ) ? undefined : dict [\"type_name\"] \n ;\n if ( (typeof(v_3) !== \"undefined\" && v_3 != null ) ) {\n obj.type_name = v_3;\n }\n const v_4 : string = (typeof (dict [\"key_type\"]) != \"string\" ) ? undefined : dict [\"key_type\"] \n ;\n if ( (typeof(v_4) !== \"undefined\" && v_4 != null ) ) {\n obj.key_type = v_4;\n }\n const v_5 : string = (typeof (dict [\"array_type\"]) != \"string\" ) ? undefined : dict [\"array_type\"] \n ;\n if ( (typeof(v_5) !== \"undefined\" && v_5 != null ) ) {\n obj.array_type = v_5;\n }\n const values : Array<any> = (dict[\"ns\"] instanceof Array ) ? dict [\"ns\"] : undefined ;\n if ( (typeof(values) !== \"undefined\" && values != null ) ) {\n const arr : Array<any> = values;\n await operatorsOf_57.forEach_58(arr, ((item : Object, index : number):void => { \n if( typeof(item) === 'string' ) /* union case for string */ {\n var oo = item;\n obj.ns.push(oo);\n };\n }));\n }\n const v_6 : boolean = typeof(dict [\"has_vref_annotation\"]) === \"undefined\" ? undefined :(dict [\"has_vref_annotation\"]) ;\n if ( (typeof(v_6) !== \"undefined\" && v_6 != null ) ) {\n obj.has_vref_annotation = v_6;\n }\n const theValue : Object = (dict[\"vref_annotation\"] instanceof Object ) ? dict [\"vref_annotation\"] : undefined ;\n if ( (typeof(theValue) !== \"undefined\" && theValue != null ) ) {\n const newObj : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary((theValue));\n obj.vref_annotation = newObj;\n }\n const v_7 : boolean = typeof(dict [\"has_type_annotation\"]) === \"undefined\" ? undefined :(dict [\"has_type_annotation\"]) ;\n if ( (typeof(v_7) !== \"undefined\" && v_7 != null ) ) {\n obj.has_type_annotation = v_7;\n }\n const theValue_1 : Object = (dict[\"type_annotation\"] instanceof Object ) ? dict [\"type_annotation\"] : undefined ;\n if ( (typeof(theValue_1) !== \"undefined\" && theValue_1 != null ) ) {\n const newObj_1 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary((theValue_1));\n obj.type_annotation = newObj_1;\n }\n const v_8 : number = isNaN( parseFloat(dict [\"double_value\"]) ) ? undefined : parseFloat(dict [\"double_value\"]) \n ;\n if ( (typeof(v_8) !== \"undefined\" && v_8 != null ) ) {\n obj.double_value = v_8;\n }\n const v_9 : string = (typeof (dict [\"string_value\"]) != \"string\" ) ? undefined : dict [\"string_value\"] \n ;\n if ( (typeof(v_9) !== \"undefined\" && v_9 != null ) ) {\n obj.string_value = v_9;\n }\n const v_10 : number = isNaN( parseInt(dict [\"int_value\"]) ) ? undefined : parseInt(dict [\"int_value\"]) \n ;\n if ( (typeof(v_10) !== \"undefined\" && v_10 != null ) ) {\n obj.int_value = v_10;\n }\n const v_11 : boolean = typeof(dict [\"boolean_value\"]) === \"undefined\" ? undefined :(dict [\"boolean_value\"]) ;\n if ( (typeof(v_11) !== \"undefined\" && v_11 != null ) ) {\n obj.boolean_value = v_11;\n }\n const theValue_2 : Object = (dict[\"expression_value\"] instanceof Object ) ? dict [\"expression_value\"] : undefined ;\n if ( (typeof(theValue_2) !== \"undefined\" && theValue_2 != null ) ) {\n const newObj_2 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary((theValue_2));\n obj.expression_value = newObj_2;\n }\n const values_1 : Object = (dict[\"props\"] instanceof Object ) ? dict [\"props\"] : undefined ;\n if ( (typeof(values_1) !== \"undefined\" && values_1 != null ) ) {\n const theObjprops : Object = values_1;\n const obj_keys : Array<string> = Object.keys(theObjprops);\n await operatorsOf.forEach_12(obj_keys, (async (item : string, index : number): Promise<void> => { \n const theValue_3 : Object = (theObjprops[item] instanceof Object ) ? theObjprops [item] : undefined ;\n if ( (typeof(theValue_3) !== \"undefined\" && theValue_3 != null ) ) {\n const newObj_3 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary((theValue_3));\n obj.props[item] = newObj_3;\n }\n }));\n }\n const values_2 : Array<any> = (dict[\"prop_keys\"] instanceof Array ) ? dict [\"prop_keys\"] : undefined ;\n if ( (typeof(values_2) !== \"undefined\" && values_2 != null ) ) {\n const arr_1 : Array<any> = values_2;\n await operatorsOf_57.forEach_58(arr_1, ((item : Object, index : number):void => { \n if( typeof(item) === 'string' ) /* union case for string */ {\n var oo_1 = item;\n obj.prop_keys.push(oo_1);\n };\n }));\n }\n const values_3 : Array<any> = (dict[\"comments\"] instanceof Array ) ? dict [\"comments\"] : undefined ;\n if ( (typeof(values_3) !== \"undefined\" && values_3 != null ) ) {\n const arr_2 : Array<any> = values_3;\n await operatorsOf_57.forEach_58(arr_2, (async (item : Object, index : number): Promise<void> => { \n if( item instanceof Object ) /* union case */ {\n var oo_2 = item;\n const newObj_4 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary(oo_2);\n obj.comments.push(newObj_4);\n };\n }));\n }\n const values_4 : Array<any> = (dict[\"children\"] instanceof Array ) ? dict [\"children\"] : undefined ;\n if ( (typeof(values_4) !== \"undefined\" && values_4 != null ) ) {\n const arr_3 : Array<any> = values_4;\n await operatorsOf_57.forEach_58(arr_3, (async (item : Object, index : number): Promise<void> => { \n if( item instanceof Object ) /* union case */ {\n var oo_3 = item;\n const newObj_5 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary(oo_3);\n obj.children.push(newObj_5);\n };\n }));\n }\n const values_5 : Array<any> = (dict[\"attrs\"] instanceof Array ) ? dict [\"attrs\"] : undefined ;\n if ( (typeof(values_5) !== \"undefined\" && values_5 != null ) ) {\n const arr_4 : Array<any> = values_5;\n await operatorsOf_57.forEach_58(arr_4, (async (item : Object, index : number): Promise<void> => { \n if( item instanceof Object ) /* union case */ {\n var oo_4 = item;\n const newObj_6 : CodeNodeLiteral = await CodeNodeLiteral.fromDictionary(oo_4);\n obj.attrs.push(newObj_6);\n };\n }));\n }\n } catch(e) {\n }\n return obj;\n };\n}\nexport class CodeNode {\n code: SourceCode;\n sp: number;\n ep: number;\n row: number;\n col: number;\n has_operator: boolean;\n disabled_node: boolean;\n op_index: number;\n is_array_literal: boolean;\n is_system_class: boolean;\n is_plugin: boolean;\n is_direct_method_call: boolean;\n mutable_def: boolean;\n expression: boolean;\n vref: string;\n is_block_node: boolean;\n infix_operator: boolean;\n infix_node: CodeNode;\n infix_subnode: boolean;\n has_lambda: boolean;\n has_lambda_call: boolean;\n has_call: boolean;\n operator_pred: number;\n to_the_right: boolean;\n right_node: CodeNode;\n type_type: string;\n type_name: string;\n key_type: string;\n array_type: string;\n ns: Array<string>;\n has_vref_annotation: boolean;\n vref_annotation: CodeNode;\n has_type_annotation: boolean;\n type_annotation: CodeNode;\n parsed_type: number;\n value_type: number;\n ref_type: number;\n ref_need_assign: number;\n double_value: number;\n string_value: string;\n int_value: number;\n boolean_value: boolean;\n expression_value: CodeNode;\n props: {[key:string]:CodeNode};\n prop_keys: Array<string>;\n comments: Array<CodeNode>;\n children: Array<CodeNode>;\n parent: CodeNode;\n attrs: Array<CodeNode>;\n appGUID: string;\n register_name: string;\n register_expressions: Array<CodeNode>;\n after_expression: Array<CodeNode>;\n definedTypeClass: RangerTypeClass;\n evalTypeClass: RangerTypeClass;\n lambda_ctx: RangerAppWriterContext;\n nsp: Array<RangerAppParamDesc>;\n eval_type: number;\n eval_type_name: string;\n eval_key_type: string;\n eval_array_type: string;\n eval_function: CodeNode;\n flow_done: boolean;\n ref_change_done: boolean;\n eval_type_node: CodeNode;\n didReturnAtIndex: number;\n hasVarDef: boolean;\n hasClassDescription: boolean;\n hasNewOper: boolean;\n clDesc: RangerAppClassDesc;\n hasFnCall: boolean;\n fnDesc: RangerAppFunctionDesc;\n lambdaFnDesc: RangerAppFunctionDesc;\n hasParamDesc: boolean;\n paramDesc: RangerAppParamDesc;\n ownParamDesc: RangerAppParamDesc;\n evalCtx: RangerAppWriterContext;\n evalState: NodeEvalState;\n operator_node: CodeNode;\n flow_ctx: RangerAppWriterContext;\n is_part_of_chain: boolean;\n methodChain: Array<CallChain>;\n chainTarget: CodeNode;\n register_set: boolean;\n did_walk: boolean;\n reg_compiled_name: string;\n tag: string;\n matched_type: string;\n constructor(source : SourceCode, start : number, end : number) {\n this.sp = 0;\n this.ep = 0;\n this.row = 0;\n this.col = 0; /** note: unused */\n this.has_operator = false;\n this.disabled_node = false;\n this.op_index = 0;\n this.is_array_literal = false;\n this.is_system_class = false;\n this.is_plugin = false;\n this.is_direct_method_call = false;\n this.mutable_def = false;\n this.expression = false;\n this.vref = \"\";\n this.is_block_node = false;\n this.infix_operator = false;\n this.infix_subnode = false;\n this.has_lambda = false;\n this.has_lambda_call = false;\n this.has_call = false;\n this.operator_pred = 0;\n this.to_the_right = false;\n this.type_type = \"\";\n this.type_name = \"\";\n this.key_type = \"\";\n this.array_type = \"\";\n this.ns = [];\n this.has_vref_annotation = false;\n this.has_type_annotation = false;\n this.parsed_type = 0;\n this.value_type = 0;\n this.ref_type = 0;\n this.ref_need_assign = 0; /** note: unused */\n this.double_value = 0.0;\n this.string_value = \"\";\n this.int_value = 0;\n this.boolean_value = false;\n this.props = {};\n this.prop_keys = [];\n this.comments = [];\n this.children = [];\n this.attrs = [];\n this.appGUID = \"\";\n this.register_name = \"\";\n this.register_expressions = [];\n this.after_expression = []; /** note: unused */\n this.nsp = [];\n this.eval_type = 0;\n this.eval_type_name = \"\";\n this.eval_key_type = \"\";\n this.eval_array_type = \"\";\n this.flow_done = false;\n this.ref_change_done = false;\n this.didReturnAtIndex = -1;\n this.hasVarDef = false;\n this.hasClassDescription = false;\n this.hasNewOper = false;\n this.hasFnCall = false;\n this.hasParamDesc = false;\n this.is_part_of_chain = false;\n this.methodChain = [];\n this.register_set = false;\n this.did_walk = false; /** note: unused */\n this.reg_compiled_name = \"\";\n this.tag = \"\";\n this.matched_type = \"\";\n this.sp = start;\n this.ep = end;\n this.code = source;\n }\n childCnt () : number {\n return this.children.length;\n };\n getChild (index : number) : CodeNode {\n let res : CodeNode ;\n if ( (index >= 0) && ((this.children.length) > index) ) {\n res = this.children[index];\n }\n return res;\n };\n chlen () : number {\n return this.children.length;\n };\n async forTree (callback : (item:CodeNode, i:number) => void) : Promise<void> {\n for ( let i = 0; i < this.children.length; i++) {\n var ch = this.children[i];\n await callback(ch, i);\n await ch.forTree(callback);\n };\n };\n parallelTree (otherTree : CodeNode, callback : (left:CodeNode, right:CodeNode, i:number) => void) : void {\n const left_cnt : number = this.children.length;\n const right_cnt : number = otherTree.children.length;\n const cnt : number = (left_cnt < right_cnt) ? right_cnt : left_cnt;\n let i : number = 0;\n while (i < cnt) {\n let left : CodeNode ;\n let right : CodeNode ;\n if ( i < left_cnt ) {\n left = this.children[i];\n }\n if ( i < right_cnt ) {\n right = otherTree.children[i];\n }\n callback(left, right, i);\n if ( ((typeof(left) !== \"undefined\" && left != null ) ) && ((typeof(right) !== \"undefined\" && right != null ) ) ) {\n if ( (left.children.length) > 0 ) {\n left.parallelTree(right, callback);\n }\n }\n i = i + 1;\n };\n };\n walkTreeUntil (callback : (item:CodeNode, i:number) => boolean) : void {\n for ( let i = 0; i < this.children.length; i++) {\n var ch = this.children[i];\n if ( callback(ch, i) ) {\n ch.walkTreeUntil(callback);\n }\n };\n };\n getParsedString () : string {\n return this.code.code.substring(this.sp, this.ep );\n };\n getFilename () : string {\n return this.code.filename;\n };\n getFlag (flagName : string) : CodeNode {\n let res : CodeNode ;\n if ( false == this.has_vref_annotation ) {\n return res;\n }\n for ( let i = 0; i < this.vref_annotation.children.length; i++) {\n var ch = this.vref_annotation.children[i];\n if ( ch.vref == flagName ) {\n res = ch;\n return res;\n }\n };\n return res;\n };\n hasFlag (flagName : string) : boolean {\n if ( false == this.has_vref_annotation ) {\n return false;\n }\n for ( let i = 0; i < this.vref_annotation.children.length; i++) {\n var ch = this.vref_annotation.children[i];\n if ( ch.vref == flagName ) {\n return true;\n }\n };\n return false;\n };\n setFlag (flagName : string) : void {\n if ( false == this.has_vref_annotation ) {\n this.vref_annotation = new CodeNode(this.code, this.sp, this.ep);\n }\n if ( this.hasFlag(flagName) ) {\n return;\n }\n const flag : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n flag.vref = flagName;\n flag.value_type = 11;\n flag.parsed_type = flag.value_type;\n this.vref_annotation.children.push(flag);\n this.has_vref_annotation = true;\n };\n getTypeInformationString () : string {\n let s : string = \"\";\n if ( (this.vref.length) > 0 ) {\n s = ((s + \"<vref:\") + this.vref) + \">\";\n } else {\n s = s + \"<no.vref>\";\n }\n if ( (this.type_name.length) > 0 ) {\n s = ((s + \"<type_name:\") + this.type_name) + \">\";\n } else {\n s = s + \"<no.type_name>\";\n }\n if ( (this.array_type.length) > 0 ) {\n s = ((s + \"<array_type:\") + this.array_type) + \">\";\n } else {\n s = s + \"<no.array_type>\";\n }\n if ( (this.key_type.length) > 0 ) {\n s = ((s + \"<key_type:\") + this.key_type) + \">\";\n } else {\n s = s + \"<no.key_type>\";\n }\n switch (this.value_type ) { \n case 5 : \n s = s + \"<value_type=Boolean>\";\n break;\n case 4 : \n s = s + \"<value_type=String>\";\n break;\n };\n return s;\n };\n getLine () : number {\n return this.code.getLine(this.sp);\n };\n getLineString (line_index : number) : string {\n return this.code.getLineString(line_index);\n };\n getColStartString () : string {\n return this.code.getColumnStr(this.sp);\n };\n getLineAsString () : string {\n const idx : number = this.getLine();\n const line_name_idx : number = idx + 1;\n return (((this.getFilename() + \", line \") + line_name_idx) + \" : \") + this.code.getLineString(idx);\n };\n getSource () : string {\n if ( this.ep > this.sp ) {\n const start : number = this.sp;\n const end : number = this.ep;\n return this.code.code.substring(start, end );\n }\n return \"\";\n };\n getPositionalString () : string {\n if ( (this.ep > this.sp) && ((this.ep - this.sp) < 50) ) {\n let start : number = this.sp;\n let end : number = this.ep;\n start = start - 100;\n end = end + 50;\n if ( start < 0 ) {\n start = 0;\n }\n if ( end >= (this.code.code.length) ) {\n end = (this.code.code.length) - 1;\n }\n return this.code.code.substring(start, end );\n }\n return \"\";\n };\n isPrimitive () : boolean {\n switch (this.value_type ) { \n case 2 : \n return true;\n case 4 : \n return true;\n case 3 : \n return true;\n case 5 : \n return true;\n case 14 : \n return true;\n case 15 : \n return true;\n case 13 : \n return true;\n };\n return false;\n };\n getFirst () : CodeNode {\n return this.children[0];\n };\n getSecond () : CodeNode {\n return this.children[1];\n };\n getThird () : CodeNode {\n return this.children[2];\n };\n isSecondExpr () : boolean {\n if ( (this.children.length) > 1 ) {\n const second : CodeNode = this.children[1];\n if ( second.expression ) {\n return true;\n }\n }\n return false;\n };\n getOperator () : string {\n const s : string = \"\";\n if ( (this.children.length) > 0 ) {\n const fc : CodeNode = this.children[0];\n if ( fc.value_type == 11 ) {\n return fc.vref;\n }\n }\n return s;\n };\n getVRefAt (idx : number) : string {\n const s : string = \"\";\n if ( (this.children.length) > idx ) {\n const fc : CodeNode = this.children[idx];\n return fc.vref;\n }\n return s;\n };\n getStringAt (idx : number) : string {\n const s : string = \"\";\n if ( (this.children.length) > idx ) {\n const fc : CodeNode = this.children[idx];\n if ( fc.value_type == 4 ) {\n return fc.string_value;\n }\n }\n return s;\n };\n hasExpressionProperty (name : string) : boolean {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n return ann.expression;\n }\n return false;\n };\n getExpressionProperty (name : string) : CodeNode {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n return ann;\n }\n return ann;\n };\n hasIntProperty (name : string) : boolean {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n const fc : CodeNode = ann.children[0];\n if ( fc.value_type == 3 ) {\n return true;\n }\n }\n return false;\n };\n getIntProperty (name : string) : number {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n const fc : CodeNode = ann.children[0];\n if ( fc.value_type == 3 ) {\n return fc.int_value;\n }\n }\n return 0;\n };\n hasDoubleProperty (name : string) : boolean {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 2 ) {\n return true;\n }\n }\n return false;\n };\n getDoubleProperty (name : string) : number {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 2 ) {\n return ann.double_value;\n }\n }\n return 0.0;\n };\n setStringProperty (name : string, value : string) : void {\n this.props[name] = CodeNode.newStr(value);\n };\n hasStringProperty (name : string) : boolean {\n if ( false == (( typeof(this.props[name] ) != \"undefined\" && this.props.hasOwnProperty(name) )) ) {\n return false;\n }\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 4 ) {\n return true;\n }\n }\n return false;\n };\n getStringProperty (name : string) : string {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 4 ) {\n return ann.string_value;\n }\n }\n return \"\";\n };\n hasBooleanProperty (name : string) : boolean {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 5 ) {\n return true;\n }\n }\n return false;\n };\n getBooleanProperty (name : string) : boolean {\n const ann : CodeNode = this.props[name];\n if ( (typeof(ann) !== \"undefined\" && ann != null ) ) {\n if ( ann.value_type == 5 ) {\n return ann.boolean_value;\n }\n }\n return false;\n };\n isFirstTypeVref (vrefName : string) : boolean {\n if ( (this.children.length) > 0 ) {\n const fc : CodeNode = this.children[0];\n if ( fc.value_type == 11 ) {\n return true;\n }\n }\n return false;\n };\n isFirstVref (vrefName : string) : boolean {\n if ( (this.children.length) > 0 ) {\n const fc : CodeNode = this.children[0];\n if ( fc.vref == vrefName ) {\n return true;\n }\n }\n return false;\n };\n getString () : string {\n return this.code.code.substring(this.sp, this.ep );\n };\n walk () : void {\n switch (this.value_type ) { \n case 2 : \n console.log(\"Double : \" + this.double_value);\n break;\n case 4 : \n console.log(\"String : \" + this.string_value);\n break;\n };\n if ( this.expression ) {\n console.log(\"(\");\n } else {\n console.log(this.code.code.substring(this.sp, this.ep ));\n }\n for ( let i = 0; i < this.children.length; i++) {\n var item = this.children[i];\n item.walk();\n };\n if ( this.expression ) {\n console.log(\")\");\n }\n };\n isParsedAsPrimitive () : boolean {\n return TTypes.isPrimitive(this.parsed_type);\n };\n isPrimitiveType () : boolean {\n return TTypes.isPrimitive(TTypes.nameToValue(this.type_name));\n };\n isAPrimitiveType () : boolean {\n return TTypes.isPrimitive(TTypes.nameToValue(this.array_type));\n };\n writeCode (wr : CodeWriter) : void {\n switch (this.value_type ) { \n case 2 : \n wr.out((this.double_value.toString()), false);\n break;\n case 4 : \n wr.out(((String.fromCharCode(34)) + this.string_value) + (String.fromCharCode(34)), false);\n break;\n case 3 : \n wr.out(\"\" + this.int_value, false);\n break;\n case 5 : \n if ( this.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n case 11 : \n wr.out(this.vref, false);\n if ( (this.type_name.length) > 0 ) {\n wr.out(\":\" + this.type_name, false);\n }\n break;\n case 7 : \n wr.out(this.vref, false);\n wr.out((((\":[\" + this.key_type) + \":\") + this.array_type) + \"]\", false);\n break;\n case 6 : \n wr.out(this.vref, false);\n wr.out((\":[\" + this.array_type) + \"]\", false);\n break;\n case 17 : \n wr.out(\"(fn--> \", false);\n for ( let i = 0; i < this.children.length; i++) {\n var ch = this.children[i];\n ch.writeCode(wr);\n };\n wr.out(\")\", false);\n break;\n default: \n if ( this.expression ) {\n wr.out(\"(\", false);\n for ( let i_1 = 0; i_1 < this.children.length; i_1++) {\n var ch_1 = this.children[i_1];\n if ( i_1 > 0 ) {\n wr.out(\" \", false);\n }\n ch_1.writeCode(wr);\n };\n wr.out(\")\", false);\n } else {\n if ( this.is_block_node ) {\n wr.out(\"{\", true);\n for ( let i_2 = 0; i_2 < this.children.length; i_2++) {\n var ch_2 = this.children[i_2];\n ch_2.writeCode(wr);\n };\n wr.out(\"}\", true);\n } else {\n wr.out(\"<unknown>\", false);\n wr.out(\"{\", true);\n for ( let i_3 = 0; i_3 < this.children.length; i_3++) {\n var ch_3 = this.children[i_3];\n ch_3.writeCode(wr);\n };\n wr.out(\"}\", true);\n }\n }\n break;\n };\n };\n createChainTarget () : void {\n const chCnt : number = this.children.length;\n if ( chCnt > 2 ) {\n const fc : CodeNode = this.getFirst();\n if ( fc.vref == \"def\" ) {\n this.chainTarget = this.getThird();\n }\n if ( fc.vref == \"=\" ) {\n this.chainTarget = this.getThird();\n }\n }\n };\n inferDefExpressionTypeFromValue (node : CodeNode) : void {\n const cn : CodeNode = node.children[1];\n const nodeValue : CodeNode = node.children[2];\n if ( (typeof(cn.expression_value) !== \"undefined\" && cn.expression_value != null ) ) {\n cn.value_type = 17;\n cn.parsed_type = 17;\n cn.has_vref_annotation = true;\n }\n if ( nodeValue.eval_type == 17 ) {\n if ( (typeof(nodeValue.expression_value) !== \"undefined\" && nodeValue.expression_value != null ) ) {\n cn.expression_value = nodeValue.expression_value.copy();\n } else {\n if ( typeof(node.expression_value) === \"undefined\" ) {\n const copyOf : CodeNode = nodeValue.rebuildWithType(new RangerArgMatch(), false);\n copyOf.children.pop();\n cn.expression_value = copyOf;\n }\n }\n cn.value_type = 17;\n }\n };\n inferDefTypeFromValue (node : CodeNode) : void {\n const cn : CodeNode = node.children[1];\n const nodeValue : CodeNode = node.children[2];\n cn.value_type = nodeValue.eval_type;\n cn.type_name = nodeValue.eval_type_name;\n cn.array_type = nodeValue.eval_array_type;\n cn.key_type = nodeValue.eval_key_type;\n if ( nodeValue.eval_type == 17 ) {\n if ( (typeof(nodeValue.expression_value) !== \"undefined\" && nodeValue.expression_value != null ) ) {\n cn.expression_value = nodeValue.expression_value.copy();\n } else {\n if ( typeof(node.expression_value) === \"undefined\" ) {\n const copyOf : CodeNode = nodeValue.rebuildWithType(new RangerArgMatch(), false);\n copyOf.children.pop();\n cn.expression_value = copyOf;\n }\n }\n cn.type_name = \"\";\n }\n };\n getCode () : string {\n const wr : CodeWriter = new CodeWriter();\n this.writeCode(wr);\n return wr.getCode();\n };\n async cleanNode () : Promise<void> {\n const cp : CodeNode = this;\n cp.evalTypeClass = undefined;\n cp.lambda_ctx = undefined;\n cp.nsp.length = 0;\n cp.eval_type = 0;\n cp.eval_type_name = \"\";\n cp.eval_key_type = \"\";\n cp.eval_array_type = \"\";\n cp.eval_function = undefined;\n cp.flow_done = false;\n cp.ref_change_done = false;\n cp.eval_type_node = undefined;\n cp.didReturnAtIndex = -1;\n cp.hasVarDef = false;\n cp.hasClassDescription = false;\n cp.hasNewOper = false;\n cp.clDesc = undefined;\n cp.hasFnCall = false;\n cp.fnDesc = undefined;\n cp.hasParamDesc = false;\n cp.paramDesc = undefined;\n cp.ownParamDesc = undefined;\n cp.evalCtx = undefined;\n cp.evalState = undefined;\n cp.operator_node = undefined;\n cp.flow_ctx = undefined;\n cp.is_part_of_chain = false;\n cp.methodChain.length = 0;\n cp.chainTarget = undefined;\n cp.tag = \"\";\n cp.has_operator = false;\n cp.disabled_node = false;\n cp.op_index = 0;\n cp.is_array_literal = false;\n cp.is_system_class = false;\n cp.is_plugin = false;\n cp.mutable_def = false;\n cp.has_lambda = false;\n cp.has_lambda_call = false;\n cp.has_call = false;\n cp.type_type = this.type_type;\n cp.value_type = this.parsed_type;\n await operatorsOf.forEach_15(cp.children, (async (item : CodeNode, index : number): Promise<void> => { \n await item.cleanNode();\n }));\n };\n async cleanCopy () : Promise<CodeNode> {\n const match : RangerArgMatch = new RangerArgMatch();\n const cp : CodeNode = this.rebuildWithType(match, false);\n await cp.cleanNode();\n return cp;\n };\n copy () : CodeNode {\n const match : RangerArgMatch = new RangerArgMatch();\n const cp : CodeNode = this.rebuildWithType(match, false);\n cp.register_expressions = operatorsOf.clone_46(this.register_expressions);\n return cp;\n };\n clone () : CodeNode {\n const match : RangerArgMatch = new RangerArgMatch();\n const cp : CodeNode = this.cloneWithType(match, false);\n return cp;\n };\n push (node : CodeNode) : void {\n this.children.push(node);\n node.parent = this;\n };\n add (node : CodeNode) : void {\n this.children.push(node);\n node.parent = this;\n };\n newVRefNode (name : string) : CodeNode {\n const newNode : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n newNode.vref = name;\n newNode.value_type = 11;\n newNode.parsed_type = 11;\n newNode.ns = name.split(\".\");\n return newNode;\n };\n newStringNode (name : string) : CodeNode {\n const newNode : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n newNode.string_value = name;\n newNode.value_type = 4;\n newNode.parsed_type = 11;\n return newNode;\n };\n newExpressionNode () : CodeNode {\n const newNode : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n newNode.expression = true;\n return newNode;\n };\n getChildrenFrom (otherNode : CodeNode) : void {\n this.children.length = 0;\n for ( let i = 0; i < otherNode.children.length; i++) {\n var ch = otherNode.children[i];\n (this).push(ch);\n ch.parent = this;\n };\n otherNode.children.length = 0;\n };\n cloneWithType (match : RangerArgMatch, changeVref : boolean) : CodeNode {\n const newNode : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n if ( ( typeof(match.nodes[this.vref] ) != \"undefined\" && match.nodes.hasOwnProperty(this.vref) ) ) {\n const ast : CodeNode = (match.nodes[this.vref]);\n return ast.rebuildWithType(match, true);\n }\n newNode.has_operator = this.has_operator;\n newNode.op_index = this.op_index;\n newNode.mutable_def = this.mutable_def;\n newNode.expression = this.expression;\n newNode.register_name = this.register_name;\n newNode.operator_node = this.operator_node;\n if ( changeVref ) {\n newNode.vref = match.getTypeName(this.vref);\n } else {\n newNode.vref = this.vref;\n }\n newNode.is_block_node = this.is_block_node;\n newNode.type_type = match.getTypeName(this.type_type);\n newNode.type_name = match.getTypeName(this.type_name);\n newNode.key_type = match.getTypeName(this.key_type);\n newNode.array_type = match.getTypeName(this.array_type);\n newNode.value_type = this.value_type;\n newNode.parsed_type = this.parsed_type;\n newNode.copyEvalResFrom(this);\n newNode.register_expressions = operatorsOf.clone_46(this.register_expressions);\n if ( this.has_vref_annotation ) {\n newNode.has_vref_annotation = true;\n const ann : CodeNode = this.vref_annotation;\n newNode.vref_annotation = ann.cloneWithType(match, true);\n }\n if ( this.has_type_annotation ) {\n newNode.has_type_annotation = true;\n const t_ann : CodeNode = this.type_annotation;\n newNode.type_annotation = t_ann.cloneWithType(match, true);\n }\n for ( let i = 0; i < this.ns.length; i++) {\n var n = this.ns[i];\n if ( changeVref ) {\n const new_ns : string = match.getTypeName(n);\n newNode.ns.push(new_ns);\n } else {\n newNode.vref = this.vref;\n newNode.ns.push(n);\n }\n };\n newNode.string_value = this.string_value;\n switch (this.value_type ) { \n case 2 : \n newNode.double_value = this.double_value;\n break;\n case 4 : \n newNode.string_value = this.string_value;\n break;\n case 3 : \n newNode.int_value = this.int_value;\n break;\n case 5 : \n newNode.boolean_value = this.boolean_value;\n break;\n case 17 : \n if ( (typeof(this.expression_value) !== \"undefined\" && this.expression_value != null ) ) {\n newNode.expression_value = this.expression_value.cloneWithType(match, changeVref);\n }\n break;\n };\n for ( let i_1 = 0; i_1 < this.prop_keys.length; i_1++) {\n var key = this.prop_keys[i_1];\n newNode.prop_keys.push(key);\n const oldp : CodeNode = this.props[key];\n const np : CodeNode = oldp.cloneWithType(match, changeVref);\n newNode.props[key] = np;\n };\n for ( let i_2 = 0; i_2 < this.children.length; i_2++) {\n var ch = this.children[i_2];\n const newCh : CodeNode = ch.cloneWithType(match, changeVref);\n newCh.parent = newNode;\n newNode.children.push(newCh);\n };\n for ( let i_3 = 0; i_3 < this.attrs.length; i_3++) {\n var ch_1 = this.attrs[i_3];\n const newCh_1 : CodeNode = ch_1.rebuildWithType(match, changeVref);\n newNode.attrs.push(newCh_1);\n };\n return newNode;\n };\n rebuildWithType (match : RangerArgMatch, changeVref : boolean) : CodeNode {\n const newNode : CodeNode = new CodeNode(this.code, this.sp, this.ep);\n if ( ( typeof(match.nodes[this.vref] ) != \"undefined\" && match.nodes.hasOwnProperty(this.vref) ) ) {\n const ast : CodeNode = (match.nodes[this.vref]);\n if ( ast == this ) {\n const tmp : CodeNode = this;\n return tmp;\n }\n const newNode_2 : CodeNode = ast.rebuildWithType(match, true);\n match.builtNodes[this.vref] = newNode_2;\n return newNode_2;\n }\n newNode.has_operator = this.has_operator;\n newNode.op_index = this.op_index;\n newNode.mutable_def = this.mutable_def;\n newNode.expression = this.expression;\n newNode.register_name = this.register_name;\n newNode.reg_compiled_name = this.reg_compiled_name;\n newNode.operator_node = this.operator_node;\n newNode.matched_type = this.matched_type;\n if ( changeVref ) {\n newNode.vref = match.getTypeName(this.vref);\n } else {\n newNode.vref = this.vref;\n }\n newNode.is_block_node = this.is_block_node;\n newNode.type_type = match.getTypeName(this.type_type);\n newNode.type_name = match.getTypeName(this.type_name);\n newNode.key_type = match.getTypeName(this.key_type);\n newNode.array_type = match.getTypeName(this.array_type);\n newNode.value_type = this.value_type;\n newNode.parsed_type = this.parsed_type;\n if ( this.has_vref_annotation ) {\n newNode.has_vref_annotation = true;\n const ann : CodeNode = this.vref_annotation;\n newNode.vref_annotation = ann.rebuildWithType(match, true);\n }\n if ( this.has_type_annotation ) {\n newNode.has_type_annotation = true;\n const t_ann : CodeNode = this.type_annotation;\n newNode.type_annotation = t_ann.rebuildWithType(match, true);\n }\n for ( let i = 0; i < this.ns.length; i++) {\n var n = this.ns[i];\n if ( changeVref ) {\n const new_ns : string = match.getTypeName(n);\n newNode.ns.push(new_ns);\n } else {\n newNode.vref = this.vref;\n newNode.ns.push(n);\n }\n };\n newNode.string_value = this.string_value;\n switch (this.value_type ) { \n case 2 : \n newNode.double_value = this.double_value;\n break;\n case 4 : \n newNode.string_value = this.string_value;\n break;\n case 3 : \n newNode.int_value = this.int_value;\n break;\n case 5 : \n newNode.boolean_value = this.boolean_value;\n break;\n case 17 : \n if ( (typeof(this.expression_value) !== \"undefined\" && this.expression_value != null ) ) {\n newNode.expression_value = this.expression_value.rebuildWithType(match, changeVref);\n }\n break;\n };\n for ( let i_1 = 0; i_1 < this.prop_keys.length; i_1++) {\n var key = this.prop_keys[i_1];\n newNode.prop_keys.push(key);\n const oldp : CodeNode = this.props[key];\n const np : CodeNode = oldp.rebuildWithType(match, changeVref);\n newNode.props[key] = np;\n };\n for ( let i_2 = 0; i_2 < this.children.length; i_2++) {\n var ch = this.children[i_2];\n const newCh : CodeNode = ch.rebuildWithType(match, changeVref);\n newCh.parent = newNode;\n newNode.children.push(newCh);\n };\n for ( let i_3 = 0; i_3 < this.attrs.length; i_3++) {\n var ch_1 = this.attrs[i_3];\n const newCh_1 : CodeNode = ch_1.rebuildWithType(match, changeVref);\n newNode.attrs.push(newCh_1);\n };\n return newNode;\n };\n buildTypeSignatureUsingMatch (match : RangerArgMatch) : string {\n const tName : string = match.getTypeName(this.type_name);\n switch (tName ) { \n case \"double\" : \n return \"double\";\n case \"string\" : \n return \"string\";\n case \"integer\" : \n return \"int\";\n case \"boolean\" : \n return \"boolean\";\n };\n let s : string = \"\";\n if ( this.value_type == 6 ) {\n s = s + \"[\";\n s = s + match.getTypeName(this.array_type);\n s = s + this.getTypeSignatureWithMatch(match);\n s = s + \"]\";\n return s;\n }\n if ( this.value_type == 7 ) {\n s = s + \"[\";\n s = s + match.getTypeName(this.key_type);\n s = s + \":\";\n s = s + match.getTypeName(this.array_type);\n s = s + this.getTypeSignatureWithMatch(match);\n s = s + \"]\";\n return s;\n }\n s = match.getTypeName(this.type_name);\n s = s + this.getVRefSignatureWithMatch(match);\n return s;\n };\n buildTypeSignature () : string {\n if ( this.hasFlag(\"keyword\") ) {\n return this.vref + \"::keyword\";\n }\n if ( TTypes.isPrimitive(this.value_type) ) {\n return TTypes.valueAsString(this.value_type);\n }\n let s : string = \"\";\n if ( this.value_type == 6 ) {\n s = s + \"[\";\n s = s + this.array_type;\n s = s + this.getTypeSignature();\n s = s + \"]\";\n return s;\n }\n if ( this.value_type == 7 ) {\n s = s + \"[\";\n s = s + this.key_type;\n s = s + \":\";\n s = s + this.array_type;\n s = s + this.getTypeSignature();\n s = s + \"]\";\n return s;\n }\n if ( this.value_type == 17 ) {\n const fnNode : CodeNode = this.expression_value.getFirst();\n const argNode : CodeNode = this.expression_value.getSecond();\n s = (s + \"(_:\") + fnNode.buildTypeSignature();\n s = ((s + \" (\") + (operatorsOf.map_47(argNode.children, ((item : CodeNode, index : number):string => { \n return \"_:\" + item.buildTypeSignature();\n })).join(\" \"))) + \"))\";\n return s;\n }\n s = this.type_name;\n return s;\n };\n getVRefSignatureWithMatch (match : RangerArgMatch) : string {\n if ( this.has_vref_annotation ) {\n const nn : CodeNode = this.vref_annotation.rebuildWithType(match, true);\n return \"@\" + nn.getCode();\n }\n return \"\";\n };\n getVRefSignature () : string {\n if ( this.has_vref_annotation ) {\n return \"@\" + this.vref_annotation.getCode();\n }\n return \"\";\n };\n getTypeSignatureWithMatch (match : RangerArgMatch) : string {\n if ( this.has_type_annotation ) {\n const nn : CodeNode = this.type_annotation.rebuildWithType(match, true);\n return \"@\" + nn.getCode();\n }\n return \"\";\n };\n getTypeSignature () : string {\n if ( this.has_type_annotation ) {\n return \"@\" + this.type_annotation.getCode();\n }\n return \"\";\n };\n typeNameAsType (ctx : RangerAppWriterContext) : number {\n if ( (this.value_type == 17) || (this.eval_type == 17) ) {\n return 17;\n }\n const conv : number = TTypes.nameToValue(this.type_name);\n if ( conv != 0 ) {\n return conv;\n }\n if ( true == this.expression ) {\n return 17;\n }\n if ( this.value_type == 11 ) {\n if ( ctx.isEnumDefined(this.type_name) ) {\n return 13;\n }\n if ( ctx.isDefinedClass(this.type_name) ) {\n return 10;\n }\n }\n return this.value_type;\n };\n copyEvalResFrom (node : CodeNode) : void {\n if ( node.hasParamDesc ) {\n this.hasParamDesc = node.hasParamDesc;\n this.paramDesc = node.paramDesc;\n }\n if ( (typeof(node.evalTypeClass) !== \"undefined\" && node.evalTypeClass != null ) ) {\n this.evalTypeClass = node.evalTypeClass;\n }\n this.eval_type = node.eval_type;\n this.eval_type_name = node.eval_type_name;\n if ( (typeof(node.operator_node) !== \"undefined\" && node.operator_node != null ) ) {\n const nn : CodeNode = node.operator_node.children[1];\n if ( nn.hasFlag(\"optional\") ) {\n this.setFlag(\"optional\");\n }\n if ( nn.hasFlag(\"immutable\") ) {\n this.setFlag(\"immutable\");\n }\n } else {\n if ( node.hasFlag(\"optional\") ) {\n this.setFlag(\"optional\");\n }\n if ( node.hasFlag(\"immutable\") ) {\n this.setFlag(\"immutable\");\n }\n }\n this.eval_key_type = node.eval_key_type;\n this.eval_array_type = node.eval_array_type;\n if ( node.value_type == 7 ) {\n this.eval_type = 7;\n }\n if ( node.value_type == 6 ) {\n this.eval_type = 6;\n }\n if ( node.value_type == 17 ) {\n this.eval_type = 17;\n this.eval_function = node.eval_function;\n }\n };\n defineNodeTypeTo (node : CodeNode, ctx : RangerAppWriterContext) : void {\n if ( (node.value_type == 17) || (node.eval_type == 17) ) {\n return;\n }\n switch (this.type_name ) { \n case \"double\" : \n node.value_type = 2;\n node.eval_type = 2;\n node.eval_type_name = \"double\";\n break;\n case \"int\" : \n node.value_type = 3;\n node.eval_type = 3;\n node.eval_type_name = \"int\";\n break;\n case \"char\" : \n node.value_type = 14;\n node.eval_type = 14;\n node.eval_type_name = \"char\";\n break;\n case \"charbuffer\" : \n node.value_type = 15;\n node.eval_type = 15;\n node.eval_type_name = \"charbuffer\";\n break;\n case \"string\" : \n node.value_type = 4;\n node.eval_type = 4;\n node.eval_type_name = \"string\";\n break;\n case \"boolean\" : \n node.value_type = 5;\n node.eval_type = 5;\n node.eval_type_name = \"string\";\n break;\n default: \n if ( true == this.expression ) {\n node.value_type = 17;\n node.eval_type = 17;\n node.expression = true;\n }\n if ( this.value_type == 6 ) {\n node.value_type = 6;\n node.eval_type = 6;\n node.eval_type_name = this.type_name;\n node.eval_array_type = this.array_type;\n }\n if ( this.value_type == 7 ) {\n node.value_type = 7;\n node.eval_type = 7;\n node.eval_type_name = this.type_name;\n node.eval_array_type = this.array_type;\n node.key_type = this.key_type;\n }\n if ( this.value_type == 13 ) {\n node.value_type = 13;\n node.eval_type = 13;\n node.eval_type_name = this.type_name;\n }\n if ( this.value_type == 11 ) {\n if ( ctx.isEnumDefined(this.type_name) ) {\n node.value_type = 13;\n node.eval_type = 13;\n node.eval_type_name = this.type_name;\n }\n if ( ctx.isDefinedClass(this.type_name) ) {\n node.value_type = 10;\n node.eval_type = 10;\n node.eval_type_name = this.type_name;\n }\n }\n break;\n };\n };\n ifNoTypeSetToVoid () : void {\n if ( (((this.type_name.length) == 0) && ((this.key_type.length) == 0)) && ((this.array_type.length) == 0) ) {\n this.type_name = \"void\";\n }\n };\n ifNoTypeSetToEvalTypeOf (node : CodeNode) : boolean {\n if ( (((this.type_name.length) == 0) && ((this.key_type.length) == 0)) && ((this.array_type.length) == 0) ) {\n this.type_name = node.eval_type_name;\n this.array_type = node.eval_array_type;\n this.key_type = node.eval_key_type;\n this.value_type = node.eval_type;\n this.eval_type = node.eval_type;\n this.eval_type_name = node.eval_type_name;\n this.eval_array_type = node.eval_array_type;\n this.eval_key_type = node.eval_key_type;\n if ( node.value_type == 17 ) {\n if ( typeof(this.expression_value) === \"undefined\" ) {\n const copyOf : CodeNode = node.rebuildWithType(new RangerArgMatch(), false);\n copyOf.children.pop();\n this.expression_value = copyOf;\n }\n }\n return true;\n }\n return false;\n };\n // typescript static \n static vref1 (name : string) : CodeNode {\n const code : SourceCode = new SourceCode(name);\n const newNode : CodeNode = new CodeNode(code, 0, name.length);\n newNode.vref = name;\n newNode.value_type = 11;\n newNode.parsed_type = 11;\n newNode.ns = name.split(\".\");\n return newNode;\n };\n // typescript static \n static vref2 (name : string, typeName : string) : CodeNode {\n const code : SourceCode = new SourceCode(name);\n const newNode : CodeNode = new CodeNode(code, 0, name.length);\n newNode.vref = name;\n newNode.type_name = typeName;\n newNode.value_type = 11;\n newNode.parsed_type = 11;\n newNode.ns = name.split(\".\");\n return newNode;\n };\n // typescript static \n static newStr (name : string) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.string_value = name;\n newNode.value_type = 4;\n newNode.parsed_type = 4;\n return newNode;\n };\n // typescript static \n static newBool (value : boolean) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.boolean_value = value;\n newNode.value_type = 5;\n newNode.parsed_type = 5;\n return newNode;\n };\n // typescript static \n static newInt (value : number) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.int_value = value;\n newNode.value_type = 3;\n newNode.parsed_type = 3;\n return newNode;\n };\n // typescript static \n static newDouble (value : number) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.double_value = value;\n newNode.value_type = 2;\n newNode.parsed_type = 2;\n return newNode;\n };\n // typescript static \n static op (opName : string) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.expression = true;\n const opNode : CodeNode = CodeNode.vref1(opName);\n newNode.children.push(opNode);\n return newNode;\n };\n // typescript static \n static op2 (opName : string, param1 : CodeNode) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.expression = true;\n const opNode : CodeNode = CodeNode.vref1(opName);\n newNode.children.push(opNode);\n newNode.children.push(param1);\n return newNode;\n };\n // typescript static \n static op3 (opName : string, list : Array<CodeNode>) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.expression = true;\n const opNode : CodeNode = CodeNode.vref1(opName);\n newNode.children.push(opNode);\n for ( let i = 0; i < list.length; i++) {\n var item = list[i];\n newNode.children.push(item);\n };\n return newNode;\n };\n // typescript static \n static fromList (list : Array<CodeNode>) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.expression = true;\n for ( let i = 0; i < list.length; i++) {\n var item = list[i];\n newNode.children.push(item);\n item.parent = newNode;\n };\n return newNode;\n };\n // typescript static \n static expressionNode () : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.expression = true;\n return newNode;\n };\n // typescript static \n static blockNode () : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.is_block_node = true;\n newNode.expression = true;\n return newNode;\n };\n // typescript static \n static blockFromList (list : Array<CodeNode>) : CodeNode {\n const code : SourceCode = new SourceCode(\"\");\n const newNode : CodeNode = new CodeNode(code, 0, 0);\n newNode.is_block_node = true;\n newNode.expression = true;\n for ( let i = 0; i < list.length; i++) {\n var item = list[i];\n newNode.children.push(item);\n item.parent = newNode;\n };\n return newNode;\n };\n}\nexport class TypeCounts {\n b_counted: boolean;\n interface_cnt: number;\n operator_cnt: number;\n immutable_cnt: number;\n register_cnt: number;\n opfn_cnt: number;\n constructor() {\n this.b_counted = false;\n this.interface_cnt = 0;\n this.operator_cnt = 0;\n this.immutable_cnt = 0;\n this.register_cnt = 0;\n this.opfn_cnt = 0;\n }\n}\nexport class RangerNodeValue {\n double_value: number;\n string_value: string;\n int_value: number;\n boolean_value: boolean;\n expression_value: CodeNode;\n constructor() {\n }\n}\nexport class RangerBackReference {\n from_class: string;\n var_name: string;\n ref_type: string;\n constructor() {\n }\n}\nexport class RangerAppEnum {\n name: string;\n cnt: number;\n values: {[key:string]:number};\n node: CodeNode;\n constructor() {\n this.name = \"\"; /** note: unused */\n this.cnt = 0;\n this.values = {};\n }\n add (n : string) : void {\n this.values[n] = this.cnt;\n this.cnt = this.cnt + 1;\n };\n}\nexport class OpFindResult {\n did_find: boolean;\n node: CodeNode;\n constructor() {\n this.did_find = false; /** note: unused */\n }\n}\nexport class RangerOperatorList {\n items: Array<RangerAppOperatorDesc>;\n constructor() {\n this.items = [];\n }\n}\nexport class RangerNodeList {\n items: Array<CodeNode>;\n constructor() {\n this.items = [];\n }\n}\nexport class ContextTransaction {\n name: string;\n desc: string;\n ended: boolean;\n failed: boolean;\n ctx: RangerAppWriterContext;\n mutations: Array<ContextTransactionMutation>;\n parent: ContextTransaction;\n children: Array<ContextTransaction>;\n constructor() {\n this.name = \"\";\n this.desc = \"\";\n this.ended = false;\n this.failed = false; /** note: unused */\n this.mutations = []; /** note: unused */\n this.children = [];\n }\n}\nexport class ContextTransactionMutation {\n sourceNode: CodeNode;\n targetNode: CodeNode;\n addedNode: CodeNode;\n constructor() {\n }\n}\nexport class RangerRegisteredPlugin {\n name: string;\n features: Array<string>;\n constructor() {\n this.name = \"\";\n this.features = [];\n }\n}\nexport class RangerAppWriterContext {\n langOperators: CodeNode;\n stdCommands: CodeNode;\n operators: RangerActiveOperators;\n op_list: {[key:string]:RangerOperatorList};\n reservedWords: CodeNode;\n intRootCounter: number;\n targetLangName: string;\n parent: RangerAppWriterContext;\n defined_imports: Array<string>;\n already_imported: {[key:string]:boolean};\n fileSystem: CodeFileSystem;\n is_function: boolean;\n class_level_context: boolean;\n function_level_context: boolean;\n in_main: boolean;\n is_block: boolean;\n is_lambda: boolean;\n is_capturing: boolean;\n is_catch_block: boolean;\n is_try_block: boolean;\n captured_variables: Array<string>;\n has_block_exited: boolean;\n in_expression: boolean;\n expr_stack: Array<boolean>;\n expr_restart: boolean;\n expr_restart_block: boolean;\n in_method: boolean;\n method_stack: Array<boolean>;\n typeNames: Array<string>;\n typeClasses: {[key:string]:RangerTypeClass};\n currentClassName: string;\n in_class: boolean;\n in_static_method: boolean;\n currentClass: RangerAppClassDesc;\n currentMethod: RangerAppFunctionDesc;\n thisName: string;\n definedEnums: {[key:string]:RangerAppEnum};\n definedInterfaces: {[key:string]:RangerAppClassDesc};\n definedInterfaceList: Array<string>;\n definedClasses: {[key:string]:RangerAppClassDesc};\n definedClassList: Array<string>;\n definedTasks: {[key:string]:RangerAppFunctionDesc};\n templateClassNodes: {[key:string]:CodeNode};\n templateClassList: Array<string>;\n classSignatures: {[key:string]:string};\n classToSignature: {[key:string]:string};\n templateClasses: {[key:string]:RangerAppClassDesc};\n classStaticWriters: {[key:string]:CodeWriter};\n localVariables: {[key:string]:RangerAppParamDesc};\n localVarNames: Array<string>;\n contextFlags: {[key:string]:boolean};\n settings: {[key:string]:string};\n compilerFlags: {[key:string]:boolean};\n compilerSettings: {[key:string]:string};\n parserErrors: Array<RangerCompilerMessage>;\n compilerErrors: Array<RangerCompilerMessage>;\n compilerMessages: Array<RangerCompilerMessage>;\n compilerLog: {[key:string]:RangerCompilerMessage};\n todoList: Array<RangerAppTodo>;\n definedMacro: {[key:string]:boolean};\n defCounts: {[key:string]:number};\n refTransform: {[key:string]:string};\n staticClassBodies: Array<CodeNode>;\n pluginSpecificOperators: {[key:string]:boolean};\n viewClassBody: {[key:string]:CodeNode};\n appPages: {[key:string]:CodeNode};\n appServices: {[key:string]:CodeNode};\n opNs: Array<string>;\n langFilePath: string;\n libraryPaths: Array<string>;\n outputPath: string;\n counters: TypeCounts;\n parser: RangerFlowParser;\n compiler: LiveCompiler;\n pluginNodes: {[key:string]:RangerNodeList};\n typedNodes: {[key:string]:RangerNodeList};\n registered_plugins: Array<RangerRegisteredPlugin>;\n operatorFunction: (name:string) => CodeNode;\n lastBlockOp: CodeNode;\n opFnsList: {[key:string]:CodeNode};\n test_compile: Array<boolean>;\n activeTransaction: Array<ContextTransaction>;\n transactions: Array<ContextTransaction>;\n env: InputEnv;\n rootFile: string;\n constructor() {\n this.op_list = {};\n this.intRootCounter = 1; /** note: unused */\n this.targetLangName = \"\";\n this.defined_imports = []; /** note: unused */\n this.already_imported = {};\n this.is_function = false;\n this.class_level_context = false;\n this.function_level_context = false;\n this.in_main = false;\n this.is_block = false; /** note: unused */\n this.is_lambda = false;\n this.is_capturing = false;\n this.is_catch_block = false;\n this.is_try_block = false;\n this.captured_variables = [];\n this.has_block_exited = false; /** note: unused */\n this.in_expression = false; /** note: unused */\n this.expr_stack = [];\n this.expr_restart = false;\n this.expr_restart_block = false;\n this.in_method = false; /** note: unused */\n this.method_stack = [];\n this.typeNames = []; /** note: unused */\n this.typeClasses = {};\n this.in_class = false;\n this.in_static_method = false;\n this.thisName = \"this\";\n this.definedEnums = {};\n this.definedInterfaces = {}; /** note: unused */\n this.definedInterfaceList = []; /** note: unused */\n this.definedClasses = {};\n this.definedClassList = [];\n this.definedTasks = {}; /** note: unused */\n this.templateClassNodes = {};\n this.templateClassList = [];\n this.classSignatures = {};\n this.classToSignature = {};\n this.templateClasses = {}; /** note: unused */\n this.classStaticWriters = {};\n this.localVariables = {};\n this.localVarNames = [];\n this.contextFlags = {};\n this.settings = {};\n this.compilerFlags = {};\n this.compilerSettings = {};\n this.parserErrors = [];\n this.compilerErrors = [];\n this.compilerMessages = [];\n this.compilerLog = {}; /** note: unused */\n this.todoList = [];\n this.definedMacro = {}; /** note: unused */\n this.defCounts = {};\n this.refTransform = {};\n this.staticClassBodies = [];\n this.pluginSpecificOperators = {};\n this.viewClassBody = {};\n this.appPages = {};\n this.appServices = {};\n this.opNs = [];\n this.langFilePath = \"\"; /** note: unused */\n this.libraryPaths = [];\n this.outputPath = \"\"; /** note: unused */\n this.counters = new TypeCounts();\n this.pluginNodes = {};\n this.typedNodes = {};\n this.registered_plugins = [];\n this.opFnsList = {};\n this.test_compile = [];\n this.activeTransaction = [];\n this.transactions = [];\n this.rootFile = \"--not-defined--\";\n }\n getEnv () : InputEnv {\n const root : RangerAppWriterContext = this.getRoot();\n return root.env;\n };\n setTestCompile () : void {\n this.test_compile.push(true);\n };\n unsetTestCompile () : void {\n this.test_compile.pop();\n };\n isTestCompile () : boolean {\n if ( (this.test_compile.length) > 0 ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.isTestCompile();\n }\n return false;\n };\n addOpFn (name : string, code : CodeNode) : void {\n if ( false == (( typeof(this.opFnsList[name] ) != \"undefined\" && this.opFnsList.hasOwnProperty(name) )) ) {\n this.opFnsList[name] = CodeNode.expressionNode();\n }\n const rootNode : CodeNode = (this.opFnsList[name]);\n rootNode.children.push(code);\n };\n async getOpFns (name : string) : Promise<Array<CodeNode>> {\n let rv : Array<CodeNode> = [];\n if ( ( typeof(this.opFnsList[name] ) != \"undefined\" && this.opFnsList.hasOwnProperty(name) ) ) {\n const ol : CodeNode = (this.opFnsList[name]);\n await operatorsOf.forEach_15(ol.children, ((item : CodeNode, index : number):void => { \n const tmp : CodeNode = item;\n rv.push(tmp);\n }));\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n const list2 : Array<CodeNode> = await this.parent.getOpFns(name);\n await operatorsOf.forEach_15(list2, ((item : CodeNode, index : number):void => { \n const tmp_1 : CodeNode = item;\n rv.push(tmp_1);\n }));\n }\n return rv;\n };\n getLastBlockOp () : CodeNode {\n if ( this.isTestCompile() ) {\n let cn : CodeNode ;\n cn = CodeNode.expressionNode();\n return cn;\n }\n if ( (typeof(this.lastBlockOp) !== \"undefined\" && this.lastBlockOp != null ) ) {\n return this.lastBlockOp;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getLastBlockOp();\n }\n return this.lastBlockOp;\n };\n removePluginOp (name : string) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.pluginSpecificOperators[name] = false;\n };\n isPluginOp (node : CodeNode) : boolean {\n if ( (node.children.length) > 0 ) {\n const fc : CodeNode = node.getFirst();\n if ( (fc.ns.length) > 0 ) {\n const firstNS : string = fc.ns[0];\n const root : RangerAppWriterContext = this.getRoot();\n if ( ( typeof(root.pluginSpecificOperators[firstNS] ) != \"undefined\" && root.pluginSpecificOperators.hasOwnProperty(firstNS) ) ) {\n return (root.pluginSpecificOperators[firstNS]);\n }\n }\n }\n return false;\n };\n addPlugin (p : RangerRegisteredPlugin) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.registered_plugins.push(p);\n };\n findPluginsFor (featureName : string) : Array<string> {\n let res : Array<string> = [];\n for ( let i = 0; i < this.registered_plugins.length; i++) {\n var p = this.registered_plugins[i];\n if ( (p.features.indexOf(featureName)) >= 0 ) {\n res.push(p.name);\n }\n };\n return res;\n };\n addTypeClass (name : string) : RangerTypeClass {\n const root : RangerAppWriterContext = this.getRoot();\n if ( false == (( typeof(root.typeClasses[name] ) != \"undefined\" && root.typeClasses.hasOwnProperty(name) )) ) {\n const newClass : RangerTypeClass = new RangerTypeClass();\n root.typeClasses[name] = newClass;\n return newClass;\n }\n return (root.typeClasses[name]);\n };\n getTypeClass (name : string) : RangerTypeClass {\n const root : RangerAppWriterContext = this.getRoot();\n return root.typeClasses[name];\n };\n getParser () : RangerFlowParser {\n if ( typeof(this.parser) === \"undefined\" ) {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getParser();\n }\n }\n return this.parser;\n };\n getCompiler () : LiveCompiler {\n if ( typeof(this.compiler) === \"undefined\" ) {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getCompiler();\n }\n }\n return this.compiler;\n };\n async getTypedNodes (name : string) : Promise<Array<CodeNode>> {\n const root : RangerAppWriterContext = this.getRoot();\n let res : Array<CodeNode> = [];\n const list : RangerNodeList = root.typedNodes[name];\n if ( (typeof(list) !== \"undefined\" && list != null ) ) {\n await operatorsOf.forEach_15(list.items, ((item : CodeNode, index : number):void => { \n const tmp : CodeNode = item;\n res.push(tmp);\n }));\n }\n return res;\n };\n addTypedNode (name : string, op : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n if ( ( typeof(root.typedNodes[name] ) != \"undefined\" && root.typedNodes.hasOwnProperty(name) ) ) {\n const orig_list : RangerNodeList = (root.typedNodes[name]);\n orig_list.items.push(op);\n } else {\n const new_list : RangerNodeList = new RangerNodeList();\n new_list.items.push(op);\n root.typedNodes[name] = new_list;\n }\n };\n async getPluginNodes (name : string) : Promise<Array<CodeNode>> {\n const root : RangerAppWriterContext = this.getRoot();\n let res : Array<CodeNode> = [];\n const list : RangerNodeList = root.pluginNodes[name];\n if ( (typeof(list) !== \"undefined\" && list != null ) ) {\n await operatorsOf.forEach_15(list.items, ((item : CodeNode, index : number):void => { \n const tmp : CodeNode = item;\n res.push(tmp);\n }));\n }\n return res;\n };\n addPluginNode (name : string, op : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n if ( ( typeof(root.pluginNodes[name] ) != \"undefined\" && root.pluginNodes.hasOwnProperty(name) ) ) {\n const orig_list : RangerNodeList = (root.pluginNodes[name]);\n orig_list.items.push(op);\n } else {\n const new_list : RangerNodeList = new RangerNodeList();\n new_list.items.push(op);\n root.pluginNodes[name] = new_list;\n }\n };\n addOperator (op : RangerAppOperatorDesc) : void {\n const root : RangerAppWriterContext = this.getRoot();\n if ( (op.name.length) > 0 ) {\n if ( ( typeof(root.op_list[op.name] ) != \"undefined\" && root.op_list.hasOwnProperty(op.name) ) ) {\n const orig_list : RangerOperatorList = (root.op_list[op.name]);\n orig_list.items.push(op);\n } else {\n const new_list : RangerOperatorList = new RangerOperatorList();\n new_list.items.push(op);\n root.op_list[op.name] = new_list;\n }\n }\n };\n async getAllOperators () : Promise<Array<RangerAppOperatorDesc>> {\n const root : RangerAppWriterContext = this.getRoot();\n let res : Array<RangerAppOperatorDesc> = [];\n await operatorsOf_13.forEach_16(root.op_list, (async (item : RangerOperatorList, index : string): Promise<void> => { \n await operatorsOf.forEach_17(item.items, ((item : RangerAppOperatorDesc, index : number):void => { \n const tmp : RangerAppOperatorDesc = item;\n res.push(tmp);\n }));\n }));\n return res;\n };\n getOperatorsOf (name : string) : Array<RangerAppOperatorDesc> {\n const root : RangerAppWriterContext = this.getRoot();\n let res : Array<RangerAppOperatorDesc> = [];\n const list : RangerOperatorList = root.op_list[name];\n if ( (typeof(list) !== \"undefined\" && list != null ) ) {\n return operatorsOf.clone_18(list.items);\n }\n return res;\n };\n async initOpList () : Promise<void> {\n const root : RangerAppWriterContext = this.getRoot();\n if ( (typeof(root.operators) !== \"undefined\" && root.operators != null ) ) {\n const op : RangerActiveOperators = root.operators;\n await op.initializeOpCache();\n const foo : Array<CodeNode> = await op.getOperators(\"+\");\n if ( (foo.length) > 0 ) {\n await operatorsOf_13.forEach_19(op.opHash, (async (item : OpList, index : string): Promise<void> => { \n const op_name : string = index;\n await operatorsOf.forEach_15(item.list, ((item : CodeNode, index : number):void => { \n /** unused: const fc : CodeNode = item.getFirst() **/ \n const nameNode : CodeNode = item.getSecond();\n const args : CodeNode = item.getThird();\n const newOp : RangerAppOperatorDesc = new RangerAppOperatorDesc();\n newOp.name = op_name;\n newOp.node = item;\n newOp.nameNode = nameNode;\n newOp.op_params = args.children;\n if ( (args.children.length) > 0 ) {\n newOp.firstArg = args.children[0];\n }\n this.addOperator(newOp);\n }));\n }));\n }\n } else {\n }\n };\n incLambdaCnt () : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.counters.interface_cnt = root.counters.interface_cnt + 1;\n };\n createNewRegName () : string {\n const root : RangerAppWriterContext = this.findFunctionCtx();\n root.counters.register_cnt = root.counters.register_cnt + 1;\n return \"__REGx\" + root.counters.register_cnt;\n };\n createNewOpFnName () : string {\n const root : RangerAppWriterContext = this.findFunctionCtx();\n root.counters.opfn_cnt = root.counters.opfn_cnt + 1;\n return \"__tmpOpFn\" + root.counters.opfn_cnt;\n };\n isTryBlock () : boolean {\n if ( this.expr_restart ) {\n return false;\n }\n if ( this.is_try_block ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.isTryBlock();\n }\n return false;\n };\n isCatchBlock () : boolean {\n if ( this.expr_restart ) {\n return false;\n }\n if ( this.is_catch_block ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.isCatchBlock();\n }\n return false;\n };\n async pushAndCollectAst (rootNode : CodeNode, wr : CodeWriter) : Promise<void> {\n const myParser : RangerFlowParser = new RangerFlowParser();\n await myParser.CollectMethods(rootNode, this, wr);\n };\n async pushAndCompileAst (rootNode : CodeNode, wr : CodeWriter) : Promise<void> {\n const myParser : RangerFlowParser = new RangerFlowParser();\n await myParser.CollectMethods(rootNode, this, wr);\n await myParser.StartWalk(rootNode, this, wr);\n };\n pushAst (source_code : string, node : CodeNode, wr : CodeWriter) : void {\n const code : SourceCode = new SourceCode(source_code);\n code.filename = \"dynamically_generated\";\n const parser_1 : RangerLispParser = new RangerLispParser(code);\n parser_1.parse(this.hasCompilerFlag(\"no-op-transform\"));\n if ( typeof(parser_1.rootNode) != \"undefined\" ) {\n const root : CodeNode = parser_1.rootNode;\n node.children.push(root);\n }\n };\n async pushAndCollectCode (source_code : string, wr : CodeWriter) : Promise<void> {\n const code : SourceCode = new SourceCode(source_code);\n code.filename = \"dynamically_generated\";\n const parser_1 : RangerLispParser = new RangerLispParser(code);\n parser_1.parse(this.hasCompilerFlag(\"no-op-transform\"));\n if ( typeof(parser_1.rootNode) != \"undefined\" ) {\n const root : CodeNode = parser_1.rootNode;\n const myParser : RangerFlowParser = new RangerFlowParser();\n const rootCtx : RangerAppWriterContext = this.getRoot();\n await myParser.CollectMethods(root, rootCtx, wr);\n }\n };\n async pushCode (source_code : string, wr : CodeWriter) : Promise<void> {\n const code : SourceCode = new SourceCode(source_code);\n code.filename = \"dynamically_generated\";\n const parser_1 : RangerLispParser = new RangerLispParser(code);\n parser_1.parse(this.hasCompilerFlag(\"no-op-transform\"));\n if ( typeof(parser_1.rootNode) != \"undefined\" ) {\n const root : CodeNode = parser_1.rootNode;\n const myParser : RangerFlowParser = new RangerFlowParser();\n const rootCtx : RangerAppWriterContext = this.getRoot();\n await myParser.CollectMethods(root, rootCtx, wr);\n await myParser.StartWalk(root, rootCtx, wr);\n }\n };\n addViewClassBody (name : string, classDef : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.viewClassBody[name] = classDef;\n };\n addPage (name : string, classDef : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.appPages[name] = classDef;\n };\n addService (name : string, classDef : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.appServices[name] = classDef;\n };\n getViewClass (s_name : string) : CodeNode {\n let res : CodeNode ;\n if ( ( typeof(this.viewClassBody[s_name] ) != \"undefined\" && this.viewClassBody.hasOwnProperty(s_name) ) ) {\n res = this.viewClassBody[s_name];\n return res;\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return res;\n }\n return this.parent.getViewClass(s_name);\n };\n addOpNs (n : string) : void {\n this.opNs.push(n);\n };\n removeOpNs (n : string) : void {\n const idx : number = this.opNs.indexOf(n);\n if ( idx >= 0 ) {\n this.opNs.splice(idx, 1).pop();\n }\n };\n inLambda () : boolean {\n if ( this.is_lambda ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.inLambda();\n }\n return false;\n };\n async variableTypeUsage () : Promise<Array<string>> {\n let res : {[key:string]:boolean} = {};\n let cc : RangerAppWriterContext = this;\n while ((typeof(cc) !== \"undefined\" && cc != null ) ) {\n await operatorsOf_13.forEach_20(cc.localVariables, ((item : RangerAppParamDesc, index : string):void => { \n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n res[item.nameNode.type_name] = true;\n res[item.nameNode.key_type] = true;\n res[item.nameNode.array_type] = true;\n }\n }));\n cc = cc.parent;\n };\n return Object.keys(res);\n };\n async writeContextVars (wr : CodeWriter) : Promise<void> {\n await operatorsOf_13.forEach_20(this.localVariables, (async (item : RangerAppParamDesc, index : string): Promise<void> => { \n wr.out((\"def \" + index) + \":\", false);\n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n const r : RangerRangerClassWriter = new RangerRangerClassWriter();\n await r.writeTypeDef(item.nameNode, this, wr);\n }\n wr.out((\"(\" + item.compiledName) + \")\", false);\n wr.out(\"\", true);\n }));\n };\n async writeContextInfo (wr : CodeWriter) : Promise<void> {\n let cList : Array<RangerAppWriterContext> = [];\n let c : RangerAppWriterContext = this;\n cList.push(c);\n while ((typeof(c.parent) !== \"undefined\" && c.parent != null ) ) {\n c = c.parent;\n cList.push(c);\n };\n let idx : number = cList.length;\n let cnt : number = idx;\n while (idx > 0) {\n idx = idx - 1;\n wr.out(\"{\", true);\n wr.indent(1);\n const cc : RangerAppWriterContext = cList[idx];\n await cc.writeContextVars(wr);\n };\n while (cnt > 0) {\n wr.indent(-1);\n wr.out(\"}\", true);\n cnt = cnt - 1;\n };\n };\n async getContextInfo () : Promise<string> {\n const wr : CodeWriter = new CodeWriter();\n await this.writeContextInfo(wr);\n return wr.getCode();\n };\n isCapturing () : boolean {\n if ( this.is_capturing ) {\n return true;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.isCapturing();\n }\n return false;\n };\n forkWithOps (opNode : CodeNode) : RangerAppWriterContext {\n const ops : RangerActiveOperators = this.getOperatorDef();\n const new_ops : RangerActiveOperators = ops.fork(opNode);\n const new_ctx : RangerAppWriterContext = this.fork();\n new_ctx.operators = new_ops;\n return new_ctx;\n };\n getOperatorDef () : RangerActiveOperators {\n if ( (typeof(this.operators) !== \"undefined\" && this.operators != null ) ) {\n return this.operators;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getOperatorDef();\n }\n const nothingFound : RangerActiveOperators = new RangerActiveOperators();\n return nothingFound;\n };\n async getOperators (name : string) : Promise<Array<CodeNode>> {\n const root : RangerAppWriterContext = this.getRoot();\n let cc : RangerAppWriterContext = this;\n let opNamespace : Array<string> = [];\n if ( (this.opNs.length) > 0 ) {\n for ( let i = 0; i < this.opNs.length; i++) {\n var nsName = this.opNs[i];\n opNamespace.push(nsName);\n };\n }\n while ((typeof(cc.parent) !== \"undefined\" && cc.parent != null ) ) {\n cc = cc.parent;\n if ( (cc.opNs.length) > 0 ) {\n for ( let i_1 = 0; i_1 < cc.opNs.length; i_1++) {\n var nsName_1 = cc.opNs[i_1];\n opNamespace.push(nsName_1);\n };\n }\n };\n if ( (typeof(root.operators) !== \"undefined\" && root.operators != null ) ) {\n const op : RangerActiveOperators = root.operators;\n let listOfOps : Array<CodeNode> = [];\n let handled : {[key:string]:boolean} = {};\n for ( let i_2 = 0; i_2 < opNamespace.length; i_2++) {\n var ss = opNamespace[i_2];\n if ( ( typeof(handled[ss] ) != \"undefined\" && handled.hasOwnProperty(ss) ) ) {\n continue;\n }\n handled[ss] = true;\n const nsOps : Array<CodeNode> = await op.getOperators(((ss + \".\") + name));\n for ( let i_3 = 0; i_3 < nsOps.length; i_3++) {\n var ns_op = nsOps[i_3];\n listOfOps.push(ns_op);\n };\n };\n const plainOps : Array<CodeNode> = await op.getOperators(name);\n for ( let i_4 = 0; i_4 < plainOps.length; i_4++) {\n var ppn = plainOps[i_4];\n listOfOps.push(ppn);\n };\n let cc_2 : RangerAppWriterContext ;\n cc_2 = this;\n while ((typeof(cc_2) !== \"undefined\" && cc_2 != null ) ) {\n if ( (typeof(cc_2.operatorFunction) !== \"undefined\" && cc_2.operatorFunction != null ) ) {\n const opFn : (name:string) => CodeNode = cc_2.operatorFunction;\n const suggestedOp : CodeNode = await opFn(name);\n await operatorsOf.forEach_15(suggestedOp.children, ((item : CodeNode, index : number):void => { \n listOfOps.splice(0, 0, item.copy());\n }));\n }\n cc_2 = cc_2.parent;\n };\n return listOfOps;\n }\n let nothingFound : Array<CodeNode> = [];\n return nothingFound;\n };\n isLocalToCapture (name : string) : boolean {\n if ( ( typeof(this.localVariables[name] ) != \"undefined\" && this.localVariables.hasOwnProperty(name) ) ) {\n return true;\n }\n if ( this.is_capturing ) {\n return false;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.isLocalToCapture(name);\n }\n return false;\n };\n addCapturedVariable (name : string) : void {\n if ( this.is_capturing ) {\n if ( (this.captured_variables.indexOf(name)) < 0 ) {\n this.captured_variables.push(name);\n }\n return;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n this.parent.addCapturedVariable(name);\n }\n };\n getCapturedVariables () : Array<string> {\n if ( this.is_capturing ) {\n return this.captured_variables;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n const r : Array<string> = this.parent.getCapturedVariables();\n return r;\n }\n let res : Array<string> = [];\n return res;\n };\n transformOpNameWord (input_word : string) : string {\n const __len : number = input_word.length;\n let i : number = 0;\n let res : string = \"\";\n while (i < __len) {\n const cc : number = input_word.charCodeAt(i );\n if ( ((cc >= (97)) && (cc <= (122))) || ((cc >= (65)) && (cc <= (89))) ) {\n res = res + (String.fromCharCode(cc));\n } else {\n res = (res + \"c\") + cc;\n }\n i = i + 1;\n };\n return res;\n };\n transformWord (input_word : string) : string {\n switch (input_word ) { \n case \"map\" : \n return \"_map\";\n default: \n break;\n };\n const root : RangerAppWriterContext = this.getRoot();\n root.initReservedWords();\n if ( ( typeof(this.refTransform[input_word] ) != \"undefined\" && this.refTransform.hasOwnProperty(input_word) ) ) {\n return (this.refTransform[input_word]);\n }\n return input_word;\n };\n initReservedWords () : boolean {\n if ( (typeof(this.reservedWords) !== \"undefined\" && this.reservedWords != null ) ) {\n return true;\n }\n const main : CodeNode = this.langOperators;\n let lang : CodeNode ;\n for ( let i = 0; i < main.children.length; i++) {\n var m = main.children[i];\n const fc : CodeNode = m.getFirst();\n if ( fc.vref == \"language\" ) {\n lang = m;\n }\n };\n /** unused: let cmds : CodeNode **/ \n const langNodes : CodeNode = lang.children[1];\n for ( let i_1 = 0; i_1 < langNodes.children.length; i_1++) {\n var lch = langNodes.children[i_1];\n const fc_1 : CodeNode = lch.getFirst();\n if ( fc_1.vref == \"reserved_words\" ) {\n /** unused: const n : CodeNode = lch.getSecond() **/ \n this.reservedWords = lch.getSecond();\n for ( let i_2 = 0; i_2 < this.reservedWords.children.length; i_2++) {\n var ch = this.reservedWords.children[i_2];\n const word : CodeNode = ch.getFirst();\n const transform : CodeNode = ch.getSecond();\n this.refTransform[word.vref] = transform.vref;\n };\n }\n };\n return true;\n };\n initStdCommands () : boolean {\n if ( (typeof(this.stdCommands) !== \"undefined\" && this.stdCommands != null ) ) {\n return true;\n }\n if ( typeof(this.langOperators) === \"undefined\" ) {\n return true;\n }\n const main : CodeNode = this.langOperators;\n let lang : CodeNode ;\n for ( let i = 0; i < main.children.length; i++) {\n var m = main.children[i];\n const fc : CodeNode = m.getFirst();\n if ( fc.vref == \"language\" ) {\n lang = m;\n }\n };\n /** unused: let cmds : CodeNode **/ \n const langNodes : CodeNode = lang.children[1];\n for ( let i_1 = 0; i_1 < langNodes.children.length; i_1++) {\n var lch = langNodes.children[i_1];\n const fc_1 : CodeNode = lch.getFirst();\n if ( fc_1.vref == \"commands\" ) {\n /** unused: const n : CodeNode = lch.getSecond() **/ \n this.stdCommands = lch.getSecond();\n }\n };\n return true;\n };\n transformTypeName (typeName : string) : string {\n if ( this.isPrimitiveType(typeName) ) {\n return typeName;\n }\n if ( this.isEnumDefined(typeName) ) {\n return typeName;\n }\n if ( this.isDefinedClass(typeName) ) {\n const cl : RangerAppClassDesc = this.findClass(typeName);\n if ( cl.is_system ) {\n return (cl.systemNames[operatorsOfRangerAppWriterContext_21.getTargetLang_22(this)]);\n }\n }\n return typeName;\n };\n isPrimitiveType (typeName : string) : boolean {\n if ( (((((typeName == \"double\") || (typeName == \"string\")) || (typeName == \"int\")) || (typeName == \"char\")) || (typeName == \"charbuffer\")) || (typeName == \"boolean\") ) {\n return true;\n }\n return false;\n };\n isDefinedType (typeName : string) : boolean {\n if ( typeName == \"Any\" ) {\n return true;\n }\n if ( (((((typeName == \"double\") || (typeName == \"string\")) || (typeName == \"int\")) || (typeName == \"char\")) || (typeName == \"charbuffer\")) || (typeName == \"boolean\") ) {\n return true;\n }\n if ( this.isEnumDefined(typeName) ) {\n return true;\n }\n if ( this.isDefinedClass(typeName) ) {\n return true;\n }\n return false;\n };\n hadValidType (node : CodeNode) : boolean {\n if ( node.isPrimitiveType() || node.isPrimitive() ) {\n return true;\n }\n if ( node.value_type == 6 ) {\n if ( this.isDefinedType(node.array_type) ) {\n return true;\n } else {\n this.addError(node, \"Unknown type for array values: \" + node.array_type);\n return false;\n }\n }\n if ( node.value_type == 7 ) {\n if ( this.isDefinedType(node.array_type) && this.isPrimitiveType(node.key_type) ) {\n return true;\n } else {\n if ( this.isDefinedType(node.array_type) == false ) {\n this.addError(node, \"Unknown type for map values: \" + node.array_type);\n }\n if ( this.isDefinedType(node.key_type) == false ) {\n this.addError(node, \"Unknown type for map keys: \" + node.key_type);\n }\n return false;\n }\n }\n if ( this.isEnumDefined(node.type_name) ) {\n return true;\n }\n if ( this.isDefinedType(node.type_name) ) {\n return true;\n } else {\n if ( node.value_type == 17 ) {\n } else {\n this.addError(node, ((\"Unknown type: \" + node.type_name) + \" type ID : \") + node.value_type);\n }\n }\n return false;\n };\n findOperator (node : CodeNode) : CodeNode {\n const root : RangerAppWriterContext = this.getRoot();\n root.initStdCommands();\n if ( (typeof(node.operator_node) !== \"undefined\" && node.operator_node != null ) ) {\n return node.operator_node;\n }\n return root.stdCommands.children[node.op_index];\n };\n getStdCommands () : CodeNode {\n const root : RangerAppWriterContext = this.getRoot();\n root.initStdCommands();\n return root.stdCommands;\n };\n async findOperatorsWithName (name : string) : Promise<Array<CodeNode>> {\n let res : Array<CodeNode> = [];\n await operatorsOf.forEach_15((this.getStdCommands()).children, ((item : CodeNode, index : number):void => { \n if ( item.isFirstVref(name) ) {\n res.push(item);\n }\n }));\n return res;\n };\n findClassWithSign (node : CodeNode) : RangerAppClassDesc {\n const root : RangerAppWriterContext = this.getRoot();\n const tplArgs : CodeNode = node.vref_annotation;\n const sign : string = node.vref + tplArgs.getCode();\n const theName : string = root.classSignatures[sign];\n return this.findClass((theName));\n };\n createSignature (origClass : string, classSig : string) : string {\n if ( ( typeof(this.classSignatures[classSig] ) != \"undefined\" && this.classSignatures.hasOwnProperty(classSig) ) ) {\n return (this.classSignatures[classSig]);\n }\n let ii : number = 1;\n let sigName : string = (origClass + \"V\") + ii;\n while (( typeof(this.classToSignature[sigName] ) != \"undefined\" && this.classToSignature.hasOwnProperty(sigName) )) {\n ii = ii + 1;\n sigName = (origClass + \"V\") + ii;\n };\n this.classToSignature[sigName] = classSig;\n this.classSignatures[classSig] = sigName;\n return sigName;\n };\n async createStaticMethod (withName : string, currC : RangerAppClassDesc, nameNode : CodeNode, argsNode : CodeNode, fnBody : CodeNode, parser : RangerFlowParser, wr : CodeWriter) : Promise<RangerAppFunctionDesc> {\n const s : string = withName;\n const m : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m.name = s;\n m.compiledName = this.transformWord(s);\n m.node = nameNode;\n m.nameNode = nameNode;\n const rCtx : RangerAppWriterContext = this.getRoot();\n m.fnCtx = rCtx.fork();\n m.is_static = true;\n m.nameNode.ifNoTypeSetToVoid();\n const args : CodeNode = argsNode;\n m.fnBody = fnBody;\n await parser.CheckTypeAnnotationOf(m.nameNode, rCtx, wr);\n for ( let ii = 0; ii < args.children.length; ii++) {\n var arg = args.children[ii];\n if ( arg.hasFlag(\"noeval\") ) {\n continue;\n }\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = arg.vref;\n if ( p.name == \"self\" ) {\n p.compiledName = \"__self\";\n }\n p.value_type = arg.value_type;\n p.node = arg;\n p.init_cnt = 1;\n p.nameNode = arg;\n await parser.CheckTypeAnnotationOf(arg, rCtx, wr);\n p.refType = 1;\n p.varType = 4;\n m.params.push(p);\n arg.hasParamDesc = true;\n arg.paramDesc = p;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n if ( arg.hasFlag(\"strong\") ) {\n p.changeStrength(1, 1, p.nameNode);\n } else {\n arg.setFlag(\"lives\");\n p.changeStrength(0, 1, p.nameNode);\n }\n };\n currC.addStaticMethod(m);\n return m;\n };\n canUseTypeInference (nameNode : CodeNode) : boolean {\n const b_allow_ti : boolean = this.hasCompilerFlag(\"allowti\");\n let b_multitype : boolean = false;\n if ( b_allow_ti ) {\n let t_name : string = nameNode.type_name;\n if ( (nameNode.eval_type_name.length) > 0 ) {\n t_name = nameNode.eval_type_name;\n }\n if ( this.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = this.findClass(t_name);\n b_multitype = ((((cc.is_union || cc.is_system) || cc.is_system_union) || cc.is_trait) || cc.is_inherited) || ((cc.extends_classes.length) > 0);\n }\n }\n return b_allow_ti && (false == b_multitype);\n };\n createOpStaticClass (name : string) : RangerAppClassDesc {\n const nameWillBe : string = \"operatorsOf\" + name;\n let str : string = \"\";\n let i : number = 0;\n const __len : number = nameWillBe.length;\n while (i < __len) {\n const c : number = nameWillBe.charCodeAt(i );\n if ( c == (\".\".charCodeAt(0)) ) {\n str = str + \"_\";\n } else {\n str = str + (nameWillBe.substring(i, (i + 1) ));\n }\n i = i + 1;\n };\n if ( this.isDefinedClass(str) ) {\n return this.findClass(str);\n }\n const tpl_code : string = (\"class \" + str) + \" {\\n}\";\n const code : SourceCode = new SourceCode(tpl_code);\n code.filename = str + \".ranger\";\n const parser_1 : RangerLispParser = new RangerLispParser(code);\n parser_1.parse(false);\n const classRoot : CodeNode = parser_1.rootNode.children[0];\n const classNameNode : CodeNode = classRoot.getSecond();\n classNameNode.vref = str;\n const new_class : RangerAppClassDesc = new RangerAppClassDesc();\n new_class.name = str;\n new_class.compiledName = str;\n new_class.is_operator_class = true;\n new_class.nameNode = classNameNode;\n new_class.classNode = classRoot;\n const subCtx : RangerAppWriterContext = this.fork();\n subCtx.setCurrentClass(new_class);\n new_class.ctx = subCtx;\n const root : RangerAppWriterContext = this.getRoot();\n root.addClass(str, new_class);\n classNameNode.clDesc = new_class;\n this.staticClassBodies.push(classRoot);\n return new_class;\n };\n async createTraitInstanceClass (traitName : string, instanceName : string, initParams : CodeNode, flowParser : RangerFlowParser, wr : CodeWriter) : Promise<RangerAppClassDesc> {\n let res : RangerAppClassDesc ;\n const ctx : RangerAppWriterContext = this.fork();\n if ( this.isDefinedClass(instanceName) ) {\n return res;\n }\n if ( this.isDefinedClass(traitName) == false ) {\n this.addError(initParams, \"Could not find the trait \" + traitName);\n return res;\n }\n const tpl_code : string = (\"class \" + instanceName) + \" {\\n}\";\n const code : SourceCode = new SourceCode(tpl_code);\n code.filename = instanceName + \".ranger\";\n const parser_1 : RangerLispParser = new RangerLispParser(code);\n parser_1.parse(false);\n const classRoot : CodeNode = parser_1.rootNode.children[0];\n const classNameNode : CodeNode = classRoot.getSecond();\n classNameNode.vref = instanceName;\n const new_class : RangerAppClassDesc = new RangerAppClassDesc();\n new_class.name = instanceName;\n new_class.compiledName = instanceName;\n new_class.nameNode = classNameNode;\n new_class.node = classRoot;\n new_class.classNode = classRoot;\n new_class.is_generic_instance = true;\n new_class.consumes_traits.push(traitName);\n const root : RangerAppWriterContext = this.getRoot();\n new_class.ctx = root.fork();\n root.addClass(instanceName, new_class);\n classNameNode.clDesc = new_class;\n const cl : RangerAppClassDesc = new_class;\n const t : RangerAppClassDesc = this.findClass(traitName);\n const traitClassDef : CodeNode = t.node;\n const name : string = t.name;\n const t_2 : RangerAppClassDesc = ctx.findClass(name);\n if ( (t_2.extends_classes.length) > 0 ) {\n ctx.addError(traitClassDef, (\"Can not join trait \" + name) + \" because it is inherited. Currently on base classes can be used as traits.\");\n return res;\n }\n if ( t_2.has_constructor ) {\n ctx.addError(traitClassDef, (\"Can not join trait \" + name) + \" because it has a constructor function\");\n } else {\n const origBody : CodeNode = cl.node.children[2];\n const match : RangerArgMatch = new RangerArgMatch();\n const params : CodeNode = t_2.node.getExpressionProperty(\"params\");\n const traitParams : RangerTraitParams = new RangerTraitParams();\n if ( (typeof(params) !== \"undefined\" && params != null ) ) {\n for ( let i = 0; i < params.children.length; i++) {\n var typeName = params.children[i];\n let set_value : string = \"\";\n if ( (initParams.children.length) > i ) {\n const pArg : CodeNode = initParams.children[i];\n match.add(typeName.vref, pArg.vref, ctx);\n set_value = pArg.vref;\n } else {\n match.add(typeName.vref, instanceName, ctx);\n set_value = instanceName;\n }\n traitParams.param_names.push(typeName.vref);\n traitParams.values[typeName.vref] = set_value;\n };\n cl.trait_params[name] = traitParams;\n } else {\n match.add(\"T\", cl.name, ctx);\n }\n ctx.setCurrentClass(cl);\n const traitClass : RangerAppClassDesc = t_2;\n for ( let i_1 = 0; i_1 < traitClass.variables.length; i_1++) {\n var pvar = traitClass.variables[i_1];\n const ccopy : CodeNode = pvar.node.rebuildWithType(match, true);\n await flowParser.WalkCollectMethods(ccopy, ctx, wr);\n origBody.children.push(ccopy);\n };\n for ( let i_2 = 0; i_2 < traitClass.defined_variants.length; i_2++) {\n var fnVar = traitClass.defined_variants[i_2];\n const mVs : RangerAppMethodVariants = traitClass.method_variants[fnVar];\n for ( let i_3 = 0; i_3 < mVs.variants.length; i_3++) {\n var variant = mVs.variants[i_3];\n const ccopy_1 : CodeNode = variant.node.rebuildWithType(match, true);\n await flowParser.WalkCollectMethods(ccopy_1, ctx, wr);\n origBody.children.push(ccopy_1);\n };\n };\n res = new_class;\n /** unused: const rootCtx : RangerAppWriterContext = this.getRoot() **/ \n await flowParser.WalkNode(new_class.node, ctx, wr);\n }\n return res;\n };\n createOperator (fromNode : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n if ( root.initStdCommands() ) {\n root.stdCommands.children.push(fromNode);\n }\n };\n findClassMethod (cname : string, fname : string) : RangerAppFunctionDesc {\n let res : RangerAppFunctionDesc ;\n if ( this.isDefinedClass(cname) ) {\n const cl : RangerAppClassDesc = this.findClass(cname);\n for ( let i = 0; i < cl.defined_variants.length; i++) {\n var fnVar = cl.defined_variants[i];\n if ( fnVar == fname ) {\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_1 = 0; i_1 < mVs.variants.length; i_1++) {\n var variant = mVs.variants[i_1];\n res = variant;\n return res;\n };\n }\n };\n }\n return res;\n };\n getFileWriter (path : string, fileName : string) : CodeWriter {\n const root : RangerAppWriterContext = this.getRoot();\n const fs : CodeFileSystem = root.fileSystem;\n const file : CodeFile = fs.getFile(path, fileName);\n let wr : CodeWriter ;\n wr = file.getWriter();\n return wr;\n };\n addTodo (node : CodeNode, descr : string) : void {\n const e : RangerAppTodo = new RangerAppTodo();\n e.description = descr;\n e.todonode = node;\n const root : RangerAppWriterContext = this.getRoot();\n root.todoList.push(e);\n };\n setThisName (the_name : string) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.thisName = the_name;\n };\n getThisName () : string {\n const root : RangerAppWriterContext = this.getRoot();\n return root.thisName;\n };\n printLogs (logName : string) : void {\n };\n log (node : CodeNode, logName : string, descr : string) : void {\n };\n addMessage (node : CodeNode, descr : string) : void {\n const e : RangerCompilerMessage = new RangerCompilerMessage();\n e.description = descr;\n e.node = node;\n const root : RangerAppWriterContext = this.getRoot();\n root.compilerMessages.push(e);\n };\n errCnt () : number {\n const root : RangerAppWriterContext = this.getRoot();\n return root.compilerErrors.length;\n };\n addError (targetnode : CodeNode, descr : string) : void {\n const e : RangerCompilerMessage = new RangerCompilerMessage();\n e.description = descr;\n e.node = targetnode;\n const root : RangerAppWriterContext = this.getRoot();\n root.compilerErrors.push(e);\n };\n addParserError (targetnode : CodeNode, descr : string) : void {\n const e : RangerCompilerMessage = new RangerCompilerMessage();\n e.description = descr;\n e.node = targetnode;\n const root : RangerAppWriterContext = this.getRoot();\n root.parserErrors.push(e);\n };\n addTemplateClass (name : string, node : CodeNode) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.templateClassList.push(name);\n root.templateClassNodes[name] = node;\n };\n hasTemplateNode (name : string) : boolean {\n const root : RangerAppWriterContext = this.getRoot();\n return ( typeof(root.templateClassNodes[name] ) != \"undefined\" && root.templateClassNodes.hasOwnProperty(name) );\n };\n findTemplateNode (name : string) : CodeNode {\n const root : RangerAppWriterContext = this.getRoot();\n return (root.templateClassNodes[name]);\n };\n setStaticWriter (className : string, writer : CodeWriter) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.classStaticWriters[className] = writer;\n };\n getStaticWriter (className : string) : CodeWriter {\n const root : RangerAppWriterContext = this.getRoot();\n return (root.classStaticWriters[className]);\n };\n isEnumDefined (n : string) : boolean {\n if ( ( typeof(this.definedEnums[n] ) != \"undefined\" && this.definedEnums.hasOwnProperty(n) ) ) {\n return true;\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return false;\n }\n return this.parent.isEnumDefined(n);\n };\n getEnum (n : string) : RangerAppEnum {\n let res : RangerAppEnum ;\n if ( ( typeof(this.definedEnums[n] ) != \"undefined\" && this.definedEnums.hasOwnProperty(n) ) ) {\n res = this.definedEnums[n];\n return res;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getEnum(n);\n }\n return res;\n };\n isVarDefined (name : string) : boolean {\n if ( ( typeof(this.localVariables[name] ) != \"undefined\" && this.localVariables.hasOwnProperty(name) ) ) {\n return true;\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return false;\n }\n return this.parent.isVarDefined(name);\n };\n setFlag (name : string, value : boolean) : void {\n this.contextFlags[name] = value;\n };\n getFlag (name : string) : boolean {\n if ( ( typeof(this.contextFlags[name] ) != \"undefined\" && this.contextFlags.hasOwnProperty(name) ) ) {\n return (this.contextFlags[name]);\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getFlag(name);\n }\n return false;\n };\n setSetting (name : string, value : string) : void {\n this.settings[name] = value;\n };\n hasSetting (name : string) : boolean {\n if ( ( typeof(this.settings[name] ) != \"undefined\" && this.settings.hasOwnProperty(name) ) ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.hasSetting(name);\n }\n return false;\n };\n getSetting (name : string) : string {\n if ( ( typeof(this.settings[name] ) != \"undefined\" && this.settings.hasOwnProperty(name) ) ) {\n return (this.settings[name]);\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getSetting(name);\n }\n return \"\";\n };\n setCompilerFlag (name : string, value : boolean) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.compilerFlags[name] = value;\n };\n hasCompilerFlag (s_name : string) : boolean {\n if ( ( typeof(this.compilerFlags[s_name] ) != \"undefined\" && this.compilerFlags.hasOwnProperty(s_name) ) ) {\n return (this.compilerFlags[s_name]);\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return false;\n }\n return this.parent.hasCompilerFlag(s_name);\n };\n setCompilerSetting (name : string, value : string) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.compilerSettings[name] = value;\n };\n getCompilerSetting (s_name : string) : string {\n if ( ( typeof(this.compilerSettings[s_name] ) != \"undefined\" && this.compilerSettings.hasOwnProperty(s_name) ) ) {\n return (this.compilerSettings[s_name]);\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return \"\";\n }\n return this.parent.getCompilerSetting(s_name);\n };\n hasCompilerSetting (s_name : string) : boolean {\n if ( ( typeof(this.compilerSettings[s_name] ) != \"undefined\" && this.compilerSettings.hasOwnProperty(s_name) ) ) {\n return true;\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return false;\n }\n return this.parent.hasCompilerSetting(s_name);\n };\n getVariableDef (name : string) : RangerAppParamDesc {\n if ( ( typeof(this.localVariables[name] ) != \"undefined\" && this.localVariables.hasOwnProperty(name) ) ) {\n return (this.localVariables[name]);\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n const tmp : RangerAppParamDesc = new RangerAppParamDesc();\n return tmp;\n }\n return this.parent.getVariableDef(name);\n };\n findFunctionCtx () : RangerAppWriterContext {\n if ( this.is_function ) {\n return this;\n }\n if ( typeof(this.parent) === \"undefined\" ) {\n return this;\n }\n return this.parent.findFunctionCtx();\n };\n getFnVarCnt (name : string) : number {\n const fnCtx : RangerAppWriterContext = this.findFunctionCtx();\n let ii : number = 0;\n if ( ( typeof(fnCtx.defCounts[name] ) != \"undefined\" && fnCtx.defCounts.hasOwnProperty(name) ) ) {\n ii = (fnCtx.defCounts[name]);\n ii = 1 + ii;\n } else {\n fnCtx.defCounts[name] = ii;\n return 0;\n }\n let scope_has : boolean = this.isVarDefined(((name + \"_\") + ii));\n while (scope_has) {\n ii = 1 + ii;\n scope_has = this.isVarDefined(((name + \"_\") + ii));\n };\n fnCtx.defCounts[name] = ii;\n return ii;\n };\n debugVars () : void {\n console.log(\"--- context vars ---\");\n for ( let i = 0; i < this.localVarNames.length; i++) {\n var na = this.localVarNames[i];\n console.log(\"var => \" + na);\n };\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n this.parent.debugVars();\n }\n };\n getVarTotalCnt (name : string) : number {\n const fnCtx : RangerAppWriterContext = this;\n let ii : number = 0;\n if ( ( typeof(fnCtx.defCounts[name] ) != \"undefined\" && fnCtx.defCounts.hasOwnProperty(name) ) ) {\n ii = (fnCtx.defCounts[name]);\n }\n if ( (typeof(fnCtx.parent) !== \"undefined\" && fnCtx.parent != null ) ) {\n ii = ii + fnCtx.parent.getVarTotalCnt(name);\n }\n if ( this.isVarDefined(name) ) {\n ii = ii + 1;\n }\n return ii;\n };\n getFnVarCnt2 (name : string) : number {\n const fnCtx : RangerAppWriterContext = this;\n let ii : number = 0;\n if ( ( typeof(fnCtx.defCounts[name] ) != \"undefined\" && fnCtx.defCounts.hasOwnProperty(name) ) ) {\n ii = (fnCtx.defCounts[name]);\n ii = 1 + ii;\n fnCtx.defCounts[name] = ii;\n } else {\n fnCtx.defCounts[name] = 1;\n }\n if ( (typeof(fnCtx.parent) !== \"undefined\" && fnCtx.parent != null ) ) {\n ii = ii + fnCtx.parent.getFnVarCnt2(name);\n }\n const scope_has : boolean = this.isVarDefined(name);\n if ( scope_has ) {\n ii = 1 + ii;\n }\n let scope_has_2 : boolean = this.isVarDefined(((name + \"_\") + ii));\n while (scope_has_2) {\n ii = 1 + ii;\n scope_has_2 = this.isVarDefined(((name + \"_\") + ii));\n };\n return ii;\n };\n getFnVarCnt3 (name : string) : number {\n const classLevel : RangerAppWriterContext = this.findMethodLevelContext();\n const fnCtx : RangerAppWriterContext = this;\n let ii : number = 0;\n if ( ( typeof(fnCtx.defCounts[name] ) != \"undefined\" && fnCtx.defCounts.hasOwnProperty(name) ) ) {\n ii = (fnCtx.defCounts[name]);\n fnCtx.defCounts[name] = ii + 1;\n } else {\n fnCtx.defCounts[name] = 1;\n }\n if ( classLevel.isVarDefined(name) ) {\n ii = ii + 1;\n }\n let scope_has : boolean = this.isVarDefined(((name + \"_\") + ii));\n while (scope_has) {\n ii = 1 + ii;\n scope_has = this.isVarDefined(((name + \"_\") + ii));\n };\n return ii;\n };\n isMemberVariable (name : string) : boolean {\n if ( this.isVarDefined(name) ) {\n const vDef : RangerAppParamDesc = this.getVariableDef(name);\n if ( vDef.varType == 8 ) {\n return true;\n }\n }\n return false;\n };\n defineVariable (name : string, desc : RangerAppParamDesc) : void {\n let cnt : number = 0;\n const fnLevel : RangerAppWriterContext = this.findMethodLevelContext();\n if ( false == (((desc.varType == 8) || (desc.varType == 4)) || (desc.varType == 10)) ) {\n cnt = fnLevel.getFnVarCnt3(name);\n }\n if ( 0 == cnt ) {\n switch (name ) { \n case \"self\" : \n desc.compiledName = \"__self\";\n break;\n case \"process\" : \n desc.compiledName = \"_process\";\n break;\n case \"len\" : \n desc.compiledName = \"__len\";\n break;\n default: \n desc.compiledName = name;\n break;\n };\n } else {\n desc.compiledName = (name + \"_\") + cnt;\n }\n if ( desc.varType == 8 ) {\n }\n this.localVariables[name] = desc;\n this.localVarNames.push(name);\n };\n isDefinedClass (name : string) : boolean {\n if ( ( typeof(this.definedClasses[name] ) != \"undefined\" && this.definedClasses.hasOwnProperty(name) ) ) {\n return true;\n } else {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.isDefinedClass(name);\n }\n }\n return false;\n };\n getRoot () : RangerAppWriterContext {\n if ( typeof(this.parent) === \"undefined\" ) {\n return this;\n }\n return this.parent.getRoot();\n };\n getClasses () : Array<RangerAppClassDesc> {\n let list : Array<RangerAppClassDesc> = [];\n for ( let i = 0; i < this.definedClassList.length; i++) {\n var n = this.definedClassList[i];\n list.push((this.definedClasses[n]));\n };\n return list;\n };\n addClass (name : string, desc : RangerAppClassDesc) : void {\n const root : RangerAppWriterContext = this.getRoot();\n if ( ( typeof(root.definedClasses[name] ) != \"undefined\" && root.definedClasses.hasOwnProperty(name) ) ) {\n } else {\n root.definedClasses[name] = desc;\n root.definedClassList.push(name);\n }\n };\n findClass (name : string) : RangerAppClassDesc {\n const root : RangerAppWriterContext = this.getRoot();\n return (root.definedClasses[name]);\n };\n hasClass (name : string) : boolean {\n const root : RangerAppWriterContext = this.getRoot();\n return ( typeof(root.definedClasses[name] ) != \"undefined\" && root.definedClasses.hasOwnProperty(name) );\n };\n getCurrentMethod () : RangerAppFunctionDesc {\n if ( (typeof(this.currentMethod) !== \"undefined\" && this.currentMethod != null ) ) {\n return this.currentMethod;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getCurrentMethod();\n }\n return new RangerAppFunctionDesc();\n };\n setCurrentClass (cc : RangerAppClassDesc) : void {\n this.in_class = true;\n this.currentClass = cc;\n };\n disableCurrentClass () : void {\n if ( this.in_class ) {\n this.in_class = false;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n this.parent.disableCurrentClass();\n }\n };\n hasCurrentClass () : boolean {\n if ( this.in_class && ((typeof(this.currentClass) !== \"undefined\" && this.currentClass != null ) ) ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.hasCurrentClass();\n }\n return false;\n };\n getCurrentClass () : RangerAppClassDesc {\n const non : RangerAppClassDesc = this.currentClass;\n if ( this.in_class && ((typeof(non) !== \"undefined\" && non != null ) ) ) {\n return non;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getCurrentClass();\n }\n return non;\n };\n restartExpressionLevel () : void {\n this.expr_restart = true;\n };\n newBlock () : void {\n this.expr_restart_block = true;\n };\n isInExpression () : boolean {\n if ( (this.expr_stack.length) > 0 ) {\n return true;\n }\n if ( (((typeof(this.parent) !== \"undefined\" && this.parent != null ) ) && (this.expr_restart_block == false)) && (this.expr_restart == false) ) {\n return this.parent.isInExpression();\n }\n return false;\n };\n expressionLevel () : number {\n const level : number = this.expr_stack.length;\n if ( (((typeof(this.parent) !== \"undefined\" && this.parent != null ) ) && (this.expr_restart == false)) && (this.expr_restart_block == false) ) {\n return level + this.parent.expressionLevel();\n }\n return level;\n };\n setInExpr () : void {\n this.expr_stack.push(true);\n };\n unsetInExpr () : void {\n this.expr_stack.pop();\n };\n getErrorCount () : number {\n let cnt : number = this.compilerErrors.length;\n if ( typeof(this.parent) != \"undefined\" ) {\n cnt = cnt + this.parent.getErrorCount();\n }\n return cnt;\n };\n isInStatic () : boolean {\n if ( this.in_static_method ) {\n return true;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.isInStatic();\n }\n return false;\n };\n isInMain () : boolean {\n if ( this.in_main ) {\n return true;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.isInMain();\n }\n return false;\n };\n isInMethod () : boolean {\n if ( (this.method_stack.length) > 0 ) {\n return true;\n }\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.isInMethod();\n }\n return false;\n };\n setInMethod () : void {\n this.method_stack.push(true);\n };\n unsetInMethod () : void {\n this.method_stack.pop();\n };\n findMethodLevelContext () : RangerAppWriterContext {\n let res : RangerAppWriterContext ;\n if ( this.function_level_context ) {\n res = this;\n return res;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.findMethodLevelContext();\n }\n res = this;\n return res;\n };\n findClassLevelContext () : RangerAppWriterContext {\n let res : RangerAppWriterContext ;\n if ( this.class_level_context ) {\n res = this;\n return res;\n }\n if ( typeof(this.parent) != \"undefined\" ) {\n return this.parent.findClassLevelContext();\n }\n res = this;\n return res;\n };\n fork () : RangerAppWriterContext {\n const new_ctx : RangerAppWriterContext = new RangerAppWriterContext();\n new_ctx.parent = this;\n return new_ctx;\n };\n getRootFile () : string {\n const root : RangerAppWriterContext = this.getRoot();\n return root.rootFile;\n };\n setRootFile (file_name : string) : void {\n const root : RangerAppWriterContext = this.getRoot();\n root.rootFile = file_name;\n };\n}\nexport class CodeFile {\n path_name: string;\n name: string;\n writer: CodeWriter;\n import_list: {[key:string]:string};\n import_names: Array<string>;\n fileSystem: CodeFileSystem;\n constructor(filePath : string, fileName : string) {\n this.path_name = \"\";\n this.name = \"\";\n this.import_list = {};\n this.import_names = [];\n this.name = fileName;\n this.path_name = filePath;\n this.writer = new CodeWriter();\n this.writer.createTag(\"imports\");\n }\n addImport (import_name : string) : void {\n if ( false == (( typeof(this.import_list[import_name] ) != \"undefined\" && this.import_list.hasOwnProperty(import_name) )) ) {\n this.import_list[import_name] = import_name;\n this.import_names.push(import_name);\n }\n };\n rewrite (newString : string) : void {\n this.writer.rewrite(newString);\n };\n testCreateWriter () : CodeWriter {\n return new CodeWriter();\n };\n getImports () : Array<string> {\n return this.import_names;\n };\n getWriter () : CodeWriter {\n this.writer.ownerFile = this;\n return this.writer;\n };\n getCode () : string {\n return this.writer.getCode();\n };\n}\nexport class CodeFileSystem {\n files: Array<CodeFile>;\n constructor() {\n this.files = [];\n }\n getFile (path : string, name : string) : CodeFile {\n for ( let idx = 0; idx < this.files.length; idx++) {\n var file = this.files[idx];\n if ( (file.path_name == path) && (file.name == name) ) {\n return file;\n }\n };\n const new_file : CodeFile = new CodeFile(path, name);\n new_file.fileSystem = this;\n this.files.push(new_file);\n return new_file;\n };\n mkdir (path : string) : void {\n const parts : Array<string> = path.split(\"/\");\n let curr_path : string = \"\";\n for ( let i = 0; i < parts.length; i++) {\n var p = parts[i];\n curr_path = (curr_path + p) + \"/\";\n if ( false == (require(\"fs\").existsSync( curr_path )) ) {\n require(\"fs\").mkdirSync( curr_path);\n }\n };\n };\n saveTo (path : string, verbose : boolean) : void {\n console.log(\"Saving results to path : \" + path);\n for ( let idx = 0; idx < this.files.length; idx++) {\n var file = this.files[idx];\n const file_path : string = (path + \"/\") + file.path_name;\n this.mkdir(file_path);\n if ( verbose ) {\n console.log(((\"Writing to file \" + file_path) + \"/\") + file.name);\n }\n const file_content : string = file.getCode();\n if ( (file_content.length) > 0 ) {\n require(\"fs\").writeFileSync( file_path + \"/\" + file.name.trim(), file_content);\n }\n };\n };\n}\nexport class CodeSlice {\n code: string;\n writer: CodeWriter;\n constructor() {\n this.code = \"\";\n }\n getCode () : string {\n if ( typeof(this.writer) === \"undefined\" ) {\n return this.code;\n }\n return this.writer.getCode();\n };\n}\nexport class CodeWriter {\n tagName: string;\n codeStr: string;\n currentLine: string;\n tabStr: string;\n nlStr: string;\n lineNumber: number;\n indentAmount: number;\n compiledTags: {[key:string]:boolean};\n tags: {[key:string]:number};\n slices: Array<CodeSlice>;\n current_slice: CodeSlice;\n ownerFile: CodeFile;\n forks: Array<CodeWriter>;\n tagOffset: number;\n parent: CodeWriter;\n had_nl: boolean;\n constructor() {\n this.tagName = \"\"; /** note: unused */\n this.codeStr = \"\"; /** note: unused */\n this.currentLine = \"\";\n this.tabStr = \" \";\n this.nlStr = \"\\n\";\n this.lineNumber = 1; /** note: unused */\n this.indentAmount = 0;\n this.compiledTags = {};\n this.tags = {};\n this.slices = [];\n this.forks = [];\n this.tagOffset = 0; /** note: unused */\n this.had_nl = true; /** note: unused */\n const new_slice : CodeSlice = new CodeSlice();\n this.slices.push(new_slice);\n this.current_slice = new_slice;\n }\n rewrite (newString : string) : void {\n this.slices.length = 0;\n this.forks.length = 0;\n this.currentLine = \"\";\n const new_slice : CodeSlice = new CodeSlice();\n this.slices.push(new_slice);\n new_slice.code = newString;\n this.current_slice = new_slice;\n };\n getFilesystem () : CodeFileSystem {\n if ( typeof(this.ownerFile) === \"undefined\" ) {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getFilesystem();\n }\n return new CodeFileSystem();\n }\n const fs : CodeFileSystem = this.ownerFile.fileSystem;\n return fs;\n };\n getFileWriter (path : string, fileName : string) : CodeWriter {\n if ( typeof(this.ownerFile) === \"undefined\" ) {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getFileWriter(path, fileName);\n }\n }\n const fs : CodeFileSystem = this.ownerFile.fileSystem;\n const file : CodeFile = fs.getFile(path, fileName);\n const wr : CodeWriter = file.getWriter();\n return wr;\n };\n getImports () : Array<string> {\n let p : CodeWriter = this;\n while ((typeof(p.ownerFile) === \"undefined\") && ((typeof(p.parent) !== \"undefined\" && p.parent != null ) )) {\n p = p.parent;\n };\n if ( (typeof(p.ownerFile) !== \"undefined\" && p.ownerFile != null ) ) {\n const f : CodeFile = p.ownerFile;\n return f.import_names;\n }\n let nothing : Array<string> = [];\n return nothing;\n };\n addImport (name : string) : void {\n if ( (typeof(this.ownerFile) !== \"undefined\" && this.ownerFile != null ) ) {\n this.ownerFile.addImport(name);\n } else {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n this.parent.addImport(name);\n }\n }\n };\n indent (delta : number) : void {\n this.indentAmount = this.indentAmount + delta;\n if ( this.indentAmount < 0 ) {\n this.indentAmount = 0;\n }\n };\n addIndent () : void {\n let i : number = 0;\n if ( 0 == (this.currentLine.length) ) {\n while (i < this.indentAmount) {\n this.currentLine = this.currentLine + this.tabStr;\n i = i + 1;\n };\n }\n };\n createTag (name : string) : CodeWriter {\n const new_writer : CodeWriter = new CodeWriter();\n const new_slice : CodeSlice = new CodeSlice();\n this.tags[name] = this.slices.length;\n this.slices.push(new_slice);\n new_slice.writer = new_writer;\n new_writer.indentAmount = this.indentAmount;\n const new_active_slice : CodeSlice = new CodeSlice();\n this.slices.push(new_active_slice);\n this.current_slice = new_active_slice;\n new_writer.parent = this;\n return new_writer;\n };\n getTag (name : string) : CodeWriter {\n if ( ( typeof(this.tags[name] ) != \"undefined\" && this.tags.hasOwnProperty(name) ) ) {\n const idx : number = (this.tags[name]);\n const slice : CodeSlice = this.slices[idx];\n return slice.writer;\n } else {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.getTag(name);\n }\n }\n return this;\n };\n hasTag (name : string) : boolean {\n if ( ( typeof(this.tags[name] ) != \"undefined\" && this.tags.hasOwnProperty(name) ) ) {\n return true;\n } else {\n if ( (typeof(this.parent) !== \"undefined\" && this.parent != null ) ) {\n return this.parent.hasTag(name);\n }\n }\n return false;\n };\n fork () : CodeWriter {\n const new_writer : CodeWriter = new CodeWriter();\n const new_slice : CodeSlice = new CodeSlice();\n this.slices.push(new_slice);\n new_slice.writer = new_writer;\n new_writer.indentAmount = this.indentAmount;\n new_writer.parent = this;\n const new_active_slice : CodeSlice = new CodeSlice();\n this.slices.push(new_active_slice);\n this.current_slice = new_active_slice;\n return new_writer;\n };\n newline () : void {\n if ( (this.currentLine.length) > 0 ) {\n this.out(\"\", true);\n }\n };\n line_end (str : string) : void {\n if ( (this.currentLine.length) > 0 ) {\n if ( (str.charCodeAt(0)) != (this.currentLine.charCodeAt(((this.currentLine.length) - 1) )) ) {\n this.out(str, false);\n }\n }\n };\n writeSlice (str : string, newLine : boolean) : void {\n this.addIndent();\n this.currentLine = this.currentLine + str;\n if ( newLine ) {\n this.current_slice.code = (this.current_slice.code + this.currentLine) + this.nlStr;\n this.currentLine = \"\";\n }\n };\n out (str : string, newLine : boolean) : void {\n const lines : Array<string> = str.split(\"\\n\");\n const rowCnt : number = lines.length;\n if ( rowCnt == 1 ) {\n this.writeSlice(str, newLine);\n } else {\n for ( let idx = 0; idx < lines.length; idx++) {\n var row = lines[idx];\n this.addIndent();\n if ( idx < (rowCnt - 1) ) {\n this.writeSlice(row.trim(), true);\n } else {\n this.writeSlice(row, newLine);\n }\n };\n }\n };\n raw (str : string, newLine : boolean) : void {\n const lines : Array<string> = str.split(\"\\n\");\n const rowCnt : number = lines.length;\n if ( rowCnt == 1 ) {\n this.writeSlice(str, newLine);\n } else {\n for ( let idx = 0; idx < lines.length; idx++) {\n var row = lines[idx];\n this.addIndent();\n if ( idx < (rowCnt - 1) ) {\n this.writeSlice(row, true);\n } else {\n this.writeSlice(row, newLine);\n }\n };\n }\n };\n getCode () : string {\n let res : string = \"\";\n for ( let idx = 0; idx < this.slices.length; idx++) {\n var slice = this.slices[idx];\n res = res + slice.getCode();\n };\n res = res + this.currentLine;\n return res;\n };\n // typescript static \n static emptyWithFS () : CodeWriter {\n const wr : CodeWriter = new CodeWriter();\n const file : CodeFile = new CodeFile(\".\", \"emptyFile.txt\");\n file.writer = wr;\n file.fileSystem = new CodeFileSystem();\n wr.ownerFile = file;\n return wr;\n };\n}\nexport class RangerLispParser {\n code: SourceCode;\n buff: string;\n __len: number;\n i: number;\n last_line_start: number;\n current_line_index: number;\n parents: Array<CodeNode>;\n next: CodeNode;\n paren_cnt: number;\n get_op_pred: number;\n rootNode: CodeNode;\n curr_node: CodeNode;\n had_error: boolean;\n disableOperators: boolean;\n constructor(code_module : SourceCode) {\n this.__len = 0;\n this.i = 0;\n this.last_line_start = 0; /** note: unused */\n this.current_line_index = 0;\n this.parents = [];\n this.paren_cnt = 0;\n this.get_op_pred = 0; /** note: unused */\n this.had_error = false;\n this.disableOperators = false;\n this.buff = code_module.code;\n this.code = code_module;\n this.__len = (this.buff).length;\n this.rootNode = new CodeNode(this.code, 0, 0);\n this.rootNode.is_block_node = true;\n this.rootNode.expression = true;\n this.curr_node = this.rootNode;\n this.parents.push(this.curr_node);\n this.paren_cnt = 1;\n }\n joo (cm : SourceCode) : void {\n /** unused: const ll : number = cm.code.length **/ \n };\n parse_raw_annotation () : CodeNode {\n let sp : number = this.i;\n let ep : number = this.i;\n this.i = this.i + 1;\n sp = this.i;\n ep = this.i;\n if ( this.i < this.__len ) {\n const a_node2 : CodeNode = new CodeNode(this.code, sp, ep);\n a_node2.expression = true;\n a_node2.row = this.current_line_index;\n this.curr_node = a_node2;\n this.parents.push(a_node2);\n this.i = this.i + 1;\n this.paren_cnt = this.paren_cnt + 1;\n this.parse(false);\n return a_node2;\n } else {\n }\n return new CodeNode(this.code, sp, ep);\n };\n skip_space (is_block_parent : boolean) : boolean {\n const s : string = this.buff;\n let did_break : boolean = false;\n if ( this.i >= this.__len ) {\n return true;\n }\n let c : number = s.charCodeAt(this.i );\n /** unused: const bb : boolean = c == (46) **/ \n while ((this.i < this.__len) && (c <= 32)) {\n if ( c < 8 ) {\n this.i = this.__len;\n return true;\n }\n if ( is_block_parent && ((c == 10) || (c == 13)) ) {\n this.end_expression();\n this.current_line_index = this.current_line_index + 1;\n did_break = true;\n break;\n }\n let had_break : boolean = false;\n while (((this.i < this.__len) && (c == 10)) || (c == 13)) {\n had_break = true;\n this.i = this.i + 1;\n if ( this.i >= this.__len ) {\n return true;\n }\n c = s.charCodeAt(this.i );\n if ( (c == 10) || (c == 13) ) {\n }\n };\n if ( had_break ) {\n this.current_line_index = this.current_line_index + 1;\n } else {\n this.i = 1 + this.i;\n if ( this.i >= this.__len ) {\n return true;\n }\n c = s.charCodeAt(this.i );\n }\n };\n return did_break;\n };\n end_expression () : boolean {\n this.i = 1 + this.i;\n if ( this.i >= this.__len ) {\n return false;\n }\n this.paren_cnt = this.paren_cnt - 1;\n if ( this.paren_cnt < 0 ) {\n console.log(\"Parser error ) mismatch\");\n }\n this.parents.pop();\n if ( (typeof(this.curr_node) !== \"undefined\" && this.curr_node != null ) ) {\n this.curr_node.ep = this.i;\n this.curr_node.infix_operator = false;\n }\n if ( (this.parents.length) > 0 ) {\n this.curr_node = this.parents[((this.parents.length) - 1)];\n } else {\n this.curr_node = this.rootNode;\n }\n this.curr_node.infix_operator = false;\n return true;\n };\n getOperator (disabled : boolean) : number {\n if ( disabled ) {\n return 0;\n }\n const s : string = this.buff;\n if ( (this.i + 2) >= this.__len ) {\n return 0;\n }\n const c : number = s.charCodeAt(this.i );\n const c2 : number = s.charCodeAt((this.i + 1) );\n switch (c ) { \n case 42 : \n this.i = this.i + 1;\n return 14;\n case 47 : \n this.i = this.i + 1;\n return 14;\n case 37 : \n this.i = this.i + 1;\n return 14;\n case 43 : \n this.i = this.i + 1;\n return 13;\n case 45 : \n this.i = this.i + 1;\n return 13;\n case 60 : \n if ( c2 == (61) ) {\n this.i = this.i + 2;\n return 11;\n }\n this.i = this.i + 1;\n return 11;\n case 62 : \n if ( c2 == (61) ) {\n this.i = this.i + 2;\n return 11;\n }\n this.i = this.i + 1;\n return 11;\n case 33 : \n if ( c2 == (61) ) {\n this.i = this.i + 2;\n return 10;\n }\n return 0;\n case 61 : \n if ( c2 == (61) ) {\n this.i = this.i + 2;\n return 10;\n }\n this.i = this.i + 1;\n return 3;\n case 38 : \n if ( c2 == (38) ) {\n this.i = this.i + 2;\n return 6;\n }\n return 0;\n case 124 : \n if ( c2 == (124) ) {\n this.i = this.i + 2;\n return 5;\n }\n return 0;\n default: \n break;\n };\n return 0;\n };\n isOperator (disabled : boolean) : number {\n if ( disabled ) {\n return 0;\n }\n const s : string = this.buff;\n if ( (this.i - 2) > this.__len ) {\n return 0;\n }\n const c : number = s.charCodeAt(this.i );\n const c2 : number = s.charCodeAt((this.i + 1) );\n switch (c ) { \n case 42 : \n return 1;\n case 47 : \n return 14;\n case 43 : \n return 13;\n case 37 : \n return 14;\n case 45 : \n return 13;\n case 60 : \n if ( c2 == (61) ) {\n return 11;\n }\n return 11;\n case 62 : \n if ( c2 == (61) ) {\n return 11;\n }\n return 11;\n case 33 : \n if ( c2 == (61) ) {\n return 10;\n }\n return 0;\n case 61 : \n if ( c2 == (61) ) {\n return 10;\n }\n return 3;\n case 38 : \n if ( c2 == (38) ) {\n return 6;\n }\n return 0;\n case 124 : \n if ( c2 == (124) ) {\n return 5;\n }\n return 0;\n default: \n break;\n };\n return 0;\n };\n getOperatorPred (str : string, disabled : boolean) : number {\n if ( disabled ) {\n return 0;\n }\n switch (str ) { \n case \"<\" : \n return 11;\n case \">\" : \n return 11;\n case \"<=\" : \n return 11;\n case \">=\" : \n return 11;\n case \"==\" : \n return 10;\n case \"!=\" : \n return 10;\n case \"=\" : \n return 3;\n case \"&&\" : \n return 6;\n case \"||\" : \n return 5;\n case \"+\" : \n return 13;\n case \"-\" : \n return 13;\n case \"%\" : \n return 14;\n case \"*\" : \n return 14;\n case \"/\" : \n return 14;\n default: \n break;\n };\n return 0;\n };\n insert_node (p_node : CodeNode) : void {\n let push_target : CodeNode = this.curr_node;\n if ( this.curr_node.infix_operator ) {\n push_target = this.curr_node.infix_node;\n if ( push_target.to_the_right ) {\n push_target = push_target.right_node;\n p_node.parent = push_target;\n }\n }\n push_target.children.push(p_node);\n };\n parse_attributes () : boolean {\n const s : string = this.buff;\n let last_i : number = 0;\n const do_break : boolean = false;\n /** unused: const attr_name : string = \"\" **/ \n let sp : number = this.i;\n let ep : number = this.i;\n let c : number = 0;\n let cc1 : number = 0;\n let cc2 : number = 0;\n cc1 = s.charCodeAt(this.i );\n while (this.i < this.__len) {\n last_i = this.i;\n while ((this.i < this.__len) && ((s.charCodeAt(this.i )) <= 32)) {\n this.i = 1 + this.i;\n };\n cc1 = s.charCodeAt(this.i );\n cc2 = s.charCodeAt((this.i + 1) );\n if ( this.i >= this.__len ) {\n break;\n }\n if ( cc1 == (62) ) {\n return do_break;\n }\n if ( (cc1 == (47)) && (cc2 == (62)) ) {\n this.i = 2 + this.i;\n return true;\n }\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while ((this.i < this.__len) && ((((((c >= 65) && (c <= 90)) || ((c >= 97) && (c <= 122))) || ((c >= 48) && (c <= 57))) || (c == (95))) || (c == (45)))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n this.i = this.i - 1;\n const an_sp : number = sp;\n const an_ep : number = this.i;\n c = s.charCodeAt(this.i );\n while ((this.i < this.__len) && (c != (61))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n if ( c == (61) ) {\n this.i = 1 + this.i;\n }\n while ((this.i < this.__len) && ((s.charCodeAt(this.i )) <= 32)) {\n this.i = 1 + this.i;\n };\n if ( this.i >= this.__len ) {\n break;\n }\n c = s.charCodeAt(this.i );\n if ( c == (123) ) {\n const cNode : CodeNode = this.curr_node;\n const new_attr : CodeNode = new CodeNode(this.code, sp, ep);\n new_attr.value_type = 21;\n new_attr.parsed_type = new_attr.value_type;\n new_attr.vref = s.substring(an_sp, (an_ep + 1) );\n new_attr.string_value = s.substring(sp, ep );\n this.curr_node.attrs.push(new_attr);\n this.curr_node = new_attr;\n this.paren_cnt = this.paren_cnt + 1;\n const new_qnode : CodeNode = new CodeNode(this.code, this.i, this.i);\n new_qnode.expression = true;\n this.insert_node(new_qnode);\n this.parents.push(new_qnode);\n this.curr_node = new_qnode;\n this.i = 1 + this.i;\n this.parse(false);\n this.curr_node = cNode;\n continue;\n }\n if ( (c == 34) || (c == (39)) ) {\n this.i = this.i + 1;\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c != 34)) && (c != (39))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n ep = this.i;\n if ( (this.i < this.__len) && (ep > sp) ) {\n const new_attr_1 : CodeNode = new CodeNode(this.code, sp, ep);\n new_attr_1.value_type = 21;\n new_attr_1.parsed_type = new_attr_1.value_type;\n new_attr_1.vref = s.substring(an_sp, (an_ep + 1) );\n new_attr_1.string_value = s.substring(sp, ep );\n this.curr_node.attrs.push(new_attr_1);\n }\n this.i = 1 + this.i;\n }\n if ( last_i == this.i ) {\n this.i = 1 + this.i;\n }\n };\n return do_break;\n };\n parseXML () : void {\n const s : string = this.buff;\n let c : number = 0;\n /** unused: const next_c : number = 0 **/ \n /** unused: const fc : number = 0 **/ \n /** unused: let new_node : CodeNode **/ \n let sp : number = this.i;\n let ep : number = this.i;\n let last_i : number = 0;\n let cc1 : number = 0;\n let cc2 : number = 0;\n let tag_depth : number = 0;\n while (this.i < this.__len) {\n last_i = this.i;\n if ( this.i >= (this.__len - 1) ) {\n break;\n }\n cc1 = s.charCodeAt(this.i );\n cc2 = s.charCodeAt((this.i + 1) );\n if ( cc1 == (123) ) {\n const cNode : CodeNode = this.curr_node;\n this.paren_cnt = this.paren_cnt + 1;\n const new_qnode : CodeNode = new CodeNode(this.code, this.i, this.i);\n new_qnode.expression = true;\n this.insert_node(new_qnode);\n this.parents.push(new_qnode);\n this.curr_node = new_qnode;\n this.i = 1 + this.i;\n this.parse(false);\n this.curr_node = cNode;\n continue;\n }\n if ( cc1 == (62) ) {\n this.i = this.i + 1;\n cc1 = s.charCodeAt(this.i );\n cc2 = s.charCodeAt((this.i + 1) );\n continue;\n }\n if ( ((47) == cc1) && (cc2 == (62)) ) {\n tag_depth = tag_depth - 1;\n this.i = this.i + 2;\n if ( tag_depth <= 0 ) {\n this.parents.pop();\n const p_cnt : number = this.parents.length;\n const last_parent : CodeNode = this.parents[(p_cnt - 1)];\n this.curr_node = last_parent;\n return;\n }\n continue;\n }\n if ( this.i >= this.__len ) {\n break;\n }\n if ( ((60) == cc1) && (cc2 == (47)) ) {\n tag_depth = tag_depth - 1;\n this.i = this.i + 2;\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c > 32)) && (c != (62))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n ep = this.i;\n this.parents.pop();\n const p_cnt_1 : number = this.parents.length;\n const last_parent_1 : CodeNode = this.parents[(p_cnt_1 - 1)];\n this.curr_node = last_parent_1;\n if ( tag_depth <= 0 ) {\n return;\n }\n continue;\n }\n if ( cc1 == (60) ) {\n this.i = this.i + 1;\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c != (62))) && (((((((c >= 65) && (c <= 90)) || ((c >= 97) && (c <= 122))) || ((c >= 48) && (c <= 57))) || (c == 95)) || (c == 46)) || (c == 64))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n tag_depth = tag_depth + 1;\n ep = this.i;\n const new_tag : string = s.substring(sp, ep );\n if ( typeof(this.curr_node) === \"undefined\" ) {\n const new_rnode : CodeNode = new CodeNode(this.code, sp, ep);\n new_rnode.vref = new_tag;\n new_rnode.value_type = 19;\n new_rnode.parsed_type = new_rnode.value_type;\n this.rootNode = new_rnode;\n this.parents.push(new_rnode);\n this.curr_node = new_rnode;\n } else {\n const new_node_2 : CodeNode = new CodeNode(this.code, sp, ep);\n new_node_2.vref = new_tag;\n new_node_2.value_type = 19;\n new_node_2.parsed_type = new_node_2.value_type;\n this.curr_node.children.push(new_node_2);\n new_node_2.parent = this.curr_node;\n this.parents.push(new_node_2);\n this.curr_node = new_node_2;\n }\n if ( this.parse_attributes() ) {\n this.parents.pop();\n const p_cnt_2 : number = this.parents.length;\n const last_parent_2 : CodeNode = this.parents[(p_cnt_2 - 1)];\n this.curr_node = last_parent_2;\n tag_depth = tag_depth - 1;\n if ( tag_depth <= 0 ) {\n return;\n }\n continue;\n }\n continue;\n }\n if ( (typeof(this.curr_node) !== \"undefined\" && this.curr_node != null ) ) {\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c != (60))) && (c != (123))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n ep = this.i;\n if ( ep > sp ) {\n const new_node_3 : CodeNode = new CodeNode(this.code, sp, ep);\n new_node_3.string_value = s.substring(sp, ep );\n new_node_3.value_type = 20;\n new_node_3.parsed_type = new_node_3.value_type;\n this.curr_node.children.push(new_node_3);\n new_node_3.parent = this.curr_node;\n }\n }\n if ( last_i == this.i ) {\n this.i = 1 + this.i;\n }\n };\n };\n parse (disable_ops : boolean) : void {\n const s : string = this.buff;\n let c : number = s.charCodeAt(0 );\n /** unused: const next_c : number = 0 **/ \n let fc : number = 0;\n let new_node : CodeNode ;\n let sp : number = 0;\n let ep : number = 0;\n let last_i : number = 0;\n let had_lf : boolean = false;\n let disable_ops_set : boolean = disable_ops;\n while (this.i < this.__len) {\n if ( (typeof(this.curr_node) !== \"undefined\" && this.curr_node != null ) ) {\n if ( this.curr_node.value_type == 21 ) {\n return;\n }\n if ( this.curr_node.value_type == 19 ) {\n return;\n }\n }\n if ( this.had_error ) {\n break;\n }\n last_i = this.i;\n let is_block_parent : boolean = false;\n if ( had_lf ) {\n had_lf = false;\n this.end_expression();\n break;\n }\n if ( (typeof(this.curr_node) !== \"undefined\" && this.curr_node != null ) ) {\n if ( (typeof(this.curr_node.parent) !== \"undefined\" && this.curr_node.parent != null ) ) {\n const nodeParent : CodeNode = this.curr_node.parent;\n if ( nodeParent.is_block_node ) {\n is_block_parent = true;\n }\n }\n }\n if ( this.skip_space(is_block_parent) ) {\n break;\n }\n had_lf = false;\n c = s.charCodeAt(this.i );\n if ( this.i < this.__len ) {\n c = s.charCodeAt(this.i );\n if ( (60) == c ) {\n if ( (this.i + 1) < this.__len ) {\n const next_c_2 : number = s.charCodeAt((this.i + 1) );\n if ( ((65) < next_c_2) && ((122) > next_c_2) ) {\n /** unused: const spos : number = this.i **/ \n this.parseXML();\n this.i = this.i + 1;\n continue;\n }\n }\n if ( this.i > 0 ) {\n const prev_c : number = s.charCodeAt((this.i - 1) );\n if ( (62) == prev_c ) {\n }\n }\n }\n if ( c == 59 ) {\n sp = this.i + 1;\n while ((this.i < this.__len) && ((s.charCodeAt(this.i )) > 31)) {\n this.i = 1 + this.i;\n };\n if ( this.i >= this.__len ) {\n break;\n }\n new_node = new CodeNode(this.code, sp, this.i);\n new_node.parsed_type = 12;\n new_node.value_type = 12;\n new_node.string_value = s.substring(sp, this.i );\n this.curr_node.comments.push(new_node);\n continue;\n }\n if ( this.i < (this.__len - 1) ) {\n fc = s.charCodeAt((this.i + 1) );\n if ( (c == 40) || (c == (123)) ) {\n this.paren_cnt = this.paren_cnt + 1;\n if ( typeof(this.curr_node) === \"undefined\" ) {\n this.rootNode = new CodeNode(this.code, this.i, this.i);\n this.curr_node = this.rootNode;\n this.curr_node.expression = true;\n this.parents.push(this.curr_node);\n } else {\n const new_qnode : CodeNode = new CodeNode(this.code, this.i, this.i);\n new_qnode.expression = true;\n this.insert_node(new_qnode);\n this.parents.push(new_qnode);\n this.curr_node = new_qnode;\n }\n if ( c == (123) ) {\n this.curr_node.is_block_node = true;\n }\n this.i = 1 + this.i;\n this.parse(disable_ops_set);\n continue;\n }\n }\n sp = this.i;\n ep = this.i;\n fc = s.charCodeAt(this.i );\n if ( (((fc == 45) && ((s.charCodeAt((this.i + 1) )) >= 46)) && ((s.charCodeAt((this.i + 1) )) <= 57)) || ((fc >= 48) && (fc <= 57)) ) {\n let is_double : boolean = false;\n sp = this.i;\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n while ((this.i < this.__len) && ((((c >= 48) && (c <= 57)) || (c == (46))) || ((this.i == sp) && ((c == (43)) || (c == (45)))))) {\n if ( c == (46) ) {\n is_double = true;\n }\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n ep = this.i;\n const new_num_node : CodeNode = new CodeNode(this.code, sp, ep);\n if ( is_double ) {\n new_num_node.parsed_type = 2;\n new_num_node.value_type = 2;\n new_num_node.double_value = (isNaN( parseFloat((s.substring(sp, ep ))) ) ? undefined : parseFloat((s.substring(sp, ep ))));\n } else {\n new_num_node.parsed_type = 3;\n new_num_node.value_type = 3;\n new_num_node.int_value = (isNaN( parseInt((s.substring(sp, ep ))) ) ? undefined : parseInt((s.substring(sp, ep ))));\n }\n this.insert_node(new_num_node);\n continue;\n }\n const str_limit : number = fc;\n const b_had_str : boolean = ((fc == 34) || (fc == 96)) || (fc == 39);\n if ( b_had_str ) {\n sp = this.i + 1;\n ep = sp;\n c = s.charCodeAt(this.i );\n let must_encode : boolean = false;\n while (this.i < this.__len) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n if ( c == str_limit ) {\n break;\n }\n if ( c == 92 ) {\n this.i = 1 + this.i;\n if ( this.i < this.__len ) {\n must_encode = true;\n c = s.charCodeAt(this.i );\n } else {\n break;\n }\n }\n };\n ep = this.i;\n if ( this.i < this.__len ) {\n let encoded_str : string = \"\";\n if ( must_encode ) {\n const subs : string = s.substring(sp, ep );\n const orig_str : string = subs;\n const str_length : number = orig_str.length;\n let ii : number = 0;\n while (ii < str_length) {\n const cc : number = orig_str.charCodeAt(ii );\n if ( cc == 92 ) {\n const next_ch : number = orig_str.charCodeAt((ii + 1) );\n switch (next_ch ) { \n case 34 : \n encoded_str = encoded_str + (String.fromCharCode(34));\n break;\n case 92 : \n encoded_str = encoded_str + (String.fromCharCode(92));\n break;\n case 47 : \n encoded_str = encoded_str + (String.fromCharCode(47));\n break;\n case 98 : \n encoded_str = encoded_str + (String.fromCharCode(8));\n break;\n case 102 : \n encoded_str = encoded_str + (String.fromCharCode(12));\n break;\n case 110 : \n encoded_str = encoded_str + (String.fromCharCode(10));\n break;\n case 114 : \n encoded_str = encoded_str + (String.fromCharCode(13));\n break;\n case 116 : \n encoded_str = encoded_str + (String.fromCharCode(9));\n break;\n case 117 : \n ii = ii + 4;\n break;\n default: \n break;\n };\n ii = ii + 2;\n } else {\n encoded_str = encoded_str + (orig_str.substring(ii, (1 + ii) ));\n ii = ii + 1;\n }\n };\n } else {\n }\n const new_str_node : CodeNode = new CodeNode(this.code, sp, ep);\n new_str_node.parsed_type = 4;\n new_str_node.value_type = 4;\n if ( must_encode ) {\n new_str_node.string_value = encoded_str;\n } else {\n new_str_node.string_value = s.substring(sp, ep );\n }\n this.insert_node(new_str_node);\n this.i = 1 + this.i;\n continue;\n }\n }\n if ( (((fc == (116)) && ((s.charCodeAt((this.i + 1) )) == (114))) && ((s.charCodeAt((this.i + 2) )) == (117))) && ((s.charCodeAt((this.i + 3) )) == (101)) ) {\n const new_true_node : CodeNode = new CodeNode(this.code, sp, sp + 4);\n new_true_node.value_type = 5;\n new_true_node.parsed_type = 5;\n new_true_node.boolean_value = true;\n this.insert_node(new_true_node);\n this.i = this.i + 4;\n continue;\n }\n if ( ((((fc == (102)) && ((s.charCodeAt((this.i + 1) )) == (97))) && ((s.charCodeAt((this.i + 2) )) == (108))) && ((s.charCodeAt((this.i + 3) )) == (115))) && ((s.charCodeAt((this.i + 4) )) == (101)) ) {\n const new_f_node : CodeNode = new CodeNode(this.code, sp, sp + 5);\n new_f_node.value_type = 5;\n new_f_node.parsed_type = 5;\n new_f_node.boolean_value = false;\n this.insert_node(new_f_node);\n this.i = this.i + 5;\n continue;\n }\n if ( fc == (64) ) {\n this.i = this.i + 1;\n sp = this.i;\n ep = this.i;\n c = s.charCodeAt(this.i );\n while (((((this.i < this.__len) && ((s.charCodeAt(this.i )) > 32)) && (c != 40)) && (c != 41)) && (c != (125))) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n };\n ep = this.i;\n if ( (this.i < this.__len) && (ep > sp) ) {\n const a_node2 : CodeNode = new CodeNode(this.code, sp, ep);\n const a_name : string = s.substring(sp, ep );\n if ( a_name == \"noinfix\" ) {\n disable_ops_set = true;\n }\n a_node2.expression = true;\n this.curr_node = a_node2;\n this.parents.push(a_node2);\n this.i = this.i + 1;\n this.paren_cnt = this.paren_cnt + 1;\n this.parse(disable_ops_set);\n let use_first : boolean = false;\n if ( 1 == (a_node2.children.length) ) {\n const ch1 : CodeNode = a_node2.children[0];\n use_first = ch1.isPrimitive();\n }\n if ( use_first ) {\n const theNode : CodeNode = a_node2.children.splice(0, 1).pop();\n this.curr_node.props[a_name] = theNode;\n } else {\n this.curr_node.props[a_name] = a_node2;\n }\n this.curr_node.prop_keys.push(a_name);\n continue;\n }\n }\n let ns_list : Array<string> = [];\n let last_ns : number = this.i;\n let ns_cnt : number = 1;\n let vref_had_type_ann : boolean = false;\n let vref_ann_node : CodeNode ;\n let vref_end : number = this.i;\n if ( (((((this.i < this.__len) && ((s.charCodeAt(this.i )) > 32)) && (c != 58)) && (c != 40)) && (c != 41)) && (c != (125)) ) {\n if ( this.curr_node.is_block_node == true ) {\n const new_expr_node : CodeNode = new CodeNode(this.code, sp, ep);\n new_expr_node.parent = this.curr_node;\n new_expr_node.expression = true;\n this.curr_node.children.push(new_expr_node);\n this.curr_node = new_expr_node;\n this.parents.push(new_expr_node);\n this.paren_cnt = 1 + this.paren_cnt;\n this.parse(disable_ops_set);\n continue;\n }\n }\n let op_c : number = 0;\n op_c = this.getOperator(disable_ops_set);\n let last_was_newline : boolean = false;\n if ( op_c > 0 ) {\n } else {\n while ((((((this.i < this.__len) && ((s.charCodeAt(this.i )) > 32)) && (c != 58)) && (c != 40)) && (c != 41)) && (c != (125))) {\n if ( this.i > sp ) {\n const is_opchar : number = this.isOperator(disable_ops_set);\n if ( is_opchar > 0 ) {\n break;\n }\n }\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n if ( (c == 10) || (c == 13) ) {\n last_was_newline = true;\n break;\n }\n if ( c == (46) ) {\n ns_list.push(s.substring(last_ns, this.i ));\n last_ns = this.i + 1;\n ns_cnt = 1 + ns_cnt;\n }\n if ( (this.i > vref_end) && (c == (64)) ) {\n vref_had_type_ann = true;\n vref_end = this.i;\n vref_ann_node = this.parse_raw_annotation();\n c = s.charCodeAt(this.i );\n break;\n }\n };\n }\n ep = this.i;\n if ( vref_had_type_ann ) {\n ep = vref_end;\n }\n ns_list.push(s.substring(last_ns, ep ));\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c <= 32)) && (false == last_was_newline)) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n if ( is_block_parent && ((c == 10) || (c == 13)) ) {\n this.i = this.i - 1;\n c = s.charCodeAt(this.i );\n had_lf = true;\n break;\n }\n };\n if ( (false == disable_ops_set) && (c == (58)) ) {\n this.i = this.i + 1;\n while ((this.i < this.__len) && ((s.charCodeAt(this.i )) <= 32)) {\n this.i = 1 + this.i;\n };\n let vt_sp : number = this.i;\n let vt_ep : number = this.i;\n c = s.charCodeAt(this.i );\n if ( c == (40) ) {\n const vann_arr2 : CodeNode = this.parse_raw_annotation();\n vann_arr2.expression = true;\n const new_expr_node_1 : CodeNode = new CodeNode(this.code, sp, vt_ep);\n new_expr_node_1.vref = s.substring(sp, ep );\n new_expr_node_1.ns = ns_list;\n new_expr_node_1.expression_value = vann_arr2;\n new_expr_node_1.parsed_type = 17;\n new_expr_node_1.value_type = 17;\n if ( vref_had_type_ann ) {\n new_expr_node_1.vref_annotation = vref_ann_node;\n new_expr_node_1.has_vref_annotation = true;\n }\n this.curr_node.children.push(new_expr_node_1);\n continue;\n }\n if ( c == (91) ) {\n this.i = this.i + 1;\n vt_sp = this.i;\n let hash_sep : number = 0;\n let had_array_type_ann : boolean = false;\n c = s.charCodeAt(this.i );\n while (((this.i < this.__len) && (c > 32)) && (c != 93)) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n if ( c == (58) ) {\n hash_sep = this.i;\n }\n if ( c == (64) ) {\n had_array_type_ann = true;\n break;\n }\n };\n vt_ep = this.i;\n if ( hash_sep > 0 ) {\n vt_ep = this.i;\n const type_name : string = s.substring((1 + hash_sep), vt_ep );\n const key_type_name : string = s.substring(vt_sp, hash_sep );\n const new_hash_node : CodeNode = new CodeNode(this.code, sp, vt_ep);\n new_hash_node.vref = s.substring(sp, ep );\n new_hash_node.ns = ns_list;\n new_hash_node.parsed_type = 7;\n new_hash_node.value_type = 7;\n new_hash_node.array_type = type_name;\n new_hash_node.key_type = key_type_name;\n if ( vref_had_type_ann ) {\n new_hash_node.vref_annotation = vref_ann_node;\n new_hash_node.has_vref_annotation = true;\n }\n if ( had_array_type_ann ) {\n const vann_hash : CodeNode = this.parse_raw_annotation();\n new_hash_node.type_annotation = vann_hash;\n new_hash_node.has_type_annotation = true;\n }\n new_hash_node.parent = this.curr_node;\n this.curr_node.children.push(new_hash_node);\n this.i = 1 + this.i;\n continue;\n } else {\n vt_ep = this.i;\n const type_name_1 : string = s.substring(vt_sp, vt_ep );\n const new_arr_node : CodeNode = new CodeNode(this.code, sp, vt_ep);\n new_arr_node.vref = s.substring(sp, ep );\n new_arr_node.ns = ns_list;\n new_arr_node.parsed_type = 6;\n new_arr_node.value_type = 6;\n new_arr_node.array_type = type_name_1;\n new_arr_node.parent = this.curr_node;\n this.curr_node.children.push(new_arr_node);\n if ( vref_had_type_ann ) {\n new_arr_node.vref_annotation = vref_ann_node;\n new_arr_node.has_vref_annotation = true;\n }\n if ( had_array_type_ann ) {\n const vann_arr : CodeNode = this.parse_raw_annotation();\n new_arr_node.type_annotation = vann_arr;\n new_arr_node.has_type_annotation = true;\n console.log(\"--> parsed ARRAY TYPE annotation\");\n }\n this.i = 1 + this.i;\n continue;\n }\n }\n let had_type_ann : boolean = false;\n while ((this.i < this.__len) && operatorsOfchar_23.isc95notc95limiter_24(c)) {\n this.i = 1 + this.i;\n c = s.charCodeAt(this.i );\n if ( c == (64) ) {\n had_type_ann = true;\n break;\n }\n };\n if ( this.i < this.__len ) {\n vt_ep = this.i;\n /** unused: const type_name_2 : string = s.substring(vt_sp, vt_ep ) **/ \n const new_ref_node : CodeNode = new CodeNode(this.code, sp, ep);\n new_ref_node.vref = s.substring(sp, ep );\n new_ref_node.ns = ns_list;\n new_ref_node.parsed_type = 11;\n new_ref_node.value_type = 11;\n new_ref_node.type_name = s.substring(vt_sp, vt_ep );\n new_ref_node.parent = this.curr_node;\n if ( vref_had_type_ann ) {\n new_ref_node.vref_annotation = vref_ann_node;\n new_ref_node.has_vref_annotation = true;\n }\n this.curr_node.children.push(new_ref_node);\n if ( had_type_ann ) {\n const vann : CodeNode = this.parse_raw_annotation();\n new_ref_node.type_annotation = vann;\n new_ref_node.has_type_annotation = true;\n }\n continue;\n }\n } else {\n if ( (this.i < this.__len) && (ep > sp) ) {\n const new_vref_node : CodeNode = new CodeNode(this.code, sp, ep);\n new_vref_node.vref = s.substring(sp, ep );\n new_vref_node.parsed_type = 11;\n new_vref_node.value_type = 11;\n new_vref_node.ns = ns_list;\n new_vref_node.parent = this.curr_node;\n const op_pred : number = this.getOperatorPred(new_vref_node.vref, disable_ops_set);\n if ( new_vref_node.vref == \",\" ) {\n this.curr_node.infix_operator = false;\n continue;\n }\n let pTarget : CodeNode = this.curr_node;\n if ( this.curr_node.infix_operator ) {\n const iNode : CodeNode = this.curr_node.infix_node;\n if ( (op_pred > 0) || (iNode.to_the_right == false) ) {\n pTarget = iNode;\n } else {\n const rn : CodeNode = iNode.right_node;\n new_vref_node.parent = rn;\n pTarget = rn;\n }\n }\n pTarget.children.push(new_vref_node);\n if ( vref_had_type_ann ) {\n new_vref_node.vref_annotation = vref_ann_node;\n new_vref_node.has_vref_annotation = true;\n }\n if ( (this.i + 1) < this.__len ) {\n if ( ((s.charCodeAt((this.i + 1) )) == (40)) || ((s.charCodeAt((this.i + 0) )) == (40)) ) {\n if ( ((0 == op_pred) && this.curr_node.infix_operator) && (1 == (this.curr_node.children.length)) ) {\n }\n }\n }\n if ( ((op_pred > 0) && this.curr_node.infix_operator) || ((op_pred > 0) && ((this.curr_node.children.length) >= 2)) ) {\n if ( (op_pred == 3) && (2 == (this.curr_node.children.length)) ) {\n const n_ch : CodeNode = this.curr_node.children.splice(0, 1).pop();\n this.curr_node.children.push(n_ch);\n } else {\n if ( false == this.curr_node.infix_operator ) {\n const if_node : CodeNode = new CodeNode(this.code, sp, ep);\n this.curr_node.infix_node = if_node;\n this.curr_node.infix_operator = true;\n if_node.infix_subnode = true;\n this.curr_node.value_type = 0;\n this.curr_node.parsed_type = this.curr_node.value_type;\n this.curr_node.expression = true;\n if_node.expression = true;\n let ch_cnt : number = this.curr_node.children.length;\n let ii_1 : number = 0;\n const start_from : number = ch_cnt - 2;\n const keep_nodes : CodeNode = new CodeNode(this.code, sp, ep);\n while (ch_cnt > 0) {\n const n_ch_1 : CodeNode = this.curr_node.children.splice(0, 1).pop();\n let p_target : CodeNode = if_node;\n if ( (ii_1 < start_from) || n_ch_1.infix_subnode ) {\n p_target = keep_nodes;\n }\n p_target.children.push(n_ch_1);\n ch_cnt = ch_cnt - 1;\n ii_1 = 1 + ii_1;\n };\n for ( let i2 = 0; i2 < keep_nodes.children.length; i2++) {\n var keep = keep_nodes.children[i2];\n this.curr_node.children.push(keep);\n };\n this.curr_node.children.push(if_node);\n }\n const ifNode : CodeNode = this.curr_node.infix_node;\n const new_op_node : CodeNode = new CodeNode(this.code, sp, ep);\n new_op_node.expression = true;\n new_op_node.parent = ifNode;\n let until_index : number = (ifNode.children.length) - 1;\n let to_right : boolean = false;\n const just_continue : boolean = false;\n if ( (ifNode.operator_pred > 0) && (ifNode.operator_pred < op_pred) ) {\n to_right = true;\n }\n if ( (ifNode.operator_pred > 0) && (ifNode.operator_pred > op_pred) ) {\n ifNode.to_the_right = false;\n }\n if ( (ifNode.operator_pred > 0) && (ifNode.operator_pred == op_pred) ) {\n to_right = ifNode.to_the_right;\n }\n /** unused: const opTarget : CodeNode = ifNode **/ \n if ( to_right ) {\n const op_node : CodeNode = ifNode.children.splice(until_index, 1).pop();\n const last_value : CodeNode = ifNode.children.splice((until_index - 1), 1).pop();\n new_op_node.children.push(op_node);\n new_op_node.children.push(last_value);\n } else {\n if ( false == just_continue ) {\n while (until_index > 0) {\n const what_to_add : CodeNode = ifNode.children.splice(0, 1).pop();\n new_op_node.children.push(what_to_add);\n until_index = until_index - 1;\n };\n }\n }\n if ( to_right || (false == just_continue) ) {\n ifNode.children.push(new_op_node);\n }\n if ( to_right ) {\n ifNode.right_node = new_op_node;\n ifNode.to_the_right = true;\n }\n ifNode.operator_pred = op_pred;\n continue;\n }\n }\n continue;\n }\n }\n if ( (c == 41) || (c == (125)) ) {\n if ( ((c == (125)) && is_block_parent) && ((this.curr_node.children.length) > 0) ) {\n this.end_expression();\n }\n this.i = 1 + this.i;\n this.paren_cnt = this.paren_cnt - 1;\n if ( this.paren_cnt < 0 ) {\n break;\n }\n this.parents.pop();\n if ( (typeof(this.curr_node) !== \"undefined\" && this.curr_node != null ) ) {\n this.curr_node.ep = this.i;\n }\n if ( (this.parents.length) > 0 ) {\n this.curr_node = this.parents[((this.parents.length) - 1)];\n } else {\n this.curr_node = this.rootNode;\n }\n break;\n }\n if ( last_i == this.i ) {\n this.i = 1 + this.i;\n }\n }\n };\n };\n}\nexport class RangerArgMatch {\n _debug: boolean;\n matched: {[key:string]:string};\n nodes: {[key:string]:CodeNode};\n builtNodes: {[key:string]:CodeNode};\n matchedLambdas: {[key:string]:CodeNode};\n constructor() {\n this._debug = false;\n this.matched = {};\n this.nodes = {};\n this.builtNodes = {};\n this.matchedLambdas = {};\n }\n matchArguments (args : CodeNode, callArgs : CodeNode, ctx : RangerAppWriterContext, firstArgIndex : number) : boolean {\n /** unused: const fc : CodeNode = callArgs.children[0] **/ \n let missed_args : Array<string> = [];\n let all_matched : boolean = true;\n if ( ((args.children.length) == 0) && ((callArgs.children.length) > 1) ) {\n return false;\n }\n let lastArg : CodeNode ;\n for ( let i = 0; i < callArgs.children.length; i++) {\n var callArg = callArgs.children[i];\n if ( i == 0 ) {\n continue;\n }\n if ( callArg.is_part_of_chain ) {\n continue;\n }\n const arg_index : number = i - 1;\n if ( arg_index < (args.children.length) ) {\n lastArg = args.children[arg_index];\n }\n const arg : CodeNode = lastArg;\n if ( arg.hasFlag(\"ignore\") ) {\n continue;\n }\n if ( arg.hasFlag(\"keyword\") ) {\n if ( callArg.vref == arg.vref ) {\n continue;\n } else {\n all_matched = false;\n break;\n }\n }\n if ( arg.isPrimitiveType() ) {\n if ( (callArg.value_type == 17) || (callArg.eval_type == 17) ) {\n all_matched = false;\n break;\n }\n }\n let call_arg_immutable : boolean = false;\n if ( callArg.hasParamDesc ) {\n const pa : RangerAppParamDesc = callArg.paramDesc;\n if ( (typeof(pa.nameNode) !== \"undefined\" && pa.nameNode != null ) ) {\n const b_immutable : boolean = pa.nameNode.hasFlag(\"immutable\");\n if ( arg.hasFlag(\"immutable\") != b_immutable ) {\n all_matched = false;\n }\n call_arg_immutable = b_immutable;\n } else {\n call_arg_immutable = pa.is_immutable;\n }\n }\n if ( callArg.hasFlag(\"immutable\") ) {\n call_arg_immutable = true;\n }\n if ( arg.hasFlag(\"immutable\") ) {\n if ( false == call_arg_immutable ) {\n all_matched = false;\n break;\n }\n }\n if ( true ) {\n if ( (arg.type_name == \"block\") || arg.hasFlag(\"block\") ) {\n if ( callArg.is_block_node ) {\n continue;\n } else {\n all_matched = false;\n }\n }\n }\n if ( arg.hasFlag(\"mutable\") ) {\n if ( callArg.hasParamDesc ) {\n const pa_1 : RangerAppParamDesc = callArg.paramDesc;\n const b : boolean = pa_1.nameNode.hasFlag(\"mutable\");\n if ( b == false ) {\n missed_args.push(\"was mutable\");\n all_matched = false;\n }\n } else {\n all_matched = false;\n }\n }\n if ( arg.hasFlag(\"union\") ) {\n if ( ctx.isDefinedClass(callArg.eval_type_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(callArg.eval_type_name);\n if ( (cc.is_union == false) && (cc.is_system_union == false) ) {\n all_matched = false;\n }\n } else {\n all_matched = false;\n }\n }\n if ( arg.hasFlag(\"optional\") ) {\n if ( callArg.hasParamDesc ) {\n const pa_2 : RangerAppParamDesc = callArg.paramDesc;\n const b_1 : boolean = pa_2.nameNode.hasFlag(\"optional\");\n if ( b_1 == false ) {\n missed_args.push(\"optional was missing\");\n all_matched = false;\n }\n } else {\n if ( callArg.hasFlag(\"optional\") ) {\n } else {\n all_matched = false;\n }\n }\n }\n if ( callArg.hasFlag(\"optional\") ) {\n if ( false == arg.hasFlag(\"optional\") ) {\n if ( callArg.is_block_node ) {\n } else {\n all_matched = false;\n }\n }\n }\n if ( (arg.value_type != 7) && (arg.value_type != 6) ) {\n if ( (typeof(callArg.paramDesc) !== \"undefined\" && callArg.paramDesc != null ) ) {\n if ( ((typeof(callArg.paramDesc.nameNode) !== \"undefined\" && callArg.paramDesc.nameNode != null ) ) && ((typeof(callArg.paramDesc.nameNode.expression_value) !== \"undefined\" && callArg.paramDesc.nameNode.expression_value != null ) ) ) {\n this.matched[arg.type_name] = \"\";\n this.matchedLambdas[arg.type_name] = callArg.paramDesc.nameNode.expression_value;\n continue;\n }\n }\n if ( callArg.eval_type == 13 ) {\n if ( arg.type_name == \"enum\" ) {\n continue;\n }\n }\n if ( this._debug ) {\n console.log(\"-> trying to add type \" + arg.type_name);\n }\n if ( false == this.add(arg.type_name, callArg.eval_type_name, ctx) ) {\n all_matched = false;\n return all_matched;\n }\n }\n if ( arg.value_type == 6 ) {\n if ( false == this.add_atype(arg.array_type, callArg.eval_array_type, ctx) ) {\n all_matched = false;\n }\n }\n if ( arg.value_type == 7 ) {\n if ( false == this.add(arg.key_type, callArg.eval_key_type, ctx) ) {\n all_matched = false;\n }\n if ( false == this.add_atype(arg.array_type, callArg.eval_array_type, ctx) ) {\n all_matched = false;\n }\n }\n let did_match : boolean = false;\n if ( this.doesMatch(arg, callArg, ctx) ) {\n did_match = true;\n } else {\n missed_args.push(((\"matching arg \" + arg.vref) + \" faileg against \") + callArg.vref);\n }\n if ( false == did_match ) {\n all_matched = false;\n }\n };\n return all_matched;\n };\n force_add (tplKeyword : string, typeName : string, ctx : RangerAppWriterContext) : void {\n this.matched[tplKeyword] = typeName;\n };\n addNode (name : string, node : CodeNode) : void {\n this.nodes[name] = node;\n };\n add (tplKeyword : string, typeName : string, ctx : RangerAppWriterContext) : boolean {\n switch (tplKeyword ) { \n case \"string\" : \n return true;\n case \"int\" : \n return true;\n case \"double\" : \n return true;\n case \"boolean\" : \n return true;\n case \"enum\" : \n return true;\n case \"char\" : \n return true;\n case \"charbuffer\" : \n return true;\n };\n if ( (tplKeyword.length) > 1 ) {\n return true;\n }\n if ( ( typeof(this.matched[tplKeyword] ) != \"undefined\" && this.matched.hasOwnProperty(tplKeyword) ) ) {\n const s : string = (this.matched[tplKeyword]);\n if ( this.areEqualTypes(s, typeName, ctx) ) {\n return true;\n }\n if ( s == typeName ) {\n return true;\n } else {\n return false;\n }\n }\n this.matched[tplKeyword] = typeName;\n return true;\n };\n add_atype (tplKeyword : string, typeName : string, ctx : RangerAppWriterContext) : boolean {\n switch (tplKeyword ) { \n case \"string\" : \n return true;\n case \"int\" : \n return true;\n case \"double\" : \n return true;\n case \"boolean\" : \n return true;\n case \"enum\" : \n return true;\n case \"char\" : \n return true;\n case \"charbuffer\" : \n return true;\n };\n if ( (tplKeyword.length) > 1 ) {\n return true;\n }\n if ( ( typeof(this.matched[tplKeyword] ) != \"undefined\" && this.matched.hasOwnProperty(tplKeyword) ) ) {\n const s : string = (this.matched[tplKeyword]);\n if ( this.areEqualATypes(s, typeName, ctx) ) {\n return true;\n }\n if ( s == typeName ) {\n return true;\n } else {\n return false;\n }\n }\n this.matched[tplKeyword] = typeName;\n return true;\n };\n doesDefsMatch (arg : CodeNode, node : CodeNode, ctx : RangerAppWriterContext) : boolean {\n if ( node.value_type == 13 ) {\n if ( arg.type_name == \"enum\" ) {\n return true;\n } else {\n return false;\n }\n }\n if ( (arg.value_type != 7) && (arg.value_type != 6) ) {\n const eq : boolean = this.areEqualTypes(arg.type_name, node.type_name, ctx);\n const t_name : string = arg.type_name;\n switch (t_name ) { \n case \"expression\" : \n return node.expression;\n case \"block\" : \n return node.expression;\n case \"arguments\" : \n return node.expression;\n case \"keyword\" : \n return node.eval_type == 11;\n case \"T.name\" : \n return node.eval_type_name == t_name;\n };\n return eq;\n }\n if ( (arg.value_type == 6) && (node.eval_type == 6) ) {\n const same_arrays : boolean = this.areEqualTypes(arg.array_type, node.array_type, ctx);\n return same_arrays;\n }\n if ( (arg.value_type == 7) && (node.eval_type == 7) ) {\n const same_arrays_1 : boolean = this.areEqualTypes(arg.array_type, node.array_type, ctx);\n const same_keys : boolean = this.areEqualTypes(arg.key_type, node.key_type, ctx);\n return same_arrays_1 && same_keys;\n }\n return false;\n };\n doesMatch (arg : CodeNode, node : CodeNode, ctx : RangerAppWriterContext) : boolean {\n if ( node.value_type == 13 ) {\n if ( arg.type_name == \"enum\" ) {\n return true;\n } else {\n return false;\n }\n }\n if ( (arg.value_type != 7) && (arg.value_type != 6) ) {\n const eq : boolean = this.areEqualTypes(arg.type_name, node.eval_type_name, ctx);\n const t_name : string = arg.type_name;\n switch (t_name ) { \n case \"expression\" : \n return node.expression;\n case \"block\" : \n return node.expression;\n case \"arguments\" : \n return node.expression;\n case \"keyword\" : \n return node.eval_type == 11;\n case \"T.name\" : \n return node.eval_type_name == t_name;\n };\n return eq;\n }\n if ( (arg.value_type == 6) && (node.eval_type == 6) ) {\n const same_arrays : boolean = this.areEqualTypes(arg.array_type, node.eval_array_type, ctx);\n return same_arrays;\n }\n if ( (arg.value_type == 7) && (node.eval_type == 7) ) {\n const same_arrays_1 : boolean = this.areEqualTypes(arg.array_type, node.eval_array_type, ctx);\n const same_keys : boolean = this.areEqualTypes(arg.key_type, node.eval_key_type, ctx);\n return same_arrays_1 && same_keys;\n }\n return false;\n };\n areEqualTypes (type1 : string, type2 : string, ctx : RangerAppWriterContext) : boolean {\n let t_name : string = type1;\n if ( ( typeof(this.matched[type1] ) != \"undefined\" && this.matched.hasOwnProperty(type1) ) ) {\n t_name = (this.matched[type1]);\n }\n switch (t_name ) { \n case \"string\" : \n return type2 == \"string\";\n case \"int\" : \n return type2 == \"int\";\n case \"double\" : \n return type2 == \"double\";\n case \"boolean\" : \n return type2 == \"boolean\";\n case \"enum\" : \n return type2 == \"enum\";\n case \"char\" : \n return type2 == \"char\";\n case \"charbuffer\" : \n return type2 == \"charbuffer\";\n };\n if ( ctx.isDefinedClass(t_name) && ctx.isDefinedClass(type2) ) {\n const c1 : RangerAppClassDesc = ctx.findClass(t_name);\n const c2 : RangerAppClassDesc = ctx.findClass(type2);\n const trait1 : RangerAppClassDesc = c1.hasTrait(type2, ctx);\n if ( (c2.is_union == true) && (c1.is_union == false) ) {\n return false;\n }\n if ( (c2.is_system_union == true) && (c1.is_system_union == false) ) {\n return false;\n }\n if ( (typeof(trait1) !== \"undefined\" && trait1 != null ) ) {\n this.force_add(type2, c1.name, ctx);\n if ( ( typeof(c1.trait_params[type2] ) != \"undefined\" && c1.trait_params.hasOwnProperty(type2) ) ) {\n const pms : RangerTraitParams = (c1.trait_params[type2]);\n for ( let i = 0; i < pms.param_names.length; i++) {\n var pn = pms.param_names[i];\n const pn_value : string = (pms.values[pn]);\n this.add(pn, pn_value, ctx);\n };\n }\n }\n const trait1_1 : RangerAppClassDesc = c2.hasTrait(t_name, ctx);\n if ( (typeof(trait1_1) !== \"undefined\" && trait1_1 != null ) ) {\n this.force_add(t_name, c2.name, ctx);\n if ( ( typeof(c2.trait_params[t_name] ) != \"undefined\" && c2.trait_params.hasOwnProperty(t_name) ) ) {\n const pms_1 : RangerTraitParams = (c2.trait_params[t_name]);\n for ( let i_1 = 0; i_1 < pms_1.param_names.length; i_1++) {\n var pn_1 = pms_1.param_names[i_1];\n const pn_value_1 : string = (pms_1.values[pn_1]);\n this.add(pn_1, pn_value_1, ctx);\n };\n } else {\n }\n }\n if ( c1.isSameOrParentClass(type2, ctx) ) {\n return true;\n }\n if ( c2.isSameOrParentClass(t_name, ctx) ) {\n return true;\n }\n } else {\n if ( ctx.isDefinedClass(t_name) ) {\n const c1_1 : RangerAppClassDesc = ctx.findClass(t_name);\n if ( c1_1.isSameOrParentClass(type2, ctx) ) {\n return true;\n }\n }\n }\n return t_name == type2;\n };\n areEqualATypes (type1 : string, type2 : string, ctx : RangerAppWriterContext) : boolean {\n let t_name : string = type1;\n if ( ( typeof(this.matched[type1] ) != \"undefined\" && this.matched.hasOwnProperty(type1) ) ) {\n t_name = (this.matched[type1]);\n }\n switch (t_name ) { \n case \"string\" : \n return type2 == \"string\";\n case \"int\" : \n return type2 == \"int\";\n case \"double\" : \n return type2 == \"double\";\n case \"boolean\" : \n return type2 == \"boolean\";\n case \"enum\" : \n return type2 == \"enum\";\n case \"char\" : \n return type2 == \"char\";\n case \"charbuffer\" : \n return type2 == \"charbuffer\";\n };\n if ( ctx.isDefinedClass(t_name) && ctx.isDefinedClass(type2) ) {\n const c1 : RangerAppClassDesc = ctx.findClass(t_name);\n const c2 : RangerAppClassDesc = ctx.findClass(type2);\n const trait1 : RangerAppClassDesc = c1.hasTrait(type2, ctx);\n if ( (c2.is_union == true) && (c1.is_union == false) ) {\n return false;\n }\n if ( (c2.is_system_union == true) && (c1.is_system_union == false) ) {\n return false;\n }\n if ( (typeof(trait1) !== \"undefined\" && trait1 != null ) ) {\n this.force_add(type2, c1.name, ctx);\n if ( ( typeof(c1.trait_params[type2] ) != \"undefined\" && c1.trait_params.hasOwnProperty(type2) ) ) {\n const pms : RangerTraitParams = (c1.trait_params[type2]);\n for ( let i = 0; i < pms.param_names.length; i++) {\n var pn = pms.param_names[i];\n const pn_value : string = (pms.values[pn]);\n this.add(pn, pn_value, ctx);\n };\n }\n }\n const trait1_1 : RangerAppClassDesc = c2.hasTrait(t_name, ctx);\n if ( (typeof(trait1_1) !== \"undefined\" && trait1_1 != null ) ) {\n this.force_add(t_name, c2.name, ctx);\n if ( ( typeof(c2.trait_params[t_name] ) != \"undefined\" && c2.trait_params.hasOwnProperty(t_name) ) ) {\n const pms_1 : RangerTraitParams = (c2.trait_params[t_name]);\n for ( let i_1 = 0; i_1 < pms_1.param_names.length; i_1++) {\n var pn_1 = pms_1.param_names[i_1];\n const pn_value_1 : string = (pms_1.values[pn_1]);\n this.add(pn_1, pn_value_1, ctx);\n };\n } else {\n }\n }\n if ( c1.isSameOrParentClass(type2, ctx) ) {\n return true;\n }\n if ( c2.isSameOrParentClass(t_name, ctx) ) {\n return true;\n }\n } else {\n }\n return t_name == type2;\n };\n getTypeName (n : string) : string {\n let t_name : string = n;\n if ( ( typeof(this.matched[t_name] ) != \"undefined\" && this.matched.hasOwnProperty(t_name) ) ) {\n t_name = (this.matched[t_name]);\n }\n if ( 0 == (t_name.length) ) {\n return \"\";\n }\n return t_name;\n };\n getType (n : string) : number {\n let t_name : string = n;\n if ( ( typeof(this.matched[t_name] ) != \"undefined\" && this.matched.hasOwnProperty(t_name) ) ) {\n t_name = (this.matched[t_name]);\n }\n if ( 0 == (t_name.length) ) {\n return 0;\n }\n switch (t_name ) { \n case \"expression\" : \n return 16;\n case \"block\" : \n return 16;\n case \"arguments\" : \n return 16;\n case \"string\" : \n return 4;\n case \"int\" : \n return 3;\n case \"char\" : \n return 14;\n case \"charbuffer\" : \n return 15;\n case \"boolean\" : \n return 5;\n case \"double\" : \n return 2;\n case \"enum\" : \n return 13;\n };\n return 10;\n };\n setRvBasedOn (arg : CodeNode, node : CodeNode) : boolean {\n if ( arg.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n if ( arg.hasFlag(\"immutable\") ) {\n node.setFlag(\"immutable\");\n }\n if ( (arg.value_type != 7) && (arg.value_type != 6) ) {\n if ( ( typeof(this.matchedLambdas[arg.type_name] ) != \"undefined\" && this.matchedLambdas.hasOwnProperty(arg.type_name) ) ) {\n const lam : CodeNode = this.matchedLambdas[arg.type_name];\n node.eval_type = 17;\n node.expression_value = lam.copy();\n return true;\n }\n node.eval_type = this.getType(arg.type_name);\n node.eval_type_name = this.getTypeName(arg.type_name);\n return true;\n }\n if ( arg.value_type == 6 ) {\n node.eval_type = 6;\n node.eval_array_type = this.getTypeName(arg.array_type);\n return true;\n }\n if ( arg.value_type == 7 ) {\n node.eval_type = 7;\n node.eval_key_type = this.getTypeName(arg.key_type);\n node.eval_array_type = this.getTypeName(arg.array_type);\n return true;\n }\n return false;\n };\n}\nexport class DictNode {\n is_property: boolean;\n is_property_value: boolean;\n vref: string;\n value_type: number;\n double_value: number;\n int_value: number;\n string_value: string;\n boolean_value: boolean;\n object_value: DictNode;\n children: Array<DictNode>;\n objects: {[key:string]:DictNode};\n dict_keys: Array<string>;\n constructor() {\n this.is_property = false;\n this.is_property_value = false;\n this.vref = \"\";\n this.value_type = 6;\n this.double_value = 0.0;\n this.int_value = 0;\n this.string_value = \"\";\n this.boolean_value = false;\n this.children = [];\n this.objects = {};\n this.dict_keys = [];\n }\n EncodeString (orig_str : string) : string {\n let encoded_str : string = \"\";\n /** unused: const str_length : number = orig_str.length **/ \n let ii : number = 0;\n const buff : string = orig_str;\n const cb_len : number = buff.length;\n while (ii < cb_len) {\n const cc : number = buff.charCodeAt(ii );\n switch (cc ) { \n case 8 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(98));\n break;\n case 9 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(116));\n break;\n case 10 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(110));\n break;\n case 12 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(102));\n break;\n case 13 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(114));\n break;\n case 34 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + \"\\\"\";\n break;\n case 92 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(92));\n break;\n case 47 : \n encoded_str = (encoded_str + (String.fromCharCode(92))) + (String.fromCharCode(47));\n break;\n default: \n encoded_str = encoded_str + (String.fromCharCode(cc));\n break;\n };\n ii = 1 + ii;\n };\n return encoded_str;\n };\n addString (key : string, value : string) : void {\n if ( this.value_type == 6 ) {\n const v : DictNode = new DictNode();\n v.string_value = value;\n v.value_type = 3;\n v.vref = key;\n v.is_property = true;\n this.dict_keys.push(key);\n this.objects[key] = v;\n }\n };\n addDouble (key : string, value : number) : void {\n if ( this.value_type == 6 ) {\n const v : DictNode = new DictNode();\n v.double_value = value;\n v.value_type = 1;\n v.vref = key;\n v.is_property = true;\n this.dict_keys.push(key);\n this.objects[key] = v;\n }\n };\n addInt (key : string, value : number) : void {\n if ( this.value_type == 6 ) {\n const v : DictNode = new DictNode();\n v.int_value = value;\n v.value_type = 2;\n v.vref = key;\n v.is_property = true;\n this.dict_keys.push(key);\n this.objects[key] = v;\n }\n };\n addBoolean (key : string, value : boolean) : void {\n if ( this.value_type == 6 ) {\n const v : DictNode = new DictNode();\n v.boolean_value = value;\n v.value_type = 4;\n v.vref = key;\n v.is_property = true;\n this.dict_keys.push(key);\n this.objects[key] = v;\n }\n };\n addObject (key : string) : DictNode {\n let v : DictNode ;\n if ( this.value_type == 6 ) {\n const p : DictNode = new DictNode();\n v = new DictNode();\n p.value_type = 6;\n p.vref = key;\n p.is_property = true;\n v.value_type = 6;\n v.vref = key;\n v.is_property_value = true;\n p.object_value = v;\n this.dict_keys.push(key);\n this.objects[key] = p;\n return v;\n }\n return v;\n };\n setObject (key : string, value : DictNode) : void {\n if ( this.value_type == 6 ) {\n const p : DictNode = new DictNode();\n p.value_type = 6;\n p.vref = key;\n p.is_property = true;\n value.is_property_value = true;\n value.vref = key;\n p.object_value = value;\n this.dict_keys.push(key);\n this.objects[key] = p;\n }\n };\n addArray (key : string) : DictNode {\n let v : DictNode ;\n if ( this.value_type == 6 ) {\n v = new DictNode();\n v.value_type = 5;\n v.vref = key;\n v.is_property = true;\n this.dict_keys.push(key);\n this.objects[key] = v;\n return v;\n }\n return v;\n };\n push (obj : DictNode) : void {\n if ( this.value_type == 5 ) {\n this.children.push(obj);\n }\n };\n getDoubleAt (index : number) : number {\n if ( index < (this.children.length) ) {\n const k : DictNode = this.children[index];\n return k.double_value;\n }\n return 0.0;\n };\n getStringAt (index : number) : string {\n if ( index < (this.children.length) ) {\n const k : DictNode = this.children[index];\n return k.string_value;\n }\n return \"\";\n };\n getIntAt (index : number) : number {\n if ( index < (this.children.length) ) {\n const k : DictNode = this.children[index];\n return k.int_value;\n }\n return 0;\n };\n getBooleanAt (index : number) : boolean {\n if ( index < (this.children.length) ) {\n const k : DictNode = this.children[index];\n return k.boolean_value;\n }\n return false;\n };\n getString (key : string) : string {\n let res : string ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const k : DictNode = this.objects[key];\n res = k.string_value;\n }\n return res;\n };\n getDouble (key : string) : number {\n let res : number ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const k : DictNode = this.objects[key];\n res = k.double_value;\n }\n return res;\n };\n getInt (key : string) : number {\n let res : number ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const k : DictNode = this.objects[key];\n res = k.int_value;\n }\n return res;\n };\n getBoolean (key : string) : boolean {\n let res : boolean ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const k : DictNode = this.objects[key];\n res = k.boolean_value;\n }\n return res;\n };\n getArray (key : string) : DictNode {\n let res : DictNode ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const obj : DictNode = this.objects[key];\n if ( obj.is_property ) {\n res = obj.object_value;\n }\n }\n return res;\n };\n getArrayAt (index : number) : DictNode {\n let res : DictNode ;\n if ( index < (this.children.length) ) {\n res = this.children[index];\n }\n return res;\n };\n getObject (key : string) : DictNode {\n let res : DictNode ;\n if ( ( typeof(this.objects[key] ) != \"undefined\" && this.objects.hasOwnProperty(key) ) ) {\n const obj : DictNode = this.objects[key];\n if ( obj.is_property ) {\n res = obj.object_value;\n }\n }\n return res;\n };\n getObjectAt (index : number) : DictNode {\n let res : DictNode ;\n if ( index < (this.children.length) ) {\n res = this.children[index];\n }\n return res;\n };\n stringify () : string {\n if ( this.is_property ) {\n if ( this.value_type == 7 ) {\n return ((\"\\\"\" + this.vref) + \"\\\"\") + \":null\";\n }\n if ( this.value_type == 4 ) {\n if ( this.boolean_value ) {\n return (((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + \"true\";\n } else {\n return (((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + \"false\";\n }\n }\n if ( this.value_type == 1 ) {\n return (((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + this.double_value;\n }\n if ( this.value_type == 2 ) {\n return (((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + this.int_value;\n }\n if ( this.value_type == 3 ) {\n return (((((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + \"\\\"\") + this.EncodeString(this.string_value)) + \"\\\"\";\n }\n } else {\n if ( this.value_type == 7 ) {\n return \"null\";\n }\n if ( this.value_type == 1 ) {\n return \"\" + this.double_value;\n }\n if ( this.value_type == 2 ) {\n return \"\" + this.int_value;\n }\n if ( this.value_type == 3 ) {\n return (\"\\\"\" + this.EncodeString(this.string_value)) + \"\\\"\";\n }\n if ( this.value_type == 4 ) {\n if ( this.boolean_value ) {\n return \"true\";\n } else {\n return \"false\";\n }\n }\n }\n if ( this.value_type == 5 ) {\n let str : string = \"\";\n if ( this.is_property ) {\n str = ((\"\\\"\" + this.vref) + \"\\\"\") + \":[\";\n } else {\n str = \"[\";\n }\n for ( let i = 0; i < this.children.length; i++) {\n var item = this.children[i];\n if ( i > 0 ) {\n str = str + \",\";\n }\n str = str + item.stringify();\n };\n str = str + \"]\";\n return str;\n }\n if ( this.value_type == 6 ) {\n let str_1 : string = \"\";\n if ( this.is_property ) {\n return (((\"\\\"\" + this.vref) + \"\\\"\") + \":\") + this.object_value.stringify();\n } else {\n str_1 = \"{\";\n for ( let i_1 = 0; i_1 < this.dict_keys.length; i_1++) {\n var key = this.dict_keys[i_1];\n if ( i_1 > 0 ) {\n str_1 = str_1 + \",\";\n }\n const item_1 : DictNode = this.objects[key];\n str_1 = str_1 + item_1.stringify();\n };\n str_1 = str_1 + \"}\";\n return str_1;\n }\n }\n return \"\";\n };\n // typescript static \n static createEmptyObject () : DictNode {\n const v : DictNode = new DictNode();\n v.value_type = 6;\n return v;\n };\n}\nexport class RangerSerializeClass {\n constructor() {\n }\n isSerializedClass (cName : string, ctx : RangerAppWriterContext) : boolean {\n if ( ctx.hasClass(cName) ) {\n const clDecl : RangerAppClassDesc = ctx.findClass(cName);\n if ( clDecl.is_serialized ) {\n return true;\n }\n }\n return false;\n };\n createWRWriter (pvar : RangerAppParamDesc, nn : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n wr.out(\"def key@(lives):DictNode (new DictNode())\", true);\n wr.out((\"key.addString(\\\"n\\\" \\\"\" + pvar.name) + \"\\\")\", true);\n if ( nn.value_type == 6 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out((\"def values:DictNode (obj_keys.addArray(\\\"\" + pvar.compiledName) + \"\\\"))\", true);\n wr.out((((\"for this.\" + pvar.compiledName) + \" item:\") + nn.array_type) + \" i {\", true);\n wr.indent(1);\n wr.out(\"def obj@(lives):DictNode (item.serializeToDict())\", true);\n wr.out(\"values.push( obj )\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n return;\n }\n if ( nn.value_type == 7 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out((\"def values:DictNode (obj_keys.addObject(\\\"\" + pvar.compiledName) + \"\\\"))\", true);\n wr.out((\"for this.\" + pvar.compiledName) + \" keyname {\", true);\n wr.indent(1);\n wr.out((\"def item:DictNode (unwrap (get this.\" + pvar.compiledName) + \" keyname))\", true);\n wr.out(\"def obj@(lives):DictNode (item.serializeToDict())\", true);\n wr.out(\"values.setObject( obj )\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n if ( nn.key_type == \"string\" ) {\n wr.out((\"def values:DictNode (obj_keys.addObject(\\\"\" + pvar.compiledName) + \"\\\"))\", true);\n wr.out((\"for this.\" + pvar.compiledName) + \" keyname {\", true);\n wr.indent(1);\n if ( nn.array_type == \"string\" ) {\n wr.out((\"values.addString(keyname (unwrap (get this.\" + pvar.compiledName) + \" keyname)))\", true);\n }\n if ( nn.array_type == \"int\" ) {\n wr.out((\"values.addInt(keyname (unwrap (get this.\" + pvar.compiledName) + \" keyname)))\", true);\n }\n if ( nn.array_type == \"boolean\" ) {\n wr.out((\"values.addBoolean(keyname (unwrap (get this.\" + pvar.compiledName) + \" keyname)))\", true);\n }\n if ( nn.array_type == \"double\" ) {\n wr.out((\"values.addDouble(keyname (unwrap (get this.\" + pvar.compiledName) + \" keyname)))\", true);\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n return;\n }\n return;\n }\n if ( nn.type_name == \"string\" ) {\n wr.out((((\"obj_keys.addString(\\\"\" + pvar.compiledName) + \"\\\" (this.\") + pvar.compiledName) + \"))\", true);\n return;\n }\n if ( nn.type_name == \"double\" ) {\n wr.out((((\"obj_keys.addDouble(\\\"\" + pvar.compiledName) + \"\\\" (this.\") + pvar.compiledName) + \"))\", true);\n return;\n }\n if ( nn.type_name == \"int\" ) {\n wr.out((((\"obj_keys.addInt(\\\"\" + pvar.compiledName) + \"\\\" (this.\") + pvar.compiledName) + \"))\", true);\n return;\n }\n if ( nn.type_name == \"boolean\" ) {\n wr.out((((\"obj_keys.addBoolean(\\\"\" + pvar.compiledName) + \"\\\" (this.\") + pvar.compiledName) + \"))\", true);\n return;\n }\n if ( nn.value_type == 13 ) {\n wr.out((((\"obj_keys.addInt(\\\"\" + pvar.compiledName) + \"\\\" (this.\") + pvar.compiledName) + \"))\", true);\n return;\n }\n if ( this.isSerializedClass(nn.type_name, ctx) ) {\n wr.out((\"def value@(lives):DictNode (this.\" + pvar.compiledName) + \".serializeToDict())\", true);\n wr.out((\"obj_keys.setObject(\\\"\" + pvar.compiledName) + \"\\\" value)\", true);\n }\n };\n createJSONSerializerFn (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n let declaredVariable : {[key:string]:boolean} = {};\n wr.out(\"Import \\\"ng_DictNode.clj\\\"\", true);\n wr.out((\"extension \" + cl.name) + \" {\", true);\n wr.indent(1);\n wr.out((\"fn unserializeFromDict@(strong):\" + cl.name) + \" (dict:DictNode) {\", true);\n wr.indent(1);\n wr.out((((\"def obj:\" + cl.name) + \" (new \") + cl.name) + \"())\", true);\n wr.out(\"return obj\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.newline();\n wr.out(\"fn serializeToDict:DictNode () {\", true);\n wr.indent(1);\n wr.out(\"def res:DictNode (new DictNode ())\", true);\n wr.out((\"res.addString(\\\"n\\\" \\\"\" + cl.name) + \"\\\")\", true);\n wr.out(\"def obj_keys:DictNode (res.addObject(\\\"data\\\"))\", true);\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < pC.variables.length; i_1++) {\n var pvar = pC.variables[i_1];\n declaredVariable[pvar.name] = true;\n const nn : CodeNode = pvar.nameNode;\n if ( nn.isPrimitive() ) {\n wr.out(\"; extended \", true);\n wr.out(\"def key@(lives):DictNode (new DictNode())\", true);\n wr.out((\"key.addString(\\\"n\\\" \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out((\"key.addString(\\\"t\\\" \\\"\" + pvar.value_type) + \"\\\")\", true);\n wr.out(\"obj_keys.push(key)\", true);\n }\n };\n };\n }\n for ( let i_2 = 0; i_2 < cl.variables.length; i_2++) {\n var pvar_1 = cl.variables[i_2];\n if ( ( typeof(declaredVariable[pvar_1.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_1.name) ) ) {\n continue;\n }\n const nn_1 : CodeNode = pvar_1.nameNode;\n if ( nn_1.hasFlag(\"optional\") ) {\n wr.out(\"; optional variable\", true);\n wr.out((\"if (!null? this.\" + pvar_1.name) + \") {\", true);\n wr.indent(1);\n this.createWRWriter(pvar_1, nn_1, ctx, wr);\n wr.indent(-1);\n wr.out(\"} {\", true);\n wr.indent(1);\n wr.indent(-1);\n wr.out(\"}\", true);\n continue;\n }\n wr.out(\"; not extended \", true);\n this.createWRWriter(pvar_1, nn_1, ctx, wr);\n };\n wr.out(\"return res\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n createWRWriter2 (pvar : RangerAppParamDesc, nn : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( nn.value_type == 6 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out(\"def values:JSONArrayObject (json_array)\", true);\n wr.out((((\"for this.\" + pvar.compiledName) + \" item:\") + nn.array_type) + \" i {\", true);\n wr.indent(1);\n wr.out(\"def obj@(lives):JSONDataObject (item.toDictionary())\", true);\n wr.out(\"push values obj\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out((\"set res \\\"\" + pvar.name) + \"\\\" values \", true);\n } else {\n wr.out(\"def values:JSONArrayObject (json_array)\", true);\n wr.out((((\"for this.\" + pvar.compiledName) + \" item:\") + nn.array_type) + \" i {\", true);\n wr.indent(1);\n wr.out(\"push values item\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out((\"set res \\\"\" + pvar.name) + \"\\\" values \", true);\n }\n return;\n }\n if ( nn.value_type == 7 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out(\"def values:JSONDataObject (json_object)\", true);\n wr.out((\"def keyList (keys this.\" + pvar.compiledName) + \")\", true);\n wr.out(\"for keyList keyname:string index {\", true);\n wr.indent(1);\n wr.out((\"def item (unwrap (get this.\" + pvar.compiledName) + \" keyname))\", true);\n if ( ctx.isDefinedClass(nn.array_type) ) {\n wr.out(\"def obj@(lives):JSONDataObject (item.toDictionary())\", true);\n wr.out(\"set values keyname obj \", true);\n } else {\n wr.out(\"set values keyname item \", true);\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out((\"set res \\\"\" + pvar.name) + \"\\\" values \", true);\n } else {\n if ( ctx.isDefinedClass(nn.array_type) == false ) {\n wr.out(\"def values:JSONDataObject (json_object)\", true);\n wr.out((\"def keyList (keys this.\" + pvar.compiledName) + \")\", true);\n wr.out(\"for keyList keyname:string index {\", true);\n wr.indent(1);\n wr.out((\"def item (unwrap (get this.\" + pvar.compiledName) + \" keyname))\", true);\n wr.out(\"set values keyname item \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out((\"set res \\\"\" + pvar.name) + \"\\\" values \", true);\n }\n }\n return;\n }\n if ( nn.hasFlag(\"optional\") ) {\n if ( ctx.isDefinedClass(nn.type_name) == false ) {\n wr.out((((\"set res \\\"\" + pvar.name) + \"\\\" (unwrap this.\") + pvar.compiledName) + \") \", true);\n } else {\n wr.out((((\"set res \\\"\" + pvar.name) + \"\\\" (call (unwrap this.\") + pvar.compiledName) + \") toDictionary ()) \", true);\n }\n } else {\n if ( ctx.isDefinedClass(nn.type_name) == false ) {\n wr.out((((\"set res \\\"\" + pvar.name) + \"\\\" (this.\") + pvar.compiledName) + \") \", true);\n } else {\n wr.out((((\"set res \\\"\" + pvar.name) + \"\\\" (this.\") + pvar.compiledName) + \".toDictionary()) \", true);\n }\n }\n };\n createWRReader2 (pvar : RangerAppParamDesc, nn : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( nn.value_type == 6 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out((\"def values:JSONArrayObject (getArray dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? values) {\", true);\n wr.indent(1);\n wr.out(\"def arr (unwrap values)\", true);\n wr.out(\"arr.forEach({\", true);\n wr.indent(1);\n wr.out(\"case item oo:JSONDataObject {\", true);\n wr.indent(1);\n wr.out((\"def newObj (\" + nn.array_type) + \".fromDictionary(oo))\", true);\n wr.out((\"push obj.\" + pvar.name) + \" newObj\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"})\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n wr.out((\"def values:JSONArrayObject (getArray dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? values) {\", true);\n wr.indent(1);\n wr.out(\"def arr (unwrap values)\", true);\n wr.out(\"arr.forEach({\", true);\n wr.indent(1);\n wr.out((\"case item oo:\" + nn.array_type) + \" {\", true);\n wr.indent(1);\n wr.out((\"push obj.\" + pvar.name) + \" oo\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"})\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n return;\n }\n if ( nn.value_type == 7 ) {\n if ( this.isSerializedClass(nn.array_type, ctx) ) {\n wr.out((\"def values (getObject dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? values) {\", true);\n wr.indent(1);\n wr.out((\"def theObj\" + pvar.name) + \" (unwrap values)\", true);\n wr.out((\"def obj_keys (keys theObj\" + pvar.name) + \")\", true);\n wr.out(\"obj_keys.forEach({\", true);\n wr.indent(1);\n if ( ctx.isDefinedClass(nn.array_type) ) {\n wr.out((\"def theValue (getObject theObj\" + pvar.name) + \" item ) \", true);\n wr.out(\"if(!null? theValue) {\", true);\n wr.indent(1);\n wr.out((\"def newObj@(lives) (\" + nn.array_type) + \".fromDictionary((unwrap theValue)))\", true);\n wr.out((\"set obj.\" + pvar.name) + \" item newObj \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n }\n wr.indent(-1);\n wr.out(\"})\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n wr.out((\"def values (getObject dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? values) {\", true);\n wr.indent(1);\n wr.out((\"def theObj\" + pvar.name) + \" (unwrap values)\", true);\n wr.out((\"def obj_keys (keys theObj\" + pvar.name) + \")\", true);\n wr.out(\"obj_keys.forEach({\", true);\n wr.indent(1);\n if ( ctx.isDefinedClass(nn.array_type) ) {\n } else {\n switch (nn.array_type ) { \n case \"string\" : \n wr.out((\"def v (getStr theObj\" + pvar.name) + \" item)\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"set obj.\" + pvar.name) + \" item (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"int\" : \n wr.out((\"def v (getInt theObj\" + pvar.name) + \" item)\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"set obj.\" + pvar.name) + \" item (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"double\" : \n wr.out((\"def v (getDouble theObj\" + pvar.name) + \" item)\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"set obj.\" + pvar.name) + \" item (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"boolean\" : \n wr.out((\"def v (getBoolean theObj\" + pvar.name) + \" item)\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"set obj.\" + pvar.name) + \" item (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n };\n }\n wr.indent(-1);\n wr.out(\"})\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n return;\n }\n switch (nn.type_name ) { \n case \"string\" : \n wr.out((\"def v (getStr dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"obj.\" + pvar.name) + \" = (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"int\" : \n wr.out((\"def v (getInt dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"obj.\" + pvar.name) + \" = (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"double\" : \n wr.out((\"def v (getDouble dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"obj.\" + pvar.name) + \" = (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n case \"boolean\" : \n wr.out((\"def v (getBoolean dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"obj.\" + pvar.name) + \" = (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n break;\n };\n if ( ctx.isDefinedClass(nn.type_name) ) {\n wr.out((\"def theValue (getObject dict \\\"\" + pvar.name) + \"\\\") \", true);\n wr.out(\"if(!null? theValue) {\", true);\n wr.indent(1);\n wr.out((\"def newObj@(lives) (\" + nn.type_name) + \".fromDictionary((unwrap theValue)))\", true);\n wr.out((\"obj.\" + pvar.name) + \" = newObj \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n }\n if ( nn.value_type == 13 ) {\n wr.out((\"def v (getInt dict \\\"\" + pvar.name) + \"\\\")\", true);\n wr.out(\"if(!null? v) {\", true);\n wr.indent(1);\n wr.out((\"obj.\" + pvar.name) + \" = (unwrap v) \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n createJSONSerializerFn2 (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n const use_exceptions : boolean = operatorsOf_21.getTargetLang_22(ctx) != \"swift3\";\n let declaredVariable : {[key:string]:boolean} = {};\n wr.out((\"extension \" + cl.name) + \" {\", true);\n wr.indent(1);\n wr.out((\"static fn fromDictionary@(strong):\" + cl.name) + \" (dict:JSONDataObject) {\", true);\n wr.indent(1);\n wr.out((((\"def obj:\" + cl.name) + \" (new \") + cl.name) + \"())\", true);\n if ( use_exceptions ) {\n wr.out(\"try {\", true);\n wr.indent(1);\n }\n for ( let i = 0; i < cl.variables.length; i++) {\n var pvar = cl.variables[i];\n if ( ( typeof(declaredVariable[pvar.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar.name) ) ) {\n continue;\n }\n const nn : CodeNode = pvar.nameNode;\n this.createWRReader2(pvar, nn, ctx, wr);\n };\n if ( use_exceptions ) {\n wr.indent(-1);\n wr.out(\"} {\", true);\n wr.out(\"}\", true);\n }\n wr.out(\"return obj\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.newline();\n wr.out(\"fn toDictionary:JSONDataObject () {\", true);\n wr.indent(1);\n wr.out(\"def res:JSONDataObject (json_object)\", true);\n if ( use_exceptions ) {\n wr.out(\"try {\", true);\n wr.indent(1);\n }\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_1 = 0; i_1 < cl.extends_classes.length; i_1++) {\n var pName = cl.extends_classes[i_1];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_2 = 0; i_2 < pC.variables.length; i_2++) {\n var pvar_1 = pC.variables[i_2];\n declaredVariable[pvar_1.name] = true;\n /** unused: const nn_1 : CodeNode = pvar_1.nameNode **/ \n };\n };\n }\n for ( let i_3 = 0; i_3 < cl.variables.length; i_3++) {\n var pvar_2 = cl.variables[i_3];\n if ( ( typeof(declaredVariable[pvar_2.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_2.name) ) ) {\n continue;\n }\n const nn_2 : CodeNode = pvar_2.nameNode;\n if ( nn_2.hasFlag(\"optional\") ) {\n wr.out(\"; optional variable\", true);\n wr.out((\"if (!null? this.\" + pvar_2.compiledName) + \") {\", true);\n wr.indent(1);\n this.createWRWriter2(pvar_2, nn_2, ctx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n continue;\n }\n wr.out(\"; not extended \", true);\n this.createWRWriter2(pvar_2, nn_2, ctx, wr);\n };\n if ( use_exceptions ) {\n wr.indent(-1);\n wr.out(\"} {\", true);\n wr.indent(1);\n wr.out(\"\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n wr.out(\"return res\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class RangerImmutableExtension {\n constructor() {\n }\n typeDefOf (p : RangerAppParamDesc) : string {\n const nn : CodeNode = p.nameNode;\n if ( p.value_type == 6 ) {\n return (\"[\" + nn.array_type) + \"]\";\n }\n if ( p.value_type == 7 ) {\n return (((\"[\" + nn.key_type) + \":\") + nn.array_type) + \"]\";\n }\n if ( nn.value_type == 6 ) {\n return (\"[\" + nn.array_type) + \"]\";\n }\n if ( nn.value_type == 7 ) {\n return (((\"[\" + nn.key_type) + \":\") + nn.array_type) + \"]\";\n }\n return nn.type_name;\n };\n createImmutableExtension (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n let declaredVariable : {[key:string]:boolean} = {};\n wr.out((\"extension \" + cl.name) + \" {\", true);\n wr.indent(1);\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < pC.variables.length; i_1++) {\n var pvar = pC.variables[i_1];\n declaredVariable[pvar.name] = true;\n /** unused: const nn : CodeNode = pvar.nameNode **/ \n };\n };\n }\n wr.out((\"fn __CopySelf:\" + cl.name) + \" () {\", true);\n wr.indent(1);\n wr.out((\"def res (new \" + cl.name) + \")\", true);\n for ( let ii = 0; ii < cl.variables.length; ii++) {\n var ivar = cl.variables[ii];\n wr.out(((\"res.\" + ivar.compiledName) + \" = this.\") + ivar.compiledName, true);\n };\n wr.out(\"return res\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_2 = 0; i_2 < cl.variables.length; i_2++) {\n var pvar_1 = cl.variables[i_2];\n if ( ( typeof(declaredVariable[pvar_1.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_1.name) ) ) {\n continue;\n }\n /** unused: const nn_1 : CodeNode = pvar_1.nameNode **/ \n if ( true ) {\n wr.out((((((((\"fn set_\" + pvar_1.name) + \":\") + cl.name) + \" (new_value_of_\") + pvar_1.name) + \":\") + this.typeDefOf(pvar_1)) + \") {\", true);\n wr.indent(1);\n wr.out(\"def res (this.__CopySelf())\", true);\n for ( let ii_1 = 0; ii_1 < cl.variables.length; ii_1++) {\n var ivar_1 = cl.variables[ii_1];\n if ( ivar_1 == pvar_1 ) {\n wr.out(((\"res.\" + pvar_1.compiledName) + \" = new_value_of_\") + pvar_1.name, true);\n }\n };\n wr.out(\"return res\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n }\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class RangerServiceBuilder {\n constructor() {\n }\n createOpStaticClass (ctx : RangerAppWriterContext, name : string) : RangerAppClassDesc {\n const nameWillBe : string = name;\n let str : string = \"\";\n let i : number = 0;\n const __len : number = nameWillBe.length;\n while (i < __len) {\n const c : number = nameWillBe.charCodeAt(i );\n if ( c == (\".\".charCodeAt(0)) ) {\n str = str + \"_\";\n } else {\n str = str + (nameWillBe.substring(i, (i + 1) ));\n }\n i = i + 1;\n };\n if ( ctx.isDefinedClass(str) ) {\n return ctx.findClass(str);\n }\n const tpl_code : string = (\"class \" + str) + \" {\\r\\n}\";\n const code : SourceCode = new SourceCode(tpl_code);\n code.filename = str + \".ranger\";\n const parser : RangerLispParser = new RangerLispParser(code);\n parser.parse(false);\n const classRoot : CodeNode = parser.rootNode.children[0];\n const classNameNode : CodeNode = classRoot.getSecond();\n classNameNode.vref = str;\n const new_class : RangerAppClassDesc = new RangerAppClassDesc();\n new_class.name = str;\n new_class.is_operator_class = true;\n new_class.nameNode = classNameNode;\n new_class.classNode = classRoot;\n const subCtx : RangerAppWriterContext = ctx.fork();\n subCtx.setCurrentClass(new_class);\n new_class.ctx = subCtx;\n const root : RangerAppWriterContext = ctx.getRoot();\n root.addClass(str, new_class);\n classNameNode.clDesc = new_class;\n root.staticClassBodies.push(classRoot);\n return new_class;\n };\n async CreateServices (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n if ( ctx.hasCompilerFlag(\"client\") || ctx.hasCompilerSetting(\"client\") ) {\n console.log(\"--> could create Client services for Java here...\");\n const root : RangerAppWriterContext = ctx.getRoot();\n const cl : RangerAppClassDesc = this.createOpStaticClass(ctx, \"RangerAppService\");\n console.log(\"created \" + cl.name);\n await operatorsOf_13.forEach_25(root.appServices, ((item : CodeNode, index : string):void => { \n console.log(\" - service \" + index);\n }));\n }\n };\n}\nexport class RangerAppOperatorDesc extends RangerAppParamDesc {\n name: string;\n ref_cnt: number;\n node: CodeNode;\n nameNode: CodeNode;\n fnBody: CodeNode;\n op_params: Array<CodeNode>;\n firstArg: CodeNode;\n constructor() {\n super()\n this.name = \"\";\n this.ref_cnt = 0; /** note: unused */\n this.op_params = [];\n }\n isOperator () : boolean {\n return true;\n };\n isProperty () : boolean {\n return false;\n };\n}\nexport class TFiles {\n constructor() {\n }\n // typescript static \n static searchEnv (env : InputEnv, paths : Array<string>, fileName : string) : string {\n for ( let i = 0; i < paths.length; i++) {\n var path = paths[i];\n if ( operatorsOf_8.filec95exists_9(env, path, fileName) ) {\n return path;\n }\n };\n return \"\";\n };\n // typescript static \n static search (paths : Array<string>, fileName : string) : string {\n for ( let i = 0; i < paths.length; i++) {\n var path = paths[i];\n if ( require(\"fs\").existsSync(path + \"/\" + fileName ) ) {\n return path;\n }\n };\n return \"\";\n };\n}\nexport class TTypes {\n constructor() {\n }\n // typescript static \n static nameToValue (name : string) : number {\n switch (name ) { \n case \"double\" : \n return 2;\n case \"int\" : \n return 3;\n case \"string\" : \n return 4;\n case \"boolean\" : \n return 5;\n case \"char\" : \n return 14;\n case \"charbuffer\" : \n return 15;\n };\n return 0;\n };\n // typescript static \n static isPrimitive (valueType : number) : boolean {\n switch (valueType ) { \n case 2 : \n return true;\n case 4 : \n return true;\n case 3 : \n return true;\n case 5 : \n return true;\n case 14 : \n return true;\n case 15 : \n return true;\n case 13 : \n return true;\n };\n return false;\n };\n // typescript static \n static valueAsString (valueType : number) : string {\n switch (valueType ) { \n case 2 : \n return \"double\";\n case 4 : \n return \"string\";\n case 3 : \n return \"int\";\n case 5 : \n return \"boolean\";\n case 14 : \n return \"char\";\n case 15 : \n return \"charbuffer\";\n case 0 : \n return \"<no type>\";\n case 1 : \n return \"<invalid type>\";\n case 6 : \n return \"[]\";\n case 7 : \n return \"[:]\";\n case 8 : \n return \"ImmutableArray\";\n case 9 : \n return \"ImmutableHash\";\n case 10 : \n return \"Object\";\n case 11 : \n return \"VRef\";\n case 13 : \n return \"Enum\";\n case 12 : \n return \"Comment\";\n case 16 : \n return \"Expression\";\n case 17 : \n return \"ExpressionType\";\n case 18 : \n return \"Lambda\";\n case 19 : \n return \"XMLNode\";\n case 20 : \n return \"XMLText\";\n case 21 : \n return \"XMLAttr\";\n case 22 : \n return \"XMLAttr\";\n case 23 : \n return \"Dictionary\";\n case 24 : \n return \"Any\";\n case 25 : \n return \"Class\";\n case 26 : \n return \"GenericClass\";\n case 27 : \n return \"ClassRef\";\n case 28 : \n return \"Method\";\n case 29 : \n return \"ClassVar\";\n case 30 : \n return \"ClassVar\";\n case 31 : \n return \"Literal\";\n case 32 : \n return \"Quasiliteral\";\n case 33 : \n return \"Null\";\n case 34 : \n return \"ArrayLiteral\";\n default: \n return \"InvalidValueTypeEnum\";\n break;\n };\n return \"\";\n };\n // typescript static \n static baseTypeAsEval (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n const vType : number = node.value_type;\n node.eval_type = vType;\n if ( TTypes.isPrimitive(node.value_type) ) {\n node.eval_type_name = TTypes.valueAsString(node.value_type);\n } else {\n const vType_2 : string = node.type_name;\n node.eval_type_name = vType_2;\n }\n const vType1 : string = node.array_type;\n const vType2 : string = node.key_type;\n node.eval_array_type = vType1;\n node.eval_key_type = vType2;\n };\n}\nexport class ClassJoinPoint {\n class_def: RangerAppClassDesc;\n node: CodeNode;\n constructor() {\n }\n}\nexport class WalkLater {\n arg: CodeNode;\n callArg: CodeNode;\n constructor() {\n }\n}\nexport class RangerFlowParser {\n hasRootPath: boolean;\n rootPath: string;\n _debug: boolean;\n stdCommands: CodeNode;\n lastProcessedNode: CodeNode;\n collectWalkAtEnd: Array<CodeNode>;\n walkAlso: Array<CodeNode>;\n serializedClasses: Array<RangerAppClassDesc>;\n immutableClasses: Array<RangerAppClassDesc>;\n classesWithTraits: Array<ClassJoinPoint>;\n collectedIntefaces: Array<RangerAppClassDesc>;\n definedInterfaces: {[key:string]:boolean};\n signatureCnt: number;\n argSignatureCnt: number;\n mainCnt: number;\n isDefinedSignature: {[key:string]:number};\n isDefinedArgSignature: {[key:string]:number};\n extendedClasses: {[key:string]:string};\n allNewRNodes: Array<CodeNode>;\n infinite_recursion: boolean;\n match_types: {[key:string]:string};\n constructor() {\n this.hasRootPath = false; /** note: unused */\n this.rootPath = \"\"; /** note: unused */\n this._debug = false; /** note: unused */\n this.collectWalkAtEnd = []; /** note: unused */\n this.walkAlso = [];\n this.serializedClasses = [];\n this.immutableClasses = [];\n this.classesWithTraits = [];\n this.collectedIntefaces = [];\n this.definedInterfaces = {}; /** note: unused */\n this.signatureCnt = 0;\n this.argSignatureCnt = 0; /** note: unused */\n this.mainCnt = 0;\n this.isDefinedSignature = {};\n this.isDefinedArgSignature = {};\n this.extendedClasses = {};\n this.allNewRNodes = []; /** note: unused */\n this.infinite_recursion = false;\n this.match_types = {};\n }\n async WalkNodeChildren (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasStringProperty(\"todo\") ) {\n ctx.addTodo(node, node.getStringProperty(\"todo\"));\n }\n if ( node.expression ) {\n let is_chaining : boolean = false;\n let last_is_assign : boolean = false;\n let chainRoot : CodeNode ;\n let innerNode : CodeNode ;\n let assignNode : CodeNode ;\n let newNode : CodeNode ;\n const ch_len : number = node.children.length;\n for ( let i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n let did_find : boolean = false;\n if ( (item.children.length) > 0 ) {\n const fc : CodeNode = item.getFirst();\n const name : string = fc.vref;\n if ( ((name.length) > 0) && ((name.charCodeAt(0 )) == (\".\".charCodeAt(0))) ) {\n did_find = true;\n if ( i > 0 ) {\n const last_line : CodeNode = node.children[(i - 1)];\n if ( is_chaining == false ) {\n last_line.createChainTarget();\n is_chaining = true;\n if ( (typeof(last_line.chainTarget) !== \"undefined\" && last_line.chainTarget != null ) ) {\n chainRoot = last_line.chainTarget;\n innerNode = last_line.chainTarget;\n assignNode = last_line;\n last_is_assign = true;\n } else {\n chainRoot = last_line;\n innerNode = last_line;\n }\n }\n const method_name : string = name.substring(1, (name.length) );\n const mArgs : CodeNode = item.getSecond();\n if ( last_is_assign ) {\n assignNode.children.push(fc.copy());\n assignNode.children.push(mArgs.copy());\n } else {\n newNode = node.newExpressionNode();\n newNode.add(node.newVRefNode(\"call\"));\n newNode.add(innerNode.copy());\n newNode.add(node.newVRefNode(method_name));\n newNode.add(mArgs.copy());\n innerNode = newNode;\n }\n item.is_part_of_chain = true;\n }\n }\n }\n if ( (did_find == false) || (i == (ch_len - 1)) ) {\n if ( is_chaining && (last_is_assign == false) ) {\n chainRoot.getChildrenFrom(innerNode);\n chainRoot.tag = \"chainroot\";\n }\n is_chaining = false;\n last_is_assign = false;\n }\n };\n for ( let i_1 = 0; i_1 < node.children.length; i_1++) {\n var item_1 = node.children[i_1];\n if ( ctx.expressionLevel() == 0 ) {\n ctx.lastBlockOp = item_1;\n }\n item_1.parent = node;\n await this.WalkNode(item_1, ctx, wr);\n node.copyEvalResFrom(item_1);\n };\n }\n };\n async WalkNode (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n /** unused: const line_index : number = node.getLine() **/ \n if ( node.flow_done ) {\n return true;\n }\n if ( ctx.isPluginOp(node) ) {\n return true;\n }\n node.flow_ctx = ctx;\n node.flow_done = true;\n this.lastProcessedNode = node;\n if ( node.hasStringProperty(\"todo\") ) {\n ctx.addTodo(node, node.getStringProperty(\"todo\"));\n }\n if ( node.is_part_of_chain ) {\n return true;\n }\n if ( node.isPrimitive() ) {\n if ( ctx.expressionLevel() == 0 ) {\n if ( false == ctx.hasCompilerFlag(\"voidexpr\") ) {\n ctx.addError(node, \"Primitive element at top level!\");\n }\n }\n this.WriteScalarValue(node, ctx, wr);\n return true;\n }\n if ( ((node.value_type == 11) || (node.value_type == 7)) || (node.value_type == 6) ) {\n await this.WriteVRef(node, ctx, wr);\n return true;\n }\n if ( node.value_type == 12 ) {\n return true;\n }\n if ( (node.register_name.length) > 0 ) {\n if ( ctx.isVarDefined(node.register_name) ) {\n const regInfo : RangerAppParamDesc = ctx.getVariableDef(node.register_name);\n if ( (typeof(regInfo.nameNode) !== \"undefined\" && regInfo.nameNode != null ) ) {\n node.copyEvalResFrom(regInfo.nameNode);\n return true;\n } else {\n }\n } else {\n }\n return true;\n }\n if ( node.value_type == 19 ) {\n const fc : CodeNode = node;\n if ( fc.value_type == 19 ) {\n const opBody : CodeNode = CodeNode.blockNode();\n const opTpl : CodeNode = CodeNode.fromList([CodeNode.vref1(\"defn\"), CodeNode.vref1(\"tmp_create\"), CodeNode.expressionNode()]);\n let currCnt : number = 1;\n let walk_xml : (xmlNode:CodeNode, regName:string) => void = ((xmlNode : CodeNode, regName : string):void => { \n });\n walk_xml = (async (xmlNode : CodeNode, regName : string): Promise<void> => { \n const rootClassDef : RangerAppClassDesc = ctx.findClass(xmlNode.vref);\n if ( rootClassDef.is_system ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName), CodeNode.fromList([CodeNode.vref1(\"create\"), CodeNode.vref1(xmlNode.vref)])]));\n await operatorsOf.forEach_15(xmlNode.attrs, ((item : CodeNode, index : number):void => { \n if ( (item.children.length) > 0 ) {\n const fc_1 : CodeNode = item.children[0];\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"attr\"), CodeNode.vref1(regName), CodeNode.vref1(item.vref), fc_1.copy()]));\n return;\n }\n if ( (item.string_value.length) > 0 ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"attr\"), CodeNode.vref1(regName), CodeNode.vref1(item.vref), CodeNode.newStr(item.string_value)]));\n }\n }));\n await operatorsOf.forEach_15(xmlNode.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.value_type != 19 ) {\n if ( item.expression ) {\n const itemCopy : CodeNode = item.copy();\n const theNode : CodeNode = item;\n ctx.setTestCompile();\n await this.WalkNode(itemCopy, ctx, wr);\n ctx.unsetTestCompile();\n if ( ctx.hasClass(itemCopy.eval_array_type) ) {\n /** unused: const paramClassDef : RangerAppClassDesc = ctx.findClass(itemCopy.eval_array_type) **/ \n /** unused: const chNode : CodeNode = item **/ \n const t : CodeNode = CodeNode.vref1(\"tmp\");\n t.setFlag(\"temp\");\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"forEach\"), theNode.copy(), CodeNode.blockFromList([CodeNode.fromList([CodeNode.vref1(\"def\"), t, CodeNode.vref1(\"item\")]), CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(regName), CodeNode.vref1(\"tmp\")])])]));\n } else {\n if ( ctx.hasClass(itemCopy.eval_type_name) ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(regName), theNode.copy()]));\n }\n }\n } else {\n }\n }\n if ( item.value_type == 19 ) {\n if ( ctx.hasClass(item.vref) ) {\n /** unused: const paramClassDef_1 : RangerAppClassDesc = ctx.findClass(item.vref) **/ \n const chNode_1 : CodeNode = item;\n currCnt = currCnt + 1;\n const regN : string = \"r\" + currCnt;\n await walk_xml(chNode_1, regN);\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(regName), CodeNode.vref1(regN)]));\n }\n }\n }));\n } else {\n const match : RangerArgMatch = new RangerArgMatch();\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName), CodeNode.fromList([CodeNode.vref1(\"new\"), CodeNode.vref1(xmlNode.vref)])]));\n await operatorsOf.forEach_15(xmlNode.attrs, ((item : CodeNode, index : number):void => { \n if ( (item.children.length) > 0 ) {\n const fc_2 : CodeNode = item.children[0];\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(((regName + \".\") + item.vref)), fc_2.copy()]));\n return;\n }\n if ( (item.string_value.length) > 0 ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(((regName + \".\") + item.vref)), CodeNode.newStr(item.string_value)]));\n }\n if ( item.parsed_type == 3 ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(((regName + \".\") + item.vref)), CodeNode.newInt(item.int_value)]));\n }\n }));\n await operatorsOf.forEach_15(xmlNode.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.value_type != 19 ) {\n if ( item.expression ) {\n const itemCopy_1 : CodeNode = item.copy();\n const theNode_1 : CodeNode = item;\n ctx.setTestCompile();\n await this.WalkNode(itemCopy_1, ctx, wr);\n ctx.unsetTestCompile();\n if ( ctx.hasClass(itemCopy_1.eval_array_type) ) {\n /** unused: const paramClassDef_2 : RangerAppClassDesc = ctx.findClass(itemCopy_1.eval_array_type) **/ \n /** unused: const chNode_2 : CodeNode = item **/ \n operatorsOf.forEach_11(rootClassDef.variables, ((item : RangerAppParamDesc, index : number):void => { \n if ( match.areEqualATypes(item.nameNode.array_type, itemCopy_1.eval_array_type, ctx) ) {\n const t_1 : CodeNode = CodeNode.vref1(\"tmp\");\n t_1.setFlag(\"temp\");\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"forEach\"), theNode_1.copy(), CodeNode.blockFromList([CodeNode.fromList([CodeNode.vref1(\"def\"), t_1, CodeNode.vref1(\"item\")]), CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(((regName + \".\") + item.name)), CodeNode.vref1(\"tmp\")])])]));\n }\n }));\n } else {\n console.log(\"could not find class\" + itemCopy_1.eval_array_type);\n }\n }\n }\n if ( item.value_type == 19 ) {\n if ( ctx.hasClass(item.vref) ) {\n const paramClassDef_3 : RangerAppClassDesc = ctx.findClass(item.vref);\n const chNode_3 : CodeNode = item;\n operatorsOf.forEach_11(rootClassDef.variables, ((item : RangerAppParamDesc, index : number):void => { \n if ( match.areEqualATypes(item.nameNode.array_type, chNode_3.vref, ctx) ) {\n currCnt = currCnt + 1;\n const regN_1 : string = \"r\" + currCnt;\n walk_xml(chNode_3, regN_1);\n if ( paramClassDef_3.is_immutable ) {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(((regName + \".\") + item.name)), CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(((regName + \".\") + item.name)), CodeNode.vref1(regN_1)])]));\n } else {\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"push\"), CodeNode.vref1(((regName + \".\") + item.name)), CodeNode.vref1(regN_1)]));\n }\n }\n }));\n }\n }\n }));\n }\n });\n await walk_xml(fc, \"r1\");\n opBody.children.push(CodeNode.fromList([CodeNode.vref1(\"ret\"), CodeNode.vref1(\"r1\")]));\n opTpl.children.push(opBody);\n node.value_type = 0;\n node.getChildrenFrom(CodeNode.fromList([CodeNode.vref1(\"tmp_create\")]));\n node.value_type = 0;\n node.expression = true;\n await this.TransformOpFn([opTpl], node, ctx, wr);\n return true;\n }\n }\n if ( (node.children.length) > 0 ) {\n const fc_3 : CodeNode = node.getFirst();\n if ( (fc_3.ns.length) > 1 ) {\n if ( (fc_3.ns[0]) == \"plugin\" ) {\n if ( node.is_plugin ) {\n return true;\n }\n node.is_plugin = true;\n const pName : string = fc_3.ns[1];\n ctx.addPluginNode(pName, node);\n return true;\n }\n }\n }\n if ( (node.children.length) == 1 ) {\n const fc_4 : CodeNode = node.children[0];\n if ( ctx.isVarDefined(fc_4.vref) ) {\n fc_4.parent = node;\n if ( (typeof(fc_4.evalCtx) !== \"undefined\" && fc_4.evalCtx != null ) ) {\n await this.WalkNode(fc_4, fc_4.evalCtx, wr);\n } else {\n await this.WalkNode(fc_4, ctx, wr);\n }\n node.copyEvalResFrom(fc_4);\n return true;\n }\n }\n const skip_if : Array<string> = [\"Extends\", \"operator\", \"extends\", \"operators\", \"systemclass\", \"systemunion\", \"union\", \"flag\", \"trait\", \"enum\", \"Import\"];\n if ( (node.children.length) > 0 ) {\n const fc_5 : CodeNode = node.children[0];\n if ( (skip_if.indexOf(fc_5.vref)) >= 0 ) {\n return true;\n }\n if ( fc_5.vref == \"#\" ) {\n const fnCtx : RangerAppWriterContext = ctx.findFunctionCtx();\n await this.DefineArrowOpFn(node, fnCtx, wr);\n node.value_type = 11;\n node.expression = false;\n node.is_block_node = false;\n node.ns.length = 0;\n node.ns.push(node.vref);\n node.children.length = 0;\n node.paramDesc = undefined;\n node.hasParamDesc = false;\n return true;\n } else {\n if ( fc_5.expression && ((fc_5.children.length) > 0) ) {\n const exprFc : CodeNode = fc_5.children[0];\n if ( exprFc.vref == \"#\" ) {\n await this.DefineArrowOpFn(fc_5, ctx, wr);\n }\n }\n }\n let b_found : boolean = true;\n const opFn : Array<CodeNode> = await ctx.getOpFns(fc_5.vref);\n if ( (opFn.length) > 0 ) {\n await this.TransformOpFn(opFn, node, ctx, wr);\n return true;\n }\n switch (fc_5.vref ) { \n case \"page\" : \n const sc : CodeNode = node.getSecond();\n ctx.addPage(sc.vref, node);\n break;\n case \"def\" : \n await operatorsOfRangerFlowParser_26.EnterVarDef_27(this, node, ctx, wr);\n break;\n case \"var\" : \n await operatorsOf_26.EnterVarDef_27(this, node, ctx, wr);\n break;\n case \"let\" : \n await operatorsOf_26.EnterVarDef_27(this, node, ctx, wr);\n break;\n case \"property\" : \n await this.GetProperty(node, ctx, wr);\n break;\n case \"CreateClass\" : \n await this.EnterClass(node, ctx, wr);\n break;\n case \"class\" : \n await this.EnterClass(node, ctx, wr);\n break;\n case \"defn\" : \n this.DefineOpFn(node, ctx, wr);\n break;\n case \"fn\" : \n if ( ctx.isInMethod() ) {\n await this.EnterLambdaMethod(node, ctx, wr);\n } else {\n await this.EnterMethod(node, ctx, wr);\n }\n break;\n case \"sfn\" : \n await this.EnterStaticMethod(node, ctx, wr);\n break;\n case \"static\" : \n await this.EnterStaticMethod(node, ctx, wr);\n break;\n case \"=\" : \n await this.cmdAssign(node, ctx, wr);\n break;\n case \"constructor\" : \n await this.Constructor(node, ctx, wr);\n break;\n case \"Constructor\" : \n await this.Constructor(node, ctx, wr);\n break;\n case \"new\" : \n await this.cmdNew(node, ctx, wr);\n break;\n case \"[]\" : \n await this.cmdArray(node, ctx, wr);\n break;\n case \"call\" : \n await this.cmdCall(node, ctx, wr);\n break;\n case \"fun\" : \n await this.EnterLambdaMethod(node, ctx, wr);\n break;\n case \"extension\" : \n await this.EnterClass(node, ctx, wr);\n break;\n case \"service\" : \n try {\n const sc_1 : CodeNode = node.getSecond();\n const params : CodeNode = node.getThird();\n ctx.addService(sc_1.vref, node);\n const paramClass : CodeNode = params.getFirst();\n const rvClassDef : RangerAppClassDesc = ctx.findClass(sc_1.type_name);\n const paramClassDef_4 : RangerAppClassDesc = ctx.findClass(paramClass.type_name);\n node.appGUID = (sc_1.vref + \"_\") + (require('crypto').createHash('sha256').update((rvClassDef.node.getCode() + paramClassDef_4.node.getCode())).digest('hex'));\n } catch(e) {\n ctx.addError(node, \"invalid service definition\");\n }\n break;\n default: \n b_found = false;\n break;\n };\n if ( b_found ) {\n return true;\n }\n }\n if ( await this.matchNode(node, ctx, wr) ) {\n return true;\n }\n if ( (node.children.length) > 0 ) {\n const fc_6 : CodeNode = node.children[0];\n if ( fc_6.expression && ((node.children.length) == 2) ) {\n const sec : CodeNode = node.getSecond();\n if ( ((sec.vref.length) > 0) && ((sec.vref[0]) == \".\") ) {\n await this.WalkNode(fc_6, ctx, wr);\n if ( ((fc_6.eval_type_name.length) > 0) && ctx.isDefinedClass(fc_6.eval_type_name) ) {\n const parts : Array<string> = (sec.vref.substring(1, (sec.vref.length) )).split(\".\");\n let method_name : string = parts[0];\n let classDesc : RangerAppClassDesc = ctx.findClass(fc_6.eval_type_name);\n /** unused: const objExpr : CodeNode = fc_6.copy() **/ \n let calledItem : CodeNode = CodeNode.fromList([CodeNode.vref1(\"property\"), fc_6.copy(), CodeNode.vref1(method_name)]);\n await operatorsOf.forEach_12(parts, ((item : string, index : number):void => { \n if ( index > 0 ) {\n try {\n const p : RangerAppParamDesc = classDesc.findVariable(method_name);\n classDesc = ctx.findClass(p.nameNode.type_name);\n calledItem = CodeNode.fromList([CodeNode.vref1(\"property\"), calledItem.copy(), CodeNode.vref1(item)]);\n method_name = item;\n } catch(e) {\n ctx.addError(sec, \"invalid property\");\n }\n }\n }));\n const m : RangerAppParamDesc = classDesc.findVariable(method_name);\n if ( (typeof(m) !== \"undefined\" && m != null ) ) {\n node.getChildrenFrom(calledItem);\n node.flow_done = false;\n await this.WalkNode(node, ctx, wr);\n return true;\n }\n const m_1 : RangerAppFunctionDesc = classDesc.findMethod(method_name);\n if ( (typeof(m_1) !== \"undefined\" && m_1 != null ) ) {\n node.getChildrenFrom(calledItem);\n node.flow_done = false;\n await this.transformMethodToLambda(node, m_1, ctx, wr);\n return true;\n }\n }\n }\n }\n if ( fc_6.expression && ((node.children.length) == 3) ) {\n const sec_1 : CodeNode = node.getSecond();\n const third : CodeNode = node.getThird();\n if ( ((sec_1.vref.length) > 0) && ((sec_1.vref[0]) == \".\") ) {\n await this.WalkNode(fc_6, ctx, wr);\n const parts_1 : Array<string> = (sec_1.vref.substring(1, (sec_1.vref.length) )).split(\".\");\n const method_name_1 : string = parts_1[((parts_1.length) - 1)];\n let classDesc_1 : RangerAppClassDesc = ctx.findClass(fc_6.eval_type_name);\n /** unused: const objExpr_1 : CodeNode = fc_6.copy() **/ \n let calledItem_1 : CodeNode = fc_6.copy();\n await operatorsOf.forEach_12(parts_1, ((item : string, index : number):void => { \n if ( index < ((parts_1.length) - 1) ) {\n try {\n calledItem_1 = CodeNode.fromList([CodeNode.vref1(\"property\"), calledItem_1.copy(), CodeNode.vref1(item)]);\n const p_1 : RangerAppParamDesc = classDesc_1.findVariable(item);\n classDesc_1 = ctx.findClass(p_1.nameNode.type_name);\n } catch(e) {\n ctx.addError(sec_1, \"invalid property \" + item);\n }\n }\n }));\n const calledItem_2 : CodeNode = CodeNode.fromList([CodeNode.vref1(\"call\"), calledItem_1, CodeNode.vref1(method_name_1), third.copy()]);\n node.getChildrenFrom(calledItem_2);\n node.flow_done = false;\n await this.WalkNode(node, ctx, wr);\n return true;\n }\n }\n if ( fc_6.value_type == 11 ) {\n let was_called : boolean = true;\n switch (fc_6.vref ) { \n case \"Enum\" : \n was_called = true;\n break;\n default: \n was_called = false;\n break;\n };\n if ( was_called ) {\n return true;\n }\n if ( (node.children.length) > 1 ) {\n if ( await this.cmdLocalCall(node, ctx, wr) ) {\n return true;\n }\n }\n }\n }\n if ( node.expression ) {\n for ( let i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n if ( ctx.expressionLevel() == 0 ) {\n ctx.lastBlockOp = item;\n }\n item.parent = node;\n if ( (typeof(item.evalCtx) !== \"undefined\" && item.evalCtx != null ) ) {\n await this.WalkNode(item, item.evalCtx, wr);\n } else {\n await this.WalkNode(item, ctx, wr);\n }\n node.copyEvalResFrom(item);\n if ( (i == 0) && ((node.children.length) == 2) ) {\n if ( (item.eval_type == 28) && ((typeof(item.paramDesc) !== \"undefined\" && item.paramDesc != null ) ) ) {\n const mDesc : RangerAppParamDesc = item.paramDesc;\n node.eval_type = mDesc.nameNode.value_type;\n node.eval_type_name = mDesc.nameNode.type_name;\n node.eval_array_type = mDesc.nameNode.array_type;\n node.eval_key_type = mDesc.nameNode.eval_key_type;\n node.is_direct_method_call = true;\n return true;\n }\n }\n if ( (((typeof(item.expression_value) !== \"undefined\" && item.expression_value != null ) ) || (item.value_type == 17)) || (item.eval_type == 17) ) {\n if ( (i == 0) && ((node.children.length) == 2) ) {\n node.has_lambda_call = true;\n const second : CodeNode = node.children[1];\n ctx.setInExpr();\n await this.WalkNode(second, ctx, wr);\n ctx.unsetInExpr();\n if ( (typeof(item.expression_value) !== \"undefined\" && item.expression_value != null ) ) {\n const lambdaNode : CodeNode = item.expression_value;\n const nn : CodeNode = lambdaNode.children[0];\n node.eval_type = nn.typeNameAsType(ctx);\n node.eval_type_name = nn.type_name;\n node.eval_array_type = nn.array_type;\n node.eval_key_type = nn.key_type;\n if ( node.eval_type == 17 ) {\n node.expression_value = nn.expression_value.copy();\n }\n if ( nn.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n await this.testLambdaCallArgs(lambdaNode, second, ctx, wr);\n }\n break;\n }\n }\n };\n return true;\n }\n ctx.addError(node, \"Could not understand this part\");\n return true;\n };\n getVoidNameSignature () : string {\n const s : string = \"void\";\n if ( ( typeof(this.isDefinedSignature[s] ) != \"undefined\" && this.isDefinedSignature.hasOwnProperty(s) ) ) {\n const cc : number = (this.isDefinedSignature[s]);\n return \"void_\" + cc;\n }\n this.signatureCnt = this.signatureCnt + 1;\n this.isDefinedSignature[s] = this.signatureCnt;\n return \"void_\" + this.signatureCnt;\n };\n getNameSignature (node : CodeNode) : string {\n const s : string = node.type_name + node.buildTypeSignature();\n if ( ( typeof(this.isDefinedSignature[s] ) != \"undefined\" && this.isDefinedSignature.hasOwnProperty(s) ) ) {\n const cc : number = (this.isDefinedSignature[s]);\n if ( cc == 1 ) {\n return node.type_name;\n }\n return \"_\" + cc;\n }\n this.signatureCnt = this.signatureCnt + 1;\n this.isDefinedSignature[s] = this.signatureCnt;\n if ( this.signatureCnt == 1 ) {\n return node.type_name;\n }\n return (node.type_name + \"_\") + this.signatureCnt;\n };\n getArgsSignature (node : CodeNode) : string {\n let exp_s : string = \"\";\n for ( let i = 0; i < node.children.length; i++) {\n var arg = node.children[i];\n exp_s = exp_s + arg.buildTypeSignature();\n exp_s = exp_s + \",\";\n };\n if ( ( typeof(this.isDefinedArgSignature[exp_s] ) != \"undefined\" && this.isDefinedArgSignature.hasOwnProperty(exp_s) ) ) {\n const cc : number = (this.isDefinedArgSignature[exp_s]);\n if ( cc == 1 ) {\n return \"\";\n }\n return \"_\" + cc;\n }\n this.signatureCnt = this.signatureCnt + 1;\n this.isDefinedArgSignature[exp_s] = this.signatureCnt;\n if ( this.signatureCnt == 1 ) {\n return \"\";\n }\n return \"_\" + this.signatureCnt;\n };\n getThisName () : string {\n return \"this\";\n };\n async GetProperty (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( (node.children.length) != 3 ) {\n ctx.addError(node, \"Invalid property descriptor\");\n return;\n }\n const obj : CodeNode = node.getSecond();\n const prop : CodeNode = node.getThird();\n await this.WalkNode(obj, ctx, wr);\n if ( ctx.isDefinedClass(obj.eval_type_name) ) {\n try {\n const currC : RangerAppClassDesc = ctx.findClass(obj.eval_type_name);\n const varDef : RangerAppParamDesc = currC.findVariable(prop.vref);\n if ( (typeof(varDef) !== \"undefined\" && varDef != null ) ) {\n prop.flow_done = true;\n prop.eval_type = 11;\n node.hasParamDesc = true;\n node.ownParamDesc = varDef;\n node.paramDesc = varDef;\n varDef.ref_cnt = 1 + varDef.ref_cnt;\n const vNameNode : CodeNode = varDef.nameNode;\n if ( (typeof(vNameNode) !== \"undefined\" && vNameNode != null ) ) {\n if ( vNameNode.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n node.eval_type = vNameNode.typeNameAsType(ctx);\n node.eval_type_name = vNameNode.type_name;\n if ( vNameNode.value_type == 6 ) {\n node.eval_type = 6;\n node.eval_array_type = vNameNode.array_type;\n }\n if ( vNameNode.value_type == 7 ) {\n node.eval_type = 7;\n node.eval_key_type = vNameNode.key_type;\n node.eval_array_type = vNameNode.array_type;\n }\n }\n return;\n }\n const mDef : RangerAppFunctionDesc = currC.findMethod(prop.vref);\n if ( (typeof(mDef) !== \"undefined\" && mDef != null ) ) {\n node.eval_type = 28;\n node.hasParamDesc = true;\n node.ownParamDesc = mDef;\n node.paramDesc = mDef;\n mDef.ref_cnt = 1 + mDef.ref_cnt;\n return;\n }\n ctx.addError(node, \"Did not find property from class \" + currC.name);\n } catch(e) {\n ctx.addError(node, \"Not valid property access\");\n }\n } else {\n ctx.addError(obj, \"Can not access property of a non-class value\");\n }\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"_\" ) {\n return;\n }\n if ( node.vref == \"#\" ) {\n return;\n }\n const rootObjName : string = node.ns[0];\n if ( ctx.isInStatic() ) {\n if ( rootObjName == \"this\" ) {\n ctx.addError(node, \"This can not be used in static context\");\n }\n }\n if ( ctx.isEnumDefined(rootObjName) ) {\n const enumName : string = node.ns[1];\n const ee : RangerAppEnum = ctx.getEnum(rootObjName);\n const e : RangerAppEnum = ee;\n if ( ( typeof(e.values[enumName] ) != \"undefined\" && e.values.hasOwnProperty(enumName) ) ) {\n node.eval_type = 13;\n node.eval_type_name = rootObjName;\n node.int_value = (e.values[enumName]);\n } else {\n ctx.addError(node, ((\"Undefined Enum \" + rootObjName) + \".\") + enumName);\n node.eval_type = 1;\n }\n return;\n }\n if ( node.vref == this.getThisName() ) {\n const cd : RangerAppClassDesc = ctx.getCurrentClass();\n const thisClassDesc : RangerAppClassDesc = cd;\n node.eval_type = 10;\n node.eval_type_name = thisClassDesc.name;\n node.ref_type = 4;\n return;\n }\n if ( ctx.isCapturing() ) {\n if ( ctx.isVarDefined(rootObjName) ) {\n if ( ctx.isLocalToCapture(rootObjName) == false ) {\n const captDef : RangerAppParamDesc = ctx.getVariableDef(rootObjName);\n const cd_1 : RangerAppClassDesc = ctx.getCurrentClass();\n cd_1.capturedLocals.push(captDef);\n captDef.is_captured = true;\n ctx.addCapturedVariable(rootObjName);\n }\n }\n }\n if ( (rootObjName == \"this\") || ctx.isVarDefined(rootObjName) ) {\n /** unused: const vDef2 : RangerAppParamDesc = ctx.getVariableDef(rootObjName) **/ \n /** unused: const activeFn : RangerAppFunctionDesc = ctx.getCurrentMethod() **/ \n const vDef : RangerAppParamDesc = this.findParamDesc(node, ctx, wr);\n if ( (typeof(vDef) !== \"undefined\" && vDef != null ) ) {\n node.hasParamDesc = true;\n node.ownParamDesc = vDef;\n node.paramDesc = vDef;\n vDef.ref_cnt = 1 + vDef.ref_cnt;\n const vNameNode : CodeNode = vDef.nameNode;\n if ( ctx.isDefinedClass(node.type_name) ) {\n const m : RangerAppFunctionDesc = ctx.getCurrentMethod();\n m.addClassUsage(ctx.findClass(node.type_name), ctx);\n }\n if ( ctx.isDefinedClass(node.eval_type_name) ) {\n const m_1 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n m_1.addClassUsage(ctx.findClass(node.eval_type_name), ctx);\n }\n if ( (typeof(vNameNode) !== \"undefined\" && vNameNode != null ) ) {\n if ( vNameNode.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n node.eval_type = vNameNode.typeNameAsType(ctx);\n node.eval_type_name = vNameNode.type_name;\n if ( vNameNode.value_type == 6 ) {\n node.eval_type = 6;\n node.eval_array_type = vNameNode.array_type;\n }\n if ( vNameNode.value_type == 7 ) {\n node.eval_type = 7;\n node.eval_key_type = vNameNode.key_type;\n node.eval_array_type = vNameNode.array_type;\n }\n }\n } else {\n ctx.addError(node, \"Undefined variable\");\n }\n } else {\n let class_or_this : boolean = rootObjName == this.getThisName();\n if ( ctx.isDefinedClass(rootObjName) ) {\n class_or_this = true;\n node.eval_type = 25;\n node.eval_type_name = rootObjName;\n const m_2 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n m_2.addClassUsage(ctx.findClass(rootObjName), ctx);\n }\n if ( ctx.hasTemplateNode(rootObjName) ) {\n class_or_this = true;\n }\n if ( false == class_or_this ) {\n const udesc : RangerAppClassDesc = ctx.getCurrentClass();\n const desc : RangerAppClassDesc = udesc;\n const opList : Array<CodeNode> = await ctx.getOpFns(node.vref);\n if ( ((((opList.length) > 0) || (node.vref == \"fun\")) || (node.vref == \"fn\")) || node.hasFlag(\"keyword\") ) {\n } else {\n ctx.addError(node, ((((\"WriteVREF -> Undefined variable \" + node.vref) + \" in class \") + desc.name) + \" node : \") + node.getCode());\n ctx.addError(node, ((((\"WriteVREF -> Undefined variable \" + rootObjName) + \" in class \") + desc.name) + \" node : \") + node.parent.getCode());\n if ( (typeof(node.parent.parent) !== \"undefined\" && node.parent.parent != null ) ) {\n ctx.addError(node, ((((\"WriteVREF -> Undefined variable \" + rootObjName) + \" in class \") + desc.name) + \" node : \") + node.parent.parent.getCode());\n }\n }\n }\n return;\n }\n };\n async EnterFn (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter, callback : (node:CodeNode, ctx:RangerAppWriterContext, wr:CodeWriter, nameNode:CodeNode, fnArgs:CodeNode, fnBody:CodeNode, desc:RangerAppClassDesc) => void) : Promise<void> {\n try {\n if ( (node.children.length) < 4 ) {\n ctx.addError(node, \"Function has too few arguments\");\n return;\n }\n /** unused: let nameNode : CodeNode **/ \n let idx : number = 0;\n await operatorsOf.forEach_15(node.children, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"static\" ) {\n idx = idx + 1;\n }\n }));\n const currClass : RangerAppClassDesc = ctx.getCurrentClass();\n if ( typeof(currClass) === \"undefined\" ) {\n ctx.addError(node, \"Current class was not defined when entering method\");\n return;\n }\n await callback(node, ctx, wr, node.children[(idx + 1)], node.children[(idx + 2)], node.children[(idx + 3)], currClass);\n } catch(e) {\n ctx.addError(node, \"Error parsing function \" + (( e.toString())));\n }\n };\n async Constructor (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.shouldHaveChildCnt(3, node, ctx, \"Method expexts four arguments\");\n /** unused: const cn : CodeNode = node.children[1] **/ \n const fnBody : CodeNode = node.children[2];\n const udesc : RangerAppClassDesc = ctx.getCurrentClass();\n const desc : RangerAppClassDesc = udesc;\n const m : RangerAppFunctionDesc = desc.constructor_fn;\n const subCtx : RangerAppWriterContext = m.fnCtx;\n subCtx.is_function = true;\n subCtx.currentMethod = m;\n subCtx.setInMethod();\n for ( let i = 0; i < m.params.length; i++) {\n var v = m.params[i];\n subCtx.defineVariable(v.name, v);\n };\n await this.WalkNodeChildren(fnBody, subCtx, wr);\n subCtx.unsetInMethod();\n if ( fnBody.didReturnAtIndex >= 0 ) {\n ctx.addError(node, \"constructor should not return any values!\");\n }\n for ( let i_1 = 0; i_1 < subCtx.localVarNames.length; i_1++) {\n var n = subCtx.localVarNames[i_1];\n const p : RangerAppParamDesc = subCtx.localVariables[n];\n if ( p.set_cnt > 0 ) {\n if ( p.is_immutable ) {\n ctx.addError(node, \"Immutable variable was assigned a value\");\n }\n const defNode : CodeNode = p.node;\n defNode.setFlag(\"mutable\");\n const nNode : CodeNode = p.nameNode;\n nNode.setFlag(\"mutable\");\n }\n };\n };\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n TTypes.baseTypeAsEval(node, ctx, wr);\n node.evalTypeClass = TFactory.new_scalar_signature(node, ctx, wr);\n };\n async cmdNew (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( (node.children.length) < 2 ) {\n ctx.addError(node, \"the new operator expects at lest two arguments\");\n return;\n }\n if ( (node.children.length) < 3 ) {\n const expr : CodeNode = new CodeNode(node.code, node.sp, node.ep);\n expr.expression = true;\n node.children.push(expr);\n }\n const obj : CodeNode = node.getSecond();\n const params : CodeNode = node.getThird();\n let currC : RangerAppClassDesc ;\n const b_template : boolean = false;\n let expects_error : boolean = false;\n const err_cnt : number = ctx.getErrorCount();\n if ( node.hasBooleanProperty(\"error\") ) {\n expects_error = true;\n }\n if ( obj.has_vref_annotation ) {\n await this.CheckVRefTypeAnnotationOf(obj, ctx, wr);\n }\n await this.WalkNode(obj, ctx, wr);\n for ( let i = 0; i < params.children.length; i++) {\n var arg = params.children[i];\n ctx.setInExpr();\n await this.WalkNode(arg, ctx, wr);\n ctx.unsetInExpr();\n };\n node.eval_type = 10;\n node.eval_type_name = obj.vref;\n if ( b_template == false ) {\n currC = ctx.findClass(obj.vref);\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM.addClassUsage(currC, ctx);\n }\n node.hasNewOper = true;\n node.clDesc = currC;\n const fnDescr : RangerAppFunctionDesc = currC.constructor_fn;\n if ( (typeof(fnDescr) !== \"undefined\" && fnDescr != null ) ) {\n if ( (fnDescr.params.length) > (params.children.length) ) {\n ctx.addError(node, \"Not enough arguments for class constructor \" + fnDescr.node.getLineAsString());\n return;\n }\n for ( let i_1 = 0; i_1 < fnDescr.params.length; i_1++) {\n var param = fnDescr.params[i_1];\n let has_default : boolean = false;\n if ( param.nameNode.hasFlag(\"default\") ) {\n has_default = true;\n }\n if ( param.nameNode.hasFlag(\"keyword\") ) {\n continue;\n }\n if ( (params.children.length) <= i_1 ) {\n if ( has_default ) {\n continue;\n }\n ctx.addError(node, \"Missing arguments for function\");\n ctx.addError(param.nameNode, \"To fix the previous error: Check original function declaration\");\n }\n const argNode : CodeNode = params.children[i_1];\n if ( false == await this.areEqualTypes((param.nameNode), argNode, ctx, wr) ) {\n ctx.addError(argNode, (\"ERROR, invalid argument type for \" + currC.name) + \" constructor \");\n }\n const pNode : CodeNode = param.nameNode;\n if ( pNode.hasFlag(\"optional\") ) {\n if ( false == argNode.hasFlag(\"optional\") ) {\n ctx.addError(node, \"new parameter optionality does not match, expected optional parameter\" + argNode.getCode());\n }\n }\n if ( argNode.hasFlag(\"optional\") ) {\n if ( false == pNode.hasFlag(\"optional\") ) {\n ctx.addError(node, \"new parameter optionality does not match, expected non-optional, optional given\" + argNode.getCode());\n }\n }\n };\n }\n if ( expects_error ) {\n const cnt_now : number = ctx.getErrorCount();\n if ( cnt_now == err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: expected generated error, err counts : \" + err_cnt) + \" : \") + cnt_now);\n }\n } else {\n const cnt_now_1 : number = ctx.getErrorCount();\n if ( cnt_now_1 > err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: did not expect generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_1);\n }\n }\n };\n transformParams (list : Array<CodeNode>, fnArgs : Array<RangerAppParamDesc>, ctx : RangerAppWriterContext) : Array<CodeNode> {\n let res : Array<CodeNode> = [];\n for ( let i = 0; i < list.length; i++) {\n var item = list[i];\n if ( item.is_block_node ) {\n /** unused: const newNode : CodeNode = new CodeNode(item.code, item.sp, item.ep) **/ \n const fnArg : RangerAppParamDesc = fnArgs[i];\n const nn : CodeNode = fnArg.nameNode;\n if ( typeof(nn.expression_value) === \"undefined\" ) {\n ctx.addError(item, \"Parameter is not lambda expression\");\n break;\n }\n const fnDef : CodeNode = nn.expression_value;\n const match : RangerArgMatch = new RangerArgMatch();\n const copyOf : CodeNode = fnDef.rebuildWithType(match, false);\n const fc : CodeNode = copyOf.children[0];\n fc.vref = \"fun\";\n const itemCopy : CodeNode = item.rebuildWithType(match, false);\n copyOf.children.push(itemCopy);\n let cnt : number = item.children.length;\n while (cnt > 0) {\n item.children.pop();\n cnt = cnt - 1;\n };\n for ( let i_1 = 0; i_1 < copyOf.children.length; i_1++) {\n var ch = copyOf.children[i_1];\n item.children.push(ch);\n };\n }\n res.push(item);\n };\n return res;\n };\n transformParams2 (list : Array<CodeNode>, fnArgs : Array<CodeNode>, ctx : RangerAppWriterContext) : Array<CodeNode> {\n let res : Array<CodeNode> = [];\n for ( let i = 0; i < list.length; i++) {\n var item = list[i];\n if ( item.is_block_node ) {\n console.log(\"Transforming --> \" + item.getCode());\n /** unused: const newNode : CodeNode = new CodeNode(item.code, item.sp, item.ep) **/ \n const nn : CodeNode = fnArgs[i];\n if ( typeof(nn.expression_value) === \"undefined\" ) {\n ctx.addError(item, \"Parameter is not lambda expression\");\n break;\n }\n const fnDef : CodeNode = nn.expression_value;\n const match : RangerArgMatch = new RangerArgMatch();\n const copyOf : CodeNode = fnDef.rebuildWithType(match, false);\n const fc : CodeNode = copyOf.children[0];\n fc.vref = \"fun\";\n const itemCopy : CodeNode = item.rebuildWithType(match, false);\n copyOf.children.push(itemCopy);\n let cnt : number = item.children.length;\n while (cnt > 0) {\n item.children.pop();\n cnt = cnt - 1;\n };\n for ( let i_1 = 0; i_1 < copyOf.children.length; i_1++) {\n var ch = copyOf.children[i_1];\n item.children.push(ch);\n };\n }\n res.push(item);\n };\n return res;\n };\n async CreateCTTI (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const root : RangerAppWriterContext = ctx.getRoot();\n const wr : CodeWriter = new CodeWriter();\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n if ( item.isNormalClass() ) {\n wr.raw((((\"\\n operators {\\n class_name _:string ( \" + item.name) + \"@(keyword) ) {\\n templates {\\n * ( '\\\"\") + item.name) + \"\\\"' )\\n }\\n }\\n } \\n \", true);\n }\n }));\n await root.pushAndCollectCode(wr.getCode(), orig_wr);\n };\n async CreateRTTI (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const root : RangerAppWriterContext = ctx.getRoot();\n const wr : CodeWriter = new CodeWriter();\n wr.out(\"operator type:void all {\", true);\n wr.indent(1);\n wr.out(\"fn rtti_get_classes:[string] () {\", true);\n wr.indent(1);\n wr.out(\"return ([] \", false);\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n if ( item.isNormalClass() ) {\n wr.out((\"'\" + item.name) + \"' \", false);\n }\n }));\n wr.out(\")\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out(\"fn rtti_get_fields:[RTTIClassField] (className:string) {\", true);\n wr.indent(1);\n wr.out(\"def fields:[RTTIClassField]\", true);\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n if ( item.isNormalClass() ) {\n wr.out((\"if(className == '\" + item.name) + \"') {\", true);\n wr.indent(1);\n operatorsOf.forEach_11(item.variables, ((item : RangerAppParamDesc, index : number):void => { \n wr.out(\"def f (new RTTIClassField)\", true);\n wr.out((\"f.name = `\" + item.compiledName) + \"`\", true);\n wr.out((\"f.type_name = `\" + item.nameNode.type_name) + \"`\", true);\n wr.out(\"push fields f\", true);\n }));\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n }));\n wr.out(\"return fields\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n await root.pushAndCollectCode(wr.getCode(), orig_wr);\n };\n async SolveAsyncFuncs (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.static_methods, (async (item : RangerAppFunctionDesc, index : number): Promise<void> => { \n /** unused: const thisFn : RangerAppFunctionDesc = item **/ \n let set_async : (f:RangerAppFunctionDesc) => void = ((f : RangerAppFunctionDesc):void => { \n });\n let visited : Array<RangerAppFunctionDesc> = [];\n set_async = (async (f : RangerAppFunctionDesc): Promise<void> => { \n if ( (visited.indexOf(f)) >= 0 ) {\n return;\n }\n visited.push(f);\n if ( (typeof(f.nameNode) !== \"undefined\" && f.nameNode != null ) ) {\n f.nameNode.setFlag(\"async\");\n }\n await operatorsOf.forEach_29(f.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async(item);\n }));\n if ( (typeof(f.insideFn) !== \"undefined\" && f.insideFn != null ) ) {\n await set_async(f.insideFn);\n }\n });\n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n if ( item.nameNode.hasFlag(\"async\") ) {\n await operatorsOf.forEach_29(item.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async(item);\n }));\n await item.forOtherVersions(ctx, ((item : RangerAppFunctionDesc):void => { \n set_async(item);\n }));\n if ( (typeof(item.insideFn) !== \"undefined\" && item.insideFn != null ) ) {\n await set_async(item.insideFn);\n }\n }\n }\n await operatorsOf.forEach_29(item.myLambdas, (async (item : RangerAppFunctionDesc, index : number): Promise<void> => { \n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n if ( item.nameNode.hasFlag(\"async\") ) {\n await operatorsOf.forEach_29(item.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async(item);\n }));\n if ( (typeof(item.insideFn) !== \"undefined\" && item.insideFn != null ) ) {\n await set_async(item.insideFn);\n }\n }\n }\n }));\n }));\n await operatorsOf_13.forEach_30(item.method_variants, (async (item : RangerAppMethodVariants, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.variants, (async (item : RangerAppFunctionDesc, index : number): Promise<void> => { \n /** unused: const thisFn_1 : RangerAppFunctionDesc = item **/ \n let set_async_1 : (f:RangerAppFunctionDesc) => void = ((f : RangerAppFunctionDesc):void => { \n });\n let visited_1 : Array<RangerAppFunctionDesc> = [];\n set_async_1 = (async (f : RangerAppFunctionDesc): Promise<void> => { \n if ( (visited_1.indexOf(f)) >= 0 ) {\n return;\n }\n visited_1.push(f);\n if ( (typeof(f.nameNode) !== \"undefined\" && f.nameNode != null ) ) {\n f.nameNode.setFlag(\"async\");\n }\n await f.forOtherVersions(ctx, ((item : RangerAppFunctionDesc):void => { \n set_async_1(item);\n }));\n await operatorsOf.forEach_29(f.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async_1(item);\n }));\n if ( (typeof(f.insideFn) !== \"undefined\" && f.insideFn != null ) ) {\n await set_async_1(f.insideFn);\n }\n });\n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n if ( item.nameNode.hasFlag(\"async\") ) {\n await operatorsOf.forEach_29(item.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async_1(item);\n }));\n await item.forOtherVersions(ctx, ((item : RangerAppFunctionDesc):void => { \n set_async_1(item);\n }));\n if ( (typeof(item.insideFn) !== \"undefined\" && item.insideFn != null ) ) {\n await set_async_1(item.insideFn);\n }\n }\n }\n await operatorsOf.forEach_29(item.myLambdas, (async (item : RangerAppFunctionDesc, index : number): Promise<void> => { \n if ( (typeof(item.nameNode) !== \"undefined\" && item.nameNode != null ) ) {\n if ( item.nameNode.hasFlag(\"async\") ) {\n await operatorsOf.forEach_29(item.isCalledBy, ((item : RangerAppFunctionDesc, index : number):void => { \n set_async_1(item);\n }));\n if ( (typeof(item.insideFn) !== \"undefined\" && item.insideFn != null ) ) {\n await set_async_1(item.insideFn);\n }\n }\n }\n }));\n }));\n }));\n }));\n let notUsedFunctionCnt : number = 0;\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n await operatorsOf_13.forEach_30(item.method_variants, (async (item : RangerAppMethodVariants, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.variants, ((item : RangerAppFunctionDesc, index : number):void => { \n if ( (item.isCalledBy.length) == 0 ) {\n if ( (typeof(item.container_class) !== \"undefined\" && item.container_class != null ) ) {\n const cc : RangerAppClassDesc = item.container_class;\n if ( ((cc.extends_classes.length) > 0) || cc.is_inherited ) {\n const eC : string = cc.extends_classes[0];\n ctx.findClass(eC);\n } else {\n notUsedFunctionCnt = notUsedFunctionCnt + 1;\n item.is_unsed = true;\n }\n }\n }\n }));\n }));\n }));\n const add_dce_fn : (theFn:RangerAppFunctionDesc) => void = (async (theFn : RangerAppFunctionDesc): Promise<void> => { \n let set_called : (f:RangerAppFunctionDesc) => void = ((f : RangerAppFunctionDesc):void => { \n });\n set_called = (async (f : RangerAppFunctionDesc): Promise<void> => { \n if ( f.is_called_from_main ) {\n return;\n }\n f.is_called_from_main = true;\n operatorsOf.forEach_31(f.isUsingClasses, ((item : RangerAppClassDesc, index : number):void => { \n item.is_used_by_main = true;\n if ( (typeof(item.constructor_fn) !== \"undefined\" && item.constructor_fn != null ) ) {\n set_called(item.constructor_fn);\n }\n }));\n await f.forOtherVersions(ctx, ((item : RangerAppFunctionDesc):void => { \n set_called(item);\n }));\n await operatorsOf.forEach_29(f.isCalling, ((item : RangerAppFunctionDesc, index : number):void => { \n set_called(item);\n }));\n await operatorsOf.forEach_29(f.myLambdas, ((item : RangerAppFunctionDesc, index : number):void => { \n set_called(item);\n }));\n if ( (typeof(f.container_class) !== \"undefined\" && f.container_class != null ) ) {\n if ( (typeof(f.container_class.constructor_fn) !== \"undefined\" && f.container_class.constructor_fn != null ) ) {\n await set_called(f.container_class.constructor_fn);\n }\n }\n });\n await set_called(theFn);\n });\n let use_dce : boolean = false;\n if ( ctx.hasCompilerFlag(\"dead4main\") ) {\n let mainFn : RangerAppFunctionDesc ;\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n const cl : RangerAppClassDesc = item;\n for ( let i = 0; i < cl.static_methods.length; i++) {\n var variant = cl.static_methods[i];\n ctx.disableCurrentClass();\n if ( variant.nameNode.hasFlag(\"main\") && (variant.nameNode.code.filename == ctx.getRootFile()) ) {\n mainFn = variant;\n mainFn.addClassUsage(cl, ctx);\n }\n };\n }));\n if ( (typeof(mainFn) !== \"undefined\" && mainFn != null ) ) {\n await add_dce_fn(mainFn);\n use_dce = true;\n }\n }\n if ( ctx.hasCompilerSetting(\"dceclass\") ) {\n const dc : string = ctx.getCompilerSetting(\"dceclass\");\n console.log(\"DCE : \" + dc);\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n const cl_1 : RangerAppClassDesc = item;\n if ( cl_1.name == dc ) {\n use_dce = true;\n cl_1.is_used_by_main = true;\n for ( let i_1 = 0; i_1 < cl_1.static_methods.length; i_1++) {\n var variant_1 = cl_1.static_methods[i_1];\n await add_dce_fn(variant_1);\n };\n await operatorsOf_13.forEach_30(item.method_variants, (async (item : RangerAppMethodVariants, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.variants, ((item : RangerAppFunctionDesc, index : number):void => { \n add_dce_fn(item);\n }));\n }));\n }\n }));\n }\n if ( use_dce ) {\n const verbose : boolean = ctx.hasCompilerFlag(\"verbose\");\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n if ( (item.is_used_by_main == false) && verbose ) {\n console.log(\"class not used by main : \" + item.name);\n }\n item.static_methods = operatorsOf.filter_32(item.static_methods, ((item : RangerAppFunctionDesc, index : number):boolean => { \n const cc_1 : RangerAppClassDesc = item.container_class;\n if ( item.is_called_from_main == false ) {\n if ( verbose ) {\n console.log(((\"removing as dead \" + item.name) + \" from \") + cc_1.name);\n }\n }\n return item.is_called_from_main;\n }));\n await operatorsOf_13.forEach_30(item.method_variants, ((item : RangerAppMethodVariants, index : string):void => { \n item.variants = operatorsOf.filter_32(item.variants, ((item : RangerAppFunctionDesc, index : number):boolean => { \n const cc_2 : RangerAppClassDesc = item.container_class;\n if ( item.is_called_from_main == false ) {\n if ( verbose ) {\n console.log(((\"removing as dead \" + item.name) + \" from \") + cc_2.name);\n }\n }\n return item.is_called_from_main;\n }));\n }));\n }));\n }\n if ( ctx.hasCompilerFlag(\"deadcode\") ) {\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n await operatorsOf_13.forEach_30(item.method_variants, ((item : RangerAppMethodVariants, index : string):void => { \n item.variants = operatorsOf.filter_32(item.variants, ((item : RangerAppFunctionDesc, index : number):boolean => { \n return item.is_unsed == false;\n }));\n }));\n }));\n }\n };\n async cmdCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const callArgs : CodeNode = node.children[3];\n const possible_cmd : string = method.vref;\n const altVersion : CodeNode = node.newExpressionNode();\n const origCopy : CodeNode = node.copy();\n altVersion.add(node.newVRefNode(possible_cmd));\n altVersion.add(obj.copy());\n for ( let i = 0; i < callArgs.children.length; i++) {\n var ca = callArgs.children[i];\n altVersion.add(ca.copy());\n };\n altVersion.parent = node;\n node.getChildrenFrom(altVersion);\n if ( await this.stdParamMatch(node, ctx, wr, false) ) {\n return true;\n } else {\n node.getChildrenFrom(origCopy);\n }\n const obj_2 : CodeNode = node.getSecond();\n const method_2 : CodeNode = node.getThird();\n const callArgs_2 : CodeNode = node.children[3];\n await this.WalkNode(obj_2, ctx, wr);\n if ( ctx.isDefinedClass(obj_2.eval_type_name) ) {\n const cl : RangerAppClassDesc = ctx.findClass(obj_2.eval_type_name);\n const m : RangerAppFunctionDesc = cl.findMethod(method_2.vref);\n if ( (typeof(m) !== \"undefined\" && m != null ) ) {\n node.has_call = true;\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM.addCallTo(m);\n ctx.setInExpr();\n for ( let i_1 = 0; i_1 < callArgs_2.children.length; i_1++) {\n var callArg = callArgs_2.children[i_1];\n await this.WalkNode(callArg, ctx, wr);\n };\n ctx.unsetInExpr();\n const nn : CodeNode = m.nameNode;\n node.eval_type = nn.typeNameAsType(ctx);\n node.eval_type_name = nn.type_name;\n node.eval_array_type = nn.array_type;\n node.eval_key_type = nn.key_type;\n if ( m.nameNode.hasFlag(\"throws\") ) {\n if ( false == ctx.isTryBlock() ) {\n ctx.addError(obj_2, (\"The method \" + m.name) + \" potentially throws an exception, try { } block is required\");\n }\n }\n if ( nn.value_type == 17 ) {\n node.expression_value = nn.expression_value.copy();\n }\n if ( nn.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n return true;\n } else {\n ctx.addError(node, ((\"Class \" + obj_2.eval_type_name) + \" does not have method \") + method_2.vref);\n return false;\n }\n } else {\n ctx.addError(node, \"can not call non-class type\");\n }\n return true;\n };\n async matchLambdaArgs (n1 : CodeNode, n2 : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n const chLen1 : number = n1.children.length;\n const chLen2 : number = n2.children.length;\n if ( chLen1 < 2 ) {\n ctx.addError(n1, \"Invalid Lambda definition, missing args or return value\");\n ctx.addError(n2, \"^ Invalid Lambda definition, missing args or return value\");\n return false;\n }\n if ( chLen2 < 2 ) {\n ctx.addError(n1, \"Invalid Lambda definition, missing args or return value\");\n ctx.addError(n2, \"^ Invalid Lambda definition, missing args or return value\");\n return false;\n }\n const rv1 : CodeNode = n1.getFirst();\n const args1 : CodeNode = n1.getSecond();\n const rv2 : CodeNode = n2.getFirst();\n const args2 : CodeNode = n2.getSecond();\n const rvExpr1 : CodeNode = n1.newExpressionNode();\n (rvExpr1).push(rv1.copy());\n const rvExpr2 : CodeNode = n2.newExpressionNode();\n (rvExpr2).push(rv2.copy());\n const argsExpr1 : CodeNode = args1.copy();\n const argsExpr2 : CodeNode = args2.copy();\n let all_matched : boolean = true;\n if ( ctx.hasCompilerFlag(\"notreallyexistingflag\") ) {\n all_matched = false;\n }\n if ( (argsExpr1.children.length) != (argsExpr2.children.length) ) {\n ctx.addError(n2, \"Invalid parameter count for the lambda expression\");\n return false;\n }\n await operatorsOf.forEach_15(argsExpr1.children, (async (item : CodeNode, index : number): Promise<void> => { \n const item2 : CodeNode = argsExpr2.children[index];\n if ( item2.value_type != item.value_type ) {\n all_matched = false;\n }\n if ( item2.type_name != item.type_name ) {\n all_matched = false;\n }\n if ( item2.array_type != item.array_type ) {\n all_matched = false;\n }\n if ( item2.key_type != item.key_type ) {\n all_matched = false;\n }\n if ( all_matched && (item.value_type == 17) ) {\n if ( false == await this.matchLambdaArgs((item.expression_value), (item2.expression_value), ctx, wr) ) {\n all_matched = false;\n }\n }\n }));\n if ( all_matched == false ) {\n ctx.addError(n2, \"Invalid lambda argument types\");\n return false;\n }\n await operatorsOf.forEach_15(rvExpr1.children, (async (item : CodeNode, index : number): Promise<void> => { \n const item2_1 : CodeNode = rvExpr2.children[index];\n if ( item2_1.value_type != item.value_type ) {\n all_matched = false;\n }\n if ( item2_1.type_name != item.type_name ) {\n all_matched = false;\n }\n if ( item2_1.array_type != item.array_type ) {\n all_matched = false;\n }\n if ( item2_1.key_type != item.key_type ) {\n all_matched = false;\n }\n if ( all_matched && (item.value_type == 17) ) {\n if ( false == await this.matchLambdaArgs((item.expression_value), (item2_1.expression_value), ctx, wr) ) {\n all_matched = false;\n }\n }\n }));\n if ( ctx.hasCompilerFlag(\"notreallyexistingflag\") ) {\n all_matched = false;\n }\n if ( all_matched == false ) {\n ctx.addError(n2, \"Invalid lambda return value type\");\n return false;\n }\n return true;\n };\n async testLambdaCallArgs (lambda_expression : CodeNode, callParams : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n /** unused: const lambdaDef : CodeNode = lambda_expression.children[0] **/ \n const lambdaArgs : CodeNode = lambda_expression.children[1];\n let all_matched : boolean = true;\n if ( (callParams.children.length) != (lambdaArgs.children.length) ) {\n ctx.addError(callParams, \"Invalid parameter count for the lambda expression \");\n ctx.addError(callParams, \" ^ expected : \" + lambdaArgs.getCode());\n all_matched = false;\n }\n await operatorsOf.forEach_15(lambdaArgs.children, ((item : CodeNode, index : number):void => { \n const item2 : CodeNode = callParams.children[index];\n if ( item2.eval_type_name != item.type_name ) {\n if ( item.type_name != \"Any\" ) {\n ctx.addError(item2, \"Argument of wrong type given for the lambda parameter \" + index);\n all_matched = false;\n }\n }\n if ( item2.eval_array_type != item.array_type ) {\n ctx.addError(item2, \"Argument of wrong type given for the lambda parameter \" + index);\n all_matched = false;\n }\n if ( item2.eval_key_type != item.key_type ) {\n ctx.addError(item2, \"Argument of wrong type given for the lambda parameter \" + index);\n all_matched = false;\n }\n }));\n if ( all_matched == false ) {\n ctx.addError(callParams, \"Invalid types for lambda call\");\n }\n return all_matched;\n };\n async cmdLocalCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n const fnNode : CodeNode = node.getFirst();\n const udesc : RangerAppClassDesc = ctx.getCurrentClass();\n const desc : RangerAppClassDesc = udesc;\n let expects_error : boolean = false;\n const err_cnt : number = ctx.getErrorCount();\n if ( node.hasBooleanProperty(\"error\") ) {\n expects_error = true;\n }\n const chlen : number = node.children.length;\n if ( chlen > 2 ) {\n let i : number = 2;\n /** unused: const chainRoot : CodeNode = node **/ \n let innerNode : CodeNode ;\n const newNode : CodeNode = node.newExpressionNode();\n const sc : CodeNode = node.getSecond();\n newNode.add(fnNode.copy());\n newNode.add(sc.copy());\n innerNode = newNode;\n let chain_cnt : number = 0;\n let b_valid : boolean = true;\n while (i < (chlen - 1)) {\n const fc : CodeNode = node.children[i];\n const args : CodeNode = node.children[(i + 1)];\n const name : string = fc.vref;\n if ( ((name.length) > 0) && ((name.charCodeAt(0 )) == (\".\".charCodeAt(0))) ) {\n const method_name : string = name.substring(1, (name.length) );\n const newNode_1 : CodeNode = node.newExpressionNode();\n newNode_1.add(node.newVRefNode(\"call\"));\n newNode_1.add(innerNode.copy());\n newNode_1.add(node.newVRefNode(method_name));\n newNode_1.add(args.copy());\n innerNode = newNode_1;\n chain_cnt = chain_cnt + 1;\n } else {\n b_valid = false;\n }\n i = i + 2;\n };\n if ( b_valid && (chain_cnt > 0) ) {\n node.getChildrenFrom(innerNode);\n node.tag = \"chainroot\";\n node.flow_done = false;\n await this.WalkNode(node, ctx, wr);\n return true;\n }\n }\n if ( (fnNode.ns.length) > 1 ) {\n const rootName : string = fnNode.ns[0];\n const vDef2 : RangerAppParamDesc = ctx.getVariableDef(rootName);\n if ( ((rootName != \"this\") && (vDef2.init_cnt == 0)) && (vDef2.set_cnt == 0) ) {\n if ( (vDef2.is_class_variable == false) && (ctx.isDefinedClass(rootName) == false) ) {\n ctx.addError(node, \"Call to uninitialized object \" + rootName);\n }\n }\n const vFnDef : RangerAppFunctionDesc = this.findFunctionDesc(fnNode, ctx, wr);\n if ( (typeof(vFnDef) !== \"undefined\" && vFnDef != null ) ) {\n if ( vFnDef.nameNode.hasFlag(\"throws\") ) {\n if ( false == ctx.isTryBlock() ) {\n ctx.addError(node, (\"The method \" + vFnDef.name) + \" potentially throws an exception, try { } block is required\");\n }\n }\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM.addCallTo(vFnDef);\n vFnDef.ref_cnt = vFnDef.ref_cnt + 1;\n const subCtx : RangerAppWriterContext = ctx.fork();\n node.hasFnCall = true;\n node.fnDesc = vFnDef;\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = fnNode.vref;\n p.value_type = fnNode.value_type;\n p.node = fnNode;\n p.nameNode = fnNode;\n p.varType = 10;\n subCtx.defineVariable(p.name, p);\n await this.WalkNode(fnNode, subCtx, wr);\n const callParams : CodeNode = node.children[1];\n let keyword_cnt : number = 0;\n operatorsOf.forEach_11(vFnDef.params, ((item : RangerAppParamDesc, index : number):void => { \n if ( item.nameNode.hasFlag(\"keyword\") ) {\n keyword_cnt = keyword_cnt + 1;\n (callParams.children[index]).setFlag(\"keyword\");\n }\n }));\n const nodeList : Array<CodeNode> = this.transformParams(callParams.children, vFnDef.params, subCtx);\n if ( ctx.hasCompilerFlag(\"dbg\") ) {\n console.log(\"Local: \" + vFnDef.name);\n }\n for ( let i_1 = 0; i_1 < nodeList.length; i_1++) {\n var arg = nodeList[i_1];\n ctx.setInExpr();\n let was_lambda : boolean = false;\n if ( arg.isFirstVref(\"fun\") ) {\n arg.flow_done = false;\n await arg.forTree(((item : CodeNode, i : number):void => { \n item.flow_done = false;\n }));\n was_lambda = true;\n }\n await this.WalkNode(arg, subCtx, wr);\n if ( was_lambda ) {\n const currM_1 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( (typeof(arg.lambdaFnDesc) !== \"undefined\" && arg.lambdaFnDesc != null ) ) {\n vFnDef.addCallTo(arg.lambdaFnDesc);\n currM_1.addCallTo(vFnDef);\n currM_1.myLambdas.push(arg.lambdaFnDesc);\n vFnDef.myLambdas.push(arg.lambdaFnDesc);\n }\n await arg.forTree(((item : CodeNode, i : number):void => { \n if ( (typeof(item.lambdaFnDesc) !== \"undefined\" && item.lambdaFnDesc != null ) ) {\n item.lambdaFnDesc.insideFn = currM_1;\n }\n if ( (typeof(item.fnDesc) !== \"undefined\" && item.fnDesc != null ) ) {\n if ( (typeof(arg.lambdaFnDesc) !== \"undefined\" && arg.lambdaFnDesc != null ) ) {\n arg.lambdaFnDesc.addCallTo(item.fnDesc);\n }\n vFnDef.addCallTo(item.fnDesc);\n }\n }));\n }\n ctx.unsetInExpr();\n if ( (vFnDef.params.length) > i_1 ) {\n const fnArg : RangerAppParamDesc = vFnDef.params[i_1];\n const callArgP : RangerAppParamDesc = arg.paramDesc;\n if ( (typeof(callArgP) !== \"undefined\" && callArgP != null ) ) {\n callArgP.moveRefTo(node, fnArg, ctx);\n }\n }\n };\n const cp_len : number = (callParams.children.length) - keyword_cnt;\n if ( cp_len > (vFnDef.params.length) ) {\n const lastCallParam : CodeNode = callParams.children[(cp_len - 1)];\n ctx.addError(lastCallParam, \"Too many arguments for function\");\n ctx.addError(vFnDef.nameNode, \"NOTE: To fix the previous error: Check original function declaration which was\");\n }\n for ( let i_2 = 0; i_2 < vFnDef.params.length; i_2++) {\n var param = vFnDef.params[i_2];\n if ( (callParams.children.length) <= i_2 ) {\n if ( param.nameNode.hasFlag(\"default\") ) {\n continue;\n }\n ctx.addError(node, \"Missing arguments for function\");\n ctx.addError(param.nameNode, \"NOTE: To fix the previous error: Check original function declaration which was\");\n break;\n }\n if ( param.nameNode.hasFlag(\"keyword\") ) {\n continue;\n }\n const argNode : CodeNode = callParams.children[i_2];\n if ( false == await this.areEqualTypes((param.nameNode), argNode, ctx, wr) ) {\n ctx.addError(argNode, \"ERROR, invalid argument type for method \" + vFnDef.name);\n }\n const pNode : CodeNode = param.nameNode;\n if ( pNode.hasFlag(\"optional\") ) {\n if ( false == argNode.hasFlag(\"optional\") ) {\n ctx.addError(node, \"function parameter optionality does not match, consider making parameter optional \" + argNode.getCode());\n }\n }\n if ( argNode.hasFlag(\"optional\") ) {\n if ( false == pNode.hasFlag(\"optional\") ) {\n ctx.addError(node, \"function parameter optionality does not match, consider unwrapping \" + argNode.getCode());\n }\n }\n };\n const nn : CodeNode = vFnDef.nameNode;\n node.eval_type = nn.typeNameAsType(ctx);\n node.eval_type_name = nn.type_name;\n node.eval_array_type = nn.array_type;\n node.eval_key_type = nn.key_type;\n if ( node.eval_type == 17 ) {\n node.expression_value = nn.expression_value.copy();\n }\n if ( nn.hasFlag(\"optional\") ) {\n node.setFlag(\"optional\");\n }\n if ( expects_error ) {\n const cnt_now : number = ctx.getErrorCount();\n if ( cnt_now == err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: expected generated error, err counts : \" + err_cnt) + \" : \") + cnt_now);\n }\n } else {\n const cnt_now_1 : number = ctx.getErrorCount();\n if ( cnt_now_1 > err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: did not expect generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_1);\n }\n }\n return true;\n } else {\n ctx.addError(node, \"Called Object or Property was not defined\");\n }\n }\n if ( desc.hasMethod(fnNode.vref) ) {\n const fnDescr : RangerAppFunctionDesc = desc.findMethod(fnNode.vref);\n if ( fnDescr.nameNode.hasFlag(\"throws\") ) {\n if ( false == ctx.isTryBlock() ) {\n ctx.addError(node, (\"The method \" + fnDescr.name) + \" potentially throws an exception, try { } block is required\");\n }\n }\n const currM_2 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM_2.addCallTo(fnDescr);\n if ( ctx.hasCompilerFlag(\"dbg\") ) {\n console.log(\"Local 2 : \" + fnDescr.name);\n }\n const subCtx_1 : RangerAppWriterContext = ctx.fork();\n node.hasFnCall = true;\n node.fnDesc = fnDescr;\n const p_1 : RangerAppParamDesc = new RangerAppParamDesc();\n p_1.name = fnNode.vref;\n p_1.value_type = fnNode.value_type;\n p_1.node = fnNode;\n p_1.nameNode = fnNode;\n p_1.varType = 10;\n subCtx_1.defineVariable(p_1.name, p_1);\n await this.WalkNode(fnNode, subCtx_1, wr);\n for ( let i_3 = 0; i_3 < node.children.length; i_3++) {\n var arg_1 = node.children[i_3];\n if ( i_3 < 1 ) {\n continue;\n }\n ctx.setInExpr();\n await this.WalkNode(arg_1, subCtx_1, wr);\n ctx.unsetInExpr();\n };\n for ( let i_4 = 0; i_4 < fnDescr.params.length; i_4++) {\n var param_1 = fnDescr.params[i_4];\n if ( (node.children.length) <= (i_4 + 1) ) {\n ctx.addError(node, \"Argument was not defined\");\n break;\n }\n const argNode_1 : CodeNode = node.children[(i_4 + 1)];\n if ( false == await this.areEqualTypes((param_1.nameNode), argNode_1, ctx, wr) ) {\n ctx.addError(argNode_1, ((\"ERROR, invalid argument type for \" + desc.name) + \" method \") + fnDescr.name);\n }\n };\n const nn_1 : CodeNode = fnDescr.nameNode;\n nn_1.defineNodeTypeTo(node, ctx);\n if ( expects_error ) {\n const cnt_now_2 : number = ctx.getErrorCount();\n if ( cnt_now_2 == err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: expected generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_2);\n }\n } else {\n const cnt_now_3 : number = ctx.getErrorCount();\n if ( cnt_now_3 > err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: did not expect generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_3);\n }\n }\n return true;\n }\n if ( ctx.isVarDefined(fnNode.vref) ) {\n const d : RangerAppParamDesc = ctx.getVariableDef(fnNode.vref);\n d.ref_cnt = 1 + d.ref_cnt;\n if ( d.nameNode.hasFlag(\"optional\") ) {\n ctx.addError(node, \"Can not call optional lambda function, unwrap the function first!\");\n }\n if ( d.nameNode.value_type == 17 ) {\n const cnNode1 : CodeNode = node.children[0];\n await this.WalkNode(cnNode1, ctx, wr);\n /** unused: const lambdaDefArgs : CodeNode = d.nameNode.expression_value.children[1] **/ \n const callParams_1 : CodeNode = node.children[1];\n for ( let i_5 = 0; i_5 < callParams_1.children.length; i_5++) {\n var arg_2 = callParams_1.children[i_5];\n ctx.setInExpr();\n await this.WalkNode(arg_2, ctx, wr);\n ctx.unsetInExpr();\n };\n await this.testLambdaCallArgs(d.nameNode.expression_value, callParams_1, ctx, wr);\n const lambdaDef : CodeNode = d.nameNode.expression_value.children[0];\n node.has_lambda_call = true;\n node.eval_type = lambdaDef.typeNameAsType(ctx);\n node.eval_type_name = lambdaDef.type_name;\n node.eval_array_type = lambdaDef.array_type;\n node.eval_key_type = lambdaDef.key_type;\n if ( node.eval_type == 17 ) {\n if ( (typeof(lambdaDef.expression_value) !== \"undefined\" && lambdaDef.expression_value != null ) ) {\n node.expression_value = lambdaDef.expression_value.copy();\n }\n }\n return true;\n }\n }\n return false;\n ctx.addError(node, ((\"ERROR, could not find class \" + desc.name) + \" method \") + fnNode.vref);\n ctx.addError(node, \"definition : \" + node.getCode());\n if ( expects_error ) {\n const cnt_now_4 : number = ctx.getErrorCount();\n if ( cnt_now_4 == err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: expected generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_4);\n }\n } else {\n const cnt_now_5 : number = ctx.getErrorCount();\n if ( cnt_now_5 > err_cnt ) {\n ctx.addParserError(node, ((\"LANGUAGE_PARSER_ERROR: did not expect generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_5);\n }\n }\n return false;\n };\n transformImmutableAssigment (node : CodeNode) : CodeNode {\n const target : CodeNode = node.getSecond();\n const assign_value : CodeNode = node.getThird();\n const root : CodeNode = node.newExpressionNode();\n root.add(node.newVRefNode(\"=\"));\n root.add(node.newVRefNode((target.ns[0])));\n let i : number = 1;\n const cnt : number = target.ns.length;\n /** unused: const valueExpression : CodeNode = node.newExpressionNode() **/ \n let obj_ref : string = target.ns[0];\n let currentParent : CodeNode = root;\n while (i < cnt) {\n const callExpr : CodeNode = node.newExpressionNode();\n callExpr.add(node.newVRefNode(\"call\"));\n callExpr.add(node.newVRefNode(obj_ref));\n const next_ref : string = target.ns[i];\n const set_ref : string = \"set_\" + next_ref;\n callExpr.add(node.newVRefNode(set_ref));\n i = i + 1;\n if ( i < cnt ) {\n obj_ref = (obj_ref + \".\") + next_ref;\n const paramsNode : CodeNode = node.newExpressionNode();\n paramsNode.add(callExpr);\n currentParent.add(paramsNode);\n currentParent = callExpr;\n } else {\n const callParams : CodeNode = node.newExpressionNode();\n callParams.add(assign_value.copy());\n callExpr.add(callParams);\n const paramsNode_1 : CodeNode = node.newExpressionNode();\n paramsNode_1.add(callExpr.copy());\n currentParent.add(paramsNode_1);\n }\n };\n return root;\n };\n async cmdAssign (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const target : CodeNode = node.getSecond();\n await this.WalkNode(target, ctx, wr);\n if ( target.hasParamDesc ) {\n if ( (typeof(target.paramDesc.propertyClass) !== \"undefined\" && target.paramDesc.propertyClass != null ) ) {\n const nn : CodeNode = target.paramDesc.propertyClass.nameNode;\n if ( nn.hasFlag(\"immutable\") ) {\n let do_transform : boolean = false;\n const propC : RangerAppClassDesc = target.paramDesc.propertyClass;\n const currC : RangerAppClassDesc = ctx.getCurrentClass();\n if ( (currC) == (propC) ) {\n if ( (target.ns[0]) == \"this\" ) {\n do_transform = true;\n }\n } else {\n do_transform = true;\n }\n if ( do_transform ) {\n const n1 : CodeNode = node.getSecond();\n const n2 : CodeNode = node.getThird();\n await this.WalkNode(n1, ctx, wr);\n ctx.setInExpr();\n await this.WalkNode(n2, ctx, wr);\n ctx.unsetInExpr();\n await this.convertToUnion(n1.eval_type_name, n2, ctx, wr);\n this.shouldBeEqualTypes(n1, n2, ctx, \"Can not assign variable.\");\n const immAss : CodeNode = this.transformImmutableAssigment(node);\n node.getChildrenFrom(immAss);\n await this.cmdAssign(node, ctx, wr);\n return;\n }\n }\n }\n }\n /** unused: const chlen : number = node.children.length **/ \n wr.newline();\n const n1_1 : CodeNode = node.getSecond();\n const n2_1 : CodeNode = node.getThird();\n await this.WalkNode(n1_1, ctx, wr);\n ctx.setInExpr();\n await this.WalkNode(n2_1, ctx, wr);\n ctx.unsetInExpr();\n if ( n1_1.hasParamDesc ) {\n n1_1.paramDesc.ref_cnt = n1_1.paramDesc.ref_cnt + 1;\n n1_1.paramDesc.set_cnt = n1_1.paramDesc.set_cnt + 1;\n }\n if ( n2_1.hasParamDesc ) {\n n2_1.paramDesc.ref_cnt = n2_1.paramDesc.ref_cnt + 1;\n }\n if ( n2_1.hasFlag(\"optional\") ) {\n if ( false == n1_1.hasFlag(\"optional\") ) {\n ctx.addError(node, \"Can not assign optional to non-optional type\");\n }\n }\n await this.stdParamMatch(node, ctx, wr, true);\n await this.convertToUnion(n1_1.eval_type_name, n2_1, ctx, wr);\n this.shouldBeEqualTypes(n1_1, n2_1, ctx, \"Can not assign variable.\");\n };\n EnterTemplateClass (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n };\n async EnterClass (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const body_index : number = node.chlen() - 1;\n if ( (node.children.length) != 3 ) {\n if ( node.chlen() == 5 ) {\n } else {\n ctx.addError(node, \"Invalid class declaration\");\n return;\n }\n }\n if ( node.hasBooleanProperty(\"trait\") ) {\n return;\n }\n const cn : CodeNode = node.children[1];\n const cBody : CodeNode = node.children[body_index];\n const desc : RangerAppClassDesc = ctx.findClass(cn.vref);\n const subCtx : RangerAppWriterContext = desc.ctx;\n subCtx.setCurrentClass(desc);\n subCtx.class_level_context = true;\n for ( let i = 0; i < desc.variables.length; i++) {\n var p = desc.variables[i];\n const vNode : CodeNode = p.node;\n if ( (vNode.children.length) > 2 ) {\n const value : CodeNode = vNode.children[2];\n ctx.setInExpr();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n }\n p.is_class_variable = true;\n p.nameNode.eval_type = p.nameNode.typeNameAsType(ctx);\n p.nameNode.eval_type_name = p.nameNode.type_name;\n };\n for ( let i_1 = 0; i_1 < cBody.children.length; i_1++) {\n var fNode = cBody.children[i_1];\n if ( (fNode.isFirstVref(\"fn\") || fNode.isFirstVref(\"constructor\")) || fNode.isFirstVref(\"Constructor\") ) {\n await this.WalkNode(fNode, subCtx, wr);\n }\n };\n for ( let i_2 = 0; i_2 < cBody.children.length; i_2++) {\n var fNode_1 = cBody.children[i_2];\n if ( fNode_1.isFirstVref(\"fn\") || fNode_1.isFirstVref(\"PublicMethod\") ) {\n await this.WalkNode(fNode_1, subCtx, wr);\n }\n };\n const staticCtx : RangerAppWriterContext = ctx.fork();\n staticCtx.setCurrentClass(desc);\n for ( let i_3 = 0; i_3 < cBody.children.length; i_3++) {\n var fNode_2 = cBody.children[i_3];\n if ( (fNode_2.isFirstVref(\"sfn\") || fNode_2.isFirstVref(\"StaticMethod\")) || fNode_2.isFirstVref(\"static\") ) {\n await this.WalkNode(fNode_2, staticCtx, wr);\n }\n };\n await operatorsOf.forEach_15(cBody.children, ((item : CodeNode, index : number):void => { \n try {\n if ( item.isFirstVref(\"doc\") ) {\n const sc : CodeNode = item.getSecond();\n const fndesc : RangerAppFunctionDesc = desc.findMethod(sc.vref);\n if ( typeof(fndesc) != \"undefined\" ) {\n const third : CodeNode = item.getThird();\n fndesc.git_doc = third.string_value;\n }\n }\n } catch(e) {\n }\n }));\n node.hasClassDescription = true;\n node.clDesc = desc;\n desc.classNode = node;\n };\n async walkFunctionBody (m : RangerAppFunctionDesc, fnBody : CodeNode, ctx : RangerAppWriterContext, subCtx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n /** unused: const prev_fnc : boolean = subCtx.function_level_context **/ \n /** unused: const prev_isfn : boolean = subCtx.is_function **/ \n subCtx.function_level_context = true;\n subCtx.is_function = true;\n subCtx.currentMethod = m;\n for ( let i = 0; i < m.params.length; i++) {\n var v = m.params[i];\n if ( false == subCtx.isVarDefined(v.name) ) {\n subCtx.defineVariable(v.name, v);\n }\n v.nameNode.eval_type = v.nameNode.typeNameAsType(subCtx);\n v.nameNode.eval_type_name = v.nameNode.type_name;\n ctx.hadValidType(v.nameNode);\n if ( ctx.isDefinedClass(v.nameNode.type_name) ) {\n const cl : RangerAppClassDesc = ctx.findClass(v.nameNode.type_name);\n m.addClassUsage(cl, ctx);\n }\n if ( ctx.isDefinedClass(v.nameNode.array_type) ) {\n const cl_1 : RangerAppClassDesc = ctx.findClass(v.nameNode.array_type);\n m.addClassUsage(cl_1, ctx);\n }\n };\n subCtx.setInMethod();\n await this.WalkNodeChildren(fnBody, subCtx, wr);\n subCtx.unsetInMethod();\n if ( fnBody.didReturnAtIndex == -1 ) {\n if ( m.nameNode.type_name != \"void\" ) {\n if ( false == ctx.getFlag(\"in_task\") ) {\n ctx.addError(m.nameNode, \"Function does not return any values!\");\n }\n }\n } else {\n if ( (m.nameNode.type_name == \"void\") || ((((m.nameNode.type_name.length) > 0) == false) && (((m.nameNode.array_type.length) > 0) == false)) ) {\n if ( false == ctx.getFlag(\"in_task\") ) {\n const rvNode : CodeNode = fnBody.children[fnBody.didReturnAtIndex];\n if ( (rvNode.children.length) > 1 ) {\n ctx.addError(m.nameNode, \"No return value type defined for a function which returns value\");\n ctx.addError(rvNode, \"Returning value from a function without set return value\");\n }\n }\n }\n }\n for ( let i_1 = 0; i_1 < subCtx.localVarNames.length; i_1++) {\n var n = subCtx.localVarNames[i_1];\n const p : RangerAppParamDesc = subCtx.localVariables[n];\n if ( p.set_cnt > 0 ) {\n if ( p.is_immutable ) {\n ctx.addError(p.nameNode, \"Immutable variable was assigned a value\");\n }\n const defNode : CodeNode = p.node;\n defNode.setFlag(\"mutable\");\n const nNode : CodeNode = p.nameNode;\n nNode.setFlag(\"mutable\");\n }\n };\n };\n async EnterMethod (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.EnterFn(node, ctx, wr, (async (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter, nameNode : CodeNode, fnArgs : CodeNode, fnBody : CodeNode, desc : RangerAppClassDesc): Promise<void> => { \n const m : RangerAppFunctionDesc = desc.findMethod(nameNode.vref);\n const subCtx : RangerAppWriterContext = m.fnCtx;\n await this.walkFunctionBody(m, fnBody, ctx, subCtx, wr);\n }));\n };\n async EnterStaticMethod (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.EnterFn(node, ctx, wr, (async (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter, nameNode : CodeNode, fnArgs : CodeNode, fnBody : CodeNode, desc : RangerAppClassDesc): Promise<void> => { \n const m : RangerAppFunctionDesc = desc.findStaticMethod(nameNode.vref);\n const subCtx : RangerAppWriterContext = ctx.fork();\n m.fnCtx = subCtx;\n subCtx.in_static_method = true;\n await this.walkFunctionBody(m, fnBody, ctx, subCtx, wr);\n subCtx.in_static_method = false;\n }));\n };\n async DefineArrowOpFn (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const myName : string = ctx.createNewOpFnName();\n const argsNode : CodeNode = CodeNode.expressionNode();\n const fBody : CodeNode = node.copy();\n fBody.children.splice(0, 1);\n const opNode : CodeNode = CodeNode.fromList([CodeNode.vref1(\"defn\"), CodeNode.vref1(myName), argsNode, fBody]);\n const setArg : (idx:number) => void = ((idx : number):void => { \n let i : number = argsNode.children.length;\n while (i <= idx) {\n argsNode.children.push(CodeNode.vref1(((myName + \"_arg\") + i)));\n i = i + 1;\n };\n });\n await fBody.forTree((async (item : CodeNode, i : number): Promise<void> => { \n await operatorsOf.forEach_15(item.attrs, (async (item : CodeNode, index : number): Promise<void> => { \n await item.forTree(((item : CodeNode, i : number):void => { \n if ( (item.vref.length) > 0 ) {\n if ( item.vref == \"_\" ) {\n setArg(0);\n item.vref = myName + \"_arg0\";\n }\n const parts : Array<string> = item.vref.split(\"_\");\n if ( (parts.length) == 2 ) {\n const rest : string = parts[1];\n const nbr : number = isNaN( parseInt(rest) ) ? undefined : parseInt(rest);\n if ( (typeof(nbr) !== \"undefined\" && nbr != null ) ) {\n const n : number = nbr;\n setArg(n - 1);\n item.vref = (myName + \"_arg\") + (n - 1);\n }\n }\n }\n }));\n }));\n if ( (item.vref.length) > 0 ) {\n if ( item.vref == \"_\" ) {\n await setArg(0);\n item.vref = myName + \"_arg0\";\n }\n const parts_1 : Array<string> = item.vref.split(\"_\");\n if ( (parts_1.length) == 2 ) {\n const rest_1 : string = parts_1[1];\n const nbr_1 : number = isNaN( parseInt(rest_1) ) ? undefined : parseInt(rest_1);\n if ( (typeof(nbr_1) !== \"undefined\" && nbr_1 != null ) ) {\n const n_1 : number = nbr_1;\n await setArg(n_1 - 1);\n item.vref = (myName + \"_arg\") + (n_1 - 1);\n }\n }\n }\n }));\n ctx.addOpFn(myName, opNode);\n node.children.length = 0;\n node.vref = myName;\n node.expression = false;\n };\n DefineOpFn (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( (node.children.length) < 4 ) {\n ctx.addError(node, \"invalid operator function\");\n return;\n }\n const fnName : CodeNode = node.children[1];\n if ( false == ((fnName.vref.length) > 0) ) {\n ctx.addError(node, \"operator function has no name\");\n return;\n }\n ctx.addOpFn(fnName.vref, node);\n node.disabled_node = true;\n node.flow_done = true;\n };\n async testCompile (opFn : CodeNode, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<{[key:string]:CodeNode}> {\n /** unused: const ok : boolean = false **/ \n const rootCtx : RangerAppWriterContext = ctx.getRoot();\n /** unused: const errCnt : number = rootCtx.compilerErrors.length **/ \n const opParams : CodeNode = opFn.children[2];\n const opBody : CodeNode = opFn.children[3];\n const xValue : CodeNode = node.copy();\n xValue.children.splice(0, 1);\n let regToArg : {[key:string]:CodeNode} = {};\n const am : RangerArgMatch = new RangerArgMatch();\n opParams.parallelTree(xValue, ((left : CodeNode, right : CodeNode, i : number):void => { \n if ( ((typeof(left) !== \"undefined\" && left != null ) ) && ((typeof(right) !== \"undefined\" && right != null ) ) ) {\n if ( (left.vref.length) > 0 ) {\n const v : CodeNode = right;\n if ( v.expression ) {\n regToArg[left.vref] = right;\n }\n am.nodes[left.vref] = right;\n }\n }\n }));\n let opParamSet : {[key:string]:boolean} = {};\n let regParams : {[key:string]:boolean} = {};\n let regNames : {[key:string]:string} = {};\n if ( false == ((node.register_name.length) > 0) ) {\n await opBody.forTree((async (item : CodeNode, i : number): Promise<void> => { \n if ( ( typeof(regToArg[item.vref] ) != \"undefined\" && regToArg.hasOwnProperty(item.vref) ) ) {\n if ( ( typeof(opParamSet[item.vref] ) != \"undefined\" && opParamSet.hasOwnProperty(item.vref) ) ) {\n if ( false == (( typeof(regParams[item.vref] ) != \"undefined\" && regParams.hasOwnProperty(item.vref) )) ) {\n const realArg : CodeNode = (regToArg[item.vref]);\n if ( (realArg.register_name.length) > 0 ) {\n } else {\n const regName : string = ctx.createNewRegName();\n regNames[item.vref] = regName;\n const argCopy : CodeNode = realArg.copy();\n const regExpr : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName), argCopy]);\n await this.WalkNode(regExpr, ctx, wr);\n const regArg : CodeNode = regExpr.children[1];\n const realRegName : string = (((regExpr.children[1])).paramDesc).compiledName;\n regArg.paramDesc.set_cnt = 1;\n regArg.paramDesc.ref_cnt = 1;\n const BlockOP : CodeNode = ctx.getLastBlockOp();\n BlockOP.register_expressions.push(regExpr);\n realArg.register_name = regName;\n realArg.reg_compiled_name = realRegName;\n }\n }\n regParams[item.vref] = true;\n }\n opParamSet[item.vref] = true;\n }\n }));\n }\n /** unused: const bodyCopy : CodeNode = opBody.copy() **/ \n const newNode : CodeNode = opBody.rebuildWithType(am, true);\n node.children.length = 0;\n await operatorsOf.forEach_15(newNode.children, ((item : CodeNode, index : number):void => { \n const tmp : CodeNode = item;\n node.children.push(tmp);\n }));\n node.flow_done = false;\n if ( opBody.is_block_node ) {\n console.log(\"Block -> \" + opBody.getCode());\n const blockCtx : RangerAppWriterContext = ctx.fork();\n blockCtx.newBlock();\n await this.WalkNode(node, blockCtx, wr);\n } else {\n await this.WalkNode(node, ctx, wr);\n }\n return am.builtNodes;\n };\n async TransformOpFn (opFnList : Array<CodeNode>, origNode : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( this.infinite_recursion ) {\n return;\n }\n let ok : boolean = false;\n const rootCtx : RangerAppWriterContext = ctx.getRoot();\n const errCnt : number = rootCtx.compilerErrors.length;\n const use_delta : boolean = true;\n let least_err_cnt : number = 99999;\n let least_errs : Array<RangerCompilerMessage> = [];\n const depth : number = operatorsOfstring_33.transactionc95depth_34(\"TransformOpFn\", ctx);\n if ( depth > 20 ) {\n ctx.addError(origNode, \"Error: recursive operator function detected\");\n this.infinite_recursion = true;\n return;\n }\n if ( (origNode.register_name.length) > 0 ) {\n if ( ctx.isVarDefined(origNode.register_name) ) {\n const regInfo : RangerAppParamDesc = ctx.getVariableDef(origNode.register_name);\n if ( (typeof(regInfo.nameNode) !== \"undefined\" && regInfo.nameNode != null ) ) {\n origNode.copyEvalResFrom(regInfo.nameNode);\n return;\n } else {\n }\n } else {\n }\n }\n const fc : CodeNode = origNode.children[0];\n const myT : ContextTransaction = operatorsOf_33.startc95transaction_35(\"TransformOpFn\", fc.vref, ctx);\n let newOps : Array<CodeNode> = [];\n let tryTypes : Array<string> = [\"string\", \"int\", \"double\", \"boolean\"];\n const codeStrHash : string = origNode.getSource();\n if ( ( typeof(this.match_types[codeStrHash] ) != \"undefined\" && this.match_types.hasOwnProperty(codeStrHash) ) ) {\n tryTypes.splice(0, 0, (this.match_types[codeStrHash]));\n }\n const cList : Array<RangerAppClassDesc> = (ctx.getRoot()).getClasses().slice().reverse();\n operatorsOf.forEach_31(cList, ((item : RangerAppClassDesc, index : number):void => { \n if ( item.isNormalClass() || item.is_system ) {\n if ( (codeStrHash.indexOf(item.name)) >= 0 ) {\n tryTypes.splice(0, 0, item.name);\n } else {\n tryTypes.push(item.name);\n }\n }\n }));\n await operatorsOf.forEach_15(opFnList, (async (item : CodeNode, index : number): Promise<void> => { \n let had_v : boolean = false;\n await item.forTree(((item : CodeNode, i : number):void => { \n if ( ((item.array_type == \"?\") || (item.key_type == \"?\")) || (item.type_name == \"?\") ) {\n had_v = true;\n }\n }));\n if ( had_v ) {\n const opFn : CodeNode = item.copy();\n /** unused: const opParams : CodeNode = opFn.children[2] **/ \n /** unused: const opBody : CodeNode = opFn.children[3] **/ \n let typeName : string = \"\";\n await operatorsOf.forEach_12(tryTypes, (async (item : string, index : number): Promise<void> => { \n const copyOfFn : CodeNode = opFn.copy();\n typeName = item;\n await copyOfFn.forTree(((item : CodeNode, i : number):void => { \n if ( item.array_type == \"?\" ) {\n item.array_type = typeName;\n }\n if ( item.key_type == \"?\" ) {\n item.key_type = typeName;\n }\n if ( item.type_name == \"?\" ) {\n item.type_name = typeName;\n }\n }));\n copyOfFn.matched_type = typeName;\n newOps.push(copyOfFn);\n }));\n }\n }));\n if ( (newOps.length) > 0 ) {\n await operatorsOf.forEach_15(newOps, ((item : CodeNode, index : number):void => { \n /** unused: const tmp : CodeNode = item **/ \n opFnList.push(item);\n }));\n }\n const oNodeParams : number = origNode.children.length;\n operatorsOf.filter_36(opFnList, ((item : CodeNode, index : number):boolean => { \n const opParams_1 : CodeNode = item.children[2];\n return oNodeParams == ((opParams_1.children.length) - 1);\n }));\n await operatorsOf.forEach_15(opFnList, (async (item : CodeNode, index : number): Promise<void> => { \n if ( ok ) {\n return;\n } else {\n const currentErrCnt : number = rootCtx.compilerErrors.length;\n const errDelta : number = currentErrCnt - errCnt;\n if ( errDelta > 0 ) {\n if ( errDelta < least_err_cnt ) {\n least_err_cnt = errDelta;\n let i : number = errCnt;\n least_errs.length = 0;\n while (i < currentErrCnt) {\n const tmp_1 : RangerCompilerMessage = rootCtx.compilerErrors[i];\n least_errs.push(tmp_1);\n i = i + 1;\n };\n }\n let i_1 : number = errCnt;\n while (i_1 < currentErrCnt) {\n rootCtx.compilerErrors.pop();\n i_1 = i_1 + 1;\n };\n }\n }\n const originalOpFn : CodeNode = item;\n const node : CodeNode = origNode.copy();\n const opFn_1 : CodeNode = item;\n const opParams_2 : CodeNode = opFn_1.children[2];\n const opBody_1 : CodeNode = opFn_1.children[3];\n const xValue : CodeNode = node.copy();\n xValue.children.splice(0, 1);\n await opBody_1.forTree(((item : CodeNode, i : number):void => { \n if ( item.vref == \"return\" ) {\n }\n }));\n let regToArg : {[key:string]:CodeNode} = {};\n const am : RangerArgMatch = new RangerArgMatch();\n opParams_2.parallelTree(xValue, ((left : CodeNode, right : CodeNode, i : number):void => { \n if ( ((typeof(left) !== \"undefined\" && left != null ) ) && ((typeof(right) !== \"undefined\" && right != null ) ) ) {\n if ( (left.vref.length) > 0 ) {\n const v : CodeNode = right;\n if ( v.expression ) {\n regToArg[left.vref] = right;\n }\n am.nodes[left.vref] = right;\n }\n }\n }));\n let opParamSet : {[key:string]:boolean} = {};\n let regParams : {[key:string]:boolean} = {};\n let regNames : {[key:string]:string} = {};\n const BlockOP : CodeNode = ctx.getLastBlockOp();\n let newDefNodes : Array<CodeNode> = [];\n let newRNodes : Array<CodeNode> = [];\n if ( false == ((node.register_name.length) > 0) ) {\n await opBody_1.forTree((async (item : CodeNode, i : number): Promise<void> => { \n if ( ( typeof(regToArg[item.vref] ) != \"undefined\" && regToArg.hasOwnProperty(item.vref) ) ) {\n if ( ( typeof(opParamSet[item.vref] ) != \"undefined\" && opParamSet.hasOwnProperty(item.vref) ) ) {\n if ( false == (( typeof(regParams[item.vref] ) != \"undefined\" && regParams.hasOwnProperty(item.vref) )) ) {\n const realArg : CodeNode = (regToArg[item.vref]);\n if ( (realArg.register_name.length) > 0 ) {\n } else {\n const regName : string = ctx.createNewRegName();\n regNames[item.vref] = regName;\n const argCopy : CodeNode = realArg.copy();\n const regExpr : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName), argCopy]);\n const cnt : number = BlockOP.register_expressions.length;\n await this.WalkNode(regExpr, ctx, wr);\n const opCntDelta : number = (BlockOP.register_expressions.length) - cnt;\n if ( use_delta && (opCntDelta > 0) ) {\n const opCnt : number = BlockOP.register_expressions.length;\n let i_2 : number = cnt;\n while (i_2 < opCnt) {\n const tmp_2 : CodeNode = BlockOP.register_expressions[i_2];\n newRNodes.push(tmp_2);\n i_2 = i_2 + 1;\n };\n i_2 = cnt;\n while (i_2 < opCnt) {\n BlockOP.register_expressions.pop();\n i_2 = i_2 + 1;\n };\n }\n const regArg : CodeNode = regExpr.children[1];\n const realRegName : string = (((regExpr.children[1])).paramDesc).compiledName;\n regArg.paramDesc.set_cnt = 1;\n regArg.paramDesc.ref_cnt = 1;\n if ( use_delta ) {\n newRNodes.push(regExpr);\n } else {\n const BlockOP_1 : CodeNode = ctx.getLastBlockOp();\n BlockOP_1.register_expressions.push(regExpr);\n }\n realArg.register_name = regName;\n realArg.reg_compiled_name = realRegName;\n }\n }\n regParams[item.vref] = true;\n }\n opParamSet[item.vref] = true;\n }\n }));\n }\n const newNode : CodeNode = opBody_1.rebuildWithType(am, true);\n node.getChildrenFrom(newNode);\n node.flow_done = false;\n ctx.setTestCompile();\n if ( opBody_1.is_block_node ) {\n const blockCtx : RangerAppWriterContext = ctx.fork();\n blockCtx.newBlock();\n await this.WalkNode(node, blockCtx, wr);\n } else {\n await this.WalkNode(node, ctx, wr);\n }\n if ( errCnt == (rootCtx.compilerErrors.length) ) {\n ctx.unsetTestCompile();\n if ( (originalOpFn.matched_type.length) > 0 ) {\n this.match_types[codeStrHash] = originalOpFn.matched_type;\n }\n if ( false == ctx.isTestCompile() ) {\n await operatorsOf.forEach_15(newDefNodes, ((item : CodeNode, index : number):void => { \n const tmp_3 : CodeNode = item;\n BlockOP.register_expressions.push(tmp_3);\n }));\n await operatorsOf.forEach_15(newRNodes, ((item : CodeNode, index : number):void => { \n const tmp_4 : CodeNode = item;\n BlockOP.register_expressions.push(tmp_4);\n }));\n }\n ok = true;\n const newNode_1 : CodeNode = opBody_1.rebuildWithType(am, true);\n origNode.getChildrenFrom(newNode_1);\n origNode.flow_done = false;\n if ( opBody_1.is_block_node ) {\n const blockCtx_1 : RangerAppWriterContext = ctx.fork();\n blockCtx_1.newBlock();\n await this.WalkNode(origNode, blockCtx_1, wr);\n const lastLine : CodeNode = origNode.children[((origNode.children.length) - 1)];\n if ( (lastLine.isFirstVref(\"ret\") || ((lastLine.eval_array_type.length) > 0)) || (((lastLine.eval_type_name.length) > 0) && (lastLine.eval_type_name != \"void\")) ) {\n const argVal : CodeNode = lastLine.children[1];\n await this.WalkNode(argVal, blockCtx_1, wr);\n origNode.copyEvalResFrom(argVal);\n const regName_1 : string = ctx.createNewRegName();\n regNames[item.vref] = regName_1;\n const argCopy_1 : CodeNode = argVal.copy();\n const nameNode : CodeNode = CodeNode.vref1(regName_1);\n nameNode.value_type = origNode.eval_type;\n nameNode.type_name = origNode.eval_type_name;\n nameNode.array_type = origNode.eval_array_type;\n nameNode.key_type = origNode.eval_key_type;\n if ( argVal.eval_type == 17 ) {\n if ( (typeof(argVal.expression_value) !== \"undefined\" && argVal.expression_value != null ) ) {\n nameNode.expression_value = argVal.expression_value.copy();\n } else {\n nameNode.expression_value = argVal.copy();\n }\n }\n nameNode.setFlag(\"unwrap\");\n const regExpr_1 : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), nameNode]);\n await this.WalkNode(regExpr_1, ctx, wr);\n const regArg_1 : CodeNode = regExpr_1.children[1];\n const realRegName_1 : string = (((regExpr_1.children[1])).paramDesc).compiledName;\n regArg_1.paramDesc.set_cnt = 1;\n regArg_1.paramDesc.ref_cnt = 1;\n const BlockOP_2 : CodeNode = ctx.getLastBlockOp();\n if ( false == ctx.isTestCompile() ) {\n }\n origNode.register_name = regName_1;\n origNode.reg_compiled_name = realRegName_1;\n lastLine.flow_done = false;\n lastLine.children.length = 0;\n lastLine.getChildrenFrom(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName_1), argCopy_1]));\n /** unused: const regE : CodeNode = regExpr_1.children[1] **/ \n await this.WalkNode(lastLine, blockCtx_1, wr);\n const myBlock : CodeNode = CodeNode.expressionNode();\n myBlock.getChildrenFrom(origNode);\n if ( false == ctx.isTestCompile() ) {\n myBlock.children.splice(0, 0, regExpr_1);\n BlockOP_2.register_expressions.push(myBlock);\n }\n origNode.children.length = 0;\n origNode.flow_done = true;\n }\n } else {\n await this.WalkNode(origNode, ctx, wr);\n origNode.flow_done = true;\n }\n } else {\n ctx.unsetTestCompile();\n }\n }));\n /** unused: const depth_2 : number = operatorsOf_33.transactionc95depth_34(\"TransformOpFn\", ctx) **/ \n /** unused: const errDelta_1 : number = (rootCtx.compilerErrors.length) - errCnt **/ \n const currentErrCnt_1 : number = rootCtx.compilerErrors.length;\n const errDelta_3 : number = currentErrCnt_1 - errCnt;\n if ( errDelta_3 > 0 ) {\n if ( errDelta_3 < least_err_cnt ) {\n let i_3 : number = errCnt;\n least_errs.length = 0;\n while (i_3 < currentErrCnt_1) {\n const tmp_5 : RangerCompilerMessage = rootCtx.compilerErrors[i_3];\n least_errs.push(tmp_5);\n i_3 = i_3 + 1;\n };\n }\n let i_4 : number = errCnt;\n while (i_4 < currentErrCnt_1) {\n rootCtx.compilerErrors.pop();\n i_4 = i_4 + 1;\n };\n }\n if ( errDelta_3 > 0 ) {\n operatorsOf.forEach_37(least_errs, ((item : RangerCompilerMessage, index : number):void => { \n const tmp_6 : RangerCompilerMessage = item;\n rootCtx.compilerErrors.push(tmp_6);\n }));\n console.log(\"^ had errors...\");\n ctx.addError(origNode, \"Could not find suitable match for the operator node\");\n }\n if ( this.infinite_recursion ) {\n ctx.addError(origNode, \"Error: max recursiion depth of > 20 for inline operators detected\");\n }\n operatorsOfContextTransaction_38.endc95transaction_39(myT);\n };\n async cmdArray (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( (node.children.length) == 3 ) {\n const sc : CodeNode = node.getSecond();\n if ( ((sc.vref.length) > 0) && ((sc.type_name.length) > 0) ) {\n node.eval_array_type = sc.type_name;\n node.eval_type = 6;\n const items : CodeNode = node.getThird();\n let b_union : boolean = false;\n let union_types : Array<string> = [];\n if ( ctx.isDefinedClass(sc.type_name) ) {\n const cl : RangerAppClassDesc = ctx.findClass(sc.type_name);\n if ( cl.is_union ) {\n b_union = true;\n union_types = cl.is_union_of;\n }\n }\n const arrayItems : CodeNode = node.newExpressionNode();\n for ( let i = 0; i < items.children.length; i++) {\n var it = items.children[i];\n const itemCopy : CodeNode = it.copy();\n await this.WalkNode(itemCopy, ctx, wr);\n if ( itemCopy.eval_type_name != sc.type_name ) {\n if ( b_union ) {\n if ( (union_types.indexOf(itemCopy.eval_type_name)) >= 0 ) {\n } else {\n ctx.addError(it, (itemCopy.eval_type_name + \" is Not part of union \") + sc.type_name);\n break;\n }\n } else {\n ctx.addError(it, \"The array type should be \" + sc.type_name);\n break;\n }\n }\n arrayItems.children.push(itemCopy);\n };\n node.getChildrenFrom(arrayItems);\n node.is_array_literal = true;\n return;\n }\n }\n const arrayItems_1 : CodeNode = node.newExpressionNode();\n let types : Array<string> = [];\n for ( let i_1 = 0; i_1 < node.children.length; i_1++) {\n var it_1 = node.children[i_1];\n if ( i_1 == 0 ) {\n continue;\n }\n const itemCopy_1 : CodeNode = it_1.copy();\n await this.WalkNode(itemCopy_1, ctx, wr);\n if ( (types.indexOf(itemCopy_1.eval_type_name)) < 0 ) {\n types.push(itemCopy_1.eval_type_name);\n }\n arrayItems_1.children.push(itemCopy_1);\n };\n const typeCnt : number = types.length;\n if ( typeCnt == 0 ) {\n ctx.addError(node, \"Invalid array types\");\n return;\n }\n node.eval_type = 6;\n if ( (types.length) > 1 ) {\n node.eval_array_type = \"Any\";\n } else {\n node.eval_array_type = types[0];\n }\n node.is_array_literal = true;\n node.getChildrenFrom(arrayItems_1);\n };\n async EnterLambdaMethod (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n const subCtx : RangerAppWriterContext = ctx.fork();\n if ( false == args.expression ) {\n ctx.addError(node, \"Invalid anonymous function: second param should be an expression\");\n }\n ctx.incLambdaCnt();\n subCtx.is_capturing = true;\n node.evalTypeClass = TFactory.new_lambda_signature(node, ctx, wr);\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n const cn : CodeNode = node.children[0];\n const m : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m.name = \"lambda\";\n m.node = node;\n m.is_lambda = true;\n m.nameNode = node.children[0];\n m.insideFn = currM;\n subCtx.newBlock();\n currM.myLambdas.push(m);\n subCtx.is_function = true;\n subCtx.currentMethod = m;\n if ( cn.hasFlag(\"weak\") ) {\n m.changeStrength(0, 1, node);\n } else {\n m.changeStrength(1, 1, node);\n }\n m.fnBody = node.children[2];\n for ( let ii = 0; ii < args.children.length; ii++) {\n var arg = args.children[ii];\n await this.CheckTypeAnnotationOf(arg, subCtx, wr);\n const p2 : RangerAppParamDesc = new RangerAppParamDesc();\n p2.name = arg.vref;\n p2.value_type = arg.value_type;\n p2.node = arg;\n p2.nameNode = arg;\n p2.init_cnt = 1;\n p2.refType = 1;\n p2.initRefType = 1;\n if ( args.hasBooleanProperty(\"strong\") ) {\n p2.refType = 2;\n p2.initRefType = 2;\n }\n p2.varType = 4;\n m.params.push(p2);\n arg.hasParamDesc = true;\n arg.paramDesc = p2;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n if ( arg.hasFlag(\"strong\") ) {\n p2.changeStrength(1, 1, p2.nameNode);\n } else {\n arg.setFlag(\"lives\");\n p2.changeStrength(0, 1, p2.nameNode);\n }\n subCtx.defineVariable(p2.name, p2);\n };\n /** unused: const cnt : number = body.children.length **/ \n for ( let i = 0; i < body.children.length; i++) {\n var item = body.children[i];\n const tmp : CodeNode = item;\n subCtx.lastBlockOp = tmp;\n await this.WalkNode(item, subCtx, wr);\n if ( i == ((body.children.length) - 1) ) {\n if ( (item.children.length) > 0 ) {\n const fc : CodeNode = item.getFirst();\n if ( fc.vref != \"return\" ) {\n cn.type_name = \"void\";\n }\n }\n }\n };\n node.has_lambda = true;\n node.lambda_ctx = subCtx;\n node.eval_type = 17;\n node.eval_function = node;\n node.expression_value = node.copy();\n node.lambdaFnDesc = m;\n if ( ctx.isCapturing() ) {\n await operatorsOf.forEach_12(node.lambda_ctx.captured_variables, ((item : string, index : number):void => { \n if ( ctx.isVarDefined(item) ) {\n if ( ctx.isLocalToCapture(item) == false ) {\n ctx.addCapturedVariable(item);\n }\n }\n }));\n }\n };\n async CheckVRefTypeAnnotationOf (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n if ( node.has_vref_annotation ) {\n const tAnn : CodeNode = node.vref_annotation;\n if ( false == ctx.isDefinedClass(node.vref) ) {\n ctx.addError(node, (\"Trait class \" + node.vref) + \" is not defined\");\n } else {\n const testC : RangerAppClassDesc = ctx.findClass(node.vref);\n if ( testC.is_trait ) {\n if ( testC.node.hasExpressionProperty(\"params\") ) {\n /** unused: const params : CodeNode = testC.node.getExpressionProperty(\"params\") **/ \n /** unused: const cnt : number = tAnn.children.length **/ \n let tstr : string = \"\";\n for ( let i = 0; i < tAnn.children.length; i++) {\n var ch = tAnn.children[i];\n await this.CheckVRefTypeAnnotationOf(ch, ctx, wr);\n tstr = (tstr + \"_\") + ch.vref;\n };\n const my_class_name : string = testC.name + tstr;\n const ann : CodeNode = tAnn;\n await ctx.createTraitInstanceClass(testC.name, my_class_name, ann, this, wr);\n node.vref = my_class_name;\n node.has_vref_annotation = false;\n return true;\n }\n }\n }\n }\n return false;\n };\n async CheckTypeAnnotationOf (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n if ( node.has_type_annotation ) {\n const tAnn : CodeNode = node.type_annotation;\n if ( false == ctx.isDefinedClass(node.type_name) ) {\n ctx.addError(node, (\"Trait class \" + node.type_name) + \" is not defined\");\n } else {\n const testC : RangerAppClassDesc = ctx.findClass(node.type_name);\n if ( testC.is_trait ) {\n if ( testC.node.hasExpressionProperty(\"params\") ) {\n /** unused: const params : CodeNode = testC.node.getExpressionProperty(\"params\") **/ \n /** unused: const cnt : number = tAnn.children.length **/ \n let tstr : string = \"\";\n for ( let i = 0; i < tAnn.children.length; i++) {\n var ch = tAnn.children[i];\n await this.CheckVRefTypeAnnotationOf(ch, ctx, wr);\n tstr = (tstr + \"_\") + ch.vref;\n };\n const my_class_name : string = testC.name + tstr;\n const ann : CodeNode = tAnn;\n await ctx.createTraitInstanceClass(testC.name, my_class_name, ann, this, wr);\n node.type_name = my_class_name;\n node.has_type_annotation = false;\n return true;\n }\n }\n }\n }\n return false;\n };\n async matchNode (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n if ( 0 == (node.children.length) ) {\n return false;\n }\n const fc : CodeNode = node.getFirst();\n this.stdCommands = ctx.getStdCommands();\n const op_list : Array<CodeNode> = await ctx.getOperators(fc.vref);\n for ( let i = 0; i < op_list.length; i++) {\n var cmd = op_list[i];\n const cmdName : CodeNode = cmd.getFirst();\n if ( (cmdName.vref == fc.vref) && (false == ctx.isVarDefined(cmdName.vref)) ) {\n await this.stdParamMatch(node, ctx, wr, true);\n if ( (typeof(node.parent) !== \"undefined\" && node.parent != null ) ) {\n }\n return true;\n }\n };\n if ( ((fc.ns.length) > 1) && ((node.children.length) > 1) ) {\n const possible_cmd : string = fc.ns[((fc.ns.length) - 1)];\n const op_list_2 : Array<CodeNode> = await ctx.getOperators(possible_cmd);\n if ( (op_list_2.length) > 0 ) {\n const args : CodeNode = node.getSecond();\n const nn : CodeNode = fc.copy();\n nn.ns.pop();\n const objName : string = nn.ns.join(\".\");\n const newNode : CodeNode = node.newExpressionNode();\n newNode.add(node.newVRefNode(\"call\"));\n newNode.add(node.newVRefNode(objName));\n newNode.add(node.newVRefNode(possible_cmd));\n newNode.add(args.copy());\n node.getChildrenFrom(newNode);\n if ( ctx.expressionLevel() == 0 ) {\n ctx.lastBlockOp = node;\n }\n node.flow_done = false;\n await this.WalkNode(node, ctx, wr);\n return true;\n }\n }\n return false;\n };\n async StartWalk (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.WalkNode(node, ctx, wr);\n for ( let i = 0; i < this.walkAlso.length; i++) {\n var ch = this.walkAlso[i];\n await this.WalkNode(ch, ctx, wr);\n };\n };\n clearImports (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( node.isFirstVref(\"Import\") ) {\n node.expression = true;\n node.vref = \"\";\n node.children.pop();\n node.children.pop();\n } else {\n for ( let i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n this.clearImports(item, ctx, wr);\n };\n }\n };\n async mergeImports (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const envOpt : InputEnv = ctx.getEnv();\n if ( typeof(envOpt) === \"undefined\" ) {\n ctx.addError(node, \"Environment not defined\");\n return;\n }\n const env : InputEnv = envOpt;\n if ( node.isFirstVref(\"Import\") ) {\n const fNameNode : CodeNode = node.children[1];\n const import_file : string = fNameNode.string_value;\n if ( ( typeof(ctx.already_imported[import_file] ) != \"undefined\" && ctx.already_imported.hasOwnProperty(import_file) ) ) {\n return;\n }\n let source_code : string = \"\";\n const ppList : Array<string> = ctx.findPluginsFor(\"import_loader\");\n if ( (ppList.length) > 0 ) {\n try {\n await operatorsOf.forEach_12(ppList, ((item : string, index : number):void => { \n const plugin : any = require( item );\n const ss : union_Any = ( (new plugin.Plugin () )[\"import_loader\"] )( node, ctx , wr );\n if( typeof(ss) === 'string' ) /* union case for string */ {\n var str = ss;\n console.log(\"--> import \" + str);\n source_code = str;\n };\n }));\n } catch(e) {\n }\n }\n ctx.already_imported[import_file] = true;\n const rootCtx : RangerAppWriterContext = ctx.getRoot();\n if ( (source_code.length) == 0 ) {\n const filePathIs : string = TFiles.searchEnv(env, rootCtx.libraryPaths, import_file);\n if ( operatorsOf_8.filec95exists_9(env, filePathIs, import_file) == false ) {\n if ( ctx.hasCompilerFlag(\"verbose\") ) {\n console.log(\"import did not find the file: \" + import_file);\n }\n ctx.addError(node, \"Could not import file \" + import_file);\n return;\n }\n if ( ctx.hasCompilerFlag(\"verbose\") ) {\n console.log(\"importing \" + import_file);\n }\n const c : string = await operatorsOf_8.readc95file_9(env, filePathIs, import_file);\n source_code = c;\n }\n const code : SourceCode = new SourceCode(source_code);\n code.filename = import_file;\n const parser : RangerLispParser = new RangerLispParser(code);\n parser.parse(ctx.hasCompilerFlag(\"no-op-transform\"));\n node.expression = true;\n node.vref = \"\";\n node.children.pop();\n node.children.pop();\n if ( ctx.hasCompilerFlag(\"copysrc\") ) {\n console.log(\"--> copying \" + import_file);\n const fileWr : CodeWriter = wr.getFileWriter(\".\", import_file);\n fileWr.raw(source_code, false);\n }\n const rn : CodeNode = parser.rootNode;\n await this.mergeImports(rn, ctx, wr);\n node.children.push(rn);\n } else {\n for ( let i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n await this.mergeImports(item, ctx, wr);\n };\n }\n };\n async CollectMethods (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.WalkCollectMethods(node, ctx, wr);\n let allTypes : Array<string> = [];\n const serviceBuilder : RangerServiceBuilder = new RangerServiceBuilder();\n await serviceBuilder.CreateServices(this, ctx, wr);\n operatorsOf_13.forEach_40(this.extendedClasses, ((item : string, index : string):void => { \n const ch : RangerAppClassDesc = ctx.findClass(index);\n const parent : RangerAppClassDesc = ctx.findClass(item);\n ch.addParentClass(item);\n parent.is_inherited = true;\n operatorsOf.forEach_11(parent.variables, ((item : RangerAppParamDesc, index : number):void => { \n ch.ctx.defineVariable(item.name, item);\n }));\n }));\n for ( let i = 0; i < this.classesWithTraits.length; i++) {\n var point = this.classesWithTraits[i];\n const cl : RangerAppClassDesc = point.class_def;\n /** unused: const joinPoint : CodeNode = point.node **/ \n const traitClassDef : CodeNode = point.node.children[1];\n const name : string = traitClassDef.vref;\n const t : RangerAppClassDesc = ctx.findClass(name);\n if ( (t.extends_classes.length) > 0 ) {\n ctx.addError(point.node, (\"Can not join class \" + name) + \" because it is inherited. Currently on base classes can be used as traits.\");\n continue;\n }\n if ( t.has_constructor ) {\n ctx.addError(point.node, (\"Can not join class \" + name) + \" because it has a constructor function\");\n } else {\n const origBody : CodeNode = cl.node.children[2];\n const match : RangerArgMatch = new RangerArgMatch();\n const params : CodeNode = t.node.getExpressionProperty(\"params\");\n const initParams : CodeNode = point.node.getExpressionProperty(\"params\");\n const traitParams : RangerTraitParams = new RangerTraitParams();\n if ( ((typeof(params) !== \"undefined\" && params != null ) ) && ((typeof(initParams) !== \"undefined\" && initParams != null ) ) ) {\n for ( let i_1 = 0; i_1 < params.children.length; i_1++) {\n var typeName = params.children[i_1];\n const pArg : CodeNode = initParams.children[i_1];\n if ( 0 == (pArg.vref.length) ) {\n match.addNode(typeName.vref, pArg);\n } else {\n match.add(typeName.vref, pArg.vref, ctx);\n }\n traitParams.param_names.push(typeName.vref);\n traitParams.values[typeName.vref] = pArg.vref;\n };\n cl.trait_params[name] = traitParams;\n } else {\n match.add(\"T\", cl.name, ctx);\n }\n ctx.setCurrentClass(cl);\n const traitClass : RangerAppClassDesc = ctx.findClass(traitClassDef.vref);\n for ( let i_2 = 0; i_2 < traitClass.variables.length; i_2++) {\n var pvar = traitClass.variables[i_2];\n const ccopy : CodeNode = pvar.node.rebuildWithType(match, true);\n await this.WalkCollectMethods(ccopy, ctx, wr);\n origBody.children.push(ccopy);\n };\n for ( let i_3 = 0; i_3 < traitClass.defined_variants.length; i_3++) {\n var fnVar = traitClass.defined_variants[i_3];\n const mVs : RangerAppMethodVariants = traitClass.method_variants[fnVar];\n for ( let i_4 = 0; i_4 < mVs.variants.length; i_4++) {\n var variant = mVs.variants[i_4];\n const ccopy_1 : CodeNode = variant.node.rebuildWithType(match, true);\n await this.WalkCollectMethods(ccopy_1, ctx, wr);\n origBody.children.push(ccopy_1);\n };\n };\n for ( let i_5 = 0; i_5 < traitClass.static_methods.length; i_5++) {\n var variant_1 = traitClass.static_methods[i_5];\n const ccopy_2 : CodeNode = variant_1.node.rebuildWithType(match, true);\n await this.WalkCollectMethods(ccopy_2, ctx, wr);\n origBody.children.push(ccopy_2);\n };\n }\n };\n const cClassList : Array<RangerAppClassDesc> = this.serializedClasses.slice().sort(((left : RangerAppClassDesc, right : RangerAppClassDesc):number => { \n let left_had : boolean = false;\n let right_had : boolean = false;\n operatorsOf.forEach_11(left.variables, ((item : RangerAppParamDesc, index : number):void => { \n if ( (item.nameNode.type_name == right.name) || (item.nameNode.array_type == right.name) ) {\n left_had = true;\n }\n }));\n operatorsOf.forEach_11(right.variables, ((item : RangerAppParamDesc, index : number):void => { \n if ( (item.nameNode.type_name == left.name) || (item.nameNode.array_type == left.name) ) {\n right_had = true;\n }\n }));\n if ( left_had ) {\n return 1;\n }\n if ( right_had ) {\n return -1;\n }\n return 0;\n }));\n for ( let i_6 = 0; i_6 < cClassList.length; i_6++) {\n var cl_1 = cClassList[i_6];\n cl_1.is_serialized = true;\n const ser : RangerSerializeClass = new RangerSerializeClass();\n const extWr : CodeWriter = new CodeWriter();\n ser.createJSONSerializerFn2(cl_1, cl_1.ctx, extWr);\n const theCode : string = extWr.getCode();\n const code : SourceCode = new SourceCode(theCode);\n code.filename = \"extension \" + ctx.currentClass.name;\n const parser : RangerLispParser = new RangerLispParser(code);\n parser.parse(ctx.hasCompilerFlag(\"no-op-transform\"));\n const rn : CodeNode = parser.rootNode;\n await this.WalkCollectMethods(rn, cl_1.ctx, wr);\n this.walkAlso.push(rn);\n };\n for ( let i_7 = 0; i_7 < this.immutableClasses.length; i_7++) {\n var cl_2 = this.immutableClasses[i_7];\n const ser_1 : RangerImmutableExtension = new RangerImmutableExtension();\n const extWr_1 : CodeWriter = new CodeWriter();\n ser_1.createImmutableExtension(cl_2, cl_2.ctx, extWr_1);\n const theCode_1 : string = extWr_1.getCode();\n const code_1 : SourceCode = new SourceCode(theCode_1);\n code_1.filename = \"extension \" + cl_2.name;\n const parser_1 : RangerLispParser = new RangerLispParser(code_1);\n parser_1.parse(ctx.hasCompilerFlag(\"no-op-transform\"));\n const rn_1 : CodeNode = parser_1.rootNode;\n await this.WalkCollectMethods(rn_1, cl_2.ctx, wr);\n this.walkAlso.push(rn_1);\n };\n for ( let i_8 = 0; i_8 < ctx.definedClassList.length; i_8++) {\n var cname = ctx.definedClassList[i_8];\n allTypes.push(cname);\n const c : RangerAppClassDesc = (ctx.definedClasses[cname]);\n if ( ((c.is_system || c.is_interface) || c.is_template) || c.is_trait ) {\n continue;\n }\n let varNames : {[key:string]:boolean} = {};\n for ( let i_9 = 0; i_9 < c.variables.length; i_9++) {\n var p = c.variables[i_9];\n ctx.hadValidType(p.nameNode);\n varNames[p.name] = true;\n };\n await operatorsOf_13.forEach_30(c.method_variants, (async (item : RangerAppMethodVariants, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.variants, ((item : RangerAppFunctionDesc, index : number):void => { \n if ( ( typeof(varNames[item.name] ) != \"undefined\" && varNames.hasOwnProperty(item.name) ) ) {\n ctx.addError(item.nameNode, \"Class has defined method and variable of the same name.\");\n }\n }));\n }));\n };\n for ( let i_10 = 0; i_10 < ctx.definedClassList.length; i_10++) {\n var cname_1 = ctx.definedClassList[i_10];\n allTypes.push(cname_1);\n };\n allTypes.push(\"int\");\n allTypes.push(\"string\");\n allTypes.push(\"boolean\");\n allTypes.push(\"double\");\n const Anynn : CodeNode = node.newVRefNode(\"Any\");\n const rootCtx : RangerAppWriterContext = ctx.getRoot();\n const new_class : RangerAppClassDesc = new RangerAppClassDesc();\n new_class.name = \"Any\";\n new_class.nameNode = Anynn;\n rootCtx.addClass(\"Any\", new_class);\n new_class.is_union = true;\n let did_push : {[key:string]:boolean} = {};\n for ( let i_11 = 0; i_11 < allTypes.length; i_11++) {\n var typeName_1 = allTypes[i_11];\n if ( ( typeof(did_push[typeName_1] ) != \"undefined\" && did_push.hasOwnProperty(typeName_1) ) ) {\n continue;\n }\n new_class.is_union_of.push(typeName_1);\n did_push[typeName_1] = true;\n };\n Anynn.clDesc = new_class;\n };\n async defineFunctionParam (method : RangerAppFunctionDesc, arg : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.CheckTypeAnnotationOf(arg, ctx, wr);\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = arg.vref;\n p.value_type = arg.value_type;\n p.node = arg;\n p.init_cnt = 1;\n p.nameNode = arg;\n p.refType = 1;\n p.varType = 4;\n method.params.push(p);\n arg.hasParamDesc = true;\n arg.paramDesc = p;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n if ( arg.hasFlag(\"strong\") ) {\n p.changeStrength(1, 1, p.nameNode);\n } else {\n arg.setFlag(\"lives\");\n p.changeStrength(0, 1, p.nameNode);\n }\n };\n spliceFunctionBody (startIndex : number, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : CodeNode {\n let block_index : number = startIndex;\n const ch_len : number = (node.children.length) - 1;\n if ( ch_len == startIndex ) {\n return node;\n }\n for ( let i = 0; i < node.children.length; i++) {\n var cb = node.children[i];\n if ( i > startIndex ) {\n if ( (cb.vref.length) > 0 ) {\n if ( ctx.hasCompilerFlag(cb.vref) && (i < ch_len) ) {\n block_index = i + 1;\n }\n }\n }\n };\n const copyOf : CodeNode = node.copy();\n while ((node.children.length) > (startIndex + 1)) {\n node.children.pop();\n };\n if ( block_index > startIndex ) {\n const replacer : CodeNode = copyOf.children[block_index];\n node.children.pop();\n node.children.push(replacer.copy());\n }\n return node;\n };\n async CreateFunctionObject (orig_node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<RangerAppFunctionDesc> {\n const subCtx : RangerAppWriterContext = ctx.fork();\n const node : CodeNode = this.spliceFunctionBody(3, orig_node, subCtx, wr);\n const cn : CodeNode = node.getSecond();\n /** unused: const s : string = node.getVRefAt(1) **/ \n cn.ifNoTypeSetToVoid();\n const m : RangerAppFunctionDesc = operatorsOfCodeNode_41.rc46funcdesc_42(node, ctx);\n subCtx.is_function = true;\n subCtx.currentMethod = m;\n m.fnCtx = subCtx;\n if ( cn.hasFlag(\"weak\") ) {\n m.changeStrength(0, 1, node);\n } else {\n m.changeStrength(1, 1, node);\n }\n const args : CodeNode = node.children[2];\n m.fnBody = node.children[3];\n await this.CheckTypeAnnotationOf(m.nameNode, ctx, wr);\n for ( let ii = 0; ii < args.children.length; ii++) {\n var arg = args.children[ii];\n await this.CheckTypeAnnotationOf(arg, subCtx, wr);\n const p2 : RangerAppParamDesc = new RangerAppParamDesc();\n p2.name = arg.vref;\n p2.value_type = arg.value_type;\n p2.node = arg;\n p2.nameNode = arg;\n p2.init_cnt = 1;\n p2.refType = 1;\n p2.initRefType = 1;\n p2.debugString = \"--> collected \";\n if ( args.hasBooleanProperty(\"strong\") ) {\n p2.refType = 2;\n p2.initRefType = 2;\n }\n p2.varType = 4;\n m.params.push(p2);\n arg.hasParamDesc = true;\n arg.paramDesc = p2;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n if ( arg.hasFlag(\"strong\") ) {\n p2.changeStrength(1, 1, p2.nameNode);\n } else {\n arg.setFlag(\"lives\");\n p2.changeStrength(0, 1, p2.nameNode);\n }\n subCtx.defineVariable(p2.name, p2);\n };\n return m;\n };\n async WalkCollectMethods (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let find_more : boolean = true;\n if ( (node.children.length) > 0 ) {\n const fc : CodeNode = node.getFirst();\n if ( (fc.ns.length) > 1 ) {\n if ( (fc.ns[0]) == \"plugin\" ) {\n if ( node.is_plugin ) {\n return;\n }\n node.is_plugin = true;\n const pName : string = fc.ns[1];\n ctx.addPluginNode(pName, node);\n return;\n }\n }\n }\n if ( node.isFirstVref(\"defn\") ) {\n return;\n }\n if ( node.isFirstVref(\"flag\") ) {\n return;\n }\n if ( node.isFirstVref(\"page\") ) {\n return;\n }\n if ( node.isFirstVref(\"service\") ) {\n return;\n }\n if ( node.isFirstVref(\"operator\") ) {\n const opRef : CodeNode = node.children[0];\n const nameNode : CodeNode = node.getSecond();\n /** unused: const opClassName : string = nameNode.vref **/ \n if ( nameNode.vref == \"class\" ) {\n const new_class : RangerAppClassDesc = new RangerAppClassDesc();\n new_class.name = nameNode.type_name;\n new_class.nameNode = nameNode;\n nameNode.vref = nameNode.type_name;\n ctx.addClass(nameNode.vref, new_class);\n const cSig : RangerTypeClass = TFactory.new_class_signature(nameNode, ctx, wr);\n cSig.is_system = true;\n new_class.is_system = true;\n nameNode.clDesc = new_class;\n }\n const b_is_void : boolean = (nameNode.type_name == \"void\") || nameNode.is_block_node;\n const langRef : CodeNode = CodeNode.vref1(operatorsOf_21.getTargetLang_22(ctx));\n if ( (opRef.type_name.length) > 0 ) {\n langRef.vref = opRef.type_name;\n console.log(\"OP type \" + opRef.type_name);\n }\n const opLang : CodeNode = ((node.children.length) > 2) ? (node.children[2]) : langRef;\n const opsList : CodeNode = node.children[((node.children.length) - 1)];\n for ( let i = 0; i < opsList.children.length; i++) {\n var op = opsList.children[i];\n const fc_1 : CodeNode = op.getFirst();\n if ( fc_1.vref == \"fn\" ) {\n const nn : CodeNode = op.getSecond();\n const args : CodeNode = op.getThird();\n const opCode : CodeNode = op.children[3];\n const opN : CodeNode = new CodeNode(op.code, op.sp, op.ep);\n const opName : CodeNode = nn.copy();\n const opSig : CodeNode = nn.rebuildWithType(new RangerArgMatch(), false);\n const opArgs : CodeNode = args.rebuildWithType(new RangerArgMatch(), false);\n const opTpls : CodeNode = new CodeNode(op.code, op.sp, op.ep);\n opTpls.is_block_node = true;\n const opTemplatesMain : CodeNode = new CodeNode(op.code, op.sp, op.ep);\n const opTemplatesVRef : CodeNode = new CodeNode(op.code, op.sp, op.ep);\n const opTemplatesList : CodeNode = new CodeNode(op.code, op.sp, op.ep);\n opTemplatesVRef.vref = \"templates\";\n opTemplatesMain.children.push(opTemplatesVRef);\n opTemplatesMain.children.push(opTemplatesList);\n opTpls.children.push(opTemplatesMain);\n opN.children.push(opName);\n if ( nn.hasFlag(\"newcontext\") ) {\n opName.setFlag(\"newcontext\");\n }\n opSig.vref = nn.vref;\n opN.children.push(opSig);\n const opThisNode : CodeNode = nameNode.rebuildWithType(new RangerArgMatch(), false);\n opThisNode.vref = \"self\";\n if ( nameNode.hasFlag(\"mutates\") ) {\n opThisNode.setFlag(\"mutates\");\n }\n if ( nameNode.hasFlag(\"immutable\") ) {\n opThisNode.setFlag(\"immutable\");\n }\n if ( b_is_void ) {\n } else {\n opArgs.children.splice(0, 0, opThisNode);\n }\n opN.children.push(opArgs);\n opN.children.push(opTpls);\n if ( op.hasStringProperty(\"doc\") ) {\n opN.setStringProperty(\"doc\", op.getStringProperty(\"doc\"));\n }\n const opCodeNode : CodeNode = opCode.rebuildWithType(new RangerArgMatch(), false);\n const actualCode : CodeNode = new CodeNode(opCode.code, op.sp, op.ep);\n const opLangDef : CodeNode = opLang.rebuildWithType(new RangerArgMatch(), false);\n if ( opLangDef.vref == \"all\" ) {\n opLangDef.vref = \"*\";\n }\n actualCode.children.push(opLangDef);\n actualCode.children.push(opCodeNode);\n if ( opLangDef.vref == \"*\" ) {\n if ( opCode.is_block_node == false ) {\n opSig.setFlag(\"macro\");\n }\n }\n if ( nameNode.hasFlag(\"macro\") ) {\n opSig.setFlag(\"macro\");\n }\n if ( nn.hasFlag(\"pure\") ) {\n opSig.setFlag(\"pure\");\n }\n opTemplatesList.children.push(actualCode);\n ctx.createOperator(opN);\n }\n };\n return;\n const instances : CodeNode = node.getThird();\n const new_class_1 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_1.name = nameNode.vref;\n new_class_1.nameNode = nameNode;\n ctx.addClass(nameNode.vref, new_class_1);\n new_class_1.is_system_union = true;\n for ( let i_1 = 0; i_1 < instances.children.length; i_1++) {\n var ch = instances.children[i_1];\n new_class_1.is_union_of.push(ch.vref);\n };\n nameNode.clDesc = new_class_1;\n return;\n }\n if ( node.isFirstVref(\"union\") ) {\n const nameNode_1 : CodeNode = node.getSecond();\n const instances_1 : CodeNode = node.getThird();\n const new_class_2 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_2.name = nameNode_1.vref;\n new_class_2.nameNode = nameNode_1;\n ctx.addClass(nameNode_1.vref, new_class_2);\n new_class_2.is_union = true;\n for ( let i_2 = 0; i_2 < instances_1.children.length; i_2++) {\n var ch_1 = instances_1.children[i_2];\n new_class_2.is_union_of.push(ch_1.vref);\n };\n nameNode_1.clDesc = new_class_2;\n return;\n }\n if ( node.isFirstVref(\"systemunion\") ) {\n const nameNode_2 : CodeNode = node.getSecond();\n if ( ctx.isDefinedClass(nameNode_2.vref) ) {\n const cl : RangerAppClassDesc = ctx.findClass(nameNode_2.vref);\n if ( cl.is_system == false ) {\n ctx.addError(node, \"Only system classes can be systemunions\");\n }\n cl.is_system_union = true;\n const instances_2 : CodeNode = node.getThird();\n for ( let i_3 = 0; i_3 < instances_2.children.length; i_3++) {\n var ch_2 = instances_2.children[i_3];\n cl.is_union_of.push(ch_2.vref);\n };\n return;\n }\n const nameNode_3 : CodeNode = node.getSecond();\n const instances_3 : CodeNode = node.getThird();\n const new_class_3 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_3.name = nameNode_3.vref;\n new_class_3.nameNode = nameNode_3;\n ctx.addClass(nameNode_3.vref, new_class_3);\n new_class_3.is_system_union = true;\n for ( let i_4 = 0; i_4 < instances_3.children.length; i_4++) {\n var ch_3 = instances_3.children[i_4];\n new_class_3.is_union_of.push(ch_3.vref);\n };\n nameNode_3.clDesc = new_class_3;\n return;\n }\n if ( node.isFirstVref(\"systemclass\") ) {\n const nameNode_4 : CodeNode = node.getSecond();\n if ( ctx.isDefinedClass(nameNode_4.vref) ) {\n const cl_1 : RangerAppClassDesc = ctx.findClass(nameNode_4.vref);\n if ( cl_1.is_system_union == false ) {\n ctx.addError(node, \"Class already defined and it was not a systemunion.\");\n }\n cl_1.is_system = true;\n const instances_4 : CodeNode = node.getThird();\n for ( let i_5 = 0; i_5 < instances_4.children.length; i_5++) {\n var ch_4 = instances_4.children[i_5];\n const langName : CodeNode = ch_4.getFirst();\n const langClassName : CodeNode = ch_4.getSecond();\n cl_1.systemNodes[langName.vref] = ch_4;\n if ( (langClassName.vref.length) > 0 ) {\n cl_1.systemNames[langName.vref] = langClassName.vref;\n }\n if ( (langClassName.string_value.length) > 0 ) {\n cl_1.systemNames[langName.vref] = langClassName.string_value;\n }\n };\n return;\n }\n const instances_5 : CodeNode = node.getThird();\n const new_class_4 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_4.name = nameNode_4.vref;\n new_class_4.nameNode = nameNode_4;\n ctx.addClass(nameNode_4.vref, new_class_4);\n new_class_4.is_system = true;\n for ( let i_6 = 0; i_6 < instances_5.children.length; i_6++) {\n var ch_5 = instances_5.children[i_6];\n const langName_1 : CodeNode = ch_5.getFirst();\n const langClassName_1 : CodeNode = ch_5.getSecond();\n new_class_4.systemNodes[langName_1.vref] = ch_5;\n if ( (langClassName_1.vref.length) > 0 ) {\n new_class_4.systemNames[langName_1.vref] = langClassName_1.vref;\n }\n if ( (langClassName_1.string_value.length) > 0 ) {\n new_class_4.systemNames[langName_1.vref] = langClassName_1.string_value;\n }\n };\n nameNode_4.is_system_class = true;\n nameNode_4.clDesc = new_class_4;\n return;\n }\n if ( node.isFirstVref(\"extends\") ) {\n if ( (node.children.length) > 1 ) {\n const ee : CodeNode = node.getSecond();\n const currC : RangerAppClassDesc = ctx.currentClass;\n currC.addParentClass(ee.vref);\n const ParentClass : RangerAppClassDesc = ctx.findClass(ee.vref);\n ParentClass.is_inherited = true;\n }\n find_more = false;\n }\n if ( node.isFirstVref(\"Extends\") ) {\n const extList : CodeNode = node.children[1];\n const currC_1 : RangerAppClassDesc = ctx.currentClass;\n for ( let ii = 0; ii < extList.children.length; ii++) {\n var ee_1 = extList.children[ii];\n currC_1.addParentClass(ee_1.vref);\n const ParentClass_1 : RangerAppClassDesc = ctx.findClass(ee_1.vref);\n ParentClass_1.is_inherited = true;\n };\n }\n if ( node.isFirstVref(\"constructor\") || node.isFirstVref(\"Constructor\") ) {\n const currC_2 : RangerAppClassDesc = ctx.currentClass;\n const subCtx : RangerAppWriterContext = currC_2.ctx.fork();\n currC_2.has_constructor = true;\n currC_2.constructor_node = node;\n const m : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m.name = \"Constructor\";\n m.node = node;\n m.nameNode = node.children[0];\n m.fnBody = node.children[2];\n m.fnCtx = subCtx;\n const args_1 : CodeNode = node.children[1];\n for ( let ii_1 = 0; ii_1 < args_1.children.length; ii_1++) {\n var arg = args_1.children[ii_1];\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = arg.vref;\n p.value_type = arg.value_type;\n p.node = arg;\n p.nameNode = arg;\n p.refType = 1;\n p.varType = 4;\n m.params.push(p);\n arg.hasParamDesc = true;\n arg.paramDesc = p;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n subCtx.defineVariable(p.name, p);\n };\n currC_2.constructor_fn = m;\n find_more = false;\n }\n if ( node.isFirstVref(\"enum\") ) {\n const fNameNode : CodeNode = node.children[1];\n const enumList : CodeNode = node.children[2];\n const new_enum : RangerAppEnum = new RangerAppEnum();\n for ( let i_7 = 0; i_7 < enumList.children.length; i_7++) {\n var item = enumList.children[i_7];\n const fc_2 : CodeNode = item.getFirst();\n new_enum.add(fc_2.vref);\n };\n ctx.definedEnums[fNameNode.vref] = new_enum;\n find_more = false;\n }\n if ( node.isFirstVref(\"Enum\") ) {\n const fNameNode_1 : CodeNode = node.children[1];\n const enumList_1 : CodeNode = node.children[2];\n const new_enum_1 : RangerAppEnum = new RangerAppEnum();\n for ( let i_8 = 0; i_8 < enumList_1.children.length; i_8++) {\n var item_1 = enumList_1.children[i_8];\n new_enum_1.add(item_1.vref);\n };\n ctx.definedEnums[fNameNode_1.vref] = new_enum_1;\n find_more = false;\n }\n if ( node.isFirstVref(\"trait\") ) {\n const s : string = node.getVRefAt(1);\n const classNameNode : CodeNode = node.getSecond();\n const new_class_5 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_5.name = s;\n const subCtx_1 : RangerAppWriterContext = ctx.fork();\n ctx.setCurrentClass(new_class_5);\n subCtx_1.setCurrentClass(new_class_5);\n new_class_5.ctx = subCtx_1;\n new_class_5.nameNode = classNameNode;\n ctx.addClass(s, new_class_5);\n new_class_5.classNode = node;\n new_class_5.node = node;\n new_class_5.is_trait = true;\n }\n if ( node.isFirstVref(\"CreateClass\") || node.isFirstVref(\"class\") ) {\n if ( (node.children.length) < 3 ) {\n ctx.addError(node, \"Not enough arguments for creating a class\");\n return;\n }\n const s_1 : string = node.getVRefAt(1);\n const classNameNode_1 : CodeNode = node.getSecond();\n const new_class_6 : RangerAppClassDesc = new RangerAppClassDesc();\n new_class_6.name = s_1;\n new_class_6.compiledName = s_1;\n classNameNode_1.evalTypeClass = TFactory.new_class_signature(classNameNode_1, ctx, wr);\n const notOkNames : Array<string> = [\"main\"];\n if ( (notOkNames.indexOf(s_1)) >= 0 ) {\n ctx.addError(classNameNode_1, \"Unfortunately this class name not allowed: \" + s_1);\n }\n switch (s_1 ) { \n case \"_\" : \n new_class_6.compiledName = \"utiltyClass\";\n break;\n };\n const subCtx_2 : RangerAppWriterContext = ctx.fork();\n ctx.setCurrentClass(new_class_6);\n subCtx_2.setCurrentClass(new_class_6);\n new_class_6.ctx = subCtx_2;\n new_class_6.nameNode = classNameNode_1;\n ctx.addClass(s_1, new_class_6);\n new_class_6.classNode = node;\n new_class_6.node = node;\n if ( node.hasBooleanProperty(\"trait\") ) {\n new_class_6.is_trait = true;\n }\n if ( classNameNode_1.hasFlag(\"immutable\") ) {\n this.immutableClasses.push(new_class_6);\n new_class_6.is_immutable = true;\n }\n const third : CodeNode = node.getThird();\n if ( third.vref == \"extends\" ) {\n if ( node.chlen() >= 4 ) {\n const extClass : CodeNode = node.children[3];\n if ( (extClass.vref.length) > 0 ) {\n this.extendedClasses[s_1] = extClass.vref;\n } else {\n ctx.addError(node, \"Invalid classname given for the extends keyword\");\n }\n }\n }\n }\n if ( node.isFirstVref(\"TemplateClass\") ) {\n const s_2 : string = node.getVRefAt(1);\n ctx.addTemplateClass(s_2, node);\n find_more = false;\n }\n if ( node.isFirstVref(\"Extends\") ) {\n const list : CodeNode = node.children[1];\n for ( let i_9 = 0; i_9 < list.children.length; i_9++) {\n var cname = list.children[i_9];\n const extC : RangerAppClassDesc = ctx.findClass(cname.vref);\n for ( let i_10 = 0; i_10 < extC.variables.length; i_10++) {\n var vv = extC.variables[i_10];\n const currC_3 : RangerAppClassDesc = ctx.currentClass;\n const subCtx_3 : RangerAppWriterContext = currC_3.ctx;\n subCtx_3.defineVariable(vv.name, vv);\n };\n };\n find_more = false;\n }\n if ( node.isFirstVref(\"def\") || node.isFirstVref(\"let\") ) {\n const s_3 : string = node.getVRefAt(1);\n const vDef : CodeNode = node.children[1];\n const p_1 : RangerAppParamDesc = new RangerAppParamDesc();\n if ( vDef.has_type_annotation ) {\n await this.CheckTypeAnnotationOf(vDef, ctx, wr);\n }\n if ( s_3 != ctx.transformWord(s_3) ) {\n }\n const currC_4 : RangerAppClassDesc = ctx.currentClass;\n if ( currC_4.is_immutable ) {\n vDef.setFlag(\"weak\");\n if ( vDef.value_type == 6 ) {\n const initNode : CodeNode = node.newExpressionNode();\n (initNode).push(node.newVRefNode(\"new\"));\n const tDef : CodeNode = node.newVRefNode(\"Vector\");\n const vAnn : CodeNode = node.newExpressionNode();\n (vAnn).push(node.newVRefNode(vDef.array_type));\n tDef.has_vref_annotation = true;\n tDef.vref_annotation = vAnn;\n (initNode).push(tDef);\n node.children[2] = initNode;\n vDef.value_type = 11;\n vDef.type_name = \"Vector\";\n const tAnn : CodeNode = node.newExpressionNode();\n (tAnn).push(node.newVRefNode(vDef.array_type));\n vDef.has_type_annotation = true;\n vDef.type_annotation = tAnn;\n await this.CheckTypeAnnotationOf(vDef, ctx, wr);\n await this.CheckVRefTypeAnnotationOf(tDef, ctx, wr);\n }\n if ( vDef.value_type == 7 ) {\n const initNode_1 : CodeNode = node.newExpressionNode();\n (initNode_1).push(node.newVRefNode(\"new\"));\n const tDef_1 : CodeNode = node.newVRefNode(\"Map\");\n const vAnn_1 : CodeNode = node.newExpressionNode();\n (vAnn_1).push(node.newVRefNode(vDef.key_type));\n (vAnn_1).push(node.newVRefNode(vDef.array_type));\n tDef_1.has_vref_annotation = true;\n tDef_1.vref_annotation = vAnn_1;\n (initNode_1).push(tDef_1);\n node.children[2] = initNode_1;\n vDef.value_type = 11;\n vDef.type_name = \"Map\";\n const tAnn_1 : CodeNode = node.newExpressionNode();\n (tAnn_1).push(node.newVRefNode(vDef.key_type));\n (tAnn_1).push(node.newVRefNode(vDef.array_type));\n vDef.has_type_annotation = true;\n vDef.type_annotation = tAnn_1;\n await this.CheckTypeAnnotationOf(vDef, ctx, wr);\n await this.CheckVRefTypeAnnotationOf(tDef_1, ctx, wr);\n }\n }\n p_1.name = s_3;\n p_1.value_type = vDef.value_type;\n p_1.node = node;\n p_1.is_class_variable = true;\n p_1.varType = 8;\n p_1.node = node;\n p_1.nameNode = vDef;\n vDef.hasParamDesc = true;\n vDef.ownParamDesc = p_1;\n vDef.paramDesc = p_1;\n node.hasParamDesc = true;\n node.paramDesc = p_1;\n if ( vDef.hasFlag(\"weak\") ) {\n p_1.changeStrength(0, 2, p_1.nameNode);\n } else {\n p_1.changeStrength(2, 2, p_1.nameNode);\n }\n if ( (node.children.length) > 2 ) {\n p_1.set_cnt = 1;\n p_1.init_cnt = 1;\n p_1.def_value = node.children[2];\n p_1.is_optional = false;\n if ( p_1.def_value.value_type == 4 ) {\n vDef.type_name = \"string\";\n }\n if ( p_1.def_value.value_type == 3 ) {\n vDef.type_name = \"int\";\n }\n if ( p_1.def_value.value_type == 2 ) {\n vDef.type_name = \"double\";\n }\n if ( p_1.def_value.value_type == 5 ) {\n vDef.type_name = \"boolean\";\n }\n const valueNode : CodeNode = node.children[2];\n if ( (valueNode.children.length) > 0 ) {\n const fc_3 : CodeNode = valueNode.getFirst();\n if ( fc_3.vref == \"new\" ) {\n const second : CodeNode = valueNode.getSecond();\n await this.CheckVRefTypeAnnotationOf(second, ctx, wr);\n }\n }\n } else {\n p_1.is_optional = true;\n if ( false == ((vDef.value_type == 6) || (vDef.value_type == 7)) ) {\n vDef.setFlag(\"optional\");\n }\n }\n currC_4.addVariable(p_1);\n const subCtx_4 : RangerAppWriterContext = currC_4.ctx;\n subCtx_4.defineVariable(p_1.name, p_1);\n p_1.is_class_variable = true;\n find_more = false;\n }\n if ( node.isFirstVref(\"operators\") ) {\n const listOf : CodeNode = node.getSecond();\n for ( let i_11 = 0; i_11 < listOf.children.length; i_11++) {\n var item_2 = listOf.children[i_11];\n ctx.createOperator(item_2);\n };\n find_more = false;\n }\n if ( node.isFirstVref(\"Import\") || node.isFirstVref(\"import\") ) {\n const fNameNode_2 : CodeNode = node.children[1];\n const import_file : string = fNameNode_2.string_value;\n if ( ( typeof(ctx.already_imported[import_file] ) != \"undefined\" && ctx.already_imported.hasOwnProperty(import_file) ) ) {\n return;\n } else {\n ctx.already_imported[import_file] = true;\n }\n const envOpt : InputEnv = ctx.getEnv();\n if ( typeof(envOpt) === \"undefined\" ) {\n ctx.addError(node, \"Environment not defined\");\n return;\n }\n const env : InputEnv = envOpt;\n const rootCtx : RangerAppWriterContext = ctx.getRoot();\n const filePathIs : string = TFiles.searchEnv(env, rootCtx.libraryPaths, import_file);\n if ( operatorsOf_8.filec95exists_9(env, filePathIs, import_file) == false ) {\n ctx.addError(node, \"Could not import file \" + import_file);\n return;\n }\n const c : string = await operatorsOf_8.readc95file_9(env, filePathIs, import_file);\n const code : SourceCode = new SourceCode(c);\n code.filename = import_file;\n const parser : RangerLispParser = new RangerLispParser(code);\n parser.parse(ctx.hasCompilerFlag(\"no-op-transform\"));\n const rnode : CodeNode = parser.rootNode;\n await this.WalkCollectMethods(rnode, ctx, wr);\n find_more = false;\n }\n if ( node.isFirstVref(\"does\") ) {\n const defName : CodeNode = node.getSecond();\n const currC_5 : RangerAppClassDesc = ctx.currentClass;\n currC_5.consumes_traits.push(defName.vref);\n const joinPoint : ClassJoinPoint = new ClassJoinPoint();\n joinPoint.class_def = currC_5;\n joinPoint.node = node;\n this.classesWithTraits.push(joinPoint);\n }\n let b_is_main : boolean = false;\n if ( node.code.filename == ctx.getRootFile() ) {\n b_is_main = true;\n }\n if ( node.isFirstVref(\"static\") ) {\n if ( node.chlen() < 5 ) {\n ctx.addError(node, \"Invalid static function declaration\");\n return;\n }\n node = this.spliceFunctionBody(4, node, ctx, wr);\n const s_4 : string = node.getVRefAt(2);\n if ( s_4 == \"main\" ) {\n if ( b_is_main ) {\n this.mainCnt = this.mainCnt + 1;\n if ( this.mainCnt > 1 ) {\n ctx.addError(node, \"main function can be declared only once\");\n }\n }\n }\n const currC_6 : RangerAppClassDesc = ctx.currentClass;\n const m_1 : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m_1.name = s_4;\n m_1.compiledName = ctx.transformWord(s_4);\n m_1.node = node;\n m_1.is_static = true;\n m_1.nameNode = node.children[2];\n m_1.nameNode.ifNoTypeSetToVoid();\n const args_2 : CodeNode = node.children[3];\n m_1.fnBody = node.children[4];\n await this.CheckTypeAnnotationOf(m_1.nameNode, ctx, wr);\n await operatorsOf.forEach_15(args_2.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.defineFunctionParam(m_1, item, ctx, wr);\n }));\n currC_6.addStaticMethod(m_1);\n find_more = false;\n return;\n }\n if ( node.isFirstVref(\"StaticMethod\") || node.isFirstVref(\"sfn\") ) {\n node = this.spliceFunctionBody(3, node, ctx, wr);\n const s_5 : string = node.getVRefAt(1);\n const currC_7 : RangerAppClassDesc = ctx.currentClass;\n const m_2 : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m_2.name = s_5;\n m_2.compiledName = ctx.transformWord(s_5);\n m_2.node = node;\n m_2.is_static = true;\n m_2.nameNode = node.children[1];\n m_2.nameNode.ifNoTypeSetToVoid();\n const args_3 : CodeNode = node.children[2];\n m_2.fnBody = node.children[3];\n await this.CheckTypeAnnotationOf(m_2.nameNode, ctx, wr);\n await operatorsOf.forEach_15(args_3.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.defineFunctionParam(m_2, item, ctx, wr);\n }));\n currC_7.addStaticMethod(m_2);\n find_more = false;\n if ( m_2.nameNode.hasFlag(\"main\") ) {\n if ( b_is_main ) {\n this.mainCnt = this.mainCnt + 1;\n if ( this.mainCnt > 1 ) {\n ctx.addError(node, \"main function can be declared only once\");\n }\n }\n }\n return;\n }\n if ( node.isFirstVref(\"extension\") ) {\n const s_6 : string = node.getVRefAt(1);\n const old_class : RangerAppClassDesc = ctx.findClass(s_6);\n ctx.setCurrentClass(old_class);\n }\n if ( node.isFirstVref(\"PublicMethod\") || node.isFirstVref(\"fn\") ) {\n const currC_8 : RangerAppClassDesc = ctx.currentClass;\n const fnObj : RangerAppFunctionDesc = await operatorsOf_41.rc46func_43(node, (currC_8.ctx), wr);\n const cn : CodeNode = fnObj.nameNode;\n if ( currC_8.hasOwnMethod(fnObj.name) && (false == cn.hasFlag(\"override\")) ) {\n ctx.addError(node, \"Error: method of same name declared earlier. Overriding function declarations is not currently allowed!\");\n return;\n }\n if ( cn.hasFlag(\"main\") ) {\n ctx.addError(node, \"Error: dynamic method declared as @(main). Use static 'sfn' instead of 'fn'.\");\n return;\n }\n currC_8.addMethod(fnObj);\n find_more = false;\n return;\n }\n if ( find_more ) {\n for ( let i_12 = 0; i_12 < node.children.length; i_12++) {\n var item_3 = node.children[i_12];\n await this.WalkCollectMethods(item_3, ctx, wr);\n };\n }\n if ( node.hasBooleanProperty(\"serialize\") ) {\n this.serializedClasses.push(ctx.currentClass);\n }\n };\n findFunctionDesc (obj : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerAppFunctionDesc {\n let varDesc : RangerAppParamDesc ;\n let varFnDesc : RangerAppFunctionDesc ;\n if ( obj.vref != this.getThisName() ) {\n if ( (obj.ns.length) > 1 ) {\n const cnt : number = obj.ns.length;\n let classRefDesc : RangerAppParamDesc ;\n let classDesc : RangerAppClassDesc ;\n for ( let i = 0; i < obj.ns.length; i++) {\n var strname = obj.ns[i];\n if ( i == 0 ) {\n if ( strname == this.getThisName() ) {\n classDesc = ctx.getCurrentClass();\n } else {\n if ( ctx.isDefinedClass(strname) ) {\n classDesc = ctx.findClass(strname);\n continue;\n }\n classRefDesc = ctx.getVariableDef(strname);\n if ( (typeof(classRefDesc) === \"undefined\") || (typeof(classRefDesc.nameNode) === \"undefined\") ) {\n ctx.addError(obj, \"Error, no description for called object: \" + strname);\n break;\n }\n classRefDesc.ref_cnt = 1 + classRefDesc.ref_cnt;\n classDesc = ctx.findClass(classRefDesc.nameNode.type_name);\n if ( typeof(classDesc) === \"undefined\" ) {\n return varFnDesc;\n }\n }\n } else {\n if ( typeof(classDesc) === \"undefined\" ) {\n return varFnDesc;\n }\n if ( i < (cnt - 1) ) {\n varDesc = classDesc.findVariable(strname);\n if ( typeof(varDesc) === \"undefined\" ) {\n ctx.addError(obj, \"Error, no description for refenced obj: \" + strname);\n }\n const subClass : string = varDesc.getTypeName();\n classDesc = ctx.findClass(subClass);\n continue;\n }\n if ( (typeof(classDesc) !== \"undefined\" && classDesc != null ) ) {\n varFnDesc = classDesc.findMethod(strname);\n if ( typeof(varFnDesc) === \"undefined\" ) {\n varFnDesc = classDesc.findStaticMethod(strname);\n if ( typeof(varFnDesc) === \"undefined\" ) {\n ctx.addError(obj, \" function variable not found \" + strname);\n }\n }\n }\n }\n };\n return varFnDesc;\n }\n const udesc : RangerAppClassDesc = ctx.getCurrentClass();\n const currClass : RangerAppClassDesc = udesc;\n varFnDesc = currClass.findMethod(obj.vref);\n if ( (typeof(varFnDesc) !== \"undefined\" && varFnDesc != null ) ) {\n if ( (typeof(varFnDesc.nameNode) !== \"undefined\" && varFnDesc.nameNode != null ) ) {\n } else {\n ctx.addError(obj, \"Error, no description for called function: \" + obj.vref);\n }\n }\n return varFnDesc;\n }\n return varFnDesc;\n };\n findParamDesc (obj : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerAppParamDesc {\n let varDesc : RangerAppParamDesc ;\n let set_nsp : boolean = false;\n let classDesc : RangerAppClassDesc ;\n if ( 0 == (obj.nsp.length) ) {\n set_nsp = true;\n }\n if ( obj.vref != this.getThisName() ) {\n if ( (obj.ns.length) > 1 ) {\n const cnt : number = obj.ns.length;\n let classRefDesc : RangerAppParamDesc ;\n for ( let i = 0; i < obj.ns.length; i++) {\n var strname = obj.ns[i];\n if ( i == 0 ) {\n if ( strname == this.getThisName() ) {\n classDesc = ctx.getCurrentClass();\n if ( set_nsp ) {\n obj.nsp.push(classDesc);\n }\n } else {\n if ( ctx.isDefinedClass(strname) ) {\n classDesc = ctx.findClass(strname);\n if ( set_nsp ) {\n obj.nsp.push(classDesc);\n }\n continue;\n }\n classRefDesc = ctx.getVariableDef(strname);\n if ( typeof(classRefDesc) === \"undefined\" ) {\n ctx.addError(obj, \"Error, no description for called object: \" + strname);\n break;\n }\n if ( set_nsp ) {\n obj.nsp.push(classRefDesc);\n }\n if ( classRefDesc.nameNode.hasFlag(\"optional\") ) {\n if ( ctx.hasCompilerFlag(\"strict\") ) {\n if ( false == ctx.isTryBlock() ) {\n ctx.addError(obj, \"Optional automatically unwrapped outside try block\");\n }\n }\n }\n classRefDesc.ref_cnt = 1 + classRefDesc.ref_cnt;\n classDesc = ctx.findClass(classRefDesc.nameNode.type_name);\n }\n } else {\n if ( i < (cnt - 1) ) {\n varDesc = classDesc.findVariable(strname);\n if ( i > 0 ) {\n if ( varDesc.nameNode.hasFlag(\"optional\") ) {\n if ( ctx.hasCompilerFlag(\"strict\") ) {\n if ( false == ctx.isTryBlock() ) {\n ctx.addError(obj, \"Optional automatically unwrapped outside try block\");\n }\n }\n }\n }\n if ( typeof(varDesc) === \"undefined\" ) {\n ctx.addError(obj, \"Error, no description for refenced obj: \" + strname);\n }\n const subClass : string = varDesc.getTypeName();\n classDesc = ctx.findClass(subClass);\n if ( set_nsp ) {\n obj.nsp.push(varDesc);\n }\n continue;\n }\n if ( (typeof(classDesc) !== \"undefined\" && classDesc != null ) ) {\n varDesc = classDesc.findVariable(strname);\n if ( typeof(varDesc) === \"undefined\" ) {\n let classMethod : RangerAppFunctionDesc = classDesc.findMethod(strname);\n if ( typeof(classMethod) === \"undefined\" ) {\n classMethod = classDesc.findStaticMethod(strname);\n if ( typeof(classMethod) === \"undefined\" ) {\n ctx.addError(obj, \"variable not found \" + strname);\n }\n }\n if ( (typeof(classMethod) !== \"undefined\" && classMethod != null ) ) {\n if ( set_nsp ) {\n obj.nsp.push(classMethod);\n }\n return classMethod;\n }\n }\n if ( set_nsp ) {\n obj.nsp.push(varDesc);\n }\n }\n }\n };\n return varDesc;\n }\n varDesc = ctx.getVariableDef(obj.vref);\n if ( (typeof(varDesc.nameNode) !== \"undefined\" && varDesc.nameNode != null ) ) {\n } else {\n }\n return varDesc;\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n return cc;\n };\n async convertToUnion (unionName : string, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( ctx.isDefinedClass(unionName) ) {\n const c1 : RangerAppClassDesc = ctx.findClass(unionName);\n if ( c1.is_union ) {\n if ( (node.type_name != c1.name) && (node.eval_type_name != c1.name) ) {\n const toEx : CodeNode = node.newExpressionNode();\n const toVref : CodeNode = node.newVRefNode(\"to\");\n const argType : CodeNode = node.newVRefNode(\"_\");\n const targetNode : CodeNode = node.copy();\n argType.type_name = unionName;\n (toEx).push(toVref);\n (toEx).push(argType);\n (toEx).push(targetNode);\n node.expression = true;\n node.flow_done = false;\n node.value_type = 0;\n node.getChildrenFrom(toEx);\n const wr_1 : CodeWriter = new CodeWriter();\n await this.WalkNode(node, ctx, wr_1);\n }\n }\n }\n };\n async transformMethodToLambda (node : CodeNode, vFnDef : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( vFnDef.isFunction() ) {\n const args : Array<CodeNode> = operatorsOf.map_44(vFnDef.params, ((item : RangerAppParamDesc, index : number):CodeNode => { \n return item.nameNode.copy();\n }));\n const fnArg : CodeNode = vFnDef.nameNode.copy();\n fnArg.vref = \"fn\";\n const subNode : CodeNode = node.copy();\n subNode.flow_done = false;\n const argsExpr : Array<CodeNode> = operatorsOf.map_45(args, ((item : CodeNode, index : number):CodeNode => { \n return item.copy();\n }));\n if ( (((vFnDef.nameNode.type_name.length) > 0) && (vFnDef.nameNode.type_name != \"void\")) || ((vFnDef.nameNode.array_type.length) > 0) ) {\n const staticLambda : CodeNode = CodeNode.fromList([fnArg, CodeNode.fromList(args), CodeNode.blockFromList([CodeNode.fromList([CodeNode.vref1(\"return\"), CodeNode.fromList([subNode, CodeNode.fromList(argsExpr)])])])]);\n node.getChildrenFrom(staticLambda);\n } else {\n const staticLambda_1 : CodeNode = CodeNode.fromList([fnArg, CodeNode.fromList(args), CodeNode.blockFromList([CodeNode.fromList([subNode, CodeNode.fromList(argsExpr)])])]);\n node.getChildrenFrom(staticLambda_1);\n }\n node.flow_done = false;\n node.expression = true;\n node.value_type = 0;\n node.vref = \"\";\n await this.WalkNode(node, ctx, wr);\n }\n };\n async areEqualTypes (n1 : CodeNode, n2 : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n if ( n1.eval_type == 17 ) {\n let n1Expr : CodeNode = n1.expression_value;\n let n2Expr : CodeNode = n2.expression_value;\n if ( typeof(n1Expr) === \"undefined\" ) {\n if ( (n1.hasParamDesc && ((typeof(n1.paramDesc.nameNode) !== \"undefined\" && n1.paramDesc.nameNode != null ) )) && ((typeof(n1.paramDesc.nameNode.expression_value) !== \"undefined\" && n1.paramDesc.nameNode.expression_value != null ) ) ) {\n n1Expr = n1.paramDesc.nameNode.expression_value;\n }\n }\n if ( typeof(n2Expr) === \"undefined\" ) {\n if ( (n2.hasParamDesc && ((typeof(n2.paramDesc.nameNode) !== \"undefined\" && n2.paramDesc.nameNode != null ) )) && ((typeof(n2.paramDesc.nameNode.expression_value) !== \"undefined\" && n2.paramDesc.nameNode.expression_value != null ) ) ) {\n n2Expr = n2.paramDesc.nameNode.expression_value;\n }\n }\n if ( ((typeof(n1Expr) !== \"undefined\" && n1Expr != null ) ) && ((typeof(n2Expr) !== \"undefined\" && n2Expr != null ) ) ) {\n return await this.matchLambdaArgs((n1Expr), (n2Expr), ctx, new CodeWriter());\n }\n if ( (typeof(n1Expr) !== \"undefined\" && n1Expr != null ) ) {\n const opList : Array<CodeNode> = await ctx.getOpFns(n2.vref);\n if ( (opList.length) > 0 ) {\n const newCall : CodeNode = CodeNode.fromList([CodeNode.vref1(n2.vref)]);\n const newExpr : CodeNode = CodeNode.blockNode();\n const proto : CodeNode = n1Expr.copy();\n const fc : CodeNode = proto.children[0];\n fc.vref = \"fn\";\n const eParams : CodeNode = n1Expr.children[1];\n await operatorsOf.forEach_15(eParams.children, ((item : CodeNode, index : number):void => { \n newCall.children.push(CodeNode.vref1(item.vref));\n }));\n if ( fc.type_name != \"void\" ) {\n newExpr.children.push(CodeNode.fromList([CodeNode.vref1(\"return\"), newCall]));\n } else {\n newExpr.children.push(newCall);\n }\n proto.children.push(newExpr);\n n2.value_type = 0;\n n2.expression_value = proto.copy();\n n2.expression = true;\n n2.flow_done = false;\n n2.vref = \"\";\n n2.ns.length = 0;\n n2.getChildrenFrom(proto.copy());\n await this.WalkNode(n2, ctx, wr);\n n2.expression_value = proto;\n return await this.areEqualTypes(n1, n2, ctx, wr);\n }\n }\n if ( n2.eval_type == 28 ) {\n const pDesc : RangerAppFunctionDesc = (n2.paramDesc) as RangerAppFunctionDesc;\n await this.transformMethodToLambda(n2, pDesc, ctx, wr);\n return true;\n }\n const vFnDef : RangerAppFunctionDesc = this.findFunctionDesc(n2, ctx, wr);\n if ( (typeof(vFnDef) !== \"undefined\" && vFnDef != null ) ) {\n await this.transformMethodToLambda(n2, vFnDef, ctx, wr);\n return true;\n }\n ctx.addError(n2, \"Was not able to evaluate lambda expression types!\");\n if ( (typeof(n1Expr) !== \"undefined\" && n1Expr != null ) ) {\n ctx.addError(n1, \"^ \" + n1Expr.getCode());\n } else {\n ctx.addError(n1, \"^ expression_value not found (1)\");\n }\n if ( (typeof(n2Expr) !== \"undefined\" && n2Expr != null ) ) {\n ctx.addError(n2, \"^ \" + n2Expr.getCode());\n } else {\n ctx.addError(n2, \"^ expression_value not found (2)\");\n }\n return false;\n }\n if ( (((n1.eval_type != 0) && (n2.eval_type != 0)) && ((n1.eval_type_name.length) > 0)) && ((n2.eval_type_name.length) > 0) ) {\n if ( n1.eval_type_name == n2.eval_type_name ) {\n } else {\n let b_ok : boolean = false;\n if ( ctx.isEnumDefined(n1.eval_type_name) && (n2.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( ctx.isEnumDefined(n2.eval_type_name) && (n1.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( (n1.eval_type_name == \"char\") && (n2.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( (n1.eval_type_name == \"int\") && (n2.eval_type_name == \"char\") ) {\n b_ok = true;\n }\n if ( ctx.isDefinedClass(n1.eval_type_name) && ctx.isDefinedClass(n2.eval_type_name) ) {\n const c1 : RangerAppClassDesc = ctx.findClass(n1.eval_type_name);\n const c2 : RangerAppClassDesc = ctx.findClass(n2.eval_type_name);\n if ( c1.is_union ) {\n if ( c2.is_union == false ) {\n await this.convertToUnion(n1.eval_type_name, n2, ctx, new CodeWriter());\n if ( n2.eval_type_name == n1.eval_type_name ) {\n return true;\n } else {\n return false;\n }\n }\n }\n if ( c2.is_union != c1.is_union ) {\n ctx.addError(n1, \"Can not convert union to type \");\n return false;\n }\n if ( (c2.is_union == true) && (c1.is_union == true) ) {\n ctx.addError(n1, ((\"Union types must be the same => \" + n1.eval_type_name) + \" <> \") + n2.eval_type_name);\n return false;\n }\n if ( c1.isSameOrParentClass(n2.eval_type_name, ctx) ) {\n return true;\n }\n if ( c2.isSameOrParentClass(n1.eval_type_name, ctx) ) {\n return true;\n }\n }\n if ( b_ok == false ) {\n if ( n1.eval_type_name == \"Any\" ) {\n await this.convertToUnion(\"Any\", n2, ctx, new CodeWriter());\n if ( n2.eval_type_name == n1.eval_type_name ) {\n return true;\n } else {\n return false;\n }\n }\n return false;\n }\n }\n }\n return true;\n };\n shouldBeEqualTypes (n1 : CodeNode, n2 : CodeNode, ctx : RangerAppWriterContext, msg : string) : void {\n if ( (((n1.eval_type != 0) && (n2.eval_type != 0)) && ((n1.eval_type_name.length) > 0)) && ((n2.eval_type_name.length) > 0) ) {\n if ( n1.eval_type_name == n2.eval_type_name ) {\n } else {\n let b_ok : boolean = false;\n if ( ctx.isEnumDefined(n1.eval_type_name) && (n2.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( ctx.isEnumDefined(n2.eval_type_name) && (n1.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( ctx.isDefinedClass(n2.eval_type_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(n2.eval_type_name);\n if ( cc.isSameOrParentClass(n1.eval_type_name, ctx) ) {\n b_ok = true;\n }\n }\n if ( (n1.eval_type_name == \"char\") && (n2.eval_type_name == \"int\") ) {\n b_ok = true;\n }\n if ( (n1.eval_type_name == \"int\") && (n2.eval_type_name == \"char\") ) {\n b_ok = true;\n }\n if ( b_ok == false ) {\n ctx.addError(n1, ((((\"Type mismatch \" + n2.eval_type_name) + \" <> \") + n1.eval_type_name) + \". \") + msg);\n }\n }\n }\n };\n shouldBeExpression (n1 : CodeNode, ctx : RangerAppWriterContext, msg : string) : void {\n if ( n1.expression == false ) {\n ctx.addError(n1, msg);\n }\n };\n shouldHaveChildCnt (cnt : number, n1 : CodeNode, ctx : RangerAppWriterContext, msg : string) : void {\n if ( (n1.children.length) != cnt ) {\n ctx.addError(n1, msg);\n }\n };\n async findLanguageOper (details : CodeNode, ctx : RangerAppWriterContext, opDef : CodeNode) : Promise<CodeNode> {\n const langName : string = operatorsOf_21.getTargetLang_22(ctx);\n let rv : CodeNode ;\n for ( let i = 0; i < details.children.length; i++) {\n var det = details.children[i];\n if ( (det.children.length) > 0 ) {\n const fc : CodeNode = det.children[0];\n if ( fc.vref == \"templates\" ) {\n const tplList : CodeNode = det.children[1];\n for ( let i_1 = 0; i_1 < tplList.children.length; i_1++) {\n var tpl = tplList.children[i_1];\n if ( tpl.hasExpressionProperty(\"flags\") ) {\n const flagList : CodeNode = tpl.getExpressionProperty(\"flags\");\n let b_matched : boolean = false;\n await operatorsOf.forEach_15(flagList.children, ((item : CodeNode, index : number):void => { \n console.log(\"FLAG \" + item.vref);\n b_matched = b_matched || ctx.hasCompilerFlag(item.vref);\n }));\n if ( b_matched == false ) {\n continue;\n }\n }\n const tplName : CodeNode = tpl.getFirst();\n const is_ts : boolean = ctx.hasCompilerFlag(\"typescript\");\n if ( is_ts && ((tplName.vref == \"typescript\") || (tplName.vref == \"ts\")) ) {\n rv = tpl;\n return rv;\n }\n if ( (tplName.vref != \"*\") && (tplName.vref != langName) ) {\n continue;\n }\n rv = tpl;\n return rv;\n };\n if ( langName == \"ranger\" ) {\n const opNameNode : CodeNode = opDef.getFirst();\n const opArgs : CodeNode = opDef.getThird();\n const rangerTpl : CodeNode = CodeNode.fromList([CodeNode.newStr(((\"(\" + opNameNode.vref) + \" \"))]);\n let cnt : number = 1;\n await operatorsOf.forEach_15(opArgs.children, ((item : CodeNode, index : number):void => { \n if ( item.type_name == \"block\" ) {\n rangerTpl.children.push(CodeNode.fromList([CodeNode.vref1(\"block\"), CodeNode.newInt(cnt)]));\n } else {\n rangerTpl.children.push(CodeNode.fromList([CodeNode.vref1(\"e\"), CodeNode.newInt(cnt)]));\n }\n cnt = cnt + 1;\n }));\n rangerTpl.children.push(CodeNode.newStr(\")\"));\n rv = CodeNode.fromList([CodeNode.vref1(\"ranger\"), rangerTpl]);\n }\n }\n }\n };\n return rv;\n };\n async buildMacro (langOper : CodeNode, args : CodeNode, ctx : RangerAppWriterContext) : Promise<CodeNode> {\n const subCtx : RangerAppWriterContext = ctx.fork();\n const wr : CodeWriter = new CodeWriter();\n const lcc : LiveCompiler = new LiveCompiler();\n lcc.langWriter = new RangerRangerClassWriter();\n lcc.langWriter.compiler = lcc;\n subCtx.targetLangName = \"ranger\";\n subCtx.restartExpressionLevel();\n const macroNode : CodeNode = langOper;\n const cmdList : CodeNode = macroNode.getSecond();\n if ( ctx.hasCompilerFlag(\"show-macros\") ) {\n console.log(((\"Building macro \" + macroNode.vref) + \" : \") + cmdList.getCode());\n console.log(\"Arguments : \" + args.getCode());\n }\n await lcc.walkCommandList(cmdList, args, subCtx, wr);\n const lang_str : string = wr.getCode();\n const lang_code : SourceCode = new SourceCode(lang_str);\n lang_code.filename = (\"<macro \" + macroNode.vref) + \">\";\n const lang_parser : RangerLispParser = new RangerLispParser(lang_code);\n lang_parser.parse(ctx.hasCompilerFlag(\"no-op-transform\"));\n const node : CodeNode = lang_parser.rootNode;\n if ( (args.register_expressions.length) > 0 ) {\n node.register_expressions = operatorsOf.clone_46(args.register_expressions);\n }\n await operatorsOf.forEach_15(args.children, (async (item : CodeNode, index : number): Promise<void> => { \n await operatorsOf.forEach_15(item.register_expressions, ((item : CodeNode, index : number):void => { \n const re : CodeNode = item;\n node.register_expressions.push(re);\n }));\n }));\n return node;\n };\n async stdParamMatch (callArgs : CodeNode, inCtx : RangerAppWriterContext, wr : CodeWriter, require_all_match : boolean) : Promise<boolean> {\n this.stdCommands = inCtx.getStdCommands();\n const callFnName : CodeNode = callArgs.getFirst();\n /** unused: const cmds : CodeNode = this.stdCommands **/ \n let some_matched : boolean = false;\n /** unused: const found_fn : boolean = false **/ \n let added_ns : string = \"\";\n /** unused: let missed_args : Array<string> = [] **/ \n let ctx : RangerAppWriterContext = inCtx.fork();\n /** unused: const lang_name : string = operatorsOf_21.getTargetLang_22(ctx) **/ \n let expects_error : boolean = false;\n const err_cnt : number = inCtx.getErrorCount();\n let arg_eval_start : number = 0;\n if ( callArgs.hasBooleanProperty(\"error\") ) {\n expects_error = true;\n }\n if ( inCtx.expressionLevel() == 0 ) {\n inCtx.lastBlockOp = callArgs;\n } else {\n }\n /** unused: const in_chain : boolean = false **/ \n const call_arg_cnt : number = callArgs.children.length;\n const op_list : Array<CodeNode> = await ctx.getOperators(callFnName.vref);\n for ( let main_index = 0; main_index < op_list.length; main_index++) {\n var ch = op_list[main_index];\n const fc : CodeNode = ch.getFirst();\n const nameNode : CodeNode = ch.getSecond();\n const args : CodeNode = ch.getThird();\n if ( inCtx.isVarDefined(fc.vref) ) {\n return false;\n }\n ctx.removeOpNs(added_ns);\n ctx.addOpNs(fc.vref);\n added_ns = fc.vref;\n /** unused: const line_index : number = callArgs.getLine() **/ \n const callerArgCnt : number = call_arg_cnt - 1;\n const fnArgCnt : number = args.children.length;\n let has_eval_ctx : boolean = false;\n let is_macro : boolean = false;\n let plugin_name : string = \"operator\";\n let plugin_fn : string = \"\";\n let is_plugin : boolean = false;\n let is_pure : boolean = false;\n let is_static_fn : boolean = false;\n let static_fn_name : string = \"\";\n let static_class_name : string = \"\";\n let static_nameNode : CodeNode ;\n if ( nameNode.hasFlag(\"newcontext\") ) {\n ctx = inCtx.fork();\n has_eval_ctx = true;\n }\n const throws_exception : boolean = nameNode.hasFlag(\"throws\");\n const is_async : boolean = nameNode.hasFlag(\"async\");\n const expanding_node : boolean = nameNode.hasFlag(\"expands\");\n if ( (callerArgCnt == fnArgCnt) || expanding_node ) {\n const details_list : CodeNode = ch.children[3];\n const langOper : CodeNode = await this.findLanguageOper(details_list, ctx, ch);\n if ( typeof(langOper) === \"undefined\" ) {\n continue;\n }\n is_pure = nameNode.hasFlag(\"pure\");\n if ( langOper.hasBooleanProperty(\"macro\") || nameNode.hasFlag(\"macro\") ) {\n is_macro = true;\n }\n if ( langOper.hasStringProperty(\"plugin\") ) {\n plugin_name = langOper.getStringProperty(\"plugin\");\n is_plugin = true;\n const pluginFn : string = langOper.getStringProperty(\"fn\");\n if ( (pluginFn.length) > 0 ) {\n plugin_fn = pluginFn;\n console.log(\"Function : \" + plugin_fn);\n }\n }\n const codeDef : CodeNode = langOper.getSecond();\n const match : RangerArgMatch = new RangerArgMatch();\n let last_walked : number = 0;\n let last_was_block : boolean = false;\n let walk_later : Array<WalkLater> = [];\n let not_enough_args : boolean = false;\n let blocksToWalkLater : Array<CodeNode> = [];\n if ( ch.hasExpressionProperty(\"flags\") ) {\n const flagList : CodeNode = ch.getExpressionProperty(\"flags\");\n let b_matched : boolean = false;\n await operatorsOf.forEach_15(flagList.children, ((item : CodeNode, index : number):void => { \n b_matched = b_matched || ctx.hasCompilerFlag(item.vref);\n }));\n if ( b_matched == false ) {\n continue;\n }\n }\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i < arg_eval_start ) {\n continue;\n }\n arg_eval_start = i;\n if ( (callArgs.children.length) <= (i + 1) ) {\n not_enough_args = true;\n break;\n }\n const callArg : CodeNode = callArgs.children[(i + 1)];\n if ( arg.hasFlag(\"define\") ) {\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = callArg.vref;\n p.value_type = arg.value_type;\n p.node = callArg;\n p.nameNode = callArg;\n p.is_optional = false;\n p.init_cnt = 1;\n ctx.defineVariable(p.name, p);\n callArg.hasParamDesc = true;\n callArg.ownParamDesc = p;\n callArg.paramDesc = p;\n if ( (callArg.type_name.length) == 0 ) {\n callArg.type_name = arg.type_name;\n callArg.value_type = arg.value_type;\n }\n callArg.eval_type = arg.value_type;\n callArg.eval_type_name = arg.type_name;\n }\n if ( arg.hasFlag(\"ignore\") ) {\n continue;\n }\n if ( arg.hasFlag(\"keyword\") ) {\n if ( callArg.vref != arg.vref ) {\n not_enough_args = true;\n }\n continue;\n }\n if ( arg.hasFlag(\"noeval\") ) {\n callArg.eval_type = callArg.value_type;\n callArg.eval_type_name = callArg.type_name;\n callArg.eval_array_type = callArg.array_type;\n callArg.eval_key_type = callArg.key_type;\n continue;\n }\n last_walked = i + 1;\n if ( arg.value_type == 17 ) {\n const opList : Array<CodeNode> = await ctx.getOpFns(callArg.vref);\n if ( (opList.length) > 0 ) {\n const signature : CodeNode = arg.expression_value.copy();\n /** unused: const params : CodeNode = signature.children[1] **/ \n }\n if ( codeDef.is_block_node == false ) {\n const later : WalkLater = new WalkLater();\n later.arg = arg;\n later.callArg = callArg;\n walk_later.push(later);\n }\n } else {\n if ( (arg.type_name == \"block\") || arg.hasFlag(\"block\") ) {\n if ( arg.hasFlag(\"try_block\") ) {\n const tmpCtx : RangerAppWriterContext = ctx.fork();\n tmpCtx.is_try_block = true;\n callArg.evalCtx = tmpCtx;\n tmpCtx.newBlock();\n await this.WalkNode(callArg, tmpCtx, wr);\n } else {\n const tmpCtx_1 : RangerAppWriterContext = ctx.fork();\n tmpCtx_1.newBlock();\n callArg.evalCtx = tmpCtx_1;\n await this.WalkNode(callArg, tmpCtx_1, wr);\n }\n last_was_block = true;\n } else {\n ctx.setInExpr();\n await this.WalkNode(callArg, ctx, wr);\n ctx.unsetInExpr();\n if ( (arg.type_name.length) > 0 ) {\n await this.convertToUnion(arg.type_name, callArg, ctx, wr);\n }\n last_was_block = false;\n }\n if ( arg.hasFlag(\"mutates\") ) {\n if ( callArg.hasParamDesc ) {\n if ( typeof(callArg.paramDesc) != \"undefined\" && ((typeof(callArg.paramDesc.propertyClass) !== \"undefined\" && callArg.paramDesc.propertyClass != null ) ) ) {\n if ( callArg.paramDesc.propertyClass.nameNode.hasFlag(\"immutable\") ) {\n const propC : RangerAppClassDesc = callArg.paramDesc.propertyClass;\n const currC : RangerAppClassDesc = ctx.getCurrentClass();\n if ( (currC) != (propC) ) {\n not_enough_args = true;\n }\n }\n }\n }\n }\n }\n };\n ctx.unsetInExpr();\n if ( not_enough_args ) {\n continue;\n }\n if ( expanding_node ) {\n for ( let i2 = 0; i2 < callArgs.children.length; i2++) {\n var caCh = callArgs.children[i2];\n if ( caCh.is_block_node ) {\n const tmpCtx_2 : RangerAppWriterContext = ctx;\n caCh.evalCtx = tmpCtx_2;\n blocksToWalkLater.push(caCh);\n continue;\n }\n if ( i2 > last_walked ) {\n if ( last_was_block ) {\n const sCtx : RangerAppWriterContext = ctx.forkWithOps((ch.children[3]));\n await this.WalkNode(caCh, sCtx, wr);\n } else {\n ctx.setInExpr();\n await this.WalkNode(caCh, ctx, wr);\n ctx.unsetInExpr();\n }\n }\n };\n }\n const all_matched : boolean = match.matchArguments(args, callArgs, ctx, 1);\n if ( all_matched ) {\n const expr_level : number = ctx.expressionLevel();\n let is_last : boolean = false;\n if ( (typeof(callArgs.parent) !== \"undefined\" && callArgs.parent != null ) ) {\n is_last = (callArgs.parent.children.length) == (1 + (callArgs.parent.children.indexOf(callArgs)));\n }\n if ( ((fc.vref == \"if\") && ctx.hasCompilerFlag(\"voidexpr\")) && ((expr_level > 0) || is_last) ) {\n console.log(\"IF expr leve == \" + ctx.expressionLevel());\n console.log(callArgs.getCode());\n const thenBlock : CodeNode = callArgs.children[2];\n const lastRow : CodeNode = thenBlock.children[((thenBlock.children.length) - 1)];\n console.log(\"Last row == \" + lastRow.getCode());\n const BlockOP : CodeNode = ctx.getLastBlockOp();\n const regName : string = ctx.createNewRegName();\n const regExpr : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref2(regName, lastRow.eval_type_name)]);\n callArgs.eval_type = lastRow.eval_type;\n callArgs.eval_type_name = lastRow.eval_type_name;\n const fnC : RangerAppWriterContext = ctx.findFunctionCtx();\n await this.WalkNode(regExpr, fnC, wr);\n const realRegName : string = (((regExpr.children[1])).paramDesc).compiledName;\n let then_regs : boolean = false;\n if ( (lastRow.register_name.length) > 0 ) {\n const newLastRow : CodeNode = CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName), CodeNode.vref1(lastRow.register_name)]);\n await this.WalkNode(newLastRow, ctx, wr);\n thenBlock.children.push(newLastRow);\n then_regs = true;\n } else {\n const vCopy : CodeNode = await lastRow.cleanCopy();\n lastRow.expression = true;\n lastRow.vref = \"\";\n lastRow.value_type = 0;\n lastRow.flow_done = false;\n lastRow.getChildrenFrom(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName), vCopy]));\n await this.WalkNode(lastRow, ctx, wr);\n }\n if ( (callArgs.children.length) == 4 ) {\n const elseBlock : CodeNode = callArgs.children[3];\n const lastRow_1 : CodeNode = elseBlock.children[((elseBlock.children.length) - 1)];\n if ( (lastRow_1.register_name.length) > 0 ) {\n const newLastRow_1 : CodeNode = CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName), CodeNode.vref1(lastRow_1.register_name)]);\n await this.WalkNode(newLastRow_1, ctx, wr);\n elseBlock.children.push(newLastRow_1);\n then_regs = true;\n } else {\n const vCopy_1 : CodeNode = await lastRow_1.cleanCopy();\n lastRow_1.expression = true;\n lastRow_1.vref = \"\";\n lastRow_1.value_type = 0;\n lastRow_1.flow_done = false;\n lastRow_1.getChildrenFrom(CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName), vCopy_1]));\n console.log(\" lastRow value --> \" + vCopy_1.getCode());\n await this.WalkNode(lastRow_1, ctx, wr);\n }\n }\n const tmp : CodeNode = (callArgs).clone();\n BlockOP.register_expressions.push(regExpr);\n BlockOP.register_expressions.push(tmp);\n callArgs.register_name = regName;\n callArgs.reg_compiled_name = realRegName;\n tmp.has_operator = true;\n tmp.op_index = main_index;\n tmp.operator_node = ch;\n return true;\n }\n if ( (fc.vref != \"for\") && ctx.hasCompilerFlag(\"new\") ) {\n const opDef : CodeNode = langOper.getSecond();\n let opCnts : {[key:number]:number} = {};\n let regNames : {[key:number]:string} = {};\n let firstRef : {[key:number]:CodeNode} = {};\n await operatorsOf.forEach_15(args.children, (async (item : CodeNode, index : number): Promise<void> => { \n const opArg : CodeNode = item;\n if ( opArg.hasFlag(\"loopcondition\") ) {\n let loopBlock : CodeNode ;\n await operatorsOf.forEach_15(args.children, ((item : CodeNode, index : number):void => { \n if ( item.hasFlag(\"loopblock\") ) {\n const tmp_1 : CodeNode = callArgs.children[(index + 1)];\n loopBlock = tmp_1;\n }\n }));\n if ( typeof(loopBlock) === \"undefined\" ) {\n ctx.addError(args, \"Invalid operator: Loop condition without block \");\n return;\n }\n const opName : number = index + 1;\n /** unused: const item : CodeNode = callArgs.children[(index + 1)] **/ \n let regName_1 : string = \"\";\n const realArg : CodeNode = callArgs.children[opName];\n if ( (realArg.register_name.length) > 0 ) {\n regName_1 = realArg.register_name;\n } else {\n regName_1 = ctx.createNewRegName();\n }\n const argCopy : CodeNode = realArg.copy();\n const regExpr_1 : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName_1), argCopy]);\n ctx.lastBlockOp = callArgs;\n await this.WalkNode(regExpr_1, ctx, wr);\n const realRegName_1 : string = (((regExpr_1.children[1])).paramDesc).compiledName;\n const regArg : CodeNode = regExpr_1.children[1];\n regArg.paramDesc.set_cnt = 1;\n regArg.paramDesc.ref_cnt = 1;\n const BlockOP_1 : CodeNode = ctx.getLastBlockOp();\n BlockOP_1.register_expressions.push(regExpr_1);\n realArg.register_name = regName_1;\n realArg.reg_compiled_name = realRegName_1;\n await operatorsOf.forEach_15(callArgs.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.is_block_node ) {\n const argCopy_1 : CodeNode = realArg.copy();\n argCopy_1.register_name = \"\";\n await argCopy_1.forTree(((item : CodeNode, i : number):void => { \n item.register_name = \"\";\n }));\n const eval_expr : CodeNode = CodeNode.fromList([CodeNode.vref1(\"=\"), CodeNode.vref1(regName_1), argCopy_1]);\n /** unused: const lastOp : CodeNode = loopBlock.children[((loopBlock.children.length) - 1)] **/ \n ctx.lastBlockOp = eval_expr;\n await this.WalkNode(eval_expr, ctx, wr);\n item.children.push(eval_expr);\n }\n }));\n }\n }));\n await operatorsOf.forEach_15(opDef.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.isFirstVref(\"e\") ) {\n if ( item.hasFlag(\"ignore\") || item.hasFlag(\"noeval\") ) {\n return;\n }\n const opName_1 : number = (item.getSecond()).int_value;\n /** unused: const opArg_1 : CodeNode = args.children[(opName_1 - 1)] **/ \n if ( ( typeof(opCnts[opName_1] ) != \"undefined\" && opCnts.hasOwnProperty(opName_1) ) ) {\n let regName_2 : string = \"\";\n const realArg_1 : CodeNode = callArgs.children[opName_1];\n let just_vref : (a:CodeNode) => boolean = ((a : CodeNode):boolean => { \n return false;\n });\n just_vref = ((a : CodeNode):boolean => { \n if ( (a.vref.length) > 0 ) {\n return true;\n }\n if ( TTypes.isPrimitive(a.value_type) ) {\n return true;\n }\n if ( (a.children.length) == 1 ) {\n return just_vref((a.children[0]));\n }\n return false;\n });\n if ( await just_vref(realArg_1) ) {\n return;\n }\n if ( ( typeof(regNames[opName_1] ) != \"undefined\" && regNames.hasOwnProperty(opName_1) ) ) {\n if ( (realArg_1.register_name.length) > 0 ) {\n regName_2 = realArg_1.register_name;\n } else {\n regName_2 = (regNames[opName_1]);\n }\n realArg_1.register_name = regName_2;\n } else {\n if ( (realArg_1.register_name.length) > 0 ) {\n regName_2 = realArg_1.register_name;\n } else {\n regName_2 = ctx.createNewRegName();\n regNames[opName_1] = regName_2;\n const argCopy_2 : CodeNode = realArg_1.copy();\n const regExpr_2 : CodeNode = CodeNode.fromList([CodeNode.vref1(\"def\"), CodeNode.vref1(regName_2), argCopy_2]);\n await this.WalkNode(regExpr_2, ctx, wr);\n const regArg_1 : CodeNode = regExpr_2.children[1];\n const realRegName_2 : string = (((regExpr_2.children[1])).paramDesc).compiledName;\n regArg_1.paramDesc.set_cnt = 1;\n regArg_1.paramDesc.ref_cnt = 1;\n const BlockOP_2 : CodeNode = ctx.getLastBlockOp();\n BlockOP_2.register_expressions.push(regExpr_2);\n realArg_1.register_name = regName_2;\n realArg_1.reg_compiled_name = realRegName_2;\n }\n }\n } else {\n opCnts[opName_1] = 1;\n firstRef[opName_1] = item;\n }\n }\n }));\n }\n }\n if ( all_matched ) {\n if ( is_async ) {\n let activeFn : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( (typeof(activeFn.nameNode) !== \"undefined\" && activeFn.nameNode != null ) ) {\n activeFn.nameNode.setFlag(\"async\");\n }\n while ((typeof(activeFn.insideFn) !== \"undefined\" && activeFn.insideFn != null ) ) {\n activeFn = activeFn.insideFn;\n if ( (typeof(activeFn.nameNode) !== \"undefined\" && activeFn.nameNode != null ) ) {\n activeFn.nameNode.setFlag(\"async\");\n }\n };\n }\n if ( throws_exception ) {\n if ( false == ctx.isTryBlock() ) {\n const activeFn_1 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( ((typeof(activeFn_1.nameNode) !== \"undefined\" && activeFn_1.nameNode != null ) ) && activeFn_1.nameNode.hasFlag(\"throws\") ) {\n } else {\n ctx.addError(callArgs, (\"The operator \" + fc.vref) + \" potentially throws an exception, try { } block is required\");\n }\n }\n }\n for ( let i_1 = 0; i_1 < blocksToWalkLater.length; i_1++) {\n var b = blocksToWalkLater[i_1];\n const localFork : RangerAppWriterContext = b.evalCtx.fork();\n await this.WalkNode(b, localFork, wr);\n };\n for ( let i_2 = 0; i_2 < walk_later.length; i_2++) {\n var later_1 = walk_later[i_2];\n const ca : CodeNode = later_1.callArg;\n const aa : CodeNode = later_1.arg;\n /** unused: const newNode : CodeNode = new CodeNode(ca.code, ca.sp, ca.ep) **/ \n if ( (ca.is_block_node && (ca.isFirstVref(\"fn\") == false)) && (ca.isFirstVref(\"fun\") == false) ) {\n const fnDef : CodeNode = aa.expression_value;\n const copyOf : CodeNode = fnDef.rebuildWithType(match, false);\n const ffc : CodeNode = copyOf.children[0];\n ffc.vref = \"fun\";\n const itemCopy : CodeNode = ca.rebuildWithType(match, false);\n copyOf.children.push(itemCopy);\n let cnt : number = ca.children.length;\n while (cnt > 0) {\n ca.children.pop();\n cnt = cnt - 1;\n };\n for ( let i_3 = 0; i_3 < copyOf.children.length; i_3++) {\n var ch_1 = copyOf.children[i_3];\n ca.children.push(ch_1);\n };\n }\n const sCtx_1 : RangerAppWriterContext = ctx.fork();\n sCtx_1.newBlock();\n await this.WalkNode(ca, sCtx_1, wr);\n };\n }\n let staticMethod : RangerAppFunctionDesc ;\n if ( codeDef.is_block_node && all_matched ) {\n const pure_transform : boolean = ctx.hasCompilerFlag(\"pure\");\n if ( is_pure && pure_transform ) {\n const argDefs : CodeNode = CodeNode.blockFromList(operatorsOf.map_45(args.children, ((item : CodeNode, index : number):CodeNode => { \n const callArg_1 : CodeNode = callArgs.children[(index + 1)];\n const arg_1 : CodeNode = item;\n const vName : CodeNode = item.copy();\n /** unused: const caCopy : CodeNode = callArg_1.copy() **/ \n const prms : Array<CodeNode> = this.transformParams2([callArg_1], [arg_1], ctx);\n const firstp : CodeNode = prms[0];\n const ad : CodeNode = CodeNode.op3(\"def\", [vName, firstp]);\n return ad;\n })));\n const bodyStart : CodeNode = CodeNode.blockFromList([argDefs, codeDef]);\n const newCtx : RangerAppWriterContext = ctx.fork();\n const bodyCopy : CodeNode = bodyStart.rebuildWithType(match, true);\n callArgs.flow_done = false;\n callArgs.getChildrenFrom(bodyCopy);\n await this.WalkNode(callArgs, newCtx, wr);\n return true;\n }\n let nSig : string = \"\";\n if ( (args.children.length) > 0 ) {\n const arg0 : CodeNode = args.getFirst();\n nSig = this.getNameSignature(arg0);\n } else {\n nSig = this.getVoidNameSignature();\n }\n const new_cl : RangerAppClassDesc = ctx.createOpStaticClass(nSig);\n await this.WalkNode(new_cl.classNode, ctx, wr);\n const bodyCopy_1 : CodeNode = codeDef.rebuildWithType(match, true);\n const argsCopy : CodeNode = args.rebuildWithType(match, true);\n const nameCopy : CodeNode = nameNode.rebuildWithType(match, true);\n const sigN : string = ctx.transformOpNameWord(fc.vref);\n const argsSig : string = sigN + this.getArgsSignature(argsCopy);\n if ( false == new_cl.hasStaticMethod(argsSig) ) {\n const sMethod : RangerAppFunctionDesc = await ctx.createStaticMethod(argsSig, new_cl, nameCopy, argsCopy, bodyCopy_1, this, wr);\n staticMethod = sMethod;\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM.addCallTo(sMethod);\n static_nameNode = nameCopy;\n const fCtx : RangerAppWriterContext = sMethod.fnCtx;\n fCtx.currentMethod = sMethod;\n fCtx.is_function = true;\n const m : RangerAppFunctionDesc = sMethod;\n fCtx.in_static_method = true;\n if ( nameCopy.hasFlag(\"weak\") ) {\n m.changeStrength(0, 1, nameNode);\n } else {\n m.changeStrength(1, 1, nameNode);\n }\n fCtx.setInMethod();\n for ( let i_4 = 0; i_4 < m.params.length; i_4++) {\n var v = m.params[i_4];\n fCtx.defineVariable(v.name, v);\n v.nameNode.eval_type = v.nameNode.typeNameAsType(fCtx);\n v.nameNode.eval_type_name = v.nameNode.type_name;\n };\n await this.WalkNodeChildren(bodyCopy_1, fCtx, wr);\n fCtx.unsetInMethod();\n fCtx.in_static_method = false;\n fCtx.function_level_context = true;\n for ( let i_5 = 0; i_5 < fCtx.localVarNames.length; i_5++) {\n var n = fCtx.localVarNames[i_5];\n const p_1 : RangerAppParamDesc = fCtx.localVariables[n];\n if ( p_1.set_cnt > 0 ) {\n if ( p_1.is_immutable ) {\n ctx.addError(callArgs, \"Immutable variable was assigned\");\n }\n const defNode : CodeNode = p_1.node;\n defNode.setFlag(\"mutable\");\n const nNode : CodeNode = p_1.nameNode;\n nNode.setFlag(\"mutable\");\n }\n };\n } else {\n const sMethod_1 : RangerAppFunctionDesc = new_cl.findStaticMethod(argsSig);\n static_nameNode = sMethod_1.nameNode;\n const currM_1 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n currM_1.addCallTo(sMethod_1);\n staticMethod = sMethod_1;\n }\n is_static_fn = true;\n static_fn_name = argsSig;\n static_class_name = new_cl.name;\n }\n if ( all_matched ) {\n if ( is_static_fn ) {\n const firstArg : CodeNode = callArgs.getFirst();\n firstArg.vref = (static_class_name + \".\") + static_fn_name;\n firstArg.flow_done = false;\n firstArg.value_type = 11;\n firstArg.ns.length = 0;\n firstArg.ns.push(static_class_name);\n firstArg.ns.push(static_fn_name);\n const newArgs : CodeNode = new CodeNode(callArgs.code, callArgs.sp, callArgs.ep);\n for ( let i_6 = 0; i_6 < callArgs.children.length; i_6++) {\n var ca_1 = callArgs.children[i_6];\n if ( ca_1.is_part_of_chain ) {\n continue;\n }\n if ( i_6 > 0 ) {\n const arg_2 : CodeNode = args.children[(i_6 - 1)];\n if ( arg_2.hasFlag(\"noeval\") ) {\n continue;\n }\n newArgs.children.push(ca_1);\n }\n };\n let arg_len : number = callArgs.children.length;\n while (arg_len > 1) {\n callArgs.children.pop();\n arg_len = arg_len - 1;\n };\n callArgs.children.push(newArgs);\n callArgs.flow_done = false;\n await this.WalkNode(callArgs, ctx, wr);\n /** unused: const currMM : RangerAppFunctionDesc = ctx.getCurrentMethod() **/ \n for ( let i_7 = 0; i_7 < newArgs.children.length; i_7++) {\n var ca_2 = newArgs.children[i_7];\n if ( ca_2.eval_type == 17 ) {\n if ( (typeof(ca_2.lambdaFnDesc) !== \"undefined\" && ca_2.lambdaFnDesc != null ) ) {\n if ( (typeof(staticMethod) !== \"undefined\" && staticMethod != null ) ) {\n staticMethod.addCallTo(ca_2.lambdaFnDesc);\n if ( ca_2.lambdaFnDesc.nameNode.hasFlag(\"async\") ) {\n staticMethod.nameNode.setFlag(\"async\");\n }\n }\n }\n }\n await ca_2.forTree(((item : CodeNode, i : number):void => { \n if ( (typeof(item.fnDesc) !== \"undefined\" && item.fnDesc != null ) ) {\n if ( (typeof(staticMethod) !== \"undefined\" && staticMethod != null ) ) {\n staticMethod.addCallTo(item.fnDesc);\n }\n }\n }));\n };\n match.setRvBasedOn(static_nameNode, callArgs);\n ctx.removeOpNs(added_ns);\n return true;\n }\n if ( is_plugin ) {\n try {\n const fileName : string = ((process.cwd()) + \"/\") + plugin_name;\n console.log(\"trying to load plugin: \" + fileName);\n const plugin : any = require( fileName );\n ( (new plugin.Plugin () )[plugin_fn] )( callArgs, ctx , wr );\n callArgs.flow_done = false;\n await this.WalkNode(callArgs, ctx, wr);\n match.setRvBasedOn(nameNode, callArgs);\n ctx.removeOpNs(added_ns);\n console.log(\"plugin ready...\");\n } catch(e) {\n ctx.addError(callArgs, \"Plugin operator failed \" + (( e.toString())));\n }\n return true;\n }\n if ( is_macro ) {\n const macroNode : CodeNode = await this.buildMacro(langOper, callArgs, ctx);\n let arg_len_1 : number = callArgs.children.length;\n while (arg_len_1 > 0) {\n callArgs.children.pop();\n arg_len_1 = arg_len_1 - 1;\n };\n callArgs.children.push(macroNode);\n macroNode.parent = callArgs;\n await this.WalkNode(macroNode, ctx, wr);\n match.setRvBasedOn(nameNode, callArgs);\n ctx.removeOpNs(added_ns);\n return true;\n }\n if ( nameNode.hasFlag(\"moves\") ) {\n const moves_opt : CodeNode = nameNode.getFlag(\"moves\");\n const moves : CodeNode = moves_opt;\n const ann : CodeNode = moves.vref_annotation;\n const from : CodeNode = ann.getFirst();\n const toItem : CodeNode = ann.getSecond();\n const cA : CodeNode = callArgs.children[from.int_value];\n const cA2 : CodeNode = callArgs.children[toItem.int_value];\n if ( cA.hasParamDesc ) {\n const pp : RangerAppParamDesc = cA.paramDesc;\n const pp2 : RangerAppParamDesc = cA2.paramDesc;\n pp.moveRefTo(callArgs, pp2, ctx);\n }\n }\n if ( nameNode.hasFlag(\"returns\") ) {\n const activeFn_2 : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( (activeFn_2.nameNode.type_name != \"void\") || (activeFn_2.nameNode.value_type == 17) ) {\n if ( (callArgs.children.length) < 2 ) {\n ctx.addError(callArgs, \" missing return value !!!\");\n } else {\n const returnedValue : CodeNode = callArgs.children[1];\n let validated_returnvalue : boolean = false;\n if ( activeFn_2.nameNode.value_type == 17 ) {\n validated_returnvalue = true;\n const fnExpr : CodeNode = activeFn_2.nameNode.expression_value;\n if ( typeof(fnExpr) === \"undefined\" ) {\n ctx.addError(activeFn_2.nameNode, \"returned anonymous function should have a method signature\");\n } else {\n if ( (returnedValue.value_type != 17) && (returnedValue.eval_type != 17) ) {\n ctx.addError(returnedValue, \"Function should return anonymous function!\");\n } else {\n if ( returnedValue.hasParamDesc && ((typeof(returnedValue.paramDesc.nameNode) !== \"undefined\" && returnedValue.paramDesc.nameNode != null ) ) ) {\n const rExpr : CodeNode = returnedValue.paramDesc.nameNode.expression_value;\n await this.matchLambdaArgs(fnExpr, rExpr, ctx, wr);\n } else {\n const rExpr_1 : CodeNode = returnedValue.expression_value;\n await this.matchLambdaArgs(fnExpr, rExpr_1, ctx, wr);\n }\n }\n }\n }\n if ( validated_returnvalue == false ) {\n if ( match.doesMatch((activeFn_2.nameNode), returnedValue, ctx) == false ) {\n if ( activeFn_2.nameNode.ifNoTypeSetToEvalTypeOf(returnedValue) ) {\n } else {\n ctx.addError(returnedValue, \"invalid return value type!!! \" + returnedValue.getCode());\n ctx.addError(returnedValue, \"^ code: \" + returnedValue.getCode());\n ctx.addError(activeFn_2.nameNode, \"^ regarding to\");\n if ( returnedValue.eval_type == 28 ) {\n ctx.addError(activeFn_2.nameNode, \"^ which was a method\");\n }\n ctx.addError(activeFn_2.nameNode, \"^ value type = \" + returnedValue.eval_type);\n }\n }\n }\n const argNode : CodeNode = activeFn_2.nameNode;\n if ( returnedValue.hasFlag(\"optional\") ) {\n if ( false == argNode.hasFlag(\"optional\") ) {\n ctx.addError(callArgs, \"function return value optionality does not match, expected non-optional return value, optional given at \" + argNode.getCode());\n }\n }\n if ( argNode.hasFlag(\"optional\") ) {\n if ( false == returnedValue.hasFlag(\"optional\") ) {\n ctx.addError(callArgs, \"function return value optionality does not match, expected optional return value \" + argNode.getCode());\n }\n }\n const pp_1 : RangerAppParamDesc = returnedValue.paramDesc;\n if ( (typeof(pp_1) !== \"undefined\" && pp_1 != null ) ) {\n pp_1.moveRefTo(callArgs, activeFn_2, ctx);\n }\n }\n }\n if ( typeof(callArgs.parent) === \"undefined\" ) {\n ctx.addError(callArgs, \"did not have parent\");\n console.log(\"no parent => \" + callArgs.getCode());\n }\n callArgs.parent.didReturnAtIndex = callArgs.parent.children.indexOf(callArgs);\n }\n if ( nameNode.hasFlag(\"returns\") == false ) {\n match.setRvBasedOn(nameNode, callArgs);\n callArgs.evalTypeClass = TFactory.new_def_signature(nameNode, ctx, wr);\n }\n if ( has_eval_ctx ) {\n const tmpCtx_3 : RangerAppWriterContext = ctx;\n callArgs.evalCtx = tmpCtx_3;\n }\n const nodeP : CodeNode = callArgs.parent;\n if ( (typeof(nodeP) !== \"undefined\" && nodeP != null ) ) {\n } else {\n }\n /** unused: const sig : string = nameNode.buildTypeSignatureUsingMatch(match) **/ \n some_matched = true;\n callArgs.has_operator = true;\n callArgs.op_index = main_index;\n callArgs.operator_node = ch;\n for ( let arg_index = 0; arg_index < args.children.length; arg_index++) {\n var arg_3 = args.children[arg_index];\n if ( arg_3.has_vref_annotation ) {\n const anns : CodeNode = arg_3.vref_annotation;\n for ( let i_8 = 0; i_8 < anns.children.length; i_8++) {\n var ann_1 = anns.children[i_8];\n if ( ann_1.vref == \"mutates\" ) {\n const theArg : CodeNode = callArgs.children[(arg_index + 1)];\n if ( theArg.hasParamDesc ) {\n theArg.paramDesc.set_cnt = theArg.paramDesc.set_cnt + 1;\n }\n }\n };\n }\n };\n break;\n }\n }\n };\n if ( (require_all_match == true) && (some_matched == false) ) {\n ctx.addError(callArgs, \"Could not match argument types for \" + callFnName.vref);\n }\n if ( expects_error ) {\n const cnt_now : number = ctx.getErrorCount();\n if ( cnt_now == err_cnt ) {\n ctx.addParserError(callArgs, ((\"LANGUAGE_PARSER_ERROR: expected generated error, err counts : \" + err_cnt) + \" : \") + cnt_now);\n }\n } else {\n const cnt_now_1 : number = ctx.getErrorCount();\n if ( cnt_now_1 > err_cnt ) {\n ctx.addParserError(callArgs, ((\"LANGUAGE_PARSER_ERROR: did not expect generated error, err counts : \" + err_cnt) + \" : \") + cnt_now_1);\n }\n }\n ctx.removeOpNs(added_ns);\n return some_matched;\n };\n}\nexport class TFactory {\n constructor() {\n }\n // typescript static \n static new_class_signature (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n const sig : string = node.vref;\n const tc : RangerTypeClass = ctx.getTypeClass(sig);\n if ( typeof(tc) === \"undefined\" ) {\n const newTC : RangerTypeClass = ctx.addTypeClass(sig);\n newTC.value_type = node.value_type;\n newTC.is_class = true;\n newTC.name = sig;\n return newTC;\n }\n return tc;\n };\n // typescript static \n static new_lambda_signature (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n const sig : string = TFactory.lambdaSignature(node);\n const tc : RangerTypeClass = ctx.getTypeClass(sig);\n if ( typeof(tc) === \"undefined\" ) {\n const newTC : RangerTypeClass = ctx.addTypeClass(sig);\n newTC.value_type = node.value_type;\n newTC.is_lambda = true;\n newTC.name = sig;\n return newTC;\n }\n return tc;\n };\n // typescript static \n static new_def_signature_from_simple_string (sig : string, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n const tc : RangerTypeClass = ctx.getTypeClass(sig);\n if ( typeof(tc) === \"undefined\" ) {\n const newTC : RangerTypeClass = ctx.addTypeClass(sig);\n newTC.is_primitive = TTypes.isPrimitive(TTypes.nameToValue(sig));\n newTC.value_type = TTypes.nameToValue(sig);\n newTC.name = sig;\n if ( ((sig.length) > 0) == false ) {\n newTC.is_empty = true;\n }\n return newTC;\n }\n return tc;\n };\n // typescript static \n static sig (sig : string, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n return TFactory.new_def_signature_from_simple_string(sig, ctx, wr);\n };\n // typescript static \n static new_def_signature (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n const sig : string = TFactory.baseSignature(node);\n const tc : RangerTypeClass = ctx.getTypeClass(sig);\n if ( typeof(tc) === \"undefined\" ) {\n const newTC : RangerTypeClass = ctx.addTypeClass(sig);\n newTC.value_type = node.value_type;\n newTC.is_primitive = TTypes.isPrimitive(node.value_type);\n if ( node.value_type == 17 ) {\n newTC.is_lambda = true;\n }\n if ( node.value_type == 6 ) {\n newTC.arrayType = TFactory.new_def_signature_from_simple_string(node.array_type, ctx, wr);\n }\n if ( node.value_type == 7 ) {\n newTC.keyType = TFactory.new_def_signature_from_simple_string(node.key_type, ctx, wr);\n newTC.arrayType = TFactory.new_def_signature_from_simple_string(node.array_type, ctx, wr);\n }\n newTC.name = sig;\n if ( ((sig.length) > 0) == false ) {\n newTC.is_empty = true;\n }\n return newTC;\n }\n return tc;\n };\n // typescript static \n static new_scalar_signature (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerTypeClass {\n const sig : string = TFactory.baseSignature(node);\n const tc : RangerTypeClass = ctx.getTypeClass(sig);\n if ( typeof(tc) === \"undefined\" ) {\n const newTC : RangerTypeClass = ctx.addTypeClass(sig);\n newTC.is_primitive = true;\n newTC.value_type = node.value_type;\n newTC.name = sig;\n return newTC;\n }\n return tc;\n };\n // typescript static \n static type_annotation (node : CodeNode) : string {\n if ( node.has_type_annotation ) {\n return (\"@(\" + TFactory.baseSignature((node.type_annotation))) + \")\";\n }\n return \"\";\n };\n // typescript static \n static lambdaSignature (node : CodeNode) : string {\n const fnNode : CodeNode = node.getFirst();\n const argNode : CodeNode = node.getSecond();\n let s : string = \"\";\n s = (s + \"(_:\") + TFactory.baseSignature(fnNode);\n s = ((s + \" (\") + (operatorsOf.map_47(argNode.children, ((item : CodeNode, index : number):string => { \n return \"_:\" + TFactory.baseSignature(item);\n })).join(\" \"))) + \"))\";\n return s;\n };\n // typescript static \n static baseSignature (node : CodeNode) : string {\n if ( TTypes.isPrimitive(node.value_type) ) {\n return TTypes.valueAsString(node.value_type);\n }\n let s : string = \"\";\n if ( node.value_type == 6 ) {\n s = s + \"[\";\n s = s + node.array_type;\n s = s + \"]\";\n return s;\n }\n if ( node.value_type == 7 ) {\n s = s + \"[\";\n s = s + node.key_type;\n s = s + \":\";\n s = s + node.array_type;\n s = s + \"]\";\n return s;\n }\n if ( node.value_type == 17 ) {\n const fnNode : CodeNode = node.expression_value.getFirst();\n const argNode : CodeNode = node.expression_value.getSecond();\n s = (s + \"(_:\") + TFactory.baseSignature(fnNode);\n s = ((s + \" (\") + (operatorsOf.map_47(argNode.children, ((item : CodeNode, index : number):string => { \n return \"_:\" + TFactory.baseSignature(item);\n })).join(\" \"))) + \"))\";\n return s;\n }\n s = node.type_name + TFactory.type_annotation(node);\n return s;\n };\n}\nexport class CallChain {\n methodName: string;\n method: CodeNode;\n args: CodeNode;\n constructor() {\n this.methodName = \"\";\n }\n}\nexport class NodeEvalState {\n ctx: RangerAppWriterContext;\n is_running: boolean;\n child_index: number;\n cmd_index: number;\n is_ready: boolean;\n is_waiting: boolean;\n exit_after: boolean;\n expand_args: boolean;\n ask_expand: boolean;\n eval_rest: boolean;\n exec_cnt: number;\n b_debugger: boolean;\n b_top_node: boolean;\n ask_eval: boolean;\n param_eval_on: boolean;\n eval_index: number;\n eval_end_index: number;\n ask_eval_start: number;\n ask_eval_end: number;\n evaluating_cmd: CodeNode;\n constructor() {\n this.is_running = false; /** note: unused */\n this.child_index = -1; /** note: unused */\n this.cmd_index = -1; /** note: unused */\n this.is_ready = false; /** note: unused */\n this.is_waiting = false; /** note: unused */\n this.exit_after = false; /** note: unused */\n this.expand_args = false; /** note: unused */\n this.ask_expand = false; /** note: unused */\n this.eval_rest = false; /** note: unused */\n this.exec_cnt = 0; /** note: unused */\n this.b_debugger = false; /** note: unused */\n this.b_top_node = false; /** note: unused */\n this.ask_eval = false; /** note: unused */\n this.param_eval_on = false; /** note: unused */\n this.eval_index = -1; /** note: unused */\n this.eval_end_index = -1; /** note: unused */\n this.ask_eval_start = 0; /** note: unused */\n this.ask_eval_end = 0; /** note: unused */\n }\n}\nexport class RangerGenericClassWriter {\n compiler: LiveCompiler;\n compFlags: {[key:string]:boolean};\n constructor() {\n this.compFlags = {};\n }\n lineEnding () : string {\n return \"\";\n };\n async addSystemImport (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( cl.is_system ) {\n const langName : string = operatorsOf_21.getTargetLang_22(ctx);\n if ( ( typeof(cl.systemNodes[langName] ) != \"undefined\" && cl.systemNodes.hasOwnProperty(langName) ) ) {\n const sNode : CodeNode = (cl.systemNodes[langName]);\n if ( (sNode.children.length) > 2 ) {\n const impDefs : CodeNode = sNode.children[2];\n await impDefs.forTree(((item : CodeNode, i : number):void => { \n if ( item.isFirstVref(\"imp\") ) {\n const name : CodeNode = item.getSecond();\n wr.addImport(name.string_value);\n }\n }));\n }\n }\n }\n };\n EncodeString (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : string {\n /** unused: const encoded_str : string = \"\" **/ \n const str_length : number = node.string_value.length;\n let encoded_str_2 : string = \"\";\n let ii : number = 0;\n while (ii < str_length) {\n const cc : number = node.string_value.charCodeAt(ii );\n switch (cc ) { \n case 8 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(98));\n break;\n case 9 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(116));\n break;\n case 10 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(110));\n break;\n case 12 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(102));\n break;\n case 13 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(114));\n break;\n case 34 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(34));\n break;\n case 92 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(92));\n break;\n default: \n encoded_str_2 = encoded_str_2 + (String.fromCharCode(cc));\n break;\n };\n ii = ii + 1;\n };\n return encoded_str_2;\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n };\n async WriteSetterVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n };\n writeArrayTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n };\n async WriteEnum (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n const rootObjName : string = node.ns[0];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n const enumName : string = node.ns[1];\n wr.out(\"\" + ((e.values[enumName])), false);\n } else {\n if ( node.hasParamDesc ) {\n const pp : RangerAppParamDesc = node.paramDesc;\n const nn : CodeNode = pp.nameNode;\n await this.WriteVRef(nn, ctx, wr);\n }\n }\n }\n };\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n switch (node.value_type ) { \n case 2 : \n const dd_str : string = \"\" + node.double_value;\n const ii_str : string = \"\" + (Math.floor( node.double_value));\n if ( dd_str == ii_str ) {\n wr.out((\"\" + node.double_value) + \".0\", false);\n } else {\n wr.out(\"\" + node.double_value, false);\n }\n break;\n case 4 : \n const s : string = this.EncodeString(node, ctx, wr);\n wr.out((\"\\\"\" + s) + \"\\\"\", false);\n break;\n case 3 : \n wr.out(\"\" + node.int_value, false);\n break;\n case 5 : \n if ( node.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n };\n };\n getTypeString (type_string : string) : string {\n return type_string;\n };\n import_lib (lib_name : string, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n wr.addImport(lib_name);\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Integer\";\n case \"string\" : \n return \"String\";\n case \"chararray\" : \n return \"byte[]\";\n case \"char\" : \n return \"byte\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n release_local_vars (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n for ( let i = 0; i < ctx.localVarNames.length; i++) {\n var n = ctx.localVarNames[i];\n const p : RangerAppParamDesc = ctx.localVariables[n];\n if ( p.ref_cnt == 0 ) {\n continue;\n }\n if ( p.isAllocatedType() ) {\n if ( 1 == p.getStrength() ) {\n if ( p.nameNode.eval_type == 7 ) {\n }\n if ( p.nameNode.eval_type == 6 ) {\n }\n if ( (p.nameNode.eval_type != 6) && (p.nameNode.eval_type != 7) ) {\n }\n }\n if ( 0 == p.getStrength() ) {\n if ( p.nameNode.eval_type == 7 ) {\n }\n if ( p.nameNode.eval_type == 6 ) {\n }\n if ( (p.nameNode.eval_type != 6) && (p.nameNode.eval_type != 7) ) {\n }\n }\n }\n };\n if ( ctx.is_function ) {\n return;\n }\n if ( (typeof(ctx.parent) !== \"undefined\" && ctx.parent != null ) ) {\n this.release_local_vars(node, ctx.parent, wr);\n }\n };\n async WalkNode (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await operatorsOf.forEach_15(node.children, ((item : CodeNode, index : number):void => { \n if ( (typeof(item.evalCtx) !== \"undefined\" && item.evalCtx != null ) ) {\n if ( operatorsOf_21.getTargetLang_22((item.evalCtx)) != operatorsOf_21.getTargetLang_22(ctx) ) {\n item.evalCtx.targetLangName = operatorsOf_21.getTargetLang_22(ctx);\n }\n }\n }));\n if ( (typeof(node.evalCtx) !== \"undefined\" && node.evalCtx != null ) ) {\n await this.compiler.WalkNode(node, node.evalCtx, wr);\n } else {\n await this.compiler.WalkNode(node, ctx, wr);\n }\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(node.type_name, false);\n };\n async writeRawTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.writeTypeDef(node, ctx, wr);\n };\n adjustType (tn : string) : string {\n return tn;\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n };\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part = node.ns[i_1];\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n wr.out(this.adjustType(part), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const p : RangerAppParamDesc = node.paramDesc;\n if ( p.set_cnt > 0 ) {\n wr.out(\"var \" + p.name, false);\n } else {\n wr.out(\"const \" + p.name, false);\n }\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\";\", true);\n } else {\n wr.out(\";\", true);\n }\n }\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\").\", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n const pms : Array<CodeNode> = operatorsOf.filter_36(args.children, ((item : CodeNode, index : number):boolean => { \n if ( item.hasFlag(\"keyword\") ) {\n return false;\n }\n return true;\n }));\n for ( let i = 0; i < pms.length; i++) {\n var arg = pms[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async CreateMethodCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getFirst();\n const args : CodeNode = node.getSecond();\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"(\", false);\n ctx.setInExpr();\n const pms : Array<CodeNode> = operatorsOf.filter_36(args.children, ((item : CodeNode, index : number):boolean => { \n if ( item.hasFlag(\"keyword\") ) {\n return false;\n }\n return true;\n }));\n for ( let i = 0; i < pms.length; i++) {\n var arg = pms[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n };\n async CreatePropertyGet (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getSecond();\n const prop : CodeNode = node.getThird();\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\").\", false);\n await this.WalkNode(prop, ctx, wr);\n };\n isPackaged (ctx : RangerAppWriterContext) : boolean {\n const package_name : string = ctx.getCompilerSetting(\"package\");\n if ( (package_name.length) > 0 ) {\n return true;\n }\n return false;\n };\n async CreateUnions (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n };\n async CreateServices (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n };\n async CreatePages (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n };\n async CreatePage (parser : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n ctx.addError(node, \"CreatePage not implemented for the build target\");\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n ctx.setInExpr();\n await this.WalkNode(fName, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n wr.out(\")\", false);\n ctx.unsetInExpr();\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.flow_done == false ) {\n await this.compiler.parser.WalkNode(arg, lambdaCtx, wr);\n }\n await this.WalkNode(arg, lambdaCtx, wr);\n };\n wr.out(\")\", false);\n wr.out(\" => { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n const givenArgs : CodeNode = node.getSecond();\n ctx.setInExpr();\n let cnt : number = 0;\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( arg.nameNode.hasFlag(\"keyword\") ) {\n continue;\n }\n if ( cnt > 0 ) {\n wr.out(\", \", false);\n }\n cnt = cnt + 1;\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( (node.methodChain.length) > 0 ) {\n for ( let i_1 = 0; i_1 < node.methodChain.length; i_1++) {\n var cc = node.methodChain[i_1];\n wr.out(\".\" + cc.methodName, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i_2 = 0; i_2 < cc.args.children.length; i_2++) {\n var arg_1 = cc.args.children[i_2];\n if ( i_2 > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg_1, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n };\n }\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(\"new \" + node.clDesc.name, false);\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\")\", false);\n }\n };\n async writeInterface (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n };\n async disabledVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"[\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\"]\", false);\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n wr.out((\"class \" + cl.name) + \" { \", true);\n wr.indent(1);\n for ( let i = 0; i < cl.variables.length; i++) {\n var pvar = cl.variables[i];\n wr.out((((\"/* var \" + pvar.name) + \" => \") + pvar.nameNode.parent.getCode()) + \" */ \", true);\n };\n for ( let i_1 = 0; i_1 < cl.static_methods.length; i_1++) {\n var pvar_1 = cl.static_methods[i_1];\n wr.out((\"/* static \" + pvar_1.name) + \" */ \", true);\n };\n for ( let i_2 = 0; i_2 < cl.defined_variants.length; i_2++) {\n var fnVar = cl.defined_variants[i_2];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_3 = 0; i_3 < mVs.variants.length; i_3++) {\n var variant = mVs.variants[i_3];\n wr.out((\"function \" + variant.name) + \"() {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx : RangerAppWriterContext = ctx.fork();\n await this.WalkNode(variant.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class AndroidPageWriter {\n classWriter: RangerGenericClassWriter;\n constructor() {\n }\n BuildAST (code_string : string) : CodeNode {\n const lang_code : SourceCode = new SourceCode(code_string);\n lang_code.filename = \"<AST>\";\n const lang_parser : RangerLispParser = new RangerLispParser(lang_code);\n lang_parser.parse(false);\n const node : CodeNode = lang_parser.rootNode;\n return node;\n };\n async CreatePage (parser : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const sc : CodeNode = node.getSecond();\n const pageName : string = sc.vref;\n const wr : CodeWriter = orig_wr.getFileWriter(\".\", (pageName + \".java\"));\n wr.out(\"// created by AndroidPageWriter \", true);\n const package_name : string = ctx.getCompilerSetting(\"package\");\n if ( (package_name.length) > 0 ) {\n wr.out((\"package \" + package_name) + \";\", true);\n }\n const importFork : CodeWriter = wr.fork();\n this.classWriter.import_lib(\"android.content.Context\", ctx, wr);\n this.classWriter.import_lib(\"android.support.v7.app.AppCompatActivity\", ctx, wr);\n this.classWriter.import_lib(\"android.widget.LinearLayout\", ctx, wr);\n this.classWriter.import_lib(\"android.view.LayoutInflater\", ctx, wr);\n this.classWriter.import_lib(\"android.os.Bundle\", ctx, wr);\n this.classWriter.import_lib(\"android.support.v4.app.Fragment\", ctx, wr);\n this.classWriter.import_lib(\"android.view.ViewGroup\", ctx, wr);\n this.classWriter.import_lib(\"android.view.View\", ctx, wr);\n const package_name_2 : string = ctx.getCompilerSetting(\"package\");\n if ( this.classWriter.isPackaged(ctx) ) {\n this.classWriter.import_lib(package_name_2 + \".interfaces.*\", ctx, wr);\n this.classWriter.import_lib(package_name_2 + \".operators.*\", ctx, wr);\n this.classWriter.import_lib(package_name_2 + \".immutables.*\", ctx, wr);\n }\n wr.out((\"public class \" + pageName) + \" extends Fragment {\", true);\n wr.indent(1);\n wr.out(\"public JinxProcess mainProcess; \", true);\n wr.out(\"@Override \", true);\n wr.out(\"public void onDestroyView() { \", true);\n wr.indent(1);\n wr.out(\"super.onDestroyView(); \", true);\n wr.out(\"if( mainProcess != null) mainProcess.abort();\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out(\"@Override\", true);\n wr.out(\"public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {\", true);\n wr.indent(1);\n wr.out((\"final View view = inflater.inflate(R.layout.activity_\" + pageName) + \", container, false);\", true);\n const fnBody : CodeNode = node.children[2];\n const subCtx : RangerAppWriterContext = ctx.fork();\n subCtx.is_function = true;\n subCtx.in_static_method = true;\n subCtx.setInMethod();\n const rootCtx : RangerAppWriterContext = subCtx.getRoot();\n const errCnt : number = rootCtx.compilerErrors.length;\n const copyOf : CodeNode = fnBody.copy();\n await parser.WalkNodeChildren(fnBody, subCtx, wr);\n subCtx.unsetInMethod();\n subCtx.in_static_method = false;\n subCtx.function_level_context = true;\n const errCnt2 : number = rootCtx.compilerErrors.length;\n let cnt : number = errCnt2 - errCnt;\n while (cnt > 0) {\n rootCtx.compilerErrors.pop();\n cnt = cnt - 1;\n };\n const preBody : CodeNode = fnBody.newExpressionNode();\n const mainBody : CodeNode = fnBody.newExpressionNode();\n const newBody : CodeNode = fnBody.newExpressionNode();\n let stdCode : CodeNode = fnBody.newExpressionNode();\n let stdBody : CodeNode = fnBody.newExpressionNode();\n let in_stdCode : boolean = false;\n let pushed_std : boolean = false;\n let first_lines : boolean = true;\n const pRef : CodeNode = fnBody.newVRefNode(\"process\");\n const pName : CodeNode = fnBody.newStringNode(pageName);\n newBody.children.push(pRef);\n newBody.children.push(pName);\n if ( pageName != \"notme\" ) {\n await operatorsOf.forEach_15(fnBody.children, ((item : CodeNode, index : number):void => { \n if ( item.isFirstVref(\"ui\") || (item.eval_type_name == \"JinxProcess\") ) {\n if ( in_stdCode ) {\n newBody.children.push(stdCode);\n in_stdCode = false;\n }\n first_lines = false;\n }\n if ( item.isFirstVref(\"ui\") ) {\n first_lines = false;\n const taskNode : CodeNode = copyOf.children[index];\n const codeToRun : CodeNode = taskNode.getSecond();\n const uiNode : CodeNode = CodeNode.op2(\"task.call\", CodeNode.blockFromList([CodeNode.op3(\"def\", [CodeNode.vref1(\"uictx\"), CodeNode.op2(\"unwrap\", CodeNode.op3(\"get\", [CodeNode.vref1(\"ctx.anyValues\"), CodeNode.newStr(\"uicontext\")]))]), CodeNode.op2(\"print\", CodeNode.newStr(\"after this should be ui_thread\")), CodeNode.op3(\"case\", [CodeNode.vref1(\"uictx\"), CodeNode.vref2(\"c\", \"UIContextHandle\"), CodeNode.blockFromList([CodeNode.op3(\"ui_thread\", [CodeNode.vref1(\"c\"), codeToRun])])])]));\n newBody.children.push(uiNode);\n return;\n }\n if ( item.eval_type_name == \"JinxProcess\" ) {\n const taskNode_1 : CodeNode = copyOf.children[index];\n newBody.children.push(taskNode_1);\n } else {\n if ( first_lines ) {\n const tt : CodeNode = copyOf.children[index];\n preBody.children.push(tt);\n } else {\n if ( in_stdCode == false ) {\n stdCode = fnBody.newExpressionNode();\n stdCode.children.push(fnBody.newVRefNode(\"task.call\"));\n const callBody : CodeNode = fnBody.newExpressionNode();\n callBody.is_block_node = true;\n const tryC : CodeNode = fnBody.newExpressionNode();\n const catchC : CodeNode = fnBody.newExpressionNode();\n catchC.is_block_node = true;\n tryC.children.push(fnBody.newVRefNode(\"try\"));\n stdBody = fnBody.newExpressionNode();\n stdBody.is_block_node = true;\n tryC.children.push(stdBody);\n tryC.children.push(catchC);\n callBody.children.push(tryC);\n stdCode.children.push(callBody);\n in_stdCode = true;\n pushed_std = false;\n }\n const taskNode_2 : CodeNode = copyOf.children[index];\n stdBody.children.push(taskNode_2);\n }\n }\n }));\n }\n if ( in_stdCode ) {\n newBody.children.push(stdCode);\n }\n const ast : CodeNode = this.BuildAST(\"\\r\\n def ctx (new JinxProcessCtx)\\r\\n ctx.anyValues = (set ctx.anyValues \\\"view\\\" view)\\r\\n ctx.anyValues = (set ctx.anyValues \\\"uicontext\\\" (getUIContext))\\r\\n ctx.anyValues = (set ctx.anyValues \\\"process\\\" mainProcess)\\r\\n mainProcess.start(ctx)\\r\\n \");\n await operatorsOf.forEach_15(ast.children, ((item : CodeNode, index : number):void => { \n const n : CodeNode = item;\n mainBody.children.push(n);\n }));\n const mainPN : CodeNode = fnBody.newVRefNode(\"mainProcess\");\n mainPN.type_name = \"JinxProcess\";\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = \"mainProcess\";\n p.compiledName = \"mainProcess\";\n p.value_type = 11;\n p.node = mainPN;\n p.nameNode = mainPN;\n p.is_optional = false;\n p.init_cnt = 1;\n subCtx.defineVariable(p.name, p);\n const mainPN_2 : CodeNode = fnBody.newVRefNode(\"view\");\n mainPN_2.type_name = \"View\";\n const p_2 : RangerAppParamDesc = new RangerAppParamDesc();\n p_2.name = \"view\";\n p_2.compiledName = \"view\";\n p_2.value_type = 11;\n p_2.node = mainPN_2;\n p_2.nameNode = mainPN_2;\n p_2.is_optional = false;\n p_2.init_cnt = 1;\n subCtx.defineVariable(p_2.name, p_2);\n const mainPN_3 : CodeNode = fnBody.newVRefNode(\"ctx\");\n mainPN_3.type_name = \"JinxProcessCtx\";\n const p_3 : RangerAppParamDesc = new RangerAppParamDesc();\n p_3.name = \"ctx\";\n p_3.compiledName = \"ctx\";\n p_3.value_type = 11;\n p_3.node = mainPN_3;\n p_3.nameNode = mainPN_3;\n p_3.is_optional = false;\n p_3.init_cnt = 1;\n subCtx.defineVariable(p_3.name, p_3);\n subCtx.is_function = true;\n subCtx.in_static_method = true;\n subCtx.setInMethod();\n await parser.WalkNode(preBody, subCtx, wr);\n await parser.WalkNode(newBody, subCtx, wr);\n await parser.WalkNode(mainBody, subCtx, wr);\n subCtx.unsetInMethod();\n subCtx.in_static_method = false;\n subCtx.function_level_context = true;\n await this.classWriter.WalkNode(preBody, subCtx, wr);\n wr.out(\"mainProcess = (\", false);\n subCtx.setInExpr();\n await this.classWriter.WalkNode(newBody, subCtx, wr);\n subCtx.unsetInExpr();\n wr.out(\");\", true);\n await this.classWriter.WalkNode(mainBody, subCtx, wr);\n wr.out(\"return view;\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n const import_list : Array<string> = wr.getImports();\n for ( let i = 0; i < import_list.length; i++) {\n var codeStr = import_list[i];\n importFork.out((\"import \" + codeStr) + \";\", true);\n };\n };\n}\nexport class RangerJava7ClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n signatures: {[key:string]:number};\n signature_cnt: number;\n iface_created: {[key:string]:boolean};\n constructor() {\n super()\n this.signatures = {};\n this.signature_cnt = 0;\n this.iface_created = {};\n }\n getSignatureInterface (s : string) : string {\n const idx : number = this.signatures[s];\n if ( (typeof(idx) !== \"undefined\" && idx != null ) ) {\n return \"LambdaSignature\" + (idx);\n }\n this.signature_cnt = this.signature_cnt + 1;\n this.signatures[s] = this.signature_cnt;\n return \"LambdaSignature\" + this.signature_cnt;\n };\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n async getObjectTypeString2 (type_string : string, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<string> {\n switch (type_string ) { \n case \"int\" : \n return \"Integer\";\n case \"string\" : \n return \"String\";\n case \"charbuffer\" : \n return \"byte[]\";\n case \"char\" : \n return \"byte\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n };\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_system ) {\n /** unused: const current_sys : RangerAppWriterContext = ctx **/ \n const sName : string = (cc.systemNames[\"java7\"]);\n await this.addSystemImport(cc, ctx, wr);\n return sName;\n }\n if ( cc.is_union ) {\n return \"Object\";\n }\n }\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Integer\";\n case \"string\" : \n return \"String\";\n case \"charbuffer\" : \n return \"byte[]\";\n case \"char\" : \n return \"byte\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n if ( node.hasFlag(\"optional\") ) {\n switch (v_type ) { \n case 17 : \n const sig : string = this.buildLambdaSignature((node.expression_value));\n const iface_name : string = this.getSignatureInterface(sig);\n wr.out(iface_name, false);\n if ( this.isPackaged(ctx) ) {\n const package_name : string = ctx.getCompilerSetting(\"package\");\n wr.addImport(package_name + \".interfaces.*\");\n }\n if ( (( typeof(this.iface_created[iface_name] ) != \"undefined\" && this.iface_created.hasOwnProperty(iface_name) )) == false ) {\n const fnNode : CodeNode = node.expression_value.children[0];\n const args : CodeNode = node.expression_value.children[1];\n this.iface_created[iface_name] = true;\n let iface_dir : string = \".\";\n if ( this.isPackaged(ctx) ) {\n iface_dir = \"./interfaces/\";\n }\n const utilWr : CodeWriter = wr.getFileWriter(iface_dir, (iface_name + \".java\"));\n if ( this.isPackaged(ctx) ) {\n const package_name_1 : string = ctx.getCompilerSetting(\"package\");\n if ( (package_name_1.length) > 0 ) {\n utilWr.out((\"package \" + package_name_1) + \".interfaces;\", true);\n utilWr.out((\"import \" + package_name_1) + \".*;\", true);\n }\n }\n const importFork : CodeWriter = utilWr.fork();\n utilWr.out((\"public interface \" + iface_name) + \" { \", true);\n utilWr.indent(1);\n utilWr.out(\"public \", false);\n await this.writeTypeDef(fnNode, ctx, utilWr);\n utilWr.out(\" run(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n utilWr.out(\", \", false);\n }\n utilWr.out(\" final \", false);\n await this.writeTypeDef(arg, ctx, utilWr);\n utilWr.out(\" \", false);\n utilWr.out(arg.vref, false);\n };\n utilWr.out(\");\", true);\n utilWr.indent(-1);\n utilWr.out(\"}\", true);\n await operatorsOf.forEach_12(utilWr.getImports(), ((item : string, index : number):void => { \n importFork.out((\"import \" + item) + \";\", true);\n }));\n }\n break;\n case 13 : \n wr.out(\"Integer\", false);\n break;\n case 3 : \n wr.out(\"Integer\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"Boolean\", false);\n break;\n case 14 : \n wr.out(\"byte\", false);\n break;\n case 15 : \n wr.out(\"byte[]\", false);\n break;\n case 7 : \n wr.out((((\"HashMap<\" + await this.getObjectTypeString2(k_name, ctx, wr)) + \",\") + await this.getObjectTypeString2(a_name, ctx, wr)) + \">\", false);\n wr.addImport(\"java.util.*\");\n break;\n case 6 : \n wr.out((\"ArrayList<\" + await this.getObjectTypeString2(a_name, ctx, wr)) + \">\", false);\n wr.addImport(\"java.util.*\");\n break;\n default: \n if ( t_name == \"void\" ) {\n wr.out(\"void\", false);\n } else {\n wr.out(await this.getObjectTypeString2(t_name, ctx, wr), false);\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_system ) {\n await this.addSystemImport(cc, ctx, wr);\n }\n }\n break;\n };\n } else {\n switch (v_type ) { \n case 17 : \n const sig_1 : string = this.buildLambdaSignature((node.expression_value));\n const iface_name_1 : string = this.getSignatureInterface(sig_1);\n wr.out(iface_name_1, false);\n /** unused: const package_name_2 : string = ctx.getCompilerSetting(\"package\") **/ \n if ( (( typeof(this.iface_created[iface_name_1] ) != \"undefined\" && this.iface_created.hasOwnProperty(iface_name_1) )) == false ) {\n const fnNode_1 : CodeNode = node.expression_value.children[0];\n const args_1 : CodeNode = node.expression_value.children[1];\n this.iface_created[iface_name_1] = true;\n let iface_dir_1 : string = \".\";\n if ( this.isPackaged(ctx) ) {\n iface_dir_1 = \"./interfaces/\";\n }\n const utilWr_1 : CodeWriter = wr.getFileWriter(iface_dir_1, (iface_name_1 + \".java\"));\n if ( this.isPackaged(ctx) ) {\n const package_name_3 : string = ctx.getCompilerSetting(\"package\");\n if ( (package_name_3.length) > 0 ) {\n utilWr_1.out((\"package \" + package_name_3) + \".interfaces;\", true);\n utilWr_1.out((\"import \" + package_name_3) + \".*;\", true);\n }\n }\n const importFork_1 : CodeWriter = utilWr_1.fork();\n utilWr_1.out((\"public interface \" + iface_name_1) + \" { \", true);\n utilWr_1.indent(1);\n utilWr_1.out(\"public \", false);\n await this.writeTypeDef(fnNode_1, ctx, utilWr_1);\n utilWr_1.out(\" run(\", false);\n for ( let i_1 = 0; i_1 < args_1.children.length; i_1++) {\n var arg_1 = args_1.children[i_1];\n if ( i_1 > 0 ) {\n utilWr_1.out(\", \", false);\n }\n utilWr_1.out(\" final \", false);\n await this.writeTypeDef(arg_1, ctx, utilWr_1);\n utilWr_1.out(\" \", false);\n utilWr_1.out(arg_1.vref, false);\n };\n utilWr_1.out(\");\", true);\n utilWr_1.indent(-1);\n utilWr_1.out(\"}\", true);\n await operatorsOf.forEach_12(utilWr_1.getImports(), ((item : string, index : number):void => { \n importFork_1.out((\"import \" + item) + \";\", true);\n }));\n }\n break;\n case 13 : \n wr.out(\"Integer\", false);\n break;\n case 3 : \n wr.out(\"Integer\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 14 : \n wr.out(\"byte\", false);\n break;\n case 15 : \n wr.out(\"byte[]\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"Boolean\", false);\n break;\n case 7 : \n wr.out((((\"HashMap<\" + await this.getObjectTypeString2(k_name, ctx, wr)) + \",\") + await this.getObjectTypeString2(a_name, ctx, wr)) + \">\", false);\n wr.addImport(\"java.util.*\");\n break;\n case 6 : \n wr.out((\"ArrayList<\" + await this.getObjectTypeString2(a_name, ctx, wr)) + \">\", false);\n wr.addImport(\"java.util.*\");\n break;\n default: \n let b_object_set : boolean = false;\n if ( ctx.isDefinedClass(t_name) ) {\n const cc_1 : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc_1.is_union ) {\n wr.out(\"Object\", false);\n b_object_set = true;\n }\n if ( cc_1.is_system ) {\n await this.addSystemImport(cc_1, ctx, wr);\n const sName : string = (cc_1.systemNames[\"java7\"]);\n wr.out(sName, false);\n return;\n }\n }\n if ( b_object_set == false ) {\n if ( t_name == \"void\" ) {\n wr.out(\"void\", false);\n } else {\n wr.out(this.getTypeString(t_name), false);\n }\n }\n break;\n };\n }\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n if ( ctx.inLambda() ) {\n const currC : RangerAppClassDesc = ctx.getCurrentClass();\n wr.out(currC.name + \".this\", false);\n } else {\n wr.out(\"this\", false);\n }\n return;\n }\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n const max_len : number = node.ns.length;\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i == 0 ) {\n let p_captured_mutable : boolean = ((p.set_cnt > 0) && p.is_captured) && (p.is_class_variable == false);\n if ( (p.nameNode.value_type == 7) || (p.nameNode.value_type == 6) ) {\n p_captured_mutable = false;\n }\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n if ( ctx.inLambda() ) {\n const currC_1 : RangerAppClassDesc = ctx.getCurrentClass();\n wr.out(currC_1.name + \".this\", false);\n } else {\n const currC_2 : RangerAppClassDesc = ctx.getCurrentClass();\n wr.out(currC_2.name + \".this\", false);\n }\n continue;\n }\n if ( p_captured_mutable ) {\n wr.out(\"[0]\", false);\n }\n }\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( i < (max_len - 1) ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n let p_captured_mutable_1 : boolean = ((p_1.set_cnt > 0) && p_1.is_captured) && (p_1.is_class_variable == false);\n if ( (p_1.nameNode.value_type == 7) || (p_1.nameNode.value_type == 6) ) {\n p_captured_mutable_1 = false;\n }\n if ( p_captured_mutable_1 ) {\n wr.out(\"[0]\", false);\n }\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_1 = node.ns[i_1];\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n if ( part_1 == \"this\" ) {\n if ( ctx.inLambda() ) {\n const currC_3 : RangerAppClassDesc = ctx.getCurrentClass();\n wr.out(currC_3.name + \".this\", false);\n continue;\n }\n }\n wr.out(this.adjustType(part_1), false);\n };\n };\n async disabledVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n wr.out(p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n let b_was_set : boolean = false;\n if ( nn.value_type == 6 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n b_was_set = true;\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n b_was_set = true;\n }\n if ( (b_was_set == false) && nn.hasFlag(\"optional\") ) {\n wr.out(\" = null\", false);\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n let p_captured_mutable : boolean = ((p.set_cnt > 0) && p.is_captured) && (p.is_class_variable == false);\n if ( (nn.value_type == 7) || (nn.value_type == 6) ) {\n p_captured_mutable = false;\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.is_captured && (p.is_class_variable == false)) && ((nn.value_type == 7) || (nn.value_type == 6)) ) {\n wr.out(\"final \", false);\n } else {\n if ( (p_captured_mutable == false) && ((p.set_cnt > 0) || p.is_class_variable) ) {\n wr.out(\"\", false);\n } else {\n wr.out(\"final \", false);\n }\n }\n await this.writeTypeDef(p.nameNode, ctx, wr);\n if ( p_captured_mutable ) {\n wr.out(\"[]\", false);\n }\n wr.out(\" \", false);\n wr.out(p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n if ( p_captured_mutable ) {\n wr.out(\" new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"[]{\", false);\n }\n await this.WalkNode(value, ctx, wr);\n if ( p_captured_mutable ) {\n wr.out(\"}\", false);\n }\n ctx.unsetInExpr();\n } else {\n if ( p_captured_mutable ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"[]{ null }\", false);\n } else {\n let b_was_set : boolean = false;\n if ( nn.value_type == 6 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n b_was_set = true;\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n b_was_set = true;\n }\n if ( (b_was_set == false) && nn.hasFlag(\"optional\") ) {\n wr.out(\" = null\", false);\n }\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" final \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n wr.out((\" \" + arg.compiledName) + \" \", false);\n };\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = node.getFirst();\n const cmd : string = fc.vref;\n if ( cmd == \"return\" ) {\n wr.newline();\n if ( (node.children.length) > 1 ) {\n const value : CodeNode = node.getSecond();\n wr.out(\"return \", false);\n ctx.setInExpr();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\";\", true);\n } else {\n wr.out(\"return;\", true);\n }\n }\n };\n buildLambdaSignature (node : CodeNode) : string {\n const exp : CodeNode = node;\n let exp_s : string = \"\";\n const fc : CodeNode = exp.getFirst();\n const args : CodeNode = exp.getSecond();\n exp_s = exp_s + fc.buildTypeSignature();\n exp_s = exp_s + \"(\";\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n exp_s = exp_s + arg.buildTypeSignature();\n exp_s = exp_s + \",\";\n };\n exp_s = exp_s + \")\";\n return exp_s;\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const givenArgs : CodeNode = node.children[1];\n let rv : CodeNode ;\n let args : CodeNode ;\n if ( (typeof(fName.expression_value) !== \"undefined\" && fName.expression_value != null ) ) {\n rv = fName.expression_value.children[0];\n args = fName.expression_value.children[1];\n } else {\n const param : RangerAppParamDesc = ctx.getVariableDef(fName.vref);\n rv = param.nameNode.expression_value.children[0];\n args = param.nameNode.expression_value.children[1];\n }\n await this.WalkNode(fName, ctx, wr);\n wr.out(\".run(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.value_type != 0 ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n ctx.unsetInExpr();\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\");\", true);\n } else {\n wr.out(\")\", false);\n }\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.addImport(\"java.util.*\");\n wr.out(\"new ArrayList<\", false);\n wr.out(await this.getObjectTypeString2(node.eval_array_type, ctx, wr), false);\n wr.out(\">(Arrays.asList( new \", false);\n wr.out(await this.getObjectTypeString2(node.eval_array_type, ctx, wr), false);\n wr.out(\"[] {\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\"}))\", false);\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const fnNode : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n const sig : string = this.buildLambdaSignature(node);\n const iface_name : string = this.getSignatureInterface(sig);\n /** unused: const package_name : string = ctx.getCompilerSetting(\"package\") **/ \n if ( (( typeof(this.iface_created[iface_name] ) != \"undefined\" && this.iface_created.hasOwnProperty(iface_name) )) == false ) {\n this.iface_created[iface_name] = true;\n /** unused: const utilWr : CodeWriter = wr.getFileWriter(\"./interfaces/\", (iface_name + \".java\")) **/ \n let iface_dir : string = \".\";\n if ( this.isPackaged(ctx) ) {\n iface_dir = \"./interfaces/\";\n }\n const utilWr_1 : CodeWriter = wr.getFileWriter(iface_dir, (iface_name + \".java\"));\n if ( this.isPackaged(ctx) ) {\n const package_name_2 : string = ctx.getCompilerSetting(\"package\");\n if ( (package_name_2.length) > 0 ) {\n utilWr_1.out((\"package \" + package_name_2) + \".interfaces;\", true);\n utilWr_1.out((\"import \" + package_name_2) + \".*;\", true);\n }\n }\n const importFork : CodeWriter = utilWr_1.fork();\n utilWr_1.out((\"public interface \" + iface_name) + \" { \", true);\n utilWr_1.indent(1);\n utilWr_1.out(\"public \", false);\n await this.writeTypeDef(fnNode, ctx, utilWr_1);\n utilWr_1.out(\" run(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n utilWr_1.out(\", \", false);\n }\n utilWr_1.out(\" final \", false);\n await this.writeTypeDef(arg, lambdaCtx, utilWr_1);\n utilWr_1.out(\" \", false);\n utilWr_1.out(arg.vref, false);\n };\n utilWr_1.out(\");\", true);\n utilWr_1.indent(-1);\n utilWr_1.out(\"}\", true);\n await operatorsOf.forEach_12(utilWr_1.getImports(), ((item : string, index : number):void => { \n importFork.out((\"import \" + item) + \";\", true);\n }));\n }\n wr.out((\"new \" + iface_name) + \"() { \", true);\n wr.indent(1);\n wr.out(\"public \", false);\n await this.writeTypeDef(fnNode, ctx, wr);\n wr.out(\" run(\", false);\n for ( let i_1 = 0; i_1 < args.children.length; i_1++) {\n var arg_1 = args.children[i_1];\n if ( i_1 > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(\" final \", false);\n await this.writeTypeDef(arg_1, lambdaCtx, wr);\n wr.out(\" \", false);\n wr.out(arg_1.vref, false);\n };\n wr.out(\") {\", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n lambdaCtx.is_lambda = true;\n for ( let i_2 = 0; i_2 < body.children.length; i_2++) {\n var item = body.children[i_2];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n for ( let i_3 = 0; i_3 < lambdaCtx.captured_variables.length; i_3++) {\n var cname = lambdaCtx.captured_variables[i_3];\n wr.out(\"// captured var \" + cname, true);\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", false);\n };\n getCounters (ctx : RangerAppWriterContext) : TypeCounts {\n const root : RangerAppWriterContext = ctx.getRoot();\n const counters : TypeCounts = root.counters;\n if ( counters.b_counted == false ) {\n const list : Array<string> = Object.keys(root.definedClasses);\n for ( let i = 0; i < list.length; i++) {\n var name = list[i];\n if ( (name.indexOf(\"operatorsOf\")) == 0 ) {\n counters.operator_cnt = counters.operator_cnt + 1;\n }\n if ( (name.indexOf(\"Map_\")) == 0 ) {\n counters.immutable_cnt = counters.immutable_cnt + 1;\n }\n if ( (name.indexOf(\"Vector_\")) == 0 ) {\n counters.immutable_cnt = counters.immutable_cnt + 1;\n }\n };\n }\n counters.b_counted = true;\n return counters;\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n let declaredVariable : {[key:string]:boolean} = {};\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < pC.variables.length; i_1++) {\n var pvar = pC.variables[i_1];\n declaredVariable[pvar.name] = true;\n };\n };\n }\n let class_dir : string = \".\";\n let package_end : string = \"\";\n if ( this.isPackaged(ctx) ) {\n if ( (cl.name.indexOf(\"operatorsOf\")) == 0 ) {\n class_dir = \"./operators/\";\n package_end = \".operators\";\n }\n if ( (cl.name.indexOf(\"Map_\")) == 0 ) {\n class_dir = \"./immutables/\";\n package_end = \".immutables\";\n }\n if ( (cl.name.indexOf(\"Vector_\")) == 0 ) {\n class_dir = \"./immutables/\";\n package_end = \".immutables\";\n }\n }\n const wr : CodeWriter = orig_wr.getFileWriter(class_dir, (cl.name + \".java\"));\n const package_name : string = ctx.getCompilerSetting(\"package\");\n if ( this.isPackaged(ctx) ) {\n if ( (package_name.length) > 0 ) {\n wr.out(((\"package \" + package_name) + package_end) + \";\", true);\n }\n }\n const importFork : CodeWriter = wr.fork();\n if ( this.isPackaged(ctx) ) {\n const counters : TypeCounts = this.getCounters(ctx);\n if ( counters.interface_cnt > 0 ) {\n importFork.addImport(package_name + \".interfaces.*\");\n }\n if ( counters.immutable_cnt > 0 ) {\n importFork.addImport(package_name + \".immutables.*\");\n }\n if ( counters.operator_cnt > 0 ) {\n importFork.addImport(package_name + \".operators.*\");\n }\n if ( (package_end.length) > 0 ) {\n importFork.addImport(package_name + \".*\");\n }\n }\n for ( let i_2 = 0; i_2 < cl.capturedLocals.length; i_2++) {\n var dd = cl.capturedLocals[i_2];\n if ( dd.is_class_variable == false ) {\n if ( dd.set_cnt > 0 ) {\n if ( ctx.hasCompilerFlag(\"allow-mutate\") ) {\n } else {\n }\n }\n }\n };\n wr.out(\"\", true);\n wr.out(\"public class \" + cl.name, false);\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" extends \", false);\n for ( let i_3 = 0; i_3 < cl.extends_classes.length; i_3++) {\n var pName_1 = cl.extends_classes[i_3];\n wr.out(pName_1, false);\n };\n }\n wr.out(\" { \", true);\n wr.indent(1);\n wr.createTag(\"utilities\");\n for ( let i_4 = 0; i_4 < cl.variables.length; i_4++) {\n var pvar_1 = cl.variables[i_4];\n if ( ( typeof(declaredVariable[pvar_1.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_1.name) ) ) {\n continue;\n }\n wr.out(\"public \", false);\n await this.writeVarDef(pvar_1.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n wr.out(\"\", true);\n wr.out(cl.name + \"(\", false);\n await this.writeArgsDef(constr, ctx, wr);\n wr.out(\" ) {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx : RangerAppWriterContext = constr.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_5 = 0; i_5 < cl.static_methods.length; i_5++) {\n var variant = cl.static_methods[i_5];\n wr.out(\"\", true);\n if ( variant.nameNode.hasFlag(\"main\") && (variant.nameNode.code.filename != ctx.getRootFile()) ) {\n continue;\n }\n if ( variant.nameNode.hasFlag(\"main\") ) {\n ctx.setCompilerSetting(\"mainclass\", cl.name);\n wr.out(\"public static void main(String [] args ) {\", true);\n } else {\n wr.out(\"public static \", false);\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(variant.compiledName + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") {\", true);\n }\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_6 = 0; i_6 < cl.defined_variants.length; i_6++) {\n var fnVar = cl.defined_variants[i_6];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_7 = 0; i_7 < mVs.variants.length; i_7++) {\n var variant_1 = mVs.variants[i_7];\n wr.out(\"\", true);\n wr.out(\"public \", false);\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(variant_1.compiledName + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n const import_list : Array<string> = wr.getImports();\n for ( let i_8 = 0; i_8 < import_list.length; i_8++) {\n var codeStr = import_list[i_8];\n importFork.out((\"import \" + codeStr) + \";\", true);\n };\n };\n async CreateServices (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n return;\n };\n async CreatePages (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n await operatorsOf_13.forEach_25(ctx.appPages, (async (item : CodeNode, index : string): Promise<void> => { \n await this.CreatePage(parser, item, ctx, orig_wr);\n }));\n };\n async CreatePage (parser : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const writer : AndroidPageWriter = new AndroidPageWriter();\n writer.classWriter = this;\n await writer.CreatePage(parser, node, ctx, orig_wr);\n };\n}\nexport class RangerSwift3ClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n header_created: boolean;\n constructor() {\n super()\n this.header_created = false;\n }\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"self\";\n }\n return tn;\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"Any\";\n }\n if ( cc.is_system ) {\n const sysName : string = cc.systemNames[\"swift3\"];\n if ( (typeof(sysName) !== \"undefined\" && sysName != null ) ) {\n return sysName;\n } else {\n const node : CodeNode = new CodeNode(new SourceCode(\"\"), 0, 0);\n ctx.addError(node, (\"No system class \" + type_string) + \"defined for Swift \");\n }\n }\n }\n switch (type_string ) { \n case \"int\" : \n return \"Int\";\n case \"string\" : \n return \"String\";\n case \"charbuffer\" : \n return \"[UInt8]\";\n case \"char\" : \n return \"UInt8\";\n case \"boolean\" : \n return \"Bool\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Int\";\n case \"string\" : \n return \"String\";\n case \"charbuffer\" : \n return \"[UInt8]\";\n case \"char\" : \n return \"UInt8\";\n case \"boolean\" : \n return \"Bool\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n wr.out(\"(\", false);\n wr.out(\"(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(\" _ : \", false);\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\") -> \", false);\n await this.writeTypeDef(rv, ctx, wr);\n wr.out(\")\", false);\n break;\n case 13 : \n wr.out(\"Int\", false);\n break;\n case 3 : \n wr.out(\"Int\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 14 : \n wr.out(\"UInt8\", false);\n break;\n case 15 : \n wr.out(\"[UInt8]\", false);\n break;\n case 5 : \n wr.out(\"Bool\", false);\n break;\n case 7 : \n wr.out((((\"[\" + this.getObjectTypeString(k_name, ctx)) + \":\") + this.getObjectTypeString(a_name, ctx)) + \"]\", false);\n break;\n case 6 : \n wr.out((\"[\" + this.getObjectTypeString(a_name, ctx)) + \"]\", false);\n break;\n default: \n if ( t_name == \"void\" ) {\n wr.out(\"Void\", false);\n return;\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_union ) {\n wr.out(\"Any\", false);\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"?\", false);\n }\n return;\n }\n if ( cc.is_system ) {\n const sysName : string = cc.systemNames[\"swift3\"];\n if ( (typeof(sysName) !== \"undefined\" && sysName != null ) ) {\n wr.out(sysName, false);\n } else {\n ctx.addError(node, (\"No system class \" + t_name) + \"defined for Swift \");\n }\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"?\", false);\n }\n return;\n }\n }\n wr.out(this.getTypeString(t_name), false);\n break;\n };\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"?\", false);\n }\n };\n async WriteEnum (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n const rootObjName : string = node.ns[0];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n const enumName : string = node.ns[1];\n wr.out(\"\" + ((e.values[enumName])), false);\n } else {\n if ( node.hasParamDesc ) {\n const pp : RangerAppParamDesc = node.paramDesc;\n const nn : CodeNode = pp.nameNode;\n wr.out(nn.vref, false);\n }\n }\n }\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n wr.out(\"self\", false);\n return;\n }\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n const max_len : number = node.ns.length;\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(\"self\", false);\n continue;\n }\n if ( (part != \"this\") && ctx.isMemberVariable(part) ) {\n const uc : RangerAppClassDesc = ctx.getCurrentClass();\n const currC : RangerAppClassDesc = uc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n if ( (typeof(up) !== \"undefined\" && up != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(\"self.\", false);\n }\n }\n }\n }\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( i < (max_len - 1) ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"!\", false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n const part_1 : string = node.ns[0];\n if ( (part_1 != \"this\") && ctx.isMemberVariable(part_1) ) {\n const uc_1 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_1 : RangerAppClassDesc = uc_1;\n const up_1 : RangerAppParamDesc = currC_1.findVariable(part_1);\n if ( (typeof(up_1) !== \"undefined\" && up_1 != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(\"self.\", false);\n }\n }\n }\n wr.out(p_1.compiledName, false);\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_2 = node.ns[i_1];\n if ( i_1 == 0 ) {\n if ( (part_2 != \"this\") && ctx.isMemberVariable(part_2) ) {\n const uc_2 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_2 : RangerAppClassDesc = uc_2;\n const up_2 : RangerAppParamDesc = currC_2.findVariable(part_2);\n if ( (typeof(up_2) !== \"undefined\" && up_2 != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(\"self.\", false);\n }\n }\n }\n if ( ctx.hasClass(part_2) ) {\n const classDesc : RangerAppClassDesc = ctx.findClass(part_2);\n wr.out(classDesc.compiledName, false);\n continue;\n }\n }\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n wr.out(this.adjustType(part_2), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( nn.hasFlag(\"optional\") ) {\n if ( ((p.set_cnt == 1) && (p.ref_cnt == 2)) && (p.is_class_variable == false) ) {\n ctx.addError(node, \"Optional variable is only set but never read.\");\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out((\"var \" + p.compiledName) + \" : \", false);\n } else {\n wr.out((\"let \" + p.compiledName) + \" : \", false);\n }\n await this.writeTypeDef(p.nameNode, ctx, wr);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ \", true);\n } else {\n wr.newline();\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.compiledName + \" : \", false);\n const nn : CodeNode = arg.nameNode;\n if ( nn.value_type == 17 ) {\n wr.out(\" @escaping \", false);\n }\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n };\n async writeArgsDefWithLocals (fnDesc : RangerAppFunctionDesc, localFnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( (fnDesc.params.length) != (localFnDesc.params.length) ) {\n ctx.addError(localFnDesc.node, \"Parameter count does not match with the function prototype\");\n return;\n }\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n const local : RangerAppParamDesc = localFnDesc.params[i];\n if ( local.name != arg.name ) {\n wr.out(arg.compiledName + \" \", false);\n }\n wr.out(local.compiledName + \" : \", false);\n const nn : CodeNode = arg.nameNode;\n if ( nn.hasFlag(\"strong\") ) {\n if ( nn.value_type == 17 ) {\n wr.out(\" @escaping \", false);\n }\n }\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\").\", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( ctx.isDefinedClass(obj.eval_type_name) ) {\n const clDef : RangerAppClassDesc = ctx.findClass(obj.eval_type_name);\n const clMethod : RangerAppFunctionDesc = clDef.findMethod(method.vref);\n if ( (typeof(clMethod) !== \"undefined\" && clMethod != null ) ) {\n const mm : RangerAppFunctionDesc = clMethod;\n const pDesc : RangerAppParamDesc = mm.params[i];\n wr.out(pDesc.compiledName + \" : \", false);\n await this.WalkNode(arg, ctx, wr);\n continue;\n }\n } else {\n ctx.addError(arg, \"Could not find evaluated class for the call\");\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n const fnName : CodeNode = node.fnDesc.nameNode;\n if ( ctx.expressionLevel() == 0 ) {\n if ( fnName.type_name != \"void\" ) {\n wr.out(\"_ = \", false);\n }\n }\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n ctx.setInExpr();\n const givenArgs : CodeNode = node.getSecond();\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n wr.out(arg.compiledName + \" : \", false);\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.newline();\n }\n }\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const givenArgs : CodeNode = node.children[1];\n let rv : CodeNode ;\n let args : CodeNode ;\n if ( (typeof(fName.expression_value) !== \"undefined\" && fName.expression_value != null ) ) {\n rv = fName.expression_value.children[0];\n args = fName.expression_value.children[1];\n } else {\n const param : RangerAppParamDesc = ctx.getVariableDef(fName.vref);\n rv = param.nameNode.expression_value.children[0];\n args = param.nameNode.expression_value.children[1];\n }\n if ( ctx.expressionLevel() == 0 ) {\n if ( rv.type_name != \"void\" ) {\n wr.out(\"_ = \", false);\n }\n }\n ctx.setInExpr();\n await this.WalkNode(fName, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.value_type != 0 ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const fnNode : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"({ (\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.vref, false);\n };\n wr.out(\") -> \", false);\n await this.writeTypeDef(fnNode, lambdaCtx, wr);\n wr.out(\" in \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n for ( let i_2 = 0; i_2 < lambdaCtx.captured_variables.length; i_2++) {\n var cname = lambdaCtx.captured_variables[i_2];\n wr.out(\"// captured var \" + cname, true);\n };\n wr.indent(-1);\n wr.out(\"})\", false);\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(node.clDesc.name, false);\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.name + \" : \", false);\n await this.WalkNode(n, ctx, wr);\n };\n }\n wr.out(\")\", false);\n }\n };\n haveSameSig (fn1 : RangerAppFunctionDesc, fn2 : RangerAppFunctionDesc, ctx : RangerAppWriterContext) : boolean {\n if ( fn1.name != fn2.name ) {\n return false;\n }\n const match : RangerArgMatch = new RangerArgMatch();\n const n1 : CodeNode = fn1.nameNode;\n const n2 : CodeNode = fn1.nameNode;\n if ( match.doesDefsMatch(n1, n2, ctx) == false ) {\n return false;\n }\n if ( (fn1.params.length) != (fn2.params.length) ) {\n return false;\n }\n for ( let i = 0; i < fn1.params.length; i++) {\n var p = fn1.params[i];\n const p2 : RangerAppParamDesc = fn2.params[i];\n if ( match.doesDefsMatch((p.nameNode), (p2.nameNode), ctx) == false ) {\n return false;\n }\n };\n return true;\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = node.getFirst();\n const cmd : string = fc.vref;\n if ( cmd == \"switch\" ) {\n const condition : CodeNode = node.getSecond();\n const case_nodes : CodeNode = node.getThird();\n wr.newline();\n wr.out(\"switch (\", false);\n await this.WalkNode(condition, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n let found_default : boolean = false;\n for ( let i = 0; i < case_nodes.children.length; i++) {\n var ch = case_nodes.children[i];\n const blockName : CodeNode = ch.getFirst();\n if ( blockName.vref == \"default\" ) {\n found_default = true;\n await this.WalkNode(ch, ctx, wr);\n } else {\n await this.WalkNode(ch, ctx, wr);\n }\n };\n if ( false == found_default ) {\n wr.newline();\n wr.out(\"default :\", true);\n wr.indent(1);\n wr.out(\"break\", true);\n wr.indent(-1);\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n let declaredVariable : {[key:string]:boolean} = {};\n let dblDeclaredFunction : {[key:string]:boolean} = {};\n let declaredFunction : {[key:string]:boolean} = {};\n let declaredStaticFunction : {[key:string]:boolean} = {};\n let parentFunction : {[key:string]:RangerAppFunctionDesc} = {};\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < pC.variables.length; i_1++) {\n var pvar = pC.variables[i_1];\n declaredVariable[pvar.name] = true;\n };\n for ( let i_2 = 0; i_2 < pC.defined_variants.length; i_2++) {\n var fnVar = pC.defined_variants[i_2];\n const mVs : RangerAppMethodVariants = pC.method_variants[fnVar];\n for ( let i_3 = 0; i_3 < mVs.variants.length; i_3++) {\n var variant = mVs.variants[i_3];\n declaredFunction[variant.name] = true;\n parentFunction[variant.name] = variant;\n };\n };\n for ( let i_4 = 0; i_4 < pC.static_methods.length; i_4++) {\n var variant_1 = pC.static_methods[i_4];\n declaredStaticFunction[variant_1.name] = true;\n };\n };\n }\n if ( this.header_created == false ) {\n wr.createTag(\"utilities\");\n this.header_created = true;\n }\n wr.out((((\"func ==(l: \" + cl.compiledName) + \", r: \") + cl.compiledName) + \") -> Bool {\", true);\n wr.indent(1);\n wr.out(\"return l === r\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out(\"class \" + cl.compiledName, false);\n let parentClass : RangerAppClassDesc ;\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" : \", false);\n for ( let i_5 = 0; i_5 < cl.extends_classes.length; i_5++) {\n var pName_1 = cl.extends_classes[i_5];\n parentClass = ctx.findClass(pName_1);\n wr.out(parentClass.compiledName, false);\n };\n } else {\n wr.out(\" : Equatable \", false);\n }\n wr.out(\" { \", true);\n wr.indent(1);\n for ( let i_6 = 0; i_6 < cl.variables.length; i_6++) {\n var pvar_1 = cl.variables[i_6];\n if ( ( typeof(declaredVariable[pvar_1.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_1.name) ) ) {\n wr.out(\"// WAS DECLARED : \" + pvar_1.name, true);\n continue;\n }\n await this.writeVarDef(pvar_1.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n let b_must_override : boolean = false;\n if ( typeof(parentClass) != \"undefined\" ) {\n if ( (constr.params.length) == 0 ) {\n b_must_override = true;\n } else {\n if ( parentClass.has_constructor ) {\n const p_constr : RangerAppFunctionDesc = parentClass.constructor_fn;\n if ( this.haveSameSig((constr), p_constr, ctx) ) {\n b_must_override = true;\n }\n }\n }\n }\n if ( b_must_override ) {\n wr.out(\"override \", false);\n }\n wr.out(\"init(\", false);\n await this.writeArgsDef(constr, ctx, wr);\n wr.out(\" ) {\", true);\n wr.indent(1);\n if ( typeof(parentClass) != \"undefined\" ) {\n wr.out(\"super.init()\", true);\n }\n wr.newline();\n const subCtx : RangerAppWriterContext = constr.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_7 = 0; i_7 < cl.static_methods.length; i_7++) {\n var variant_2 = cl.static_methods[i_7];\n if ( variant_2.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n if ( ( typeof(declaredStaticFunction[variant_2.name] ) != \"undefined\" && declaredStaticFunction.hasOwnProperty(variant_2.name) ) ) {\n wr.out(\"override \", false);\n }\n wr.out((\"class func \" + variant_2.compiledName) + \"(\", false);\n await this.writeArgsDef(variant_2, ctx, wr);\n wr.out(\") -> \", false);\n await this.writeTypeDef(variant_2.nameNode, ctx, wr);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_8 = 0; i_8 < cl.defined_variants.length; i_8++) {\n var fnVar_1 = cl.defined_variants[i_8];\n const mVs_1 : RangerAppMethodVariants = cl.method_variants[fnVar_1];\n for ( let i_9 = 0; i_9 < mVs_1.variants.length; i_9++) {\n var variant_3 = mVs_1.variants[i_9];\n if ( ( typeof(dblDeclaredFunction[variant_3.name] ) != \"undefined\" && dblDeclaredFunction.hasOwnProperty(variant_3.name) ) ) {\n continue;\n }\n if ( ( typeof(declaredFunction[variant_3.name] ) != \"undefined\" && declaredFunction.hasOwnProperty(variant_3.name) ) ) {\n wr.out(\"override \", false);\n }\n dblDeclaredFunction[variant_3.name] = true;\n wr.out((\"func \" + variant_3.compiledName) + \"(\", false);\n if ( ( typeof(parentFunction[variant_3.name] ) != \"undefined\" && parentFunction.hasOwnProperty(variant_3.name) ) ) {\n await this.writeArgsDefWithLocals((parentFunction[variant_3.name]), variant_3, ctx, wr);\n } else {\n await this.writeArgsDef(variant_3, ctx, wr);\n }\n wr.out(\") -> \", false);\n await this.writeTypeDef(variant_3.nameNode, ctx, wr);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_3.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_3.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_10 = 0; i_10 < cl.static_methods.length; i_10++) {\n var variant_4 = cl.static_methods[i_10];\n if ( variant_4.nameNode.hasFlag(\"main\") && (variant_4.nameNode.code.filename == ctx.getRootFile()) ) {\n const theEnd : CodeWriter = wr.getTag(\"file_end\");\n theEnd.newline();\n theEnd.out(\"func __main__swift() {\", true);\n theEnd.indent(1);\n const subCtx_3 : RangerAppWriterContext = variant_4.fnCtx;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_4.fnBody, subCtx_3, theEnd);\n theEnd.newline();\n theEnd.indent(-1);\n theEnd.out(\"}\", true);\n theEnd.out(\"// call the main function\", true);\n theEnd.out(\"__main__swift()\", true);\n if ( ctx.hasCompilerFlag(\"forever\") ) {\n theEnd.out(\"CFRunLoopRun()\", true);\n }\n }\n };\n };\n}\nexport class RangerCppClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n header_created: boolean;\n constructor() {\n super()\n this.header_created = false;\n }\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n switch (node.value_type ) { \n case 2 : \n wr.out(\"\" + node.double_value, false);\n break;\n case 4 : \n const s : string = this.EncodeString(node, ctx, wr);\n wr.out((\"std::string(\" + ((\"\\\"\" + s) + \"\\\"\")) + \")\", false);\n break;\n case 3 : \n wr.out(\"\" + node.int_value, false);\n break;\n case 5 : \n if ( node.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n };\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n switch (type_string ) { \n case \"char\" : \n return \"char\";\n case \"charbuffer\" : \n return \"const char*\";\n case \"int\" : \n return \"int\";\n case \"string\" : \n return \"std::string\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"double\";\n };\n if ( ctx.isEnumDefined(type_string) ) {\n return \"int\";\n }\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"r_union_\" + type_string;\n }\n return (\"std::shared_ptr<\" + type_string) + \">\";\n }\n return type_string;\n };\n getTypeString2 (type_string : string, ctx : RangerAppWriterContext) : string {\n switch (type_string ) { \n case \"char\" : \n return \"char\";\n case \"charbuffer\" : \n return \"const char*\";\n case \"int\" : \n return \"int\";\n case \"string\" : \n return \"std::string\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"double\";\n };\n if ( ctx.isEnumDefined(type_string) ) {\n return \"int\";\n }\n return type_string;\n };\n writePtr (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( node.type_name == \"void\" ) {\n return;\n }\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n this.import_lib(\"<functional>\", ctx, wr);\n wr.out(\"std::function<\", false);\n await this.writeTypeDef(rv, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\")>\", false);\n break;\n case 13 : \n wr.out(\"int\", false);\n break;\n case 3 : \n if ( node.hasFlag(\"optional\") ) {\n wr.out(\" r_optional_primitive<int> \", false);\n } else {\n wr.out(\"int\", false);\n }\n break;\n case 14 : \n wr.out(\"char\", false);\n break;\n case 15 : \n wr.out(\"const char*\", false);\n break;\n case 2 : \n if ( node.hasFlag(\"optional\") ) {\n wr.out(\" r_optional_primitive<double> \", false);\n } else {\n wr.out(\"double\", false);\n }\n break;\n case 4 : \n wr.addImport(\"<string>\");\n wr.out(\"std::string\", false);\n break;\n case 5 : \n wr.out(\"bool\", false);\n break;\n case 7 : \n wr.out((((\"std::map<\" + this.getObjectTypeString(k_name, ctx)) + \",\") + this.getObjectTypeString(a_name, ctx)) + \">\", false);\n wr.addImport(\"<map>\");\n break;\n case 6 : \n wr.out((\"std::vector<\" + this.getObjectTypeString(a_name, ctx)) + \">\", false);\n wr.addImport(\"<vector>\");\n break;\n default: \n if ( node.type_name == \"void\" ) {\n wr.out(\"void\", false);\n return;\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_union ) {\n wr.out(\"r_union_\", false);\n wr.out(t_name, false);\n return;\n }\n const cc_1 : RangerAppClassDesc = ctx.findClass(t_name);\n wr.out(\"std::shared_ptr<\", false);\n wr.out(cc_1.name, false);\n wr.out(\">\", false);\n return;\n }\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"std::shared_ptr<std::vector<\", false);\n wr.out(this.getTypeString2(t_name, ctx), false);\n wr.out(\">\", false);\n return;\n }\n wr.out(this.getTypeString2(t_name, ctx), false);\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n const currC : RangerAppClassDesc = ctx.getCurrentClass();\n if ( (typeof(currC) !== \"undefined\" && currC != null ) ) {\n const cc : RangerAppClassDesc = currC;\n if ( (cc.extends_classes.length) > 0 ) {\n wr.out((\"std::dynamic_pointer_cast<\" + cc.name) + \">(shared_from_this())\", false);\n return;\n }\n }\n wr.out(\"shared_from_this()\", false);\n return;\n }\n if ( node.eval_type == 13 ) {\n const rootObjName : string = node.ns[0];\n if ( (node.ns.length) > 1 ) {\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n let had_static : boolean = false;\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i > 0 ) {\n if ( had_static ) {\n wr.out(\"::\", false);\n } else {\n wr.out(\"->\", false);\n }\n }\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(\"this\", false);\n continue;\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( p.isClass() ) {\n had_static = true;\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_1 = node.ns[i_1];\n if ( i_1 > 0 ) {\n if ( had_static ) {\n wr.out(\"::\", false);\n } else {\n wr.out(\"->\", false);\n }\n }\n if ( ctx.hasClass(part_1) ) {\n had_static = true;\n } else {\n had_static = false;\n }\n wr.out(this.adjustType(part_1), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out(\"\", false);\n } else {\n wr.out(\"\", false);\n }\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async disabledVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out(\"\", false);\n } else {\n wr.out(\"\", false);\n }\n wr.out(p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n }\n wr.out(\";\", false);\n wr.newline();\n }\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\")->\", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = node.getFirst();\n const cmd : string = fc.vref;\n if ( cmd == \"return\" ) {\n if ( ctx.isInMain() ) {\n wr.out(\"return 0;\", true);\n } else {\n wr.out(\"return;\", true);\n }\n return;\n }\n if ( cmd == \"switch\" ) {\n const condition : CodeNode = node.getSecond();\n const case_nodes : CodeNode = node.getThird();\n wr.newline();\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = \"caseMatched\";\n p.value_type = 5;\n ctx.defineVariable(p.name, p);\n let b_has_default : boolean = false;\n for ( let i = 0; i < case_nodes.children.length; i++) {\n var ch = case_nodes.children[i];\n const blockName : CodeNode = ch.getFirst();\n if ( blockName.vref == \"default\" ) {\n b_has_default = true;\n }\n };\n if ( b_has_default ) {\n wr.out((\"bool \" + p.compiledName) + \" = false;\", true);\n }\n for ( let i_1 = 0; i_1 < case_nodes.children.length; i_1++) {\n var ch_1 = case_nodes.children[i_1];\n const blockName_1 : CodeNode = ch_1.getFirst();\n if ( blockName_1.vref == \"default\" ) {\n const defBlock : CodeNode = ch_1.getSecond();\n wr.out(\"if( ! \", false);\n wr.out(p.compiledName, false);\n wr.out(\") {\", true);\n wr.indent(1);\n await this.WalkNode(defBlock, ctx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n const caseValue : CodeNode = ch_1.getSecond();\n const caseBlock : CodeNode = ch_1.getThird();\n wr.out(\"if( \", false);\n await this.WalkNode(condition, ctx, wr);\n wr.out(\" == \", false);\n await this.WalkNode(caseValue, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n if ( b_has_default ) {\n wr.out(p.compiledName + \" = true;\", true);\n }\n await this.WalkNode(caseBlock, ctx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n }\n };\n async CreateMethodCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getFirst();\n const args : CodeNode = node.getSecond();\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n };\n async CreatePropertyGet (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getSecond();\n const prop : CodeNode = node.getThird();\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\")->\", false);\n await this.WalkNode(prop, ctx, wr);\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const givenArgs : CodeNode = node.children[1];\n let args : CodeNode ;\n if ( (typeof(fName.expression_value) !== \"undefined\" && fName.expression_value != null ) ) {\n args = fName.expression_value.children[1];\n } else {\n const param : RangerAppParamDesc = ctx.getVariableDef(fName.vref);\n args = param.nameNode.expression_value.children[1];\n }\n ctx.setInExpr();\n await this.WalkNode(fName, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.value_type != 0 ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n wr.out(\")\", false);\n ctx.unsetInExpr();\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.import_lib(\"<functional>\", ctx, wr);\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n /** unused: const fnNode : CodeNode = node.children[0] **/ \n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"[&\", false);\n for ( let i = 0; i < lambdaCtx.captured_variables.length; i++) {\n var cname = lambdaCtx.captured_variables[i];\n const vD : RangerAppParamDesc = lambdaCtx.getVariableDef(cname);\n if ( vD.varType == 4 ) {\n wr.out(\", \", false);\n wr.out(vD.compiledName, false);\n }\n };\n wr.out(\"](\", false);\n for ( let i_1 = 0; i_1 < args.children.length; i_1++) {\n var arg = args.children[i_1];\n if ( i_1 > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(arg, ctx, wr);\n wr.out(\" \", false);\n wr.out(arg.vref, false);\n };\n wr.out(\") mutable { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_2 = 0; i_2 < body.children.length; i_2++) {\n var item = body.children[i_2];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n };\n async writeCppHeaderVar (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter, do_initialize : boolean) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out(\"\", false);\n } else {\n wr.out(\"\", false);\n }\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(p.compiledName, false);\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n wr.out((\" \" + arg.compiledName) + \" \", false);\n };\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n ctx.setInExpr();\n const givenArgs : CodeNode = node.getSecond();\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( i >= (givenArgs.children.length) ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(\" std::make_shared<\", false);\n wr.out(node.clDesc.name, false);\n wr.out(\">(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\")\", false);\n }\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.compiler.createPolyfill(\"\\ntemplate< typename T, size_t N >\\nstd::vector<T> r_make_vector_from_array( const T (&data)[N] )\\n{\\n return std::vector<T>(data, data+N);\\n}\\n\", ctx, wr);\n wr.out(\"r_make_vector_from_array( (\", false);\n wr.out(this.getObjectTypeString(node.eval_array_type, ctx), false);\n wr.out(\"[] ) {\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\"} )\", false);\n };\n async writeClassHeader (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n let inheritedVars : {[key:string]:boolean} = {};\n wr.out(\"class \" + cl.name, false);\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" : \", false);\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n wr.out(\"public \", false);\n wr.out(pName, false);\n const extC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < extC.variables.length; i_1++) {\n var pvar = extC.variables[i_1];\n inheritedVars[pvar.name] = true;\n };\n };\n } else {\n wr.out((\" : public std::enable_shared_from_this<\" + cl.name) + \"> \", false);\n }\n wr.out(\" { \", true);\n wr.indent(1);\n wr.out(\"public :\", true);\n wr.indent(1);\n for ( let i_2 = 0; i_2 < cl.variables.length; i_2++) {\n var pvar_1 = cl.variables[i_2];\n if ( (( typeof(inheritedVars[pvar_1.name] ) != \"undefined\" && inheritedVars.hasOwnProperty(pvar_1.name) )) == false ) {\n await this.writeCppHeaderVar(pvar_1.node, ctx, wr, false);\n }\n };\n wr.out(\"/* class constructor */ \", true);\n wr.out(cl.name + \"(\", false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n await this.writeArgsDef(constr, ctx, wr);\n }\n wr.out(\" );\", true);\n for ( let i_3 = 0; i_3 < cl.static_methods.length; i_3++) {\n var variant = cl.static_methods[i_3];\n if ( i_3 == 0 ) {\n wr.out(\"/* static methods */ \", true);\n }\n wr.out(\"static \", false);\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out((\" \" + variant.compiledName) + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\");\", true);\n };\n for ( let i_4 = 0; i_4 < cl.defined_variants.length; i_4++) {\n var fnVar = cl.defined_variants[i_4];\n if ( i_4 == 0 ) {\n wr.out(\"/* instance methods */ \", true);\n }\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_5 = 0; i_5 < mVs.variants.length; i_5++) {\n var variant_1 = mVs.variants[i_5];\n if ( cl.is_inherited ) {\n wr.out(\"virtual \", false);\n }\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out((\" \" + variant_1.compiledName) + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\");\", true);\n };\n };\n wr.indent(-1);\n wr.indent(-1);\n wr.out(\"};\", true);\n };\n async CreateUnions (parser : RangerFlowParser, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n if ( item.is_union ) {\n await this.compiler.installFile(\"variant.hpp\", ctx, wr);\n ctx.addPluginNode(\"makefile\", CodeNode.fromList([CodeNode.fromList([CodeNode.vref1(\"dep\"), CodeNode.newStr(\"variant.hpp\"), CodeNode.newStr(\"https://github.com/mpark/variant/releases/download/v1.2.2/variant.hpp\")])]));\n wr.out(\"typedef mpark::variant<\", false);\n wr.indent(1);\n let cnt : number = 0;\n await operatorsOf.forEach_12(item.is_union_of, ((item : string, index : number):void => { \n if ( ctx.isDefinedClass(item) ) {\n const cl : RangerAppClassDesc = ctx.findClass(item);\n if ( false == cl.isNormalClass() ) {\n return;\n }\n if ( cnt > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(this.getObjectTypeString(item, ctx), false);\n cnt = cnt + 1;\n } else {\n if ( cnt > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(this.getObjectTypeString(item, ctx), false);\n cnt = cnt + 1;\n }\n }));\n wr.indent(-1);\n wr.out((\"> r_union_\" + index) + \";\", true);\n wr.addImport(\"\\\"variant.hpp\\\"\");\n }\n }));\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n const wr : CodeWriter = orig_wr;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n this.import_lib(\"<memory>\", ctx, wr);\n for ( let i = 0; i < cl.capturedLocals.length; i++) {\n var dd = cl.capturedLocals[i];\n if ( dd.is_class_variable == false ) {\n if ( dd.set_cnt > 0 ) {\n if ( ctx.hasCompilerFlag(\"dont-allow-mutate\") ) {\n ctx.addError(dd.nameNode, \"Mutating captured variable is not allowed\");\n return;\n }\n }\n }\n };\n if ( this.header_created == false ) {\n wr.createTag(\"c++Imports\");\n wr.out(\"\", true);\n wr.out(\"// define classes here to avoid compiler errors\", true);\n wr.createTag(\"c++ClassDefs\");\n wr.out(\"\", true);\n wr.createTag(\"c++unions\");\n wr.createTag(\"utilities\");\n wr.out(\"\", true);\n wr.out(\"// header definitions\", true);\n wr.createTag(\"c++Header\");\n wr.out(\"\", true);\n wr.out(\"int __g_argc;\", true);\n wr.out(\"char **__g_argv;\", true);\n await this.CreateUnions(this.compiler.parser, ctx, wr.getTag(\"c++unions\"));\n this.header_created = true;\n }\n const classWriter : CodeWriter = orig_wr.getTag(\"c++ClassDefs\");\n const headerWriter : CodeWriter = orig_wr.getTag(\"c++Header\");\n /** unused: const projectName : string = \"project\" **/ \n classWriter.out((\"class \" + cl.name) + \";\", true);\n await this.writeClassHeader(node, ctx, headerWriter);\n wr.out(((cl.name + \"::\") + cl.name) + \"(\", false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n await this.writeArgsDef(constr, ctx, wr);\n }\n wr.out(\" ) \", false);\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_1 = 0; i_1 < cl.extends_classes.length; i_1++) {\n var pName = cl.extends_classes[i_1];\n const pcc : RangerAppClassDesc = ctx.findClass(pName);\n if ( pcc.has_constructor ) {\n wr.out((\" : \" + pcc.name) + \"(\", false);\n const constr_1 : RangerAppFunctionDesc = cl.constructor_fn;\n for ( let i_2 = 0; i_2 < constr_1.params.length; i_2++) {\n var arg = constr_1.params[i_2];\n if ( i_2 > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n wr.out((\" \" + arg.name) + \" \", false);\n };\n wr.out(\")\", false);\n }\n };\n }\n wr.out(\"{\", true);\n wr.indent(1);\n for ( let i_3 = 0; i_3 < cl.variables.length; i_3++) {\n var pvar = cl.variables[i_3];\n const nn : CodeNode = pvar.node;\n if ( (nn.children.length) > 2 ) {\n const valueNode : CodeNode = nn.children[2];\n wr.out((\"this->\" + pvar.compiledName) + \" = \", false);\n await this.WalkNode(valueNode, ctx, wr);\n wr.out(\";\", true);\n }\n };\n if ( cl.has_constructor ) {\n const constr_2 : RangerAppFunctionDesc = cl.constructor_fn;\n wr.newline();\n const subCtx : RangerAppWriterContext = constr_2.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_2.fnBody, subCtx, wr);\n wr.newline();\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_4 = 0; i_4 < cl.static_methods.length; i_4++) {\n var variant = cl.static_methods[i_4];\n if ( variant.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out((\" \" + cl.name) + \"::\", false);\n wr.out(variant.compiledName + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_5 = 0; i_5 < cl.defined_variants.length; i_5++) {\n var fnVar = cl.defined_variants[i_5];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_6 = 0; i_6 < mVs.variants.length; i_6++) {\n var variant_1 = mVs.variants[i_6];\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out((\" \" + cl.name) + \"::\", false);\n wr.out(variant_1.compiledName + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n for ( let i_7 = 0; i_7 < cl.static_methods.length; i_7++) {\n var variant_2 = cl.static_methods[i_7];\n if ( variant_2.nameNode.hasFlag(\"main\") && (variant_2.nameNode.code.filename == ctx.getRootFile()) ) {\n ctx.setCompilerSetting(\"mainclass\", cl.name);\n wr.out(\"int main(int argc, char* argv[]) {\", true);\n wr.indent(1);\n wr.out(\"__g_argc = argc;\", true);\n wr.out(\"__g_argv = argv;\", true);\n const subCtx_3 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_3.in_main = true;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_3, wr);\n wr.newline();\n wr.out(\"return 0;\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n };\n}\nexport class RangerKotlinClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n constructor() {\n super()\n }\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n switch (node.value_type ) { \n case 2 : \n wr.out(node.getParsedString(), false);\n break;\n case 4 : \n const s : string = this.EncodeString(node, ctx, wr);\n wr.out((\"\\\"\" + s) + \"\\\"\", false);\n break;\n case 3 : \n wr.out(\"\" + node.int_value, false);\n break;\n case 5 : \n if ( node.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n };\n };\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Integer\";\n case \"string\" : \n return \"String\";\n case \"chararray\" : \n return \"CharArray\";\n case \"char\" : \n return \"char\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Integer\";\n case \"string\" : \n return \"String\";\n case \"chararray\" : \n return \"CharArray\";\n case \"char\" : \n return \"Char\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n };\n return type_string;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n }\n switch (v_type ) { \n case 13 : \n wr.out(\"Int\", false);\n break;\n case 3 : \n wr.out(\"Int\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 14 : \n wr.out(\"Char\", false);\n break;\n case 15 : \n wr.out(\"CharArray\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"Boolean\", false);\n break;\n case 7 : \n wr.out((((\"MutableMap<\" + this.getObjectTypeString(node.key_type, ctx)) + \",\") + this.getObjectTypeString(node.array_type, ctx)) + \">\", false);\n break;\n case 6 : \n wr.out((\"MutableList<\" + this.getObjectTypeString(node.array_type, ctx)) + \">\", false);\n break;\n default: \n if ( node.type_name == \"void\" ) {\n wr.out(\"Unit\", false);\n } else {\n wr.out(this.getTypeString(node.type_name), false);\n }\n break;\n };\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"?\", false);\n }\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( i == 0 ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"!!\", false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part = node.ns[i_1];\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n wr.out(this.adjustType(part), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out(\"var \", false);\n } else {\n wr.out(\"val \", false);\n }\n wr.out(p.compiledName, false);\n wr.out(\" : \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = arrayListOf()\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = hashMapOf()\", false);\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n wr.out(arg.name + \" : \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n const givenArgs : CodeNode = node.getSecond();\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(\" \", false);\n wr.out(node.clDesc.name, false);\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\")\", false);\n }\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n const wr : CodeWriter = orig_wr;\n /** unused: const importFork : CodeWriter = wr.fork() **/ \n wr.out(\"\", true);\n wr.out(\"class \" + cl.name, false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n wr.out(\"(\", false);\n await this.writeArgsDef(constr, ctx, wr);\n wr.out(\" ) \", true);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n for ( let i = 0; i < cl.variables.length; i++) {\n var pvar = cl.variables[i];\n await this.writeVarDef(pvar.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr_1 : RangerAppFunctionDesc = cl.constructor_fn;\n wr.out(\"\", true);\n wr.out(\"init {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx : RangerAppWriterContext = constr_1.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_1.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n if ( (cl.static_methods.length) > 0 ) {\n wr.out(\"companion object {\", true);\n wr.indent(1);\n }\n for ( let i_1 = 0; i_1 < cl.static_methods.length; i_1++) {\n var variant = cl.static_methods[i_1];\n wr.out(\"\", true);\n if ( variant.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n wr.out(\"fun \", false);\n wr.out(\" \", false);\n wr.out(variant.name + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") : \", false);\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n if ( (cl.static_methods.length) > 0 ) {\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_2 = 0; i_2 < cl.defined_variants.length; i_2++) {\n var fnVar = cl.defined_variants[i_2];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_3 = 0; i_3 < mVs.variants.length; i_3++) {\n var variant_1 = mVs.variants[i_3];\n wr.out(\"\", true);\n wr.out(\"fun \", false);\n wr.out(\" \", false);\n wr.out(variant_1.name + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") : \", false);\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_4 = 0; i_4 < cl.static_methods.length; i_4++) {\n var variant_2 = cl.static_methods[i_4];\n wr.out(\"\", true);\n if ( variant_2.nameNode.hasFlag(\"main\") && (variant_2.nameNode.code.filename == ctx.getRootFile()) ) {\n wr.out(\"fun main(args : Array<String>) {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_3 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_3, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n };\n}\nexport class RangerCSharpClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n constructor() {\n super()\n }\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"dynamic\";\n }\n if ( cc.is_system ) {\n const sysName : string = cc.systemNames[\"csharp\"];\n if ( (typeof(sysName) !== \"undefined\" && sysName != null ) ) {\n return sysName;\n } else {\n const node : CodeNode = new CodeNode(new SourceCode(\"\"), 0, 0);\n ctx.addError(node, (\"No system class \" + type_string) + \"defined for C# \");\n }\n }\n }\n switch (type_string ) { \n case \"int\" : \n return \"int\";\n case \"string\" : \n return \"String\";\n case \"chararray\" : \n return \"byte[]\";\n case \"char\" : \n return \"byte\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"double\";\n };\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"int\";\n case \"string\" : \n return \"String\";\n case \"chararray\" : \n return \"byte[]\";\n case \"char\" : \n return \"byte\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"double\";\n };\n return type_string;\n };\n async writeLambdaType (expression_value : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const rv : CodeNode = expression_value.children[0];\n const sec : CodeNode = expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n let is_void : boolean = false;\n if ( (rv.type_name == \"void\") || (rv.eval_type_name == \"void\") ) {\n is_void = true;\n }\n if ( is_void ) {\n wr.out(\"Action\", false);\n if ( (sec.children.length) > 0 ) {\n wr.out(\"<\", false);\n }\n } else {\n wr.out(\"Func<\", false);\n }\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(arg, ctx, wr);\n };\n if ( is_void == false ) {\n if ( (sec.children.length) > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(rv, ctx, wr);\n }\n if ( is_void ) {\n if ( (sec.children.length) > 0 ) {\n wr.out(\">\", false);\n }\n } else {\n wr.out(\">\", false);\n }\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n await this.writeLambdaType(node.expression_value, ctx, wr);\n break;\n case 13 : \n wr.out(\"int\", false);\n break;\n case 3 : \n wr.out(\"int\", false);\n break;\n case 2 : \n wr.out(\"double\", false);\n break;\n case 14 : \n wr.out(\"byte\", false);\n break;\n case 15 : \n wr.out(\"byte[]\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"bool\", false);\n break;\n case 7 : \n wr.out((((\"Dictionary<\" + this.getObjectTypeString(k_name, ctx)) + \",\") + this.getObjectTypeString(a_name, ctx)) + \">\", false);\n wr.addImport(\"System.Collections\");\n wr.addImport(\"System.Collections.Generic\");\n break;\n case 6 : \n wr.out((\"List<\" + this.getObjectTypeString(a_name, ctx)) + \">\", false);\n wr.addImport(\"System.Collections\");\n wr.addImport(\"System.Collections.Generic\");\n break;\n default: \n if ( node.type_name == \"void\" ) {\n wr.out(\"void\", false);\n return;\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_union ) {\n wr.out(\"dynamic\", false);\n return;\n }\n if ( cc.is_system ) {\n const sysName : string = cc.systemNames[\"csharp\"];\n if ( (typeof(sysName) !== \"undefined\" && sysName != null ) ) {\n wr.out(sysName, false);\n } else {\n ctx.addError(node, (\"No system class \" + t_name) + \"defined for C# \");\n }\n return;\n }\n }\n wr.out(this.getTypeString(node.type_name), false);\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n if ( ctx.inLambda() ) {\n wr.out(\"this\", false);\n } else {\n wr.out(\"this\", false);\n }\n continue;\n }\n }\n if ( i == 0 ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_1 = node.ns[i_1];\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n wr.out(this.adjustType(part_1), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out(\"\", false);\n } else {\n wr.out(\"\", false);\n }\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = new \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\"()\", false);\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n /** unused: const fName : CodeNode = node.children[1] **/ \n const body : CodeNode = node.children[2];\n const args : CodeNode = node.children[1];\n wr.out(\"(\", false);\n wr.out(\"(\", false);\n await this.writeLambdaType(node, ctx, wr);\n wr.out(\")\", false);\n wr.out(\"(\", false);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.flow_done == false ) {\n await this.compiler.parser.WalkNode(arg, lambdaCtx, wr);\n }\n await this.WalkNode(arg, lambdaCtx, wr);\n };\n wr.out(\")\", false);\n wr.out(\" => { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n wr.out(\"))\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n wr.out((\" \" + arg.compiledName) + \" \", false);\n };\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"new List<\", false);\n wr.out(this.getObjectTypeString(node.eval_array_type, ctx), false);\n wr.out(\"> {\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\"}\", false);\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n const wr : CodeWriter = orig_wr;\n this.import_lib(\"System\", ctx, wr);\n wr.out((\"class \" + cl.name) + \" \", false);\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" : \", false);\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n wr.out(pName, false);\n };\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.createTag(\"utilities\");\n for ( let i_1 = 0; i_1 < cl.variables.length; i_1++) {\n var pvar = cl.variables[i_1];\n wr.out(\"public \", false);\n await this.writeVarDef(pvar.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n wr.out(cl.name + \"(\", false);\n await this.writeArgsDef(constr, ctx, wr);\n wr.out(\" ) {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx : RangerAppWriterContext = constr.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_2 = 0; i_2 < cl.static_methods.length; i_2++) {\n var variant = cl.static_methods[i_2];\n if ( variant.nameNode.hasFlag(\"main\") && (variant.nameNode.code.filename != ctx.getRootFile()) ) {\n continue;\n }\n if ( variant.nameNode.hasFlag(\"main\") ) {\n wr.out(\"static void Main( string [] args ) {\", true);\n } else {\n wr.out(\"public static \", false);\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(variant.name + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") {\", true);\n }\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_3 = 0; i_3 < cl.defined_variants.length; i_3++) {\n var fnVar = cl.defined_variants[i_3];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_4 = 0; i_4 < mVs.variants.length; i_4++) {\n var variant_1 = mVs.variants[i_4];\n wr.out(\"public \", false);\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(variant_1.name + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class RangerScalaClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n init_done: boolean;\n constructor() {\n super()\n this.init_done = false;\n }\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"Any\";\n }\n }\n switch (type_string ) { \n case \"int\" : \n return \"Int\";\n case \"string\" : \n return \"String\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n case \"chararray\" : \n return \"Array[Byte]\";\n case \"char\" : \n return \"byte\";\n };\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"Int\";\n case \"string\" : \n return \"String\";\n case \"boolean\" : \n return \"Boolean\";\n case \"double\" : \n return \"Double\";\n case \"chararray\" : \n return \"Array[Byte]\";\n case \"char\" : \n return \"byte\";\n };\n return type_string;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"Option[\", false);\n }\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n let is_void : boolean = false;\n if ( (rv.type_name == \"void\") || (rv.eval_type_name == \"void\") ) {\n is_void = true;\n }\n wr.out(\"(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\")\", false);\n if ( is_void ) {\n wr.out(\"=> Unit\", false);\n } else {\n wr.out(\"=> \", false);\n await this.writeTypeDef(rv, ctx, wr);\n }\n break;\n case 13 : \n wr.out(\"Int\", false);\n break;\n case 3 : \n wr.out(\"Int\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"Boolean\", false);\n break;\n case 14 : \n wr.out(\"Byte\", false);\n break;\n case 15 : \n wr.out(\"Array[Byte]\", false);\n break;\n case 7 : \n wr.addImport(\"scala.collection.mutable\");\n wr.out((((\"collection.mutable.HashMap[\" + this.getObjectTypeString(k_name, ctx)) + \", \") + this.getObjectTypeString(a_name, ctx)) + \"]\", false);\n break;\n case 6 : \n wr.addImport(\"scala.collection.mutable\");\n wr.out((\"collection.mutable.ArrayBuffer[\" + this.getObjectTypeString(a_name, ctx)) + \"]\", false);\n break;\n default: \n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_union ) {\n wr.out(\"Any\", false);\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"]\", false);\n }\n return;\n }\n }\n if ( node.type_name == \"void\" ) {\n wr.out(\"Unit\", false);\n return;\n }\n wr.out(this.getTypeString(t_name), false);\n break;\n };\n if ( node.hasFlag(\"optional\") ) {\n wr.out(\"]\", false);\n }\n };\n async writeTypeDefNoOption (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n let is_void : boolean = false;\n if ( (rv.type_name == \"void\") || (rv.eval_type_name == \"void\") ) {\n is_void = true;\n }\n wr.out(\"(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\")\", false);\n if ( is_void ) {\n wr.out(\"=> Unit\", false);\n } else {\n wr.out(\"=> \", false);\n await this.writeTypeDef(rv, ctx, wr);\n }\n break;\n case 13 : \n wr.out(\"Int\", false);\n break;\n case 3 : \n wr.out(\"Int\", false);\n break;\n case 2 : \n wr.out(\"Double\", false);\n break;\n case 4 : \n wr.out(\"String\", false);\n break;\n case 5 : \n wr.out(\"Boolean\", false);\n break;\n case 14 : \n wr.out(\"Byte\", false);\n break;\n case 15 : \n wr.out(\"Array[Byte]\", false);\n break;\n case 7 : \n wr.addImport(\"scala.collection.mutable\");\n wr.out((((\"collection.mutable.HashMap[\" + this.getObjectTypeString(node.key_type, ctx)) + \", \") + this.getObjectTypeString(node.array_type, ctx)) + \"]\", false);\n break;\n case 6 : \n wr.addImport(\"scala.collection.mutable\");\n wr.out((\"collection.mutable.ArrayBuffer[\" + this.getObjectTypeString(node.array_type, ctx)) + \"]\", false);\n break;\n default: \n if ( node.type_name == \"void\" ) {\n wr.out(\"Unit\", false);\n return;\n }\n wr.out(this.getTypeString(node.type_name), false);\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n wr.out(\"this\", false);\n return;\n }\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(\"this\", false);\n continue;\n }\n }\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( i == 0 ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\".get\", false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_1 = node.ns[i_1];\n if ( i_1 > 0 ) {\n wr.out(\".\", false);\n }\n wr.out(this.adjustType(part_1), false);\n };\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const p : RangerAppParamDesc = node.paramDesc;\n /** unused: const nn : CodeNode = node.children[1] **/ \n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused \", false);\n }\n if ( (p.set_cnt > 0) || p.is_class_variable ) {\n wr.out((\"var \" + p.compiledName) + \" \", false);\n } else {\n wr.out((\"val \" + p.compiledName) + \" \", false);\n }\n const ti_ok : boolean = ctx.canUseTypeInference((p.nameNode));\n if ( (false == ti_ok) || ((false == p.nameNode.hasFlag(\"optional\")) && ((node.children.length) == 2)) ) {\n wr.out(\": \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n }\n if ( (node.children.length) > 2 ) {\n wr.out(\"= \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n let b_inited : boolean = false;\n if ( p.nameNode.value_type == 6 ) {\n b_inited = true;\n wr.out(\"= new collection.mutable.ArrayBuffer()\", false);\n }\n if ( p.nameNode.value_type == 7 ) {\n b_inited = true;\n wr.out(\"= new collection.mutable.HashMap()\", false);\n }\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\" = Option.empty[\", false);\n await this.writeTypeDefNoOption(p.nameNode, ctx, wr);\n wr.out(\"]\", false);\n } else {\n if ( b_inited == false ) {\n wr.out(\"= _\", false);\n }\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"**/ \", true);\n } else {\n wr.newline();\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n wr.out(arg.compiledName + \" : \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n };\n async writeFnEnd (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.indent(-1);\n wr.out(\"} catch {\", true);\n wr.indent(1);\n wr.out(\"case rv:ScalaReturnValue => {\", true);\n wr.indent(1);\n wr.out(\"__returns__ = rv.value\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out(\"__returns__.asInstanceOf[\", false);\n await this.writeTypeDef(node, ctx, wr);\n wr.out(\"]\", true);\n };\n writeFnStart (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n wr.out(\"var __returns__ : Any = null\", true);\n wr.out(\"try {\", true);\n wr.indent(1);\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = node.getFirst();\n const cmd : string = fc.vref;\n if ( cmd == \"for\" ) {\n const listNode : CodeNode = node.children[1];\n const itemNode : CodeNode = node.children[2];\n const indexNode : CodeNode = node.children[3];\n const bodyNode : CodeNode = node.children[4];\n let break_cnt : number = 0;\n let continue_cnt : number = 0;\n await bodyNode.forTree(((item : CodeNode, i : number):void => { \n if ( item.isFirstVref(\"break\") ) {\n break_cnt = break_cnt + 1;\n }\n if ( item.isFirstVref(\"continue\") ) {\n continue_cnt = continue_cnt + 1;\n }\n }));\n if ( continue_cnt > 0 ) {\n ctx.addError(node, \"oops, sorry. Currently Scala output can not handle for-loops with continue :/\");\n return;\n }\n if ( break_cnt > 0 ) {\n wr.addImport(\"scala.util.control._\");\n wr.out(\"try {\", true);\n wr.indent(1);\n wr.out(\"val __break__ = new Breaks\", true);\n wr.out(\"__break__.breakable {\", true);\n wr.indent(1);\n }\n wr.out(\"for( \", false);\n await this.WalkNode(indexNode, ctx, wr);\n wr.out(\" <- 0 until \", false);\n await this.WalkNode(listNode, ctx, wr);\n wr.out(\".length ) {\", true);\n wr.indent(1);\n wr.out(\"val \", false);\n await this.WalkNode(itemNode, ctx, wr);\n wr.out(\" = \", false);\n await this.WalkNode(listNode, ctx, wr);\n wr.out(\"(\", false);\n await this.WalkNode(indexNode, ctx, wr);\n wr.out(\")\", true);\n await this.WalkNode(bodyNode, ctx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n if ( break_cnt > 0 ) {\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n return;\n }\n if ( cmd == \"try\" ) {\n const tryBlock : CodeNode = node.getSecond();\n const catchBlock : CodeNode = node.getThird();\n wr.out(\"try {\", true);\n wr.indent(1);\n await this.WalkNode(tryBlock, ctx, wr);\n wr.indent(-1);\n wr.out(\"} catch {\", true);\n wr.indent(1);\n if ( ctx.inLambda() ) {\n wr.out(\"case rv:ScalaReturnValue => {\", true);\n wr.indent(1);\n wr.out(\"throw new ScalaReturnValue(rv.value)\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n wr.out(\"case e: Exception => {\", true);\n wr.indent(1);\n await this.WalkNode(catchBlock, ctx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n return;\n }\n if ( cmd == \"return\" ) {\n if ( (node.children.length) > 1 ) {\n const rValue : CodeNode = node.getSecond();\n if ( ctx.getFlag(\"last_returns\") ) {\n await this.WalkNode(rValue, ctx, wr);\n return;\n }\n if ( ctx.inLambda() ) {\n wr.out(\"throw new ScalaReturnValue(\", false);\n ctx.setInExpr();\n await this.WalkNode(rValue, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\")\", true);\n } else {\n wr.out(\"return \", false);\n ctx.setInExpr();\n await this.WalkNode(rValue, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\" \", true);\n }\n } else {\n if ( ctx.inLambda() ) {\n wr.out(\"throw new ScalaReturnValue(null)\", true);\n } else {\n wr.out(\"return\", true);\n }\n }\n return;\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const fnDef : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n lambdaCtx.is_lambda = true;\n wr.out(\"((\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.flow_done == false ) {\n await this.compiler.parser.WalkNode(arg, lambdaCtx, wr);\n }\n await this.WalkNode(arg, lambdaCtx, wr);\n wr.out(\" : \", false);\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\")\", false);\n let return_cnt : number = 0;\n const line_cnt : number = body.children.length;\n await body.forTree(((item : CodeNode, i : number):void => { \n if ( item.isFirstVref(\"return\") ) {\n return_cnt = return_cnt + 1;\n }\n }));\n if ( line_cnt == 1 ) {\n return_cnt = 1;\n }\n if ( fnDef.type_name != \"void\" ) {\n if ( return_cnt == 1 ) {\n if ( line_cnt > 1 ) {\n wr.out(\" => { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n } else {\n wr.out(\" => \", false);\n lambdaCtx.setInExpr();\n }\n lambdaCtx.setFlag(\"last_returns\", true);\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n if ( line_cnt > 1 ) {\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n } else {\n lambdaCtx.unsetInExpr();\n }\n wr.out(\")\", false);\n return;\n }\n }\n if ( (line_cnt > 1) || (return_cnt > 1) ) {\n wr.out(\" => { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n } else {\n wr.out(\" => \", false);\n lambdaCtx.setInExpr();\n }\n if ( fnDef.type_name != \"void\" ) {\n this.writeFnStart(fnDef, ctx, wr);\n }\n for ( let i_2 = 0; i_2 < body.children.length; i_2++) {\n var item_1 = body.children[i_2];\n await this.WalkNode(item_1, lambdaCtx, wr);\n };\n if ( fnDef.type_name != \"void\" ) {\n await this.writeFnEnd(fnDef, ctx, wr);\n }\n if ( (line_cnt > 1) || (return_cnt > 1) ) {\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n } else {\n lambdaCtx.unsetInExpr();\n }\n wr.out(\")\", false);\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"collection.mutable.ArrayBuffer(\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\")\", false);\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n let declaredFunction : {[key:string]:boolean} = {};\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n const wr : CodeWriter = orig_wr;\n if ( this.init_done == false ) {\n wr.out(\"case class ScalaReturnValue(value:Any) extends Exception\", true);\n wr.createTag(\"imports\");\n this.init_done = true;\n wr.createTag(\"beginning\");\n }\n /** unused: const importFork : CodeWriter = wr.getTag(\"imports\") **/ \n const b_class_has_content : boolean = ((cl.has_constructor || ((cl.variables.length) > 0)) || ((cl.defined_variants.length) > 0)) || ((cl.extends_classes.length) > 0);\n if ( b_class_has_content ) {\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n for ( let i_1 = 0; i_1 < pC.defined_variants.length; i_1++) {\n var fnVar = pC.defined_variants[i_1];\n const mVs : RangerAppMethodVariants = pC.method_variants[fnVar];\n for ( let i_2 = 0; i_2 < mVs.variants.length; i_2++) {\n var variant = mVs.variants[i_2];\n declaredFunction[variant.name] = true;\n };\n };\n };\n }\n wr.out((\"class \" + cl.name) + \" \", false);\n if ( cl.has_constructor ) {\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n for ( let i_3 = 0; i_3 < constr.params.length; i_3++) {\n var arg = constr.params[i_3];\n if ( i_3 > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.name + \" : \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n wr.out(\")\", false);\n }\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" extends \", false);\n for ( let i_4 = 0; i_4 < cl.extends_classes.length; i_4++) {\n var pName_1 = cl.extends_classes[i_4];\n wr.out(pName_1, false);\n };\n }\n wr.out(\" {\", true);\n wr.indent(1);\n for ( let i_5 = 0; i_5 < cl.variables.length; i_5++) {\n var pvar = cl.variables[i_5];\n await this.writeVarDef(pvar.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr_1 : RangerAppFunctionDesc = cl.constructor_fn;\n wr.newline();\n const subCtx : RangerAppWriterContext = constr_1.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_1.fnBody, subCtx, wr);\n wr.newline();\n }\n for ( let i_6 = 0; i_6 < cl.defined_variants.length; i_6++) {\n var fnVar_1 = cl.defined_variants[i_6];\n const mVs_1 : RangerAppMethodVariants = cl.method_variants[fnVar_1];\n for ( let i_7 = 0; i_7 < mVs_1.variants.length; i_7++) {\n var variant_1 = mVs_1.variants[i_7];\n if ( ( typeof(declaredFunction[variant_1.name] ) != \"undefined\" && declaredFunction.hasOwnProperty(variant_1.name) ) ) {\n wr.out(\"override \", false);\n }\n wr.out(\"def \", false);\n wr.out(\" \", false);\n wr.out(variant_1.name + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") : \", false);\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" = \", false);\n let return_cnt : number = 0;\n const line_cnt : number = variant_1.fnBody.children.length;\n await variant_1.fnBody.forTree(((item : CodeNode, i : number):void => { \n if ( item.isFirstVref(\"return\") ) {\n return_cnt = return_cnt + 1;\n }\n }));\n const subCtx_1 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_1.is_function = true;\n if ( return_cnt <= 1 ) {\n subCtx_1.setFlag(\"last_returns\", true);\n if ( line_cnt > 1 ) {\n wr.out(\" { \", true);\n wr.indent(1);\n } else {\n subCtx_1.setInExpr();\n }\n await this.WalkNode(variant_1.fnBody, subCtx_1, wr);\n if ( line_cnt > 1 ) {\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n subCtx_1.unsetInExpr();\n wr.newline();\n }\n } else {\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n await this.WalkNode(variant_1.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n let b_has_non_main_static : boolean = false;\n let b_had_app : boolean = false;\n let app_obj : RangerAppFunctionDesc ;\n await operatorsOf.forEach_29(cl.static_methods, ((item : RangerAppFunctionDesc, index : number):void => { \n if ( item.name != \"main\" ) {\n b_has_non_main_static = true;\n } else {\n b_had_app = true;\n const it : RangerAppFunctionDesc = item;\n app_obj = it;\n }\n }));\n if ( b_has_non_main_static ) {\n wr.out(\"\", true);\n wr.out(((\"// companion object for static methods of \" + cl.name) + \" static cnt == \") + (cl.static_methods.length), true);\n wr.out((\"object \" + cl.name) + \" {\", true);\n wr.indent(1);\n for ( let i_8 = 0; i_8 < cl.static_methods.length; i_8++) {\n var variant_2 = cl.static_methods[i_8];\n if ( variant_2.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n wr.out(\"def \", false);\n wr.out(\" \", false);\n wr.out(variant_2.name + \"(\", false);\n await this.writeArgsDef(variant_2, ctx, wr);\n wr.out(\") : \", false);\n await this.writeTypeDef(variant_2.nameNode, ctx, wr);\n wr.out(\" = {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n if ( b_had_app ) {\n const variant_3 : RangerAppFunctionDesc = app_obj;\n const b_scalafiddle : boolean = ctx.hasCompilerFlag(\"scalafiddle\");\n let theEnd : CodeWriter = wr.getTag(\"file_end\");\n if ( b_scalafiddle ) {\n theEnd = wr.getTag(\"beginning\");\n theEnd.out(\"\", true);\n theEnd.out(\"// ----------- the scalafiddle main function begins ---------\", true);\n }\n if ( b_scalafiddle == false ) {\n theEnd.out(\"\", true);\n theEnd.out(\"// application main function for \" + cl.name, true);\n theEnd.out((\"object App\" + cl.name) + \" extends App {\", true);\n theEnd.indent(1);\n theEnd.newline();\n }\n const subCtx_3 : RangerAppWriterContext = variant_3.fnCtx;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_3.fnBody, subCtx_3, theEnd);\n if ( b_scalafiddle ) {\n theEnd.out(\"// ----------- the scalafiddle main function ends ---------\", true);\n theEnd.out(\"\", true);\n }\n if ( b_scalafiddle == false ) {\n theEnd.newline();\n theEnd.indent(-1);\n theEnd.out(\"}\", true);\n }\n }\n };\n}\nexport class RangerGolangClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n thisName: string;\n write_raw_type: boolean;\n did_write_nullable: boolean;\n constructor() {\n super()\n this.thisName = \"this\";\n this.write_raw_type = false;\n this.did_write_nullable = false;\n }\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n switch (node.value_type ) { \n case 2 : \n wr.out(node.getParsedString(), false);\n break;\n case 4 : \n const s : string = this.EncodeString(node, ctx, wr);\n wr.out((\"\\\"\" + s) + \"\\\"\", false);\n break;\n case 3 : \n wr.out((\"int64(\" + node.int_value) + \")\", false);\n break;\n case 5 : \n if ( node.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n };\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n if ( type_string == \"this\" ) {\n return this.thisName;\n }\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"interface{}\";\n }\n if ( cc.doesInherit() ) {\n return \"IFACE_\" + ctx.transformTypeName(type_string);\n }\n }\n switch (type_string ) { \n case \"int\" : \n return \"int64\";\n case \"string\" : \n return \"string\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"float64\";\n case \"char\" : \n return \"byte\";\n case \"charbuffer\" : \n return \"[]byte\";\n };\n return ctx.transformTypeName(type_string);\n };\n getTypeString2 (type_string : string, ctx : RangerAppWriterContext) : string {\n if ( type_string == \"this\" ) {\n return this.thisName;\n }\n switch (type_string ) { \n case \"int\" : \n return \"int64\";\n case \"string\" : \n return \"string\";\n case \"boolean\" : \n return \"bool\";\n case \"double\" : \n return \"float64\";\n case \"char\" : \n return \"byte\";\n case \"charbuffer\" : \n return \"[]byte\";\n };\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_union ) {\n return \"interface{}\";\n }\n }\n return ctx.transformTypeName(type_string);\n };\n async writeRawTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.write_raw_type = true;\n await this.writeTypeDef(node, ctx, wr);\n this.write_raw_type = false;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.writeTypeDef2(node, ctx, wr);\n };\n writeArrayTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n let v_type : number = node.value_type;\n let a_name : string = node.array_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n }\n switch (v_type ) { \n case 7 : \n if ( ctx.isDefinedClass(a_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(a_name);\n if ( cc.is_union ) {\n wr.out(\"interface{}\", false);\n return;\n }\n if ( cc.doesInherit() ) {\n wr.out(\"IFACE_\" + this.getTypeString2(a_name, ctx), false);\n return;\n }\n }\n if ( ctx.isPrimitiveType(a_name) == false ) {\n wr.out(\"*\", false);\n }\n wr.out(this.getObjectTypeString(a_name, ctx) + \"\", false);\n break;\n case 6 : \n if ( ctx.isDefinedClass(a_name) ) {\n const cc_1 : RangerAppClassDesc = ctx.findClass(a_name);\n if ( cc_1.is_union ) {\n wr.out(\"interface{}\", false);\n return;\n }\n if ( cc_1.doesInherit() ) {\n wr.out(\"IFACE_\" + this.getTypeString2(a_name, ctx), false);\n return;\n }\n }\n if ( (this.write_raw_type == false) && (ctx.isPrimitiveType(a_name) == false) ) {\n wr.out(\"*\", false);\n }\n wr.out(this.getObjectTypeString(a_name, ctx) + \"\", false);\n break;\n default: \n break;\n };\n };\n writeTypeDef2 (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n wr.out(\"func(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n this.writeTypeDef2(arg, ctx, wr);\n };\n wr.out(\") \", false);\n this.writeTypeDef2(rv, ctx, wr);\n break;\n case 13 : \n wr.out(\"int64\", false);\n break;\n case 3 : \n wr.out(\"int64\", false);\n break;\n case 2 : \n wr.out(\"float64\", false);\n break;\n case 4 : \n wr.out(\"string\", false);\n break;\n case 5 : \n wr.out(\"bool\", false);\n break;\n case 14 : \n wr.out(\"byte\", false);\n break;\n case 15 : \n wr.out(\"[]byte\", false);\n break;\n case 7 : \n if ( this.write_raw_type ) {\n wr.out(this.getObjectTypeString(a_name, ctx) + \"\", false);\n } else {\n wr.out((\"map[\" + this.getObjectTypeString(k_name, ctx)) + \"]\", false);\n if ( ctx.isDefinedClass(a_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(a_name);\n if ( cc.is_union ) {\n wr.out(\"interface{}\", false);\n return;\n }\n if ( cc.doesInherit() ) {\n wr.out(\"IFACE_\" + this.getTypeString2(a_name, ctx), false);\n return;\n }\n }\n if ( (this.write_raw_type == false) && (ctx.isPrimitiveType(a_name) == false) ) {\n wr.out(\"*\", false);\n }\n wr.out(this.getObjectTypeString(a_name, ctx) + \"\", false);\n }\n break;\n case 6 : \n if ( false == this.write_raw_type ) {\n wr.out(\"[]\", false);\n }\n if ( ctx.isDefinedClass(a_name) ) {\n const cc_1 : RangerAppClassDesc = ctx.findClass(a_name);\n if ( cc_1.is_union ) {\n wr.out(\"interface{}\", false);\n return;\n }\n if ( cc_1.doesInherit() ) {\n wr.out(\"IFACE_\" + this.getTypeString2(a_name, ctx), false);\n return;\n }\n }\n if ( (this.write_raw_type == false) && (ctx.isPrimitiveType(a_name) == false) ) {\n wr.out(\"*\", false);\n }\n wr.out(this.getObjectTypeString(a_name, ctx) + \"\", false);\n break;\n default: \n if ( (node.type_name == \"void\") || (false == ((node.type_name.length) > 0)) ) {\n wr.out(\"()\", false);\n return;\n }\n let b_iface : boolean = false;\n if ( ctx.isDefinedClass(t_name) ) {\n const cc_2 : RangerAppClassDesc = ctx.findClass(t_name);\n b_iface = cc_2.is_interface;\n if ( cc_2.is_system ) {\n const sysName : string = cc_2.systemNames[\"go\"];\n if ( (typeof(sysName) !== \"undefined\" && sysName != null ) ) {\n wr.out(sysName, false);\n } else {\n ctx.addError(node, (\"No system class \" + t_name) + \"defined for Go \");\n }\n return;\n }\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc_3 : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc_3.is_union ) {\n wr.out(\"interface{}\", false);\n return;\n }\n if ( cc_3.doesInherit() ) {\n wr.out(\"IFACE_\" + this.getTypeString2(t_name, ctx), false);\n return;\n }\n }\n if ( ((this.write_raw_type == false) && (node.isPrimitiveType() == false)) && (b_iface == false) ) {\n wr.out(\"*\", false);\n }\n wr.out(this.getTypeString2(t_name, ctx), false);\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n wr.out(this.thisName, false);\n return;\n }\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n let next_is_gs : boolean = false;\n /** unused: const last_was_setter : boolean = false **/ \n let needs_par : boolean = false;\n const ns_last : number = (node.ns.length) - 1;\n if ( (node.nsp.length) > 0 ) {\n let had_static : boolean = false;\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( next_is_gs ) {\n if ( p.isProperty() ) {\n wr.out(\".Get_\", false);\n needs_par = true;\n } else {\n needs_par = false;\n }\n next_is_gs = false;\n }\n if ( needs_par == false ) {\n if ( i > 0 ) {\n if ( had_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n }\n if ( ((typeof(p.nameNode) !== \"undefined\" && p.nameNode != null ) ) && ctx.isDefinedClass(p.nameNode.type_name) ) {\n const c : RangerAppClassDesc = ctx.findClass(p.nameNode.type_name);\n if ( c.doesInherit() ) {\n next_is_gs = true;\n }\n }\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part != this.thisName) && ((typeof(cc) !== \"undefined\" && cc != null ) )) && (false == ctx.isInStatic()) ) {\n const currC : RangerAppClassDesc = cc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n const lvDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( ((typeof(up) !== \"undefined\" && up != null ) ) && lvDef.is_class_variable ) {\n /** unused: const p3 : RangerAppParamDesc = up **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( needs_par ) {\n wr.out(\"()\", false);\n needs_par = false;\n }\n if ( (((typeof(p.nameNode) !== \"undefined\" && p.nameNode != null ) ) && p.nameNode.hasFlag(\"optional\")) && (i != ns_last) ) {\n wr.out(\".value.(\", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\")\", false);\n }\n if ( p.isClass() ) {\n had_static = true;\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const part_1 : string = node.ns[0];\n const cc_1 : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part_1 != this.thisName) && ((typeof(cc_1) !== \"undefined\" && cc_1 != null ) )) && (false == ctx.isInStatic()) ) {\n const currC_1 : RangerAppClassDesc = cc_1;\n const up_1 : RangerAppParamDesc = currC_1.findVariable(part_1);\n const lvDef_1 : RangerAppParamDesc = ctx.getVariableDef(part_1);\n if ( ((typeof(up_1) !== \"undefined\" && up_1 != null ) ) && lvDef_1.is_class_variable ) {\n /** unused: const p3_1 : RangerAppParamDesc = up_1 **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n let b_was_static : boolean = false;\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_2 = node.ns[i_1];\n if ( i_1 > 0 ) {\n if ( (i_1 == 1) && b_was_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n if ( i_1 == 0 ) {\n if ( part_2 == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n if ( ctx.hasClass(part_2) ) {\n b_was_static = true;\n }\n const cc_2 : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part_2 != \"this\") && ((typeof(cc_2) !== \"undefined\" && cc_2 != null ) )) && (false == ctx.isInStatic()) ) {\n const currC_2 : RangerAppClassDesc = cc_2;\n const up_2 : RangerAppParamDesc = currC_2.findVariable(part_2);\n const lvDef_2 : RangerAppParamDesc = ctx.getVariableDef(part_2);\n if ( ((typeof(up_2) !== \"undefined\" && up_2 != null ) ) && lvDef_2.is_class_variable ) {\n /** unused: const p3_2 : RangerAppParamDesc = up_2 **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n wr.out(this.adjustType(part_2), false);\n };\n };\n async WriteSetterVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n wr.out(this.thisName, false);\n return;\n }\n if ( node.eval_type == 13 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n let next_is_gs : boolean = false;\n /** unused: const last_was_setter : boolean = false **/ \n let needs_par : boolean = false;\n const ns_len : number = (node.ns.length) - 1;\n if ( (node.nsp.length) > 0 ) {\n let had_static : boolean = false;\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( next_is_gs ) {\n if ( p.isProperty() ) {\n wr.out(\".Get_\", false);\n needs_par = true;\n } else {\n needs_par = false;\n }\n next_is_gs = false;\n }\n if ( needs_par == false ) {\n if ( i > 0 ) {\n if ( had_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n }\n if ( ctx.isDefinedClass(p.nameNode.type_name) ) {\n const c : RangerAppClassDesc = ctx.findClass(p.nameNode.type_name);\n if ( c.doesInherit() ) {\n next_is_gs = true;\n }\n }\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part != this.thisName) && ((typeof(cc) !== \"undefined\" && cc != null ) )) && (false == ctx.isInStatic()) ) {\n const currC : RangerAppClassDesc = cc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n const lvDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( ((typeof(up) !== \"undefined\" && up != null ) ) && lvDef.is_class_variable ) {\n /** unused: const p3 : RangerAppParamDesc = up **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n if ( needs_par ) {\n wr.out(\"()\", false);\n needs_par = false;\n }\n if ( i < ns_len ) {\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\".value.(\", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\")\", false);\n }\n }\n if ( p.isClass() ) {\n had_static = true;\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const part_1 : string = node.ns[0];\n const cc_1 : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part_1 != this.thisName) && ((typeof(cc_1) !== \"undefined\" && cc_1 != null ) )) && (false == ctx.isInStatic()) ) {\n const currC_1 : RangerAppClassDesc = cc_1;\n const up_1 : RangerAppParamDesc = currC_1.findVariable(part_1);\n const lvDef_1 : RangerAppParamDesc = ctx.getVariableDef(part_1);\n if ( ((typeof(up_1) !== \"undefined\" && up_1 != null ) ) && lvDef_1.is_class_variable ) {\n /** unused: const p3_1 : RangerAppParamDesc = up_1 **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n let b_was_static : boolean = false;\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_2 = node.ns[i_1];\n if ( i_1 > 0 ) {\n if ( (i_1 == 1) && b_was_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n if ( i_1 == 0 ) {\n if ( part_2 == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n if ( ctx.hasClass(part_2) ) {\n b_was_static = true;\n }\n const cc_2 : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part_2 != \"this\") && ((typeof(cc_2) !== \"undefined\" && cc_2 != null ) )) && (false == ctx.isInStatic()) ) {\n const currC_2 : RangerAppClassDesc = cc_2;\n const up_2 : RangerAppParamDesc = currC_2.findVariable(part_2);\n const lvDef_2 : RangerAppParamDesc = ctx.getVariableDef(part_2);\n if ( ((typeof(up_2) !== \"undefined\" && up_2 != null ) ) && lvDef_2.is_class_variable ) {\n /** unused: const p3_2 : RangerAppParamDesc = up_2 **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n wr.out(this.adjustType(part_2), false);\n };\n };\n async goExtractAssign (value : CodeNode, p : RangerAppParamDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const arr_node : CodeNode = value.children[1];\n wr.newline();\n wr.out(\"\", true);\n wr.out(\"// array_extract operator \", true);\n wr.out(\"var \", false);\n const pArr : RangerAppParamDesc = new RangerAppParamDesc();\n pArr.name = \"_arrTemp\";\n pArr.node = arr_node;\n pArr.nameNode = arr_node;\n pArr.is_optional = false;\n ctx.defineVariable(p.name, pArr);\n wr.out(pArr.compiledName, false);\n wr.out(\" \", false);\n await this.writeTypeDef(arr_node, ctx, wr);\n wr.newline();\n wr.out(((p.compiledName + \" , \") + pArr.compiledName) + \" = \", false);\n ctx.setInExpr();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\";\", true);\n const left : CodeNode = arr_node;\n const a_len : number = (left.ns.length) - 1;\n /** unused: const last_part : string = left.ns[a_len] **/ \n let next_is_gs : boolean = false;\n let last_was_setter : boolean = false;\n let needs_par : boolean = false;\n let b_was_static : boolean = false;\n for ( let i = 0; i < left.ns.length; i++) {\n var part = left.ns[i];\n if ( next_is_gs ) {\n if ( i == a_len ) {\n wr.out(\".Set_\", false);\n last_was_setter = true;\n } else {\n wr.out(\".Get_\", false);\n needs_par = true;\n next_is_gs = false;\n last_was_setter = false;\n }\n }\n if ( (last_was_setter == false) && (needs_par == false) ) {\n if ( i > 0 ) {\n if ( (i == 1) && b_was_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n }\n if ( i == 0 ) {\n if ( part == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n if ( ctx.hasClass(part) ) {\n b_was_static = true;\n }\n const partDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( (typeof(partDef.nameNode) !== \"undefined\" && partDef.nameNode != null ) ) {\n if ( ctx.isDefinedClass(partDef.nameNode.type_name) ) {\n const c : RangerAppClassDesc = ctx.findClass(partDef.nameNode.type_name);\n if ( c.doesInherit() ) {\n next_is_gs = true;\n }\n }\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part != \"this\") && ((typeof(cc) !== \"undefined\" && cc != null ) )) && (false == ctx.isInStatic()) ) {\n const currC : RangerAppClassDesc = cc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n const lvDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( ((typeof(up) !== \"undefined\" && up != null ) ) && lvDef.is_class_variable ) {\n /** unused: const p3 : RangerAppParamDesc = up **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n if ( (left.nsp.length) > 0 ) {\n const p_1 : RangerAppParamDesc = left.nsp[i];\n wr.out(this.adjustType(p_1.compiledName), false);\n } else {\n if ( left.hasParamDesc ) {\n wr.out(left.paramDesc.compiledName, false);\n } else {\n wr.out(this.adjustType(part), false);\n }\n }\n if ( needs_par ) {\n wr.out(\"()\", false);\n needs_par = false;\n }\n if ( (left.nsp.length) >= (i + 1) ) {\n const pp : RangerAppParamDesc = left.nsp[i];\n if ( pp.nameNode.hasFlag(\"optional\") ) {\n wr.out(\".value.(\", false);\n await this.writeTypeDef(pp.nameNode, ctx, wr);\n wr.out(\")\", false);\n }\n }\n };\n if ( last_was_setter ) {\n wr.out(\"(\", false);\n wr.out(pArr.compiledName, false);\n wr.out(\"); \", true);\n } else {\n wr.out(\" = \", false);\n wr.out(pArr.compiledName, false);\n wr.out(\"; \", true);\n }\n wr.out(\"\", true);\n };\n async writeStructField (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n wr.out(p.compiledName + \" \", false);\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p.nameNode, ctx, wr);\n }\n if ( p.ref_cnt == 0 ) {\n wr.out(\" /** unused **/ \", false);\n }\n wr.out((\" `json:\\\"\" + p.name) + \"\\\"` \", false);\n wr.out(\"\", true);\n if ( p.nameNode.hasFlag(\"optional\") ) {\n }\n }\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n let b_not_used : boolean = false;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n let b_can_skip : boolean = true;\n if ( (node.children.length) > 2 ) {\n const value : CodeNode = node.getThird();\n if ( value.has_call || value.has_lambda_call ) {\n b_can_skip = false;\n }\n await value.forTree(((item : CodeNode, i : number):void => { \n if ( item.has_call || item.has_lambda_call ) {\n b_can_skip = false;\n }\n }));\n if ( b_can_skip == false ) {\n wr.out(\" _ = \", false);\n ctx.setInExpr();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"\", true);\n return;\n }\n }\n if ( b_can_skip ) {\n wr.out((\"/** unused: \" + p.compiledName) + \"*/\", true);\n b_not_used = true;\n return;\n }\n }\n const map_or_hash : boolean = (nn.value_type == 6) || (nn.value_type == 7);\n if ( nn.hasFlag(\"optional\") ) {\n wr.out((\"var \" + p.compiledName) + \" *GoNullable = new(GoNullable); \", true);\n if ( (node.children.length) > 2 ) {\n const value_1 : CodeNode = node.children[2];\n if ( value_1.hasParamDesc ) {\n const pnn : CodeNode = value_1.paramDesc.nameNode;\n if ( pnn.hasFlag(\"optional\") ) {\n wr.out(p.compiledName + \".value = \", false);\n ctx.setInExpr();\n const value_2 : CodeNode = node.getThird();\n await this.WalkNode(value_2, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\".value;\", true);\n wr.out(p.compiledName + \".has_value = \", false);\n ctx.setInExpr();\n const value_3 : CodeNode = node.getThird();\n await this.WalkNode(value_3, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\".has_value;\", true);\n return;\n } else {\n wr.out(p.compiledName + \".value = \", false);\n ctx.setInExpr();\n const value_4 : CodeNode = node.getThird();\n await this.WalkNode(value_4, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\";\", true);\n wr.out(p.compiledName + \".has_value = true;\", true);\n return;\n }\n } else {\n wr.out(p.compiledName + \" = \", false);\n ctx.setInExpr();\n const value_5 : CodeNode = node.getThird();\n await this.WalkNode(value_5, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\";\", true);\n return;\n }\n }\n return;\n } else {\n if ( ((p.set_cnt > 0) || p.is_class_variable) || map_or_hash ) {\n wr.out((\"var \" + p.compiledName) + \" \", false);\n } else {\n wr.out((\"var \" + p.compiledName) + \" \", false);\n }\n }\n const ti_ok : boolean = ctx.canUseTypeInference((p.nameNode));\n if ( (false == ti_ok) || ((false == p.nameNode.hasFlag(\"optional\")) && ((node.children.length) == 2)) ) {\n this.writeTypeDef2(p.nameNode, ctx, wr);\n }\n if ( (node.children.length) > 2 ) {\n const value_6 : CodeNode = node.getThird();\n if ( value_6.expression && ((value_6.children.length) > 1) ) {\n const fc : CodeNode = value_6.children[0];\n if ( fc.vref == \"array_extract\" ) {\n await this.goExtractAssign(value_6, p, ctx, wr);\n return;\n }\n }\n wr.out(\"= \", false);\n ctx.setInExpr();\n if ( p.nameNode.eval_type_name == \"char\" ) {\n wr.out(\"byte(\", false);\n }\n await this.WalkNode(value_6, ctx, wr);\n if ( p.nameNode.eval_type_name == \"char\" ) {\n wr.out(\")\", false);\n }\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = make(\", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\", 0)\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = make(\", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\")\", false);\n }\n }\n wr.out(\";\", false);\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n } else {\n wr.newline();\n }\n if ( b_not_used == false ) {\n if ( nn.hasFlag(\"optional\") ) {\n wr.addImport(\"errors\");\n }\n }\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.compiledName + \" \", false);\n if ( arg.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n }\n };\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out((\"CreateNew_\" + node.clDesc.name) + \"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\")\", false);\n }\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.writeTypeDef(node, ctx, wr);\n wr.out(\" {\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\"}\", false);\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const givenArgs : CodeNode = node.children[1];\n let args : CodeNode ;\n if ( (typeof(fName.expression_value) !== \"undefined\" && fName.expression_value != null ) ) {\n args = fName.expression_value.children[1];\n } else {\n const param : RangerAppParamDesc = ctx.getVariableDef(fName.vref);\n args = param.nameNode.expression_value.children[1];\n }\n ctx.setInExpr();\n await this.WalkNode(fName, ctx, wr);\n wr.out(\"(\", false);\n const subCtx : RangerAppWriterContext = ctx.fork();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.value_type != 0 ) {\n await this.WalkNode(n, subCtx, wr);\n } else {\n await this.WalkNode(n, subCtx, wr);\n }\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const fnNode : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"func (\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.vref, false);\n wr.out(\" \", false);\n if ( arg.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(arg, lambdaCtx, wr);\n }\n };\n wr.out(\") \", false);\n if ( fnNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(fnNode, lambdaCtx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n };\n async CustomOperator (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = node.getFirst();\n const cmd : string = fc.vref;\n if ( cmd == \"return\" ) {\n if ( (node.children.length) > 1 ) {\n const rValue : CodeNode = node.getSecond();\n if ( ctx.isCatchBlock() || ctx.isTryBlock() ) {\n wr.out(\"__ex_returned = true\", true);\n wr.out(\"__exReturn = \", false);\n ctx.setInExpr();\n await this.WalkNode(rValue, ctx, wr);\n ctx.unsetInExpr();\n wr.newline();\n if ( ctx.isTryBlock() ) {\n wr.out(\"return __ex_returned, __exReturn\", true);\n }\n } else {\n wr.out(\"return \", false);\n ctx.setInExpr();\n await this.WalkNode(rValue, ctx, wr);\n ctx.unsetInExpr();\n wr.newline();\n }\n } else {\n if ( ctx.isCatchBlock() ) {\n wr.out(\"__ex_returned = true\", true);\n }\n if ( ctx.isTryBlock() ) {\n wr.out(\"return false, nil\", true);\n }\n wr.out(\"return\", true);\n }\n return;\n }\n if ( cmd == \"try\" ) {\n const tryBlock : CodeNode = node.getSecond();\n const catchBlock : CodeNode = node.getThird();\n const currFn : RangerAppFunctionDesc = ctx.getCurrentMethod();\n const ex2 : RangerAppParamDesc = operatorsOf_21.createc95var_48(ctx, \"did_return\", \"boolean\");\n const ex3 : RangerAppParamDesc = operatorsOf_21.createc95var_49(ctx, \"ex_result\", (currFn.nameNode));\n if ( currFn.nameNode.type_name == \"void\" ) {\n wr.out(ex2.compiledName + \", _ := (func () ( __ex_returned bool, __exReturn interface{}) {\", true);\n } else {\n wr.out(((ex2.compiledName + \", \") + ex3.compiledName) + \" := (func () ( __ex_returned bool, __exReturn interface{}) {\", true);\n }\n wr.indent(1);\n wr.out(\"defer func() {\", true);\n wr.indent(1);\n wr.out(\"if r:= recover(); r != nil {\", true);\n wr.indent(1);\n const subCtx : RangerAppWriterContext = ctx.fork();\n subCtx.is_catch_block = true;\n await this.WalkNode(catchBlock, subCtx, wr);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}()\", true);\n const subCtx_1 : RangerAppWriterContext = ctx.fork();\n subCtx_1.is_try_block = true;\n await this.WalkNode(tryBlock, subCtx_1, wr);\n wr.out(\"return __ex_returned, __exReturn\", true);\n wr.indent(-1);\n wr.out(\"})()\", true);\n if ( currFn.nameNode.type_name != \"void\" ) {\n wr.out((\"if \" + ex2.compiledName) + \" {\", true);\n wr.indent(1);\n wr.out(\"return \" + ex3.compiledName, false);\n wr.out(\".(\", false);\n await this.writeTypeDef(currFn.nameNode, ctx, wr);\n wr.out(\")\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n } else {\n wr.out((\"if \" + ex2.compiledName) + \" {\", true);\n wr.indent(1);\n wr.out(\"return \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n return;\n }\n if ( ((cmd == \"=\") || (cmd == \"push\")) || (cmd == \"removeLast\") ) {\n const left : CodeNode = node.getSecond();\n let right : CodeNode = left;\n if ( (cmd == \"=\") || (cmd == \"push\") ) {\n right = node.getThird();\n }\n wr.newline();\n let b_was_static : boolean = false;\n if ( left.hasParamDesc ) {\n const a_len : number = (left.ns.length) - 1;\n /** unused: const last_part : string = left.ns[a_len] **/ \n let next_is_gs : boolean = false;\n let last_was_setter : boolean = false;\n let needs_par : boolean = false;\n for ( let i = 0; i < left.ns.length; i++) {\n var part = left.ns[i];\n if ( next_is_gs ) {\n if ( i == a_len ) {\n wr.out(\".Set_\", false);\n last_was_setter = true;\n } else {\n wr.out(\".Get_\", false);\n needs_par = true;\n next_is_gs = false;\n last_was_setter = false;\n }\n }\n if ( (last_was_setter == false) && (needs_par == false) ) {\n if ( i > 0 ) {\n if ( (i == 1) && b_was_static ) {\n wr.out(\"_static_\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n }\n if ( i == 0 ) {\n if ( part == \"this\" ) {\n wr.out(this.thisName, false);\n continue;\n }\n if ( ctx.hasClass(part) ) {\n b_was_static = true;\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n if ( ((part != \"this\") && ((typeof(cc) !== \"undefined\" && cc != null ) )) && (false == ctx.isInStatic()) ) {\n const currC : RangerAppClassDesc = cc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n const lvDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( ((typeof(up) !== \"undefined\" && up != null ) ) && lvDef.is_class_variable ) {\n /** unused: const p3 : RangerAppParamDesc = up **/ \n wr.out(this.thisName + \".\", false);\n }\n }\n }\n let partDef : RangerAppParamDesc = ctx.getVariableDef(part);\n if ( (left.nsp.length) > i ) {\n partDef = left.nsp[i];\n }\n if ( (typeof(partDef.nameNode) !== \"undefined\" && partDef.nameNode != null ) ) {\n if ( ctx.isDefinedClass(partDef.nameNode.type_name) ) {\n const c : RangerAppClassDesc = ctx.findClass(partDef.nameNode.type_name);\n if ( c.doesInherit() ) {\n next_is_gs = true;\n }\n }\n }\n if ( (left.nsp.length) > 0 ) {\n const p : RangerAppParamDesc = left.nsp[i];\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( left.hasParamDesc ) {\n wr.out(left.paramDesc.compiledName, false);\n } else {\n wr.out(this.adjustType(part), false);\n }\n }\n if ( needs_par ) {\n wr.out(\"()\", false);\n needs_par = false;\n }\n if ( (left.nsp.length) >= (i + 1) ) {\n const pp : RangerAppParamDesc = left.nsp[i];\n if ( pp.nameNode.hasFlag(\"optional\") ) {\n if ( (left.nsp.length) > (i + 1) ) {\n wr.out(\".value.(\", false);\n await this.writeTypeDef(pp.nameNode, ctx, wr);\n wr.out(\")\", false);\n } else {\n wr.out(\".value\", false);\n if ( right.hasFlag(\"optional\") == false ) {\n wr.out(\" /* right is not optional, should set the has_value -> true */\", false);\n }\n }\n }\n }\n };\n if ( cmd == \"removeLast\" ) {\n if ( last_was_setter ) {\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(left, ctx, wr);\n wr.out(\"[:len(\", false);\n await this.WalkNode(left, ctx, wr);\n wr.out(\")-1]\", false);\n ctx.unsetInExpr();\n wr.out(\"); \", true);\n } else {\n wr.out(\" = \", false);\n ctx.setInExpr();\n await this.WalkNode(left, ctx, wr);\n wr.out(\"[:len(\", false);\n await this.WalkNode(left, ctx, wr);\n wr.out(\")-1]\", false);\n ctx.unsetInExpr();\n wr.out(\"; \", true);\n }\n return;\n }\n if ( cmd == \"push\" ) {\n if ( last_was_setter ) {\n wr.out(\"(\", false);\n ctx.setInExpr();\n wr.out(\"append(\", false);\n await this.WalkNode(left, ctx, wr);\n wr.out(\",\", false);\n await this.WalkNode(right, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\")); \", true);\n } else {\n wr.out(\" = \", false);\n wr.out(\"append(\", false);\n ctx.setInExpr();\n await this.WalkNode(left, ctx, wr);\n wr.out(\",\", false);\n await this.WalkNode(right, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"); \", true);\n }\n return;\n }\n if ( last_was_setter ) {\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(right, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"); \", true);\n } else {\n wr.out(\" = \", false);\n ctx.setInExpr();\n await this.WalkNode(right, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"; \", true);\n }\n return;\n }\n await this.WriteSetterVRef(left, ctx, wr);\n wr.out(\" = \", false);\n ctx.setInExpr();\n await this.WalkNode(right, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"; /* custom */\", true);\n }\n };\n async writeInterface (cl : RangerAppClassDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out((\"type \" + cl.name) + \" interface { \", true);\n wr.indent(1);\n for ( let i = 0; i < cl.defined_variants.length; i++) {\n var fnVar = cl.defined_variants[i];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_1 = 0; i_1 < mVs.variants.length; i_1++) {\n var variant = mVs.variants[i_1];\n wr.out(variant.compiledName + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") \", false);\n if ( variant.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n }\n wr.out(\"\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n const wr : CodeWriter = orig_wr;\n if ( this.did_write_nullable == false ) {\n wr.raw(\"\\r\\ntype GoNullable struct { \\r\\n value interface{}\\r\\n has_value bool\\r\\n}\\r\\n\", true);\n wr.createTag(\"utilities\");\n this.did_write_nullable = true;\n }\n let declaredVariable : {[key:string]:boolean} = {};\n let declaredFunction : {[key:string]:boolean} = {};\n let declaredIfFunction : {[key:string]:boolean} = {};\n wr.out((\"type \" + cl.name) + \" struct { \", true);\n wr.indent(1);\n for ( let i = 0; i < cl.variables.length; i++) {\n var pvar = cl.variables[i];\n await this.writeStructField(pvar.node, ctx, wr);\n declaredVariable[pvar.name] = true;\n };\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_1 = 0; i_1 < cl.extends_classes.length; i_1++) {\n var pName = cl.extends_classes[i_1];\n const pC : RangerAppClassDesc = ctx.findClass(pName);\n wr.out(\"// inherited from parent class \" + pName, true);\n for ( let i_2 = 0; i_2 < pC.variables.length; i_2++) {\n var pvar_1 = pC.variables[i_2];\n if ( ( typeof(declaredVariable[pvar_1.name] ) != \"undefined\" && declaredVariable.hasOwnProperty(pvar_1.name) ) ) {\n continue;\n }\n await this.writeStructField(pvar_1.node, ctx, wr);\n };\n };\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n if ( cl.doesInherit() || ((cl.extends_classes.length) > 0) ) {\n wr.out((\"type IFACE_\" + cl.name) + \" interface { \", true);\n wr.indent(1);\n for ( let i_3 = 0; i_3 < cl.variables.length; i_3++) {\n var p = cl.variables[i_3];\n wr.out(\"Get_\", false);\n wr.out(p.compiledName + \"() \", false);\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p.nameNode, ctx, wr);\n }\n wr.out(\"\", true);\n wr.out(\"Set_\", false);\n wr.out(p.compiledName + \"(value \", false);\n if ( p.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p.nameNode, ctx, wr);\n }\n wr.out(\") \", true);\n };\n for ( let i_4 = 0; i_4 < cl.defined_variants.length; i_4++) {\n var fnVar = cl.defined_variants[i_4];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_5 = 0; i_5 < mVs.variants.length; i_5++) {\n var variant = mVs.variants[i_5];\n if ( ( typeof(declaredIfFunction[variant.name] ) != \"undefined\" && declaredIfFunction.hasOwnProperty(variant.name) ) ) {\n continue;\n }\n declaredIfFunction[variant.name] = true;\n wr.out(variant.compiledName + \"(\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") \", false);\n if ( variant.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n }\n wr.out(\"\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n this.thisName = \"me\";\n wr.out(\"\", true);\n wr.out((\"func CreateNew_\" + cl.name) + \"(\", false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n for ( let i_6 = 0; i_6 < constr.params.length; i_6++) {\n var arg = constr.params[i_6];\n if ( i_6 > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(arg.name + \" \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n }\n wr.out((\") *\" + cl.name) + \" {\", true);\n wr.indent(1);\n wr.newline();\n wr.out((\"me := new(\" + cl.name) + \")\", true);\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_7 = 0; i_7 < cl.extends_classes.length; i_7++) {\n var pName_1 = cl.extends_classes[i_7];\n const pC_1 : RangerAppClassDesc = ctx.findClass(pName_1);\n for ( let i_8 = 0; i_8 < pC_1.variables.length; i_8++) {\n var pvar_2 = pC_1.variables[i_8];\n const nn : CodeNode = pvar_2.node;\n if ( (nn.children.length) > 2 ) {\n const valueNode : CodeNode = nn.children[2];\n wr.out((\"me.\" + pvar_2.compiledName) + \" = \", false);\n await this.WalkNode(valueNode, ctx, wr);\n wr.out(\"\", true);\n } else {\n const pNameN : CodeNode = pvar_2.nameNode;\n if ( pNameN.value_type == 6 ) {\n wr.out((\"me.\" + pvar_2.compiledName) + \" = \", false);\n wr.out(\"make(\", false);\n await this.writeTypeDef(pvar_2.nameNode, ctx, wr);\n wr.out(\",0)\", true);\n }\n if ( pNameN.value_type == 7 ) {\n wr.out((\"me.\" + pvar_2.compiledName) + \" = \", false);\n wr.out(\"make(\", false);\n await this.writeTypeDef(pvar_2.nameNode, ctx, wr);\n wr.out(\")\", true);\n }\n }\n };\n for ( let i_9 = 0; i_9 < pC_1.variables.length; i_9++) {\n var pvar_3 = pC_1.variables[i_9];\n if ( pvar_3.nameNode.hasFlag(\"optional\") ) {\n wr.out((\"me.\" + pvar_3.compiledName) + \" = new(GoNullable);\", true);\n }\n };\n if ( pC_1.has_constructor ) {\n const constr_1 : RangerAppFunctionDesc = pC_1.constructor_fn;\n const subCtx : RangerAppWriterContext = constr_1.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_1.fnBody, subCtx, wr);\n }\n };\n }\n for ( let i_10 = 0; i_10 < cl.variables.length; i_10++) {\n var pvar_4 = cl.variables[i_10];\n const nn_1 : CodeNode = pvar_4.node;\n if ( (nn_1.children.length) > 2 ) {\n const valueNode_1 : CodeNode = nn_1.children[2];\n wr.out((\"me.\" + pvar_4.compiledName) + \" = \", false);\n await this.WalkNode(valueNode_1, ctx, wr);\n wr.out(\"\", true);\n } else {\n const pNameN_1 : CodeNode = pvar_4.nameNode;\n if ( pNameN_1.value_type == 6 ) {\n wr.out((\"me.\" + pvar_4.compiledName) + \" = \", false);\n wr.out(\"make(\", false);\n await this.writeTypeDef(pvar_4.nameNode, ctx, wr);\n wr.out(\",0)\", true);\n }\n if ( pNameN_1.value_type == 7 ) {\n wr.out((\"me.\" + pvar_4.compiledName) + \" = \", false);\n wr.out(\"make(\", false);\n await this.writeTypeDef(pvar_4.nameNode, ctx, wr);\n wr.out(\")\", true);\n }\n }\n };\n for ( let i_11 = 0; i_11 < cl.variables.length; i_11++) {\n var pvar_5 = cl.variables[i_11];\n if ( pvar_5.nameNode.hasFlag(\"optional\") ) {\n wr.out((\"me.\" + pvar_5.compiledName) + \" = new(GoNullable);\", true);\n }\n };\n if ( cl.has_constructor ) {\n const constr_2 : RangerAppFunctionDesc = cl.constructor_fn;\n const subCtx_1 : RangerAppWriterContext = constr_2.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(constr_2.fnBody, subCtx_1, wr);\n }\n wr.out(\"return me;\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n this.thisName = \"this\";\n for ( let i_12 = 0; i_12 < cl.static_methods.length; i_12++) {\n var variant_1 = cl.static_methods[i_12];\n if ( variant_1.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n wr.newline();\n wr.out((((\"func \" + cl.name) + \"_static_\") + variant_1.compiledName) + \"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") \", false);\n const vnn : CodeNode = variant_1.nameNode;\n if ( vnn.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(vnn, ctx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n subCtx_2.in_static_method = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n subCtx_2.in_static_method = false;\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n let declaredFn : {[key:string]:boolean} = {};\n for ( let i_13 = 0; i_13 < cl.defined_variants.length; i_13++) {\n var fnVar_1 = cl.defined_variants[i_13];\n const mVs_1 : RangerAppMethodVariants = cl.method_variants[fnVar_1];\n for ( let i_14 = 0; i_14 < mVs_1.variants.length; i_14++) {\n var variant_2 = mVs_1.variants[i_14];\n if ( ( typeof(declaredFunction[variant_2.name] ) != \"undefined\" && declaredFunction.hasOwnProperty(variant_2.name) ) ) {\n continue;\n }\n declaredFunction[variant_2.name] = true;\n declaredFn[variant_2.name] = true;\n wr.out((((\"func (this *\" + cl.name) + \") \") + variant_2.compiledName) + \" (\", false);\n await this.writeArgsDef(variant_2, ctx, wr);\n wr.out(\") \", false);\n if ( variant_2.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(variant_2.nameNode, ctx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_3 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_3, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_15 = 0; i_15 < cl.extends_classes.length; i_15++) {\n var pName_2 = cl.extends_classes[i_15];\n const pC_2 : RangerAppClassDesc = ctx.findClass(pName_2);\n wr.out(\"// inherited methods from parent class \" + pName_2, true);\n for ( let i_16 = 0; i_16 < pC_2.defined_variants.length; i_16++) {\n var fnVar_2 = pC_2.defined_variants[i_16];\n const mVs_2 : RangerAppMethodVariants = pC_2.method_variants[fnVar_2];\n for ( let i_17 = 0; i_17 < mVs_2.variants.length; i_17++) {\n var variant_3 = mVs_2.variants[i_17];\n if ( ( typeof(declaredFn[variant_3.name] ) != \"undefined\" && declaredFn.hasOwnProperty(variant_3.name) ) ) {\n continue;\n }\n wr.out((((\"func (this *\" + cl.name) + \") \") + variant_3.compiledName) + \" (\", false);\n await this.writeArgsDef(variant_3, ctx, wr);\n wr.out(\") \", false);\n if ( variant_3.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(variant_3.nameNode, ctx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_4 : RangerAppWriterContext = variant_3.fnCtx;\n subCtx_4.is_function = true;\n await this.WalkNode(variant_3.fnBody, subCtx_4, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n };\n }\n let declaredGetter : {[key:string]:boolean} = {};\n if ( cl.doesInherit() || ((cl.extends_classes.length) > 0) ) {\n for ( let i_18 = 0; i_18 < cl.variables.length; i_18++) {\n var p_1 = cl.variables[i_18];\n declaredGetter[p_1.name] = true;\n wr.newline();\n wr.out(\"// getter for variable \" + p_1.name, true);\n wr.out((\"func (this *\" + cl.name) + \") \", false);\n wr.out(\"Get_\", false);\n wr.out(p_1.compiledName + \"() \", false);\n if ( p_1.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p_1.nameNode, ctx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.out(\"return this.\" + p_1.compiledName, true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.newline();\n wr.out(\"// setter for variable \" + p_1.name, true);\n wr.out((\"func (this *\" + cl.name) + \") \", false);\n wr.out(\"Set_\", false);\n wr.out(p_1.compiledName + \"( value \", false);\n if ( p_1.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p_1.nameNode, ctx, wr);\n }\n wr.out(\") \", false);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.out((\"this.\" + p_1.compiledName) + \" = value \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_19 = 0; i_19 < cl.extends_classes.length; i_19++) {\n var pName_3 = cl.extends_classes[i_19];\n const pC_3 : RangerAppClassDesc = ctx.findClass(pName_3);\n wr.out(\"// inherited getters and setters from the parent class \" + pName_3, true);\n for ( let i_20 = 0; i_20 < pC_3.variables.length; i_20++) {\n var p_2 = pC_3.variables[i_20];\n if ( ( typeof(declaredGetter[p_2.name] ) != \"undefined\" && declaredGetter.hasOwnProperty(p_2.name) ) ) {\n continue;\n }\n wr.newline();\n wr.out(\"// getter for variable \" + p_2.name, true);\n wr.out((\"func (this *\" + cl.name) + \") \", false);\n wr.out(\"Get_\", false);\n wr.out(p_2.compiledName + \"() \", false);\n if ( p_2.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p_2.nameNode, ctx, wr);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.out(\"return this.\" + p_2.compiledName, true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.newline();\n wr.out(\"// getter for variable \" + p_2.name, true);\n wr.out((\"func (this *\" + cl.name) + \") \", false);\n wr.out(\"Set_\", false);\n wr.out(p_2.compiledName + \"( value \", false);\n if ( p_2.nameNode.hasFlag(\"optional\") ) {\n wr.out(\"*GoNullable\", false);\n } else {\n await this.writeTypeDef(p_2.nameNode, ctx, wr);\n }\n wr.out(\") \", false);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.out((\"this.\" + p_2.compiledName) + \" = value \", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n }\n }\n for ( let i_21 = 0; i_21 < cl.static_methods.length; i_21++) {\n var variant_4 = cl.static_methods[i_21];\n if ( variant_4.nameNode.hasFlag(\"main\") && (variant_4.nameNode.code.filename == ctx.getRootFile()) ) {\n wr.out(\"func main() {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_5 : RangerAppWriterContext = variant_4.fnCtx;\n subCtx_5.is_function = true;\n subCtx_5.in_static_method = true;\n await this.WalkNode(variant_4.fnBody, subCtx_5, wr);\n subCtx_5.in_static_method = false;\n if ( ctx.hasCompilerFlag(\"forever\") ) {\n wr.out(\"for {}\", true);\n }\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n };\n };\n}\nexport class RangerPHPClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n thisName: string;\n wrote_header: boolean;\n constructor() {\n super()\n this.thisName = \"this\";\n this.wrote_header = false;\n }\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n EncodeString (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : string {\n /** unused: const encoded_str : string = \"\" **/ \n const str_length : number = node.string_value.length;\n let encoded_str_2 : string = \"\";\n let ii : number = 0;\n while (ii < str_length) {\n const cc : number = node.string_value.charCodeAt(ii );\n switch (cc ) { \n case 8 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(98));\n break;\n case 9 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(116));\n break;\n case 10 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(110));\n break;\n case 12 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(102));\n break;\n case 13 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(114));\n break;\n case 34 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(34));\n break;\n case 36 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(34));\n break;\n case 92 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(92));\n break;\n default: \n encoded_str_2 = encoded_str_2 + (String.fromCharCode(cc));\n break;\n };\n ii = ii + 1;\n };\n return encoded_str_2;\n };\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n switch (node.value_type ) { \n case 2 : \n wr.out(\"\" + node.double_value, false);\n break;\n case 4 : \n const s : string = this.EncodeString(node, ctx, wr);\n wr.out((\"\\\"\" + s) + \"\\\"\", false);\n break;\n case 3 : \n wr.out(\"\" + node.int_value, false);\n break;\n case 5 : \n if ( node.boolean_value ) {\n wr.out(\"true\", false);\n } else {\n wr.out(\"false\", false);\n }\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.vref == \"this\" ) {\n wr.out(\"$this\", false);\n return;\n }\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( part == \"this\" ) {\n wr.out(\"$this\", false);\n continue;\n }\n }\n if ( i > 0 ) {\n wr.out(\"->\", false);\n }\n if ( i == 0 ) {\n wr.out(\"$\", false);\n if ( p.nameNode.hasFlag(\"optional\") ) {\n }\n const part_1 : string = node.ns[0];\n if ( (part_1 != \"this\") && ctx.isMemberVariable(part_1) ) {\n const uc : RangerAppClassDesc = ctx.getCurrentClass();\n const currC : RangerAppClassDesc = uc;\n const up : RangerAppParamDesc = currC.findVariable(part_1);\n if ( (typeof(up) !== \"undefined\" && up != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(this.thisName + \"->\", false);\n }\n }\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n wr.out(\"$\", false);\n const part_2 : string = node.ns[0];\n if ( (part_2 != \"this\") && ctx.isMemberVariable(part_2) ) {\n const uc_1 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_1 : RangerAppClassDesc = uc_1;\n const up_1 : RangerAppParamDesc = currC_1.findVariable(part_2);\n if ( (typeof(up_1) !== \"undefined\" && up_1 != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(this.thisName + \"->\", false);\n }\n }\n }\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n let b_was_static : boolean = false;\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_3 = node.ns[i_1];\n if ( i_1 > 0 ) {\n if ( (i_1 == 1) && b_was_static ) {\n wr.out(\"::\", false);\n } else {\n wr.out(\"->\", false);\n }\n }\n if ( i_1 == 0 ) {\n if ( ctx.hasClass(part_3) ) {\n b_was_static = true;\n } else {\n wr.out(\"$\", false);\n }\n if ( (part_3 != \"this\") && ctx.hasCurrentClass() ) {\n const uc_2 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_2 : RangerAppClassDesc = uc_2;\n const up_2 : RangerAppParamDesc = currC_2.findVariable(part_3);\n if ( (typeof(up_2) !== \"undefined\" && up_2 != null ) ) {\n if ( false == ctx.isInStatic() ) {\n wr.out(this.thisName + \"->\", false);\n }\n }\n }\n }\n wr.out(this.adjustType(part_3), false);\n };\n };\n async writeVarInitDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n wr.out(\"$this->\" + p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = array()\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = array()\", false);\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/\", true);\n return;\n }\n wr.out(\";\", false);\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n wr.newline();\n }\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n wr.out(\"$\" + p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = array()\", false);\n } else {\n if ( nn.value_type == 7 ) {\n wr.out(\" = array()\", false);\n } else {\n wr.out(\" = null\", false);\n }\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ ;\", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async disabledVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n wr.out(\"$this->\" + p.compiledName, false);\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\" = array()\", false);\n }\n if ( nn.value_type == 7 ) {\n wr.out(\" = array()\", false);\n }\n }\n wr.out(\";\", false);\n wr.newline();\n }\n };\n async CreateMethodCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getFirst();\n const args : CodeNode = node.getSecond();\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n };\n async CreatePropertyGet (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const obj : CodeNode = node.getSecond();\n const prop : CodeNode = node.getThird();\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\")\", false);\n wr.out(\"->\", false);\n wr.out(prop.vref, false);\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const givenArgs : CodeNode = node.children[1];\n let args : CodeNode ;\n if ( (typeof(fName.expression_value) !== \"undefined\" && fName.expression_value != null ) ) {\n args = fName.expression_value.children[1];\n } else {\n const param : RangerAppParamDesc = ctx.getVariableDef(fName.vref);\n args = param.nameNode.expression_value.children[1];\n }\n ctx.setInExpr();\n wr.out(\"call_user_func(\", false);\n await this.WalkNode(fName, ctx, wr);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i >= 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.value_type != 0 ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n ctx.unsetInExpr();\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\");\", true);\n } else {\n wr.out(\")\", false);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n /** unused: const fnNode : CodeNode = node.children[0] **/ \n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"(function (\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, lambdaCtx, wr);\n };\n wr.out(\") \", false);\n let captCnt : number = 0;\n for ( let i_1 = 0; i_1 < lambdaCtx.captured_variables.length; i_1++) {\n var cname = lambdaCtx.captured_variables[i_1];\n const pp : RangerAppParamDesc = lambdaCtx.getVariableDef(cname);\n if ( pp.set_cnt >= 0 ) {\n if ( captCnt == 0 ) {\n wr.out(\"use (\", false);\n } else {\n wr.out(\", \", false);\n }\n wr.out(\" &$\" + cname, false);\n captCnt = captCnt + 1;\n } else {\n if ( pp.varType == 4 ) {\n ctx.addError(node, \"Mutating captured function parameter is not allowed\");\n }\n }\n };\n if ( captCnt > 0 ) {\n wr.out(\")\", false);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_2 = 0; i_2 < body.children.length; i_2++) {\n var item = body.children[i_2];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n for ( let i_3 = 0; i_3 < lambdaCtx.captured_variables.length; i_3++) {\n var cname_1 = lambdaCtx.captured_variables[i_3];\n wr.out(\"// captured var \" + cname_1, true);\n };\n wr.indent(-1);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\"});\", true);\n } else {\n wr.out(\"})\", false);\n }\n };\n writeClassVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n wr.out((\"var $\" + p.compiledName) + \";\", true);\n }\n };\n writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out((\" $\" + arg.compiledName) + \" \", false);\n };\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"array(\", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\")\", false);\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n const givenArgs : CodeNode = node.getSecond();\n ctx.setInExpr();\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(\" new \", false);\n wr.out(node.clDesc.name, false);\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\")\", false);\n }\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n wr.out(\"\", false);\n ctx.setInExpr();\n if ( ctx.hasCompilerFlag(\"php54\") ) {\n wr.out((\"call_user_method(\\\"\" + method.vref) + \"\\\",\", false);\n await this.WalkNode(obj, ctx, wr);\n } else {\n wr.out(\"(\", false);\n await this.WalkNode(obj, ctx, wr);\n wr.out(\")\", false);\n ctx.unsetInExpr();\n wr.out(\"->\", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n }\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n let declaredFunction : {[key:string]:boolean} = {};\n const wr : CodeWriter = orig_wr;\n /** unused: const importFork : CodeWriter = wr.fork() **/ \n for ( let i = 0; i < cl.capturedLocals.length; i++) {\n var dd = cl.capturedLocals[i];\n if ( dd.is_class_variable == false ) {\n if ( dd.set_cnt > 0 ) {\n }\n }\n };\n if ( this.wrote_header == false ) {\n wr.out(\"<?php \", true);\n wr.out(\"\", true);\n this.wrote_header = true;\n }\n wr.out(\"class \" + cl.name, false);\n let parentClass : RangerAppClassDesc ;\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\" extends \", false);\n for ( let i_1 = 0; i_1 < cl.extends_classes.length; i_1++) {\n var pName = cl.extends_classes[i_1];\n wr.out(pName, false);\n parentClass = ctx.findClass(pName);\n };\n }\n wr.out(\" { \", true);\n wr.indent(1);\n for ( let i_2 = 0; i_2 < cl.variables.length; i_2++) {\n var pvar = cl.variables[i_2];\n this.writeClassVarDef(pvar.node, ctx, wr);\n };\n wr.out(\"function __construct(\", false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n this.writeArgsDef(constr, ctx, wr);\n }\n wr.out(\" ) {\", true);\n wr.indent(1);\n if ( typeof(parentClass) != \"undefined\" ) {\n wr.out(\"parent::__construct();\", true);\n }\n for ( let i_3 = 0; i_3 < cl.variables.length; i_3++) {\n var pvar_1 = cl.variables[i_3];\n await this.writeVarInitDef(pvar_1.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr_1 : RangerAppFunctionDesc = cl.constructor_fn;\n wr.newline();\n const subCtx : RangerAppWriterContext = constr_1.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_1.fnBody, subCtx, wr);\n }\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_4 = 0; i_4 < cl.static_methods.length; i_4++) {\n var variant = cl.static_methods[i_4];\n if ( variant.nameNode.hasFlag(\"main\") ) {\n continue;\n } else {\n wr.out(\"public static function \", false);\n wr.out(variant.compiledName + \"(\", false);\n this.writeArgsDef(variant, ctx, wr);\n wr.out(\") {\", true);\n }\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n subCtx_1.in_static_method = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n subCtx_1.in_static_method = false;\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_5 = 0; i_5 < cl.defined_variants.length; i_5++) {\n var fnVar = cl.defined_variants[i_5];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_6 = 0; i_6 < mVs.variants.length; i_6++) {\n var variant_1 = mVs.variants[i_6];\n if ( ( typeof(declaredFunction[variant_1.name] ) != \"undefined\" && declaredFunction.hasOwnProperty(variant_1.name) ) ) {\n continue;\n }\n declaredFunction[variant_1.name] = true;\n wr.out((\"function \" + variant_1.compiledName) + \"(\", false);\n this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n subCtx_2.in_static_method = false;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n for ( let i_7 = 0; i_7 < cl.static_methods.length; i_7++) {\n var variant_2 = cl.static_methods[i_7];\n ctx.disableCurrentClass();\n ctx.in_static_method = true;\n if ( variant_2.nameNode.hasFlag(\"main\") && (variant_2.nameNode.code.filename == ctx.getRootFile()) ) {\n wr.out(\"/* static PHP main routine */\", false);\n wr.newline();\n await this.WalkNode(variant_2.fnBody, ctx, wr);\n wr.newline();\n }\n ctx.in_static_method = false;\n };\n };\n}\nexport class WebPageWriter {\n classWriter: RangerGenericClassWriter;\n constructor() {\n }\n async CreatePage (parser : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const sc : CodeNode = node.getSecond();\n const wr : CodeWriter = orig_wr;\n wr.out(\"// created by WebPageWriter \", true);\n wr.out(sc.vref + \" () {\", true);\n wr.indent(1);\n wr.out((\"var view = document.getElementById('\" + sc.vref) + \"');\", true);\n const fnBody : CodeNode = node.children[2];\n const subCtx : RangerAppWriterContext = ctx.fork();\n subCtx.is_function = true;\n subCtx.in_static_method = true;\n subCtx.setInMethod();\n await parser.WalkNodeChildren(fnBody, subCtx, wr);\n subCtx.unsetInMethod();\n subCtx.in_static_method = false;\n subCtx.function_level_context = true;\n await this.classWriter.WalkNode(fnBody, subCtx, wr);\n wr.out(\"return view;\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class RangerJavaScriptClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n thisName: string;\n wrote_header: boolean;\n target_flow: boolean;\n target_typescript: boolean;\n constructor() {\n super()\n this.thisName = \"this\"; /** note: unused */\n this.wrote_header = false;\n this.target_flow = false;\n this.target_typescript = false;\n }\n lineEnding () : string {\n return \";\";\n };\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n async CreateTsUnions (parser : RangerFlowParser, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n if ( item.is_union ) {\n wr.out((\"type union_\" + index) + \" = \", false);\n wr.indent(1);\n let cnt : number = 0;\n await operatorsOf.forEach_12(item.is_union_of, ((item : string, index : number):void => { \n if ( ctx.isDefinedClass(item) ) {\n const cl : RangerAppClassDesc = ctx.findClass(item);\n if ( false == cl.isNormalClass() ) {\n return;\n }\n if ( cnt > 0 ) {\n wr.out(\"|\", false);\n }\n wr.out(this.getObjectTypeString(item, ctx), false);\n cnt = cnt + 1;\n } else {\n if ( cnt > 0 ) {\n wr.out(\"|\", false);\n }\n wr.out(this.getObjectTypeString(item, ctx), false);\n cnt = cnt + 1;\n }\n }));\n wr.indent(-1);\n wr.out(\";\", true);\n }\n }));\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n const fc : CodeNode = node.getFirst();\n if ( ((typeof(node.fnDesc) !== \"undefined\" && node.fnDesc != null ) ) && ((typeof(node.fnDesc.nameNode) !== \"undefined\" && node.fnDesc.nameNode != null ) ) ) {\n const fnName : CodeNode = node.fnDesc.nameNode;\n if ( fnName.hasFlag(\"async\") ) {\n wr.out(\"await \", false);\n }\n }\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n const givenArgs : CodeNode = node.getSecond();\n ctx.setInExpr();\n let cnt : number = 0;\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( arg.nameNode.hasFlag(\"keyword\") ) {\n continue;\n }\n if ( cnt > 0 ) {\n wr.out(\", \", false);\n }\n cnt = cnt + 1;\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( (node.methodChain.length) > 0 ) {\n for ( let i_1 = 0; i_1 < node.methodChain.length; i_1++) {\n var cc = node.methodChain[i_1];\n wr.out(\".\" + cc.methodName, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i_2 = 0; i_2 < cc.args.children.length; i_2++) {\n var arg_1 = cc.args.children[i_2];\n if ( i_2 > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg_1, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n };\n }\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n if ( ((typeof(node.fnDesc) !== \"undefined\" && node.fnDesc != null ) ) && ((typeof(node.fnDesc.nameNode) !== \"undefined\" && node.fnDesc.nameNode != null ) ) ) {\n const fnName : CodeNode = node.fnDesc.nameNode;\n if ( fnName.hasFlag(\"async\") ) {\n wr.out(\"await \", false);\n }\n }\n wr.out(\"(\", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\").\", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n }\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n switch (type_string ) { \n case \"int\" : \n return \"number\";\n case \"string\" : \n return \"string\";\n case \"charbuffer\" : \n return \"string\";\n case \"char\" : \n return \"number\";\n case \"boolean\" : \n return \"boolean\";\n case \"double\" : \n return \"number\";\n };\n if ( ctx.isDefinedClass(type_string) ) {\n const cc : RangerAppClassDesc = ctx.findClass(type_string);\n if ( cc.is_system ) {\n /** unused: const current_sys : RangerAppWriterContext = ctx **/ \n const sName : string = (cc.systemNames[\"es6\"]);\n return sName;\n }\n if ( cc.is_union ) {\n return \"union_\" + cc.name;\n }\n }\n return type_string;\n };\n getTypeString (type_string : string) : string {\n switch (type_string ) { \n case \"int\" : \n return \"number\";\n case \"string\" : \n return \"string\";\n case \"charbuffer\" : \n return \"string\";\n case \"char\" : \n return \"number\";\n case \"boolean\" : \n return \"boolean\";\n case \"double\" : \n return \"number\";\n };\n return type_string;\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n switch (v_type ) { \n case 17 : \n const rv : CodeNode = node.expression_value.children[0];\n const sec : CodeNode = node.expression_value.children[1];\n /** unused: const fc : CodeNode = sec.getFirst() **/ \n wr.out(\"(\", false);\n for ( let i = 0; i < sec.children.length; i++) {\n var arg = sec.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\") => \", false);\n if ( this.target_typescript ) {\n if ( node.hasFlag(\"async\") ) {\n wr.out(\"Promise<\", false);\n }\n }\n await this.writeTypeDef(rv, ctx, wr);\n if ( this.target_typescript ) {\n if ( node.hasFlag(\"async\") ) {\n wr.out(\">\", false);\n }\n }\n break;\n case 13 : \n wr.out(\"number\", false);\n break;\n case 3 : \n wr.out(\"number\", false);\n break;\n case 14 : \n wr.out(\"number\", false);\n break;\n case 15 : \n wr.out(\"string\", false);\n break;\n case 2 : \n wr.out(\"number\", false);\n break;\n case 4 : \n wr.out(\"string\", false);\n break;\n case 5 : \n wr.out(\"boolean\", false);\n break;\n case 7 : \n wr.out((((\"{[key:\" + this.getObjectTypeString(k_name, ctx)) + \"]:\") + this.getObjectTypeString(a_name, ctx)) + \"}\", false);\n break;\n case 6 : \n wr.out((\"Array<\" + this.getObjectTypeString(a_name, ctx)) + \">\", false);\n break;\n default: \n if ( node.type_name == \"void\" ) {\n wr.out(\"void\", false);\n return;\n }\n if ( ctx.isDefinedClass(t_name) ) {\n const cc : RangerAppClassDesc = ctx.findClass(t_name);\n if ( cc.is_system ) {\n /** unused: const current_sys : RangerAppWriterContext = ctx **/ \n const sName : string = (cc.systemNames[\"es6\"]);\n wr.out(sName, false);\n return;\n }\n if ( cc.is_union ) {\n wr.out(\"union_\", false);\n wr.out(t_name, false);\n return;\n }\n const cc_1 : RangerAppClassDesc = ctx.findClass(t_name);\n wr.out(cc_1.name, false);\n return;\n }\n wr.out(this.getTypeString(t_name), false);\n break;\n };\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.eval_type == 13 ) {\n if ( (node.ns.length) > 1 ) {\n const rootObjName : string = node.ns[0];\n const enumName : string = node.ns[1];\n const e : RangerAppEnum = ctx.getEnum(rootObjName);\n if ( (typeof(e) !== \"undefined\" && e != null ) ) {\n wr.out(\"\" + ((e.values[enumName])), false);\n return;\n }\n }\n }\n if ( (node.nsp.length) > 0 ) {\n for ( let i = 0; i < node.nsp.length; i++) {\n var p = node.nsp[i];\n if ( i > 0 ) {\n wr.out(\".\", false);\n }\n if ( i == 0 ) {\n const part : string = node.ns[0];\n if ( (part != \"this\") && ctx.isMemberVariable(part) ) {\n const uc : RangerAppClassDesc = ctx.getCurrentClass();\n const currC : RangerAppClassDesc = uc;\n const up : RangerAppParamDesc = currC.findVariable(part);\n if ( (typeof(up) !== \"undefined\" && up != null ) ) {\n wr.out(\"this.\", false);\n }\n }\n if ( part == \"this\" ) {\n wr.out(\"this\", false);\n continue;\n }\n }\n if ( (p.compiledName.length) > 0 ) {\n wr.out(this.adjustType(p.compiledName), false);\n } else {\n if ( (p.name.length) > 0 ) {\n wr.out(this.adjustType(p.name), false);\n } else {\n wr.out(this.adjustType((node.ns[i])), false);\n }\n }\n };\n return;\n }\n if ( node.hasParamDesc ) {\n const part_1 : string = node.ns[0];\n if ( (part_1 != \"this\") && ctx.isMemberVariable(part_1) ) {\n const uc_1 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_1 : RangerAppClassDesc = uc_1;\n const up_1 : RangerAppParamDesc = currC_1.findVariable(part_1);\n if ( (typeof(up_1) !== \"undefined\" && up_1 != null ) ) {\n wr.out(\"this.\", false);\n }\n }\n const p_1 : RangerAppParamDesc = node.paramDesc;\n wr.out(p_1.compiledName, false);\n return;\n }\n let b_was_static : boolean = false;\n for ( let i_1 = 0; i_1 < node.ns.length; i_1++) {\n var part_2 = node.ns[i_1];\n if ( i_1 > 0 ) {\n if ( (i_1 == 1) && b_was_static ) {\n wr.out(\".\", false);\n } else {\n wr.out(\".\", false);\n }\n }\n if ( i_1 == 0 ) {\n if ( ctx.hasClass(part_2) ) {\n b_was_static = true;\n } else {\n wr.out(\"\", false);\n }\n if ( (part_2 != \"this\") && ctx.isMemberVariable(part_2) ) {\n const uc_2 : RangerAppClassDesc = ctx.getCurrentClass();\n const currC_2 : RangerAppClassDesc = uc_2;\n const up_2 : RangerAppParamDesc = currC_2.findVariable(part_2);\n if ( (typeof(up_2) !== \"undefined\" && up_2 != null ) ) {\n wr.out(\"this.\", false);\n }\n }\n }\n wr.out(this.adjustType(part_2), false);\n };\n };\n async writeVarInitDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n const remove_unused : boolean = ctx.hasCompilerFlag(\"remove-unused-class-vars\");\n if ( (p.ref_cnt == 0) && (remove_unused || (p.is_class_variable == false)) ) {\n return;\n }\n let was_set : boolean = false;\n if ( (node.children.length) > 2 ) {\n wr.out((\"this.\" + p.compiledName) + \" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n was_set = true;\n } else {\n if ( nn.value_type == 6 ) {\n wr.out(\"this.\" + p.compiledName, false);\n if ( nn.hasFlag(\"immutable\") ) {\n wr.out(\" = require('immutable').List()\", false);\n } else {\n wr.out(\" = []\", false);\n }\n was_set = true;\n }\n if ( nn.value_type == 7 ) {\n wr.out(\"this.\" + p.compiledName, false);\n if ( nn.hasFlag(\"immutable\") ) {\n wr.out(\" = require('immutable').Map()\", false);\n } else {\n wr.out(\" = {}\", false);\n }\n was_set = true;\n }\n }\n if ( was_set ) {\n wr.out(\";\", false);\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n wr.newline();\n }\n }\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n /** unused: const opt_js : boolean = ctx.hasCompilerFlag(\"optimize-js\") **/ \n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\"/** unused: \", false);\n }\n let has_value : boolean = false;\n if ( (node.children.length) > 2 ) {\n has_value = true;\n }\n if ( ((p.set_cnt > 0) || p.is_class_variable) || (has_value == false) ) {\n wr.out(\"let \" + p.compiledName, false);\n } else {\n wr.out(\"const \" + p.compiledName, false);\n }\n if ( this.target_typescript ) {\n wr.out(\" : \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\" \", false);\n }\n if ( (node.children.length) > 2 ) {\n wr.out(\" = \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n } else {\n if ( nn.value_type == 6 ) {\n if ( nn.hasFlag(\"immutable\") ) {\n wr.out(\" = require('immutable').List()\", false);\n } else {\n wr.out(\" = []\", false);\n }\n }\n if ( nn.value_type == 7 ) {\n if ( nn.hasFlag(\"immutable\") ) {\n wr.out(\" = require('immutable').Map()\", false);\n } else {\n wr.out(\" = {}\", false);\n }\n }\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == true) ) {\n wr.out(\" /** note: unused */\", false);\n }\n if ( (p.ref_cnt == 0) && (p.is_class_variable == false) ) {\n wr.out(\" **/ \", true);\n } else {\n wr.out(\";\", false);\n wr.newline();\n }\n }\n };\n async writeClassVarDef (p : RangerAppParamDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( this.target_typescript ) {\n wr.out(p.compiledName, false);\n wr.out(\": \", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n wr.out(\";\", true);\n }\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n ctx.setInExpr();\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( ((typeof(currM.nameNode) !== \"undefined\" && currM.nameNode != null ) ) && currM.nameNode.hasFlag(\"async\") ) {\n wr.out(\"await \", false);\n }\n await this.WalkNode(fName, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n wr.out(\")\", false);\n ctx.unsetInExpr();\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\";\", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const fName : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n if ( ctx.expressionLevel() > 0 ) {\n wr.out(\"(\", false);\n }\n if ( fName.hasFlag(\"async\") ) {\n wr.out(\"async \", false);\n }\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\", \", false);\n }\n if ( arg.flow_done == false ) {\n await this.compiler.parser.WalkNode(arg, lambdaCtx, wr);\n }\n await this.WalkNode(arg, lambdaCtx, wr);\n if ( this.target_typescript ) {\n wr.out(\" : \", false);\n await this.writeTypeDef(arg, ctx, wr);\n }\n };\n wr.out(\")\", false);\n if ( this.target_typescript ) {\n wr.out(\":\", false);\n if ( fName.hasFlag(\"async\") ) {\n wr.out(\" Promise<\", false);\n }\n await this.writeTypeDef(fName, ctx, wr);\n if ( fName.hasFlag(\"async\") ) {\n wr.out(\">\", false);\n }\n }\n wr.out(\" => { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, lambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", false);\n if ( ctx.expressionLevel() > 0 ) {\n wr.out(\")\", false);\n } else {\n wr.out(\"\", true);\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let cnt : number = 0;\n const pms : Array<RangerAppParamDesc> = operatorsOf.filter_50(fnDesc.params, ((item : RangerAppParamDesc, index : number):boolean => { \n if ( item.nameNode.hasFlag(\"keyword\") ) {\n return false;\n }\n return true;\n }));\n for ( let i = 0; i < pms.length; i++) {\n var arg = pms[i];\n if ( cnt > 0 ) {\n wr.out(\", \", false);\n }\n cnt = cnt + 1;\n wr.out(arg.compiledName, false);\n if ( this.target_typescript ) {\n wr.out(\" : \", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n }\n };\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n let is_react_native : boolean = false;\n let is_rn_default : boolean = false;\n this.target_typescript = ctx.hasCompilerFlag(\"typescript\");\n if ( ctx.hasCompilerFlag(\"dead4main\") || ctx.hasCompilerSetting(\"dceclass\") ) {\n if ( cl.is_used_by_main == false ) {\n return;\n }\n }\n if ( cl.is_interface ) {\n orig_wr.out(\"// interface : \" + cl.name, true);\n return;\n }\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n if ( cl.nameNode.hasFlag(\"ReactNative\") ) {\n is_react_native = true;\n this.compFlags[\"ReactNative\"] = true;\n }\n if ( cl.nameNode.hasFlag(\"default\") ) {\n is_rn_default = true;\n }\n const wr : CodeWriter = orig_wr;\n /** unused: const importFork : CodeWriter = wr.fork() **/ \n if ( this.wrote_header == false ) {\n this.wrote_header = true;\n if ( ctx.hasCompilerFlag(\"nodecli\") ) {\n wr.out(\"#!/usr/bin/env node\", true);\n }\n if ( ctx.hasCompilerFlag(\"nodemodule\") && (this.target_typescript == false) ) {\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, ((item : RangerAppClassDesc, index : string):void => { \n if ( ctx.hasCompilerFlag(\"dead4main\") || ctx.hasCompilerSetting(\"dceclass\") ) {\n if ( item.is_used_by_main == false ) {\n return;\n }\n }\n if ( item.isNormalClass() ) {\n const theEnd : CodeWriter = wr.getTag(\"file_end\");\n theEnd.out((((\"module.exports.\" + item.name) + \" = \") + item.name) + \";\", true);\n }\n }));\n }\n this.target_flow = ctx.hasCompilerFlag(\"flow\");\n if ( this.target_typescript ) {\n await this.CreateTsUnions(this.compiler.parser, ctx, wr);\n }\n if ( ctx.hasCompilerFlag(\"npm\") ) {\n await this.writeNpmPackage(node, ctx, wr);\n }\n }\n let b_extd : boolean = false;\n let do_export : boolean = false;\n if ( is_react_native || this.target_typescript ) {\n do_export = true;\n if ( cl.is_system || cl.is_operator_class ) {\n do_export = false;\n }\n }\n if ( do_export ) {\n wr.out(\"export \", false);\n if ( is_rn_default ) {\n wr.out(\" default \", false);\n }\n }\n wr.out((\"class \" + cl.name) + \" \", false);\n if ( is_react_native ) {\n wr.out(\" extends Component \", false);\n } else {\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n if ( i == 0 ) {\n wr.out(\" extends \", false);\n }\n wr.out(pName, false);\n b_extd = true;\n };\n }\n wr.out(\" {\", true);\n wr.indent(1);\n for ( let i_1 = 0; i_1 < cl.variables.length; i_1++) {\n var pvar = cl.variables[i_1];\n await this.writeClassVarDef(pvar, ctx, wr);\n };\n if ( is_react_native == false ) {\n wr.out(\"constructor(\", false);\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n await this.writeArgsDef(constr, ctx, wr);\n }\n wr.out(\") {\", true);\n wr.indent(1);\n if ( b_extd ) {\n wr.out(\"super()\", true);\n }\n for ( let i_2 = 0; i_2 < cl.variables.length; i_2++) {\n var pvar_1 = cl.variables[i_2];\n await this.writeVarInitDef(pvar_1.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr_1 : RangerAppFunctionDesc = cl.constructor_fn;\n wr.newline();\n const subCtx : RangerAppWriterContext = constr_1.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr_1.fnBody, subCtx, wr);\n }\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_3 = 0; i_3 < cl.defined_variants.length; i_3++) {\n var fnVar = cl.defined_variants[i_3];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_4 = 0; i_4 < mVs.variants.length; i_4++) {\n var variant = mVs.variants[i_4];\n if ( variant.nameNode.hasFlag(\"async\") ) {\n wr.out(\"async \", false);\n }\n wr.out((\"\" + variant.compiledName) + \" (\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\")\", false);\n if ( this.target_typescript ) {\n wr.out(\" : \", false);\n if ( variant.nameNode.hasFlag(\"async\") ) {\n wr.out(\" Promise<\", false);\n }\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n if ( variant.nameNode.hasFlag(\"async\") ) {\n wr.out(\">\", false);\n }\n wr.out(\" \", false);\n }\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await operatorsOf_13.forEach_20(subCtx_1.localVariables, ((item : RangerAppParamDesc, index : string):void => { \n if ( item.is_register ) {\n wr.out(\"// register \" + item.name, true);\n }\n }));\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"};\", true);\n };\n };\n if ( this.target_typescript ) {\n for ( let i_5 = 0; i_5 < cl.static_methods.length; i_5++) {\n var variant_1 = cl.static_methods[i_5];\n if ( variant_1.nameNode.hasFlag(\"main\") ) {\n continue;\n }\n wr.out(\"// typescript static \", true);\n wr.out(\"static \", false);\n if ( variant_1.nameNode.hasFlag(\"async\") ) {\n wr.out(\"async \", false);\n }\n wr.out((\"\" + variant_1.compiledName) + \" (\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\")\", false);\n wr.out(\" : \", false);\n if ( variant_1.nameNode.hasFlag(\"async\") ) {\n wr.out(\" Promise<\", false);\n }\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n if ( variant_1.nameNode.hasFlag(\"async\") ) {\n wr.out(\"> \", false);\n }\n wr.out(\" \", false);\n wr.out(\" {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"};\", true);\n };\n }\n wr.indent(-1);\n wr.out(\"}\", true);\n if ( this.target_typescript == false ) {\n for ( let i_6 = 0; i_6 < cl.static_methods.length; i_6++) {\n var variant_2 = cl.static_methods[i_6];\n if ( variant_2.nameNode.hasFlag(\"main\") ) {\n continue;\n } else {\n let asyncKeyword : string = \"\";\n if ( variant_2.nameNode.hasFlag(\"async\") ) {\n asyncKeyword = \"async \";\n }\n wr.out(((((cl.name + \".\") + variant_2.compiledName) + \" = \") + asyncKeyword) + \"function(\", false);\n await this.writeArgsDef(variant_2, ctx, wr);\n wr.out(\") {\", true);\n }\n wr.indent(1);\n wr.newline();\n const subCtx_3 : RangerAppWriterContext = variant_2.fnCtx;\n subCtx_3.is_function = true;\n await this.WalkNode(variant_2.fnBody, subCtx_3, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"};\", true);\n };\n }\n if ( ctx.hasCompilerFlag(\"nodemodule\") == false ) {\n for ( let i_7 = 0; i_7 < cl.static_methods.length; i_7++) {\n var variant_3 = cl.static_methods[i_7];\n ctx.disableCurrentClass();\n if ( variant_3.nameNode.hasFlag(\"main\") && (variant_3.nameNode.code.filename == ctx.getRootFile()) ) {\n let asyncKeyword_1 : string = \"\";\n if ( variant_3.nameNode.hasFlag(\"async\") ) {\n asyncKeyword_1 = \"async \";\n }\n const theEnd_1 : CodeWriter = wr.getTag(\"file_end\");\n theEnd_1.out(\"/* static JavaSript main routine at the end of the JS file */\", false);\n theEnd_1.newline();\n theEnd_1.out(asyncKeyword_1 + \"function __js_main() {\", true);\n theEnd_1.indent(1);\n await this.WalkNode(variant_3.fnBody, ctx, theEnd_1);\n theEnd_1.newline();\n theEnd_1.indent(-1);\n theEnd_1.out(\"}\", true);\n theEnd_1.out(\"__js_main();\", true);\n }\n };\n }\n };\n BuildAST (code_string : string) : CodeNode {\n const lang_code : SourceCode = new SourceCode(code_string);\n lang_code.filename = \"services\";\n const lang_parser : RangerLispParser = new RangerLispParser(lang_code);\n lang_parser.parse(false);\n const node : CodeNode = lang_parser.rootNode;\n return node;\n };\n async CreateServices (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n if ( ctx.hasCompilerFlag(\"client\") ) {\n ctx.addError(CodeNode.blockNode(), \"client service writing for target JavaScript is not implemented\");\n return;\n }\n const root : RangerAppWriterContext = ctx.getRoot();\n const serviceBlock : CodeNode = CodeNode.blockNode();\n const wr : CodeWriter = new CodeWriter();\n wr.out(\"class test_webservice {\", true);\n wr.indent(1);\n wr.out(\"fn run () {\", true);\n wr.indent(1);\n wr.out(\"def www (create_web_server)\", true);\n wr.out(\"prepare_server www\", true);\n await operatorsOf_13.forEach_25(root.appServices, ((item : CodeNode, index : string):void => { \n try {\n const paramList : CodeNode = item.getThird();\n const param : CodeNode = paramList.getFirst();\n wr.out((\"www.post_route(\\\"/\" + item.appGUID) + \"\\\" {\", true);\n wr.indent(1);\n wr.out((\"def obj (\" + param.type_name) + \".fromDictionary( (from_string (get_post_data req ))) )\", true);\n wr.out(\"def service (new appServices)\", true);\n wr.out((\"def data (service.\" + item.appGUID) + \"(obj))\", true);\n wr.out(\"res.send((to_string (data.toDictionary())))\", true);\n wr.indent(-1);\n wr.out(\"})\", true);\n const nn : CodeNode = item.getSecond();\n nn.vref = item.appGUID;\n const params : CodeNode = item.getThird();\n let block_index : number = 3;\n const ch_len : number = (item.children.length) - 1;\n for ( let i = 0; i < item.children.length; i++) {\n var cb = item.children[i];\n if ( i > 3 ) {\n if ( (cb.vref.length) > 0 ) {\n if ( ctx.hasCompilerFlag(cb.vref) && (i < ch_len) ) {\n block_index = i + 1;\n }\n }\n }\n };\n const codeBlock : CodeNode = item.getChild(block_index);\n serviceBlock.children.push(CodeNode.op3(\"fn\", [nn, params, codeBlock]));\n } catch(e) {\n ctx.addError(item, \"Invalid service function\");\n }\n }));\n wr.indent(-1);\n wr.out(\"www.startServer( 1777, {\", true);\n wr.indent(1);\n wr.out(\"print \\\"Server started\\\"\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n wr.out(\"}\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n const codeNode : CodeNode = this.BuildAST(wr.getCode());\n const serviceClassDef : CodeNode = CodeNode.op3(\"class\", [CodeNode.vref1(\"appServices\"), serviceBlock]);\n /** unused: const subCtx : RangerAppWriterContext = root.fork() **/ \n const theEnd : CodeWriter = orig_wr.getTag(\"file_end\");\n await parser.WalkCollectMethods(serviceClassDef, root, theEnd);\n await parser.WalkCollectMethods(codeNode, root, theEnd);\n await parser.WalkNode(serviceClassDef, root, theEnd);\n await parser.WalkNode(codeNode, root, theEnd);\n theEnd.out(\"(new test_webservice).run();\", true);\n };\n async CreatePages (parser : RangerFlowParser, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const wr : CodeWriter = orig_wr.getFileWriter(\".\", \"pages.js\");\n wr.out(\"class theApplicationClass {\", true);\n wr.indent(1);\n await operatorsOf_13.forEach_25(ctx.appPages, (async (item : CodeNode, index : string): Promise<void> => { \n await this.CreatePage(parser, item, ctx, wr);\n }));\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n async CreatePage (parser : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const writer : WebPageWriter = new WebPageWriter();\n writer.classWriter = this;\n await writer.CreatePage(parser, node, ctx, orig_wr);\n };\n async writeNpmPackage (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const wr : CodeWriter = orig_wr.getFileWriter(\".\", \"package.json\");\n const opts : Array<string> = [\"name\", \"version\", \"description\", \"author\", \"license\"];\n wr.out(\"{\", true);\n wr.indent(1);\n await operatorsOf.forEach_12(opts, ((item : string, index : number):void => { \n if ( ctx.hasCompilerSetting(item) == false ) {\n ctx.addError(node, (\"NPM package requires option -\" + item) + \"=<value>\");\n } else {\n wr.out((((\"\\\"\" + item) + \"\\\" : \\\"\") + ctx.getCompilerSetting(item)) + \"\\\",\", true);\n }\n }));\n const target_file : string = ctx.getCompilerSetting(\"o\");\n if ( ctx.hasCompilerFlag(\"nodecli\") ) {\n wr.out((((\"\\\"bin\\\": {\\\"\" + ctx.getCompilerSetting(\"name\")) + \"\\\":\\\"\") + target_file) + \"\\\"},\", true);\n }\n wr.out(\"\\\"scripts\\\":{},\", true);\n wr.out((\"\\\"main\\\":\\\"\" + target_file) + \"\\\"\", true);\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n}\nexport class RangerRangerClassWriter extends RangerGenericClassWriter {\n compiler: LiveCompiler;\n constructor() {\n super()\n }\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"this\";\n }\n return tn;\n };\n getObjectTypeString (type_string : string, ctx : RangerAppWriterContext) : string {\n return type_string;\n };\n getTypeString (type_string : string) : string {\n return type_string;\n };\n async writeArrayLiteral (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"([] \", false);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\" \", false);\n }\n await this.WalkNode(item, ctx, wr);\n }));\n wr.out(\")\", false);\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let v_type : number = node.value_type;\n let t_name : string = node.type_name;\n let a_name : string = node.array_type;\n let k_name : string = node.key_type;\n if ( ((v_type == 10) || (v_type == 11)) || (v_type == 0) ) {\n v_type = node.typeNameAsType(ctx);\n }\n if ( node.eval_type != 0 ) {\n v_type = node.eval_type;\n if ( (node.eval_type_name.length) > 0 ) {\n t_name = node.eval_type_name;\n }\n if ( (node.eval_array_type.length) > 0 ) {\n a_name = node.eval_array_type;\n }\n if ( (node.eval_key_type.length) > 0 ) {\n k_name = node.eval_key_type;\n }\n }\n if ( v_type == 7 ) {\n wr.out((((\"[\" + k_name) + \":\") + a_name) + \"]\", false);\n return;\n }\n if ( v_type == 6 ) {\n wr.out((\"[\" + a_name) + \"]\", false);\n return;\n }\n wr.out(t_name, false);\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(node.vref, false);\n };\n WriteVRefWithOpt (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n wr.out(node.vref, false);\n const flags : Array<string> = [\"optional\", \"weak\", \"strong\", \"temp\", \"lives\", \"returns\", \"returnvalue\"];\n let some_set : boolean = false;\n for ( let i = 0; i < flags.length; i++) {\n var flag = flags[i];\n if ( node.hasFlag(flag) ) {\n if ( false == some_set ) {\n wr.out(\"@(\", false);\n some_set = true;\n } else {\n wr.out(\" \", false);\n }\n wr.out(flag, false);\n }\n };\n if ( some_set ) {\n wr.out(\")\", false);\n }\n };\n async writeVarDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasParamDesc ) {\n const nn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = nn.paramDesc;\n wr.out(\"def \", false);\n this.WriteVRefWithOpt(nn, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(p.nameNode, ctx, wr);\n if ( (node.children.length) > 2 ) {\n wr.out(\" \", false);\n ctx.setInExpr();\n const value : CodeNode = node.getThird();\n await this.WalkNode(value, ctx, wr);\n ctx.unsetInExpr();\n }\n wr.newline();\n }\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fName : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n await this.WriteVRef(fName, ctx, wr);\n wr.out(\"(\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n wr.out(\")\", false);\n if ( ctx.expressionLevel() == 0 ) {\n wr.out(\" \", true);\n }\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const lambdaCtx : RangerAppWriterContext = node.lambda_ctx;\n const nn : CodeNode = node.children[0];\n const args : CodeNode = node.children[1];\n const body : CodeNode = node.children[2];\n wr.out(\"(fn:\", false);\n await this.writeTypeDef(nn, ctx, wr);\n wr.out(\" (\", false);\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n this.WriteVRefWithOpt(arg, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(arg, ctx, wr);\n };\n wr.out(\")\", false);\n wr.out(\" { \", true);\n wr.indent(1);\n lambdaCtx.restartExpressionLevel();\n const newLambdaCtx : RangerAppWriterContext = lambdaCtx.fork();\n newLambdaCtx.targetLangName = \"ranger\";\n for ( let i_1 = 0; i_1 < body.children.length; i_1++) {\n var item = body.children[i_1];\n await this.WalkNode(item, newLambdaCtx, wr);\n };\n wr.newline();\n wr.indent(-1);\n wr.out(\"})\", true);\n };\n async writeFnCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasFnCall ) {\n if ( ctx.expressionLevel() > 0 ) {\n wr.out(\"(\", false);\n }\n const fc : CodeNode = node.getFirst();\n await this.WriteVRef(fc, ctx, wr);\n wr.out(\"(\", false);\n const givenArgs : CodeNode = node.getSecond();\n ctx.setInExpr();\n for ( let i = 0; i < node.fnDesc.params.length; i++) {\n var arg = node.fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n if ( (givenArgs.children.length) <= i ) {\n const defVal : CodeNode = arg.nameNode.getFlag(\"default\");\n if ( (typeof(defVal) !== \"undefined\" && defVal != null ) ) {\n const fc_1 : CodeNode = defVal.vref_annotation.getFirst();\n await this.WalkNode(fc_1, ctx, wr);\n } else {\n ctx.addError(node, \"Default argument was missing\");\n }\n continue;\n }\n const n : CodeNode = givenArgs.children[i];\n await this.WalkNode(n, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\")\", false);\n if ( ctx.expressionLevel() > 0 ) {\n wr.out(\")\", false);\n }\n if ( ctx.expressionLevel() == 0 ) {\n wr.newline();\n }\n }\n };\n async writeNewCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.hasNewOper ) {\n const cl : RangerAppClassDesc = node.clDesc;\n /** unused: const fc : CodeNode = node.getSecond() **/ \n wr.out(\"(new \" + node.clDesc.name, false);\n wr.out(\"(\", false);\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n const givenArgs : CodeNode = node.getThird();\n if ( (typeof(constr) !== \"undefined\" && constr != null ) ) {\n for ( let i = 0; i < constr.params.length; i++) {\n var arg = constr.params[i];\n const n : CodeNode = givenArgs.children[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n if ( true || ((typeof(arg.nameNode) !== \"undefined\" && arg.nameNode != null ) ) ) {\n await this.WalkNode(n, ctx, wr);\n }\n };\n }\n wr.out(\"))\", false);\n }\n };\n async writeArgsDef (fnDesc : RangerAppFunctionDesc, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n for ( let i = 0; i < fnDesc.params.length; i++) {\n var arg = fnDesc.params[i];\n if ( i > 0 ) {\n wr.out(\",\", false);\n }\n wr.out(\" \", false);\n this.WriteVRefWithOpt(arg.nameNode, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( node.has_call ) {\n const obj : CodeNode = node.getSecond();\n const method : CodeNode = node.getThird();\n const args : CodeNode = node.children[3];\n wr.out(\"(call \", false);\n ctx.setInExpr();\n await this.WalkNode(obj, ctx, wr);\n ctx.unsetInExpr();\n wr.out(\" \", false);\n wr.out(method.vref, false);\n wr.out(\"(\", false);\n ctx.setInExpr();\n for ( let i = 0; i < args.children.length; i++) {\n var arg = args.children[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n await this.WalkNode(arg, ctx, wr);\n };\n ctx.unsetInExpr();\n wr.out(\"))\", false);\n if ( ctx.expressionLevel() == 0 ) {\n }\n }\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n const cl : RangerAppClassDesc = node.clDesc;\n if ( typeof(cl) === \"undefined\" ) {\n return;\n }\n const wr : CodeWriter = orig_wr;\n const importFork : CodeWriter = wr.fork();\n wr.out(\"\", true);\n wr.out(\"class \" + cl.name, false);\n wr.out(\" { \", true);\n wr.indent(1);\n if ( (cl.extends_classes.length) > 0 ) {\n wr.out(\"Extends(\", false);\n for ( let i = 0; i < cl.extends_classes.length; i++) {\n var pName = cl.extends_classes[i];\n wr.out(pName, false);\n };\n wr.out(\")\", true);\n }\n wr.createTag(\"utilities\");\n for ( let i_1 = 0; i_1 < cl.variables.length; i_1++) {\n var pvar = cl.variables[i_1];\n await this.writeVarDef(pvar.node, ctx, wr);\n };\n if ( cl.has_constructor ) {\n const constr : RangerAppFunctionDesc = cl.constructor_fn;\n wr.out(\"\", true);\n wr.out(\"Constructor (\", false);\n await this.writeArgsDef(constr, ctx, wr);\n wr.out(\" ) {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx : RangerAppWriterContext = constr.fnCtx;\n subCtx.is_function = true;\n await this.WalkNode(constr.fnBody, subCtx, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n }\n for ( let i_2 = 0; i_2 < cl.static_methods.length; i_2++) {\n var variant = cl.static_methods[i_2];\n wr.out(\"\", true);\n if ( variant.nameNode.hasFlag(\"main\") ) {\n wr.out(\"sfn m@(main):void () {\", true);\n } else {\n wr.out(\"sfn \", false);\n this.WriteVRefWithOpt(variant.nameNode, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(variant.nameNode, ctx, wr);\n wr.out(\" (\", false);\n await this.writeArgsDef(variant, ctx, wr);\n wr.out(\") {\", true);\n }\n wr.indent(1);\n wr.newline();\n const subCtx_1 : RangerAppWriterContext = variant.fnCtx;\n subCtx_1.is_function = true;\n await this.WalkNode(variant.fnBody, subCtx_1, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n for ( let i_3 = 0; i_3 < cl.defined_variants.length; i_3++) {\n var fnVar = cl.defined_variants[i_3];\n const mVs : RangerAppMethodVariants = cl.method_variants[fnVar];\n for ( let i_4 = 0; i_4 < mVs.variants.length; i_4++) {\n var variant_1 = mVs.variants[i_4];\n wr.out(\"\", true);\n wr.out(\"fn \", false);\n this.WriteVRefWithOpt(variant_1.nameNode, ctx, wr);\n wr.out(\":\", false);\n await this.writeTypeDef(variant_1.nameNode, ctx, wr);\n wr.out(\" \", false);\n wr.out(\"(\", false);\n await this.writeArgsDef(variant_1, ctx, wr);\n wr.out(\") {\", true);\n wr.indent(1);\n wr.newline();\n const subCtx_2 : RangerAppWriterContext = variant_1.fnCtx;\n subCtx_2.is_function = true;\n await this.WalkNode(variant_1.fnBody, subCtx_2, wr);\n wr.newline();\n wr.indent(-1);\n wr.out(\"}\", true);\n };\n };\n wr.indent(-1);\n wr.out(\"}\", true);\n const import_list : Array<string> = wr.getImports();\n for ( let i_5 = 0; i_5 < import_list.length; i_5++) {\n var codeStr = import_list[i_5];\n importFork.out((\"Import \\\"\" + codeStr) + \"\\\"\", true);\n };\n };\n}\nexport class OpList {\n list: Array<CodeNode>;\n constructor() {\n this.list = [];\n }\n}\nexport class RangerActiveOperators {\n stdCommands: CodeNode;\n parent: RangerActiveOperators;\n opHash: {[key:string]:OpList};\n initialized: boolean;\n constructor() {\n this.opHash = {};\n this.initialized = false;\n }\n fork (fromOperator : CodeNode) : RangerActiveOperators {\n const newOps : RangerActiveOperators = new RangerActiveOperators();\n newOps.parent = this;\n for ( let i = 0; i < fromOperator.children.length; i++) {\n var lch = fromOperator.children[i];\n const fc : CodeNode = lch.getFirst();\n if ( fc.vref == \"operators\" ) {\n const n : CodeNode = lch.getSecond();\n newOps.stdCommands = n;\n }\n };\n return newOps;\n };\n async initializeOpCache () : Promise<void> {\n await operatorsOf_13.forEach_19(this.opHash, ((item : OpList, index : string):void => { \n item.list.length = 0;\n }));\n for ( let i = 0; i < this.stdCommands.children.length; i++) {\n var lch = this.stdCommands.children[i];\n const fc : CodeNode = lch.getFirst();\n if ( ( typeof(this.opHash[fc.vref] ) != \"undefined\" && this.opHash.hasOwnProperty(fc.vref) ) ) {\n const opList : OpList = (this.opHash[fc.vref]);\n opList.list.push(lch);\n } else {\n const newOpList : OpList = new OpList();\n this.opHash[fc.vref] = newOpList;\n newOpList.list.push(lch);\n }\n };\n this.initialized = true;\n };\n async getOperators (name : string) : Promise<Array<CodeNode>> {\n let results : Array<CodeNode> = [];\n if ( false == this.initialized ) {\n await this.initializeOpCache();\n }\n const items : OpList = this.opHash[name];\n if ( (typeof(items) !== \"undefined\" && items != null ) ) {\n return items.list;\n }\n return results;\n };\n initFrom (main : CodeNode) : void {\n let lang : CodeNode ;\n for ( let i = 0; i < main.children.length; i++) {\n var m = main.children[i];\n const fc : CodeNode = m.getFirst();\n if ( fc.vref == \"language\" ) {\n lang = m;\n }\n };\n if ( typeof(lang) === \"undefined\" ) {\n return;\n }\n /** unused: let cmds : CodeNode **/ \n const langNodes : CodeNode = lang.children[1];\n for ( let i_1 = 0; i_1 < langNodes.children.length; i_1++) {\n var lch = langNodes.children[i_1];\n const fc_1 : CodeNode = lch.getFirst();\n if ( fc_1.vref == \"commands\" ) {\n /** unused: const n : CodeNode = lch.getSecond() **/ \n this.stdCommands = lch.getSecond();\n }\n };\n return;\n };\n}\nexport class LiveCompiler {\n parser: RangerFlowParser;\n langWriter: RangerGenericClassWriter;\n hasCreatedPolyfill: {[key:string]:boolean};\n lastProcessedNode: CodeNode;\n repeat_index: number;\n installedFile: {[key:string]:boolean};\n constructor() {\n this.hasCreatedPolyfill = {}; /** note: unused */\n this.repeat_index = 0;\n this.installedFile = {};\n }\n initWriter (ctx : RangerAppWriterContext) : void {\n if ( (typeof(this.langWriter) !== \"undefined\" && this.langWriter != null ) ) {\n return;\n }\n const langName : string = operatorsOf_21.getTargetLang_22(ctx);\n console.log(\"Livecompiler starting with language => \" + langName);\n switch (langName ) { \n case \"go\" : \n this.langWriter = new RangerGolangClassWriter();\n break;\n case \"scala\" : \n this.langWriter = new RangerScalaClassWriter();\n break;\n case \"java7\" : \n this.langWriter = new RangerJava7ClassWriter();\n break;\n case \"swift3\" : \n this.langWriter = new RangerSwift3ClassWriter();\n break;\n case \"kotlin\" : \n this.langWriter = new RangerKotlinClassWriter();\n break;\n case \"php\" : \n this.langWriter = new RangerPHPClassWriter();\n break;\n case \"cpp\" : \n this.langWriter = new RangerCppClassWriter();\n break;\n case \"csharp\" : \n this.langWriter = new RangerCSharpClassWriter();\n break;\n case \"es6\" : \n this.langWriter = new RangerJavaScriptClassWriter();\n break;\n case \"ranger\" : \n this.langWriter = new RangerRangerClassWriter();\n break;\n };\n if ( (typeof(this.langWriter) !== \"undefined\" && this.langWriter != null ) ) {\n this.langWriter.compiler = this;\n } else {\n this.langWriter = new RangerGenericClassWriter();\n this.langWriter.compiler = this;\n }\n };\n EncodeString (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : string {\n /** unused: const encoded_str : string = \"\" **/ \n const str_length : number = node.string_value.length;\n let encoded_str_2 : string = \"\";\n let ii : number = 0;\n while (ii < str_length) {\n const ch : number = node.string_value.charCodeAt(ii );\n const cc : number = ch;\n switch (cc ) { \n case 8 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(98));\n break;\n case 9 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(116));\n break;\n case 10 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(110));\n break;\n case 12 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(102));\n break;\n case 13 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(114));\n break;\n case 34 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(34));\n break;\n case 92 : \n encoded_str_2 = (encoded_str_2 + (String.fromCharCode(92))) + (String.fromCharCode(92));\n break;\n default: \n encoded_str_2 = encoded_str_2 + (String.fromCharCode(ch));\n break;\n };\n ii = ii + 1;\n };\n return encoded_str_2;\n };\n WriteScalarValue (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n this.langWriter.WriteScalarValue(node, ctx, wr);\n };\n adjustType (tn : string) : string {\n if ( tn == \"this\" ) {\n return \"self\";\n }\n return tn;\n };\n async WriteVRef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.langWriter.WriteVRef(node, ctx, wr);\n };\n async writeTypeDef (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.langWriter.writeTypeDef(node, ctx, wr);\n };\n async CreateLambdaCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.langWriter.CreateLambdaCall(node, ctx, wr);\n };\n async CreateCallExpression (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.langWriter.CreateCallExpression(node, ctx, wr);\n };\n async CreateLambda (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await this.langWriter.CreateLambda(node, ctx, wr);\n };\n getTypeString (str : string, ctx : RangerAppWriterContext) : string {\n return \"\";\n };\n createPolyfill (code : string, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n const p_write : CodeWriter = wr.getTag(\"utilities\");\n if ( (( typeof(p_write.compiledTags[code] ) != \"undefined\" && p_write.compiledTags.hasOwnProperty(code) )) == false ) {\n p_write.raw(code, true);\n p_write.compiledTags[code] = true;\n }\n };\n async installFile (filename : string, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( ( typeof(this.installedFile[filename] ) != \"undefined\" && this.installedFile.hasOwnProperty(filename) ) ) {\n return;\n }\n const env : InputEnv = ctx.getEnv();\n this.installedFile[filename] = true;\n /** unused: const fName : string = (operatorsOf_8.installc95directory_51(env) + \"/\") + filename **/ \n if ( operatorsOf_8.filec95exists_9(env, (operatorsOf_8.installc95directory_51(env) + \"/\"), filename) ) {\n const fileData : string = await (new Promise<string>(resolve => { require('fs').readFile( (operatorsOf_8.installc95directory_51(env) + \"/\") + '/' + filename , 'utf8', (err,data)=>{ resolve(data) }) } ));\n if ( (typeof(fileData) !== \"undefined\" && fileData != null ) ) {\n const file_wr : CodeWriter = wr.getFileWriter(\".\", filename);\n file_wr.raw(fileData, false);\n } else {\n console.log(\"did not get contents of \" + filename);\n }\n } else {\n console.log((\"did not find installed file \" + operatorsOf_8.installc95directory_51(env)) + filename);\n }\n };\n async findOpCode (op : CodeNode, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fnName : CodeNode = op.children[1];\n const args : CodeNode = op.children[2];\n if ( (op.children.length) > 3 ) {\n const details : CodeNode = op.children[3];\n for ( let i = 0; i < details.children.length; i++) {\n var det = details.children[i];\n if ( (det.children.length) > 0 ) {\n const fc : CodeNode = det.children[0];\n if ( fc.vref == \"code\" ) {\n const match : RangerArgMatch = new RangerArgMatch();\n const all_matched : boolean = match.matchArguments(args, node, ctx, 1);\n if ( all_matched == false ) {\n return;\n }\n const origCode : CodeNode = det.children[1];\n const theCode : CodeNode = origCode.rebuildWithType(match, true);\n const appCtx : RangerAppWriterContext = ctx.getRoot();\n const stdFnName : string = appCtx.createSignature(fnName.vref, (fnName.vref + theCode.getCode()));\n const stdClass : RangerAppClassDesc = ctx.findClass(\"RangerStaticMethods\");\n const runCtx : RangerAppWriterContext = appCtx.fork();\n let b_failed : boolean = false;\n if ( false == (( typeof(stdClass.defined_static_methods[stdFnName] ) != \"undefined\" && stdClass.defined_static_methods.hasOwnProperty(stdFnName) )) ) {\n runCtx.setInMethod();\n const m : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n m.name = stdFnName;\n m.node = op;\n m.is_static = true;\n m.nameNode = fnName;\n m.fnBody = theCode;\n for ( let ii = 0; ii < args.children.length; ii++) {\n var arg = args.children[ii];\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n p.name = arg.vref;\n p.value_type = arg.value_type;\n p.node = arg;\n p.nameNode = arg;\n p.refType = 1;\n p.varType = 4;\n m.params.push(p);\n arg.hasParamDesc = true;\n arg.paramDesc = p;\n arg.eval_type = arg.value_type;\n arg.eval_type_name = arg.type_name;\n runCtx.defineVariable(p.name, p);\n };\n stdClass.addStaticMethod(m);\n const err_cnt : number = ctx.compilerErrors.length;\n const flowParser : RangerFlowParser = new RangerFlowParser();\n const TmpWr : CodeWriter = new CodeWriter();\n await flowParser.WalkNode(theCode, runCtx, TmpWr);\n runCtx.unsetInMethod();\n const err_delta : number = (ctx.compilerErrors.length) - err_cnt;\n if ( err_delta > 0 ) {\n b_failed = true;\n console.log(\"Had following compiler errors:\");\n for ( let i_1 = 0; i_1 < ctx.compilerErrors.length; i_1++) {\n var e = ctx.compilerErrors[i_1];\n if ( i_1 < err_cnt ) {\n continue;\n }\n const line_index : number = e.node.getLine();\n console.log((e.node.getFilename() + \" Line: \") + line_index);\n console.log(e.description);\n console.log(e.node.getLineString(line_index));\n };\n } else {\n console.log(\"no errors found\");\n }\n }\n if ( b_failed ) {\n wr.out(\"/* custom operator compilation failed */ \", false);\n } else {\n wr.out((\"RangerStaticMethods.\" + stdFnName) + \"(\", false);\n for ( let i_2 = 0; i_2 < node.children.length; i_2++) {\n var cc = node.children[i_2];\n if ( i_2 == 0 ) {\n continue;\n }\n if ( i_2 > 1 ) {\n wr.out(\", \", false);\n }\n await this.WalkNode(cc, ctx, wr);\n };\n wr.out(\")\", false);\n }\n return;\n }\n }\n };\n }\n };\n async findOpTemplate (op : CodeNode, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<CodeNode> {\n /** unused: const fnName : CodeNode = op.children[1] **/ \n /** unused: const root : RangerAppWriterContext = ctx.getRoot() **/ \n const langName : string = operatorsOf_21.getTargetLang_22(ctx);\n let rv : CodeNode ;\n const opDef : CodeNode = op;\n if ( (op.children.length) > 3 ) {\n const details : CodeNode = op.children[3];\n for ( let i = 0; i < details.children.length; i++) {\n var det = details.children[i];\n if ( (det.children.length) > 0 ) {\n const fc : CodeNode = det.children[0];\n if ( fc.vref == \"templates\" ) {\n const tplList : CodeNode = det.children[1];\n for ( let i_1 = 0; i_1 < tplList.children.length; i_1++) {\n var tpl = tplList.children[i_1];\n const tplName : CodeNode = tpl.getFirst();\n let tplImpl : CodeNode ;\n tplImpl = tpl.getSecond();\n const is_ts : boolean = ctx.hasCompilerFlag(\"typescript\");\n if ( is_ts && ((tplName.vref == \"typescript\") || (tplName.vref == \"ts\")) ) {\n rv = tplImpl;\n return rv;\n }\n if ( (tplName.vref != \"*\") && (tplName.vref != langName) ) {\n continue;\n }\n if ( tplName.hasFlag(\"mutable\") ) {\n if ( false == node.hasFlag(\"mutable\") ) {\n continue;\n }\n }\n rv = tplImpl;\n return rv;\n };\n if ( langName == \"ranger\" ) {\n const opNameNode : CodeNode = opDef.getFirst();\n const opArgs : CodeNode = opDef.getThird();\n const rangerTpl : CodeNode = CodeNode.fromList([CodeNode.newStr(((\"(\" + opNameNode.vref) + \" \"))]);\n let cnt : number = 1;\n await operatorsOf.forEach_15(opArgs.children, ((item : CodeNode, index : number):void => { \n if ( item.type_name == \"block\" ) {\n rangerTpl.children.push(CodeNode.fromList([CodeNode.vref1(\"block\"), CodeNode.newInt(cnt)]));\n } else {\n rangerTpl.children.push(CodeNode.fromList([CodeNode.vref1(\"e\"), CodeNode.newInt(cnt)]));\n }\n cnt = cnt + 1;\n }));\n rangerTpl.children.push(CodeNode.newStr(\")\"));\n rv = rangerTpl;\n }\n }\n }\n };\n }\n return rv;\n };\n async localCall (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<boolean> {\n if ( node.hasFnCall ) {\n if ( (typeof(this.langWriter) !== \"undefined\" && this.langWriter != null ) ) {\n await this.langWriter.writeFnCall(node, ctx, wr);\n return true;\n }\n }\n if ( node.hasNewOper ) {\n await this.langWriter.writeNewCall(node, ctx, wr);\n return true;\n }\n if ( node.hasVarDef ) {\n if ( node.disabled_node ) {\n await this.langWriter.disabledVarDef(node, ctx, wr);\n } else {\n await this.langWriter.writeVarDef(node, ctx, wr);\n }\n return true;\n }\n if ( node.hasClassDescription ) {\n await this.langWriter.writeClass(node, ctx, wr);\n return true;\n }\n return false;\n };\n async WalkNode (node : CodeNode, in_ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n this.initWriter(in_ctx);\n if ( node.disabled_node ) {\n return;\n }\n let ctx : RangerAppWriterContext = in_ctx;\n if ( (typeof(node.evalCtx) !== \"undefined\" && node.evalCtx != null ) ) {\n ctx = node.evalCtx;\n }\n if ( (node.register_name.length) > 0 ) {\n if ( ctx.expressionLevel() > 0 ) {\n if ( (node.reg_compiled_name.length) > 0 ) {\n wr.out(node.reg_compiled_name, false);\n } else {\n console.log(((\"Could not find compiled name for \" + node.register_name) + \" at \") + node.getCode());\n }\n }\n return;\n }\n let liveNodes : Array<CodeNode> = [];\n /** unused: const rootItem : CodeNode = node **/ \n if ( (node.register_expressions.length) > 0 ) {\n await operatorsOf.forEach_15(node.register_expressions, ((item : CodeNode, index : number):void => { \n liveNodes.push(item);\n }));\n }\n await operatorsOf.forEach_15(liveNodes, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.register_set == false ) {\n item.register_set = true;\n await this.WalkNode(item, ctx, wr);\n }\n }));\n liveNodes.length = 0;\n if ( node.value_type == 12 ) {\n return;\n }\n if ( node.isPrimitive() ) {\n this.WriteScalarValue(node, ctx, wr);\n return;\n }\n this.lastProcessedNode = node;\n if ( node.isFirstVref(\"property\") ) {\n await this.langWriter.CreatePropertyGet(node, ctx, wr);\n return;\n }\n if ( node.is_plugin ) {\n return;\n }\n if ( node.is_array_literal ) {\n await this.langWriter.writeArrayLiteral(node, ctx, wr);\n return;\n }\n if ( ((node.value_type == 11) || (node.value_type == 7)) || (node.value_type == 6) ) {\n await this.WriteVRef(node, ctx, wr);\n return;\n }\n if ( node.value_type == 18 ) {\n await this.WriteVRef(node, ctx, wr);\n return;\n }\n if ( (node.children.length) > 0 ) {\n if ( node.has_operator ) {\n const op : CodeNode = ctx.findOperator(node);\n /** unused: const fc : CodeNode = op.getFirst() **/ \n const tplImpl : CodeNode = await this.findOpTemplate(op, node, ctx, wr);\n let evalCtx : RangerAppWriterContext = ctx;\n if ( (typeof(node.evalCtx) !== \"undefined\" && node.evalCtx != null ) ) {\n evalCtx = node.evalCtx;\n }\n if ( (typeof(tplImpl) !== \"undefined\" && tplImpl != null ) ) {\n const opName : CodeNode = op.getSecond();\n if ( opName.hasFlag(\"returns\") ) {\n this.langWriter.release_local_vars(node, evalCtx, wr);\n }\n await this.walkCommandList(tplImpl, node, evalCtx, wr);\n } else {\n await this.findOpCode(op, node, evalCtx, wr);\n }\n return;\n }\n if ( node.is_direct_method_call ) {\n await this.langWriter.CreateMethodCall(node, ctx, wr);\n return;\n }\n if ( node.has_lambda ) {\n await this.CreateLambda(node, ctx, wr);\n return;\n }\n if ( node.has_lambda_call ) {\n await this.CreateLambdaCall(node, ctx, wr);\n return;\n }\n if ( node.is_part_of_chain ) {\n return;\n }\n if ( node.has_call ) {\n await this.CreateCallExpression(node, ctx, wr);\n return;\n }\n if ( (node.children.length) > 1 ) {\n if ( await this.localCall(node, ctx, wr) ) {\n return;\n }\n }\n /** unused: const fc_1 : CodeNode = node.getFirst() **/ \n }\n if ( node.expression ) {\n for ( let i = 0; i < node.children.length; i++) {\n var item = node.children[i];\n if ( (node.didReturnAtIndex >= 0) && (node.didReturnAtIndex < i) ) {\n break;\n }\n if ( node.is_block_node ) {\n let liveNodes_2 : Array<CodeNode> = [];\n /** unused: const rootItem_2 : CodeNode = item **/ \n if ( (item.register_expressions.length) > 0 ) {\n await operatorsOf.forEach_15(item.register_expressions, ((item : CodeNode, index : number):void => { \n liveNodes_2.push(item);\n }));\n }\n item.walkTreeUntil(((item : CodeNode, i : number):boolean => { \n if ( item.is_block_node ) {\n return false;\n }\n return true;\n }));\n await operatorsOf.forEach_15(liveNodes_2, (async (item : CodeNode, index : number): Promise<void> => { \n if ( item.register_set == false ) {\n item.register_set = true;\n await this.WalkNode(item, ctx, wr);\n }\n }));\n }\n await this.WalkNode(item, ctx, wr);\n };\n } else {\n if ( node.value_type == 17 ) {\n await this.WriteVRef(node, ctx, wr);\n }\n }\n };\n async walkCommandList (cmd : CodeNode, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( ctx.expressionLevel() == 0 ) {\n wr.newline();\n if ( operatorsOf_21.getTargetLang_22(ctx) == \"swift3\" ) {\n const opn : CodeNode = node.operator_node;\n const nn : CodeNode = opn.getSecond();\n if ( nn.type_name != \"void\" ) {\n wr.out(\"_ = \", false);\n }\n }\n }\n if ( ctx.expressionLevel() > 1 ) {\n wr.out(\"(\", false);\n }\n for ( let i = 0; i < cmd.children.length; i++) {\n var c = cmd.children[i];\n await this.walkCommand(c, node, ctx, wr);\n };\n if ( ctx.expressionLevel() > 1 ) {\n wr.out(\")\", false);\n }\n if ( ctx.expressionLevel() == 0 ) {\n wr.line_end(this.langWriter.lineEnding());\n wr.newline();\n }\n };\n async walkCommand (cmd : CodeNode, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( cmd.expression ) {\n if ( (cmd.children.length) < 2 ) {\n ctx.addError(node, \"Invalid command\");\n ctx.addError(cmd, \"Invalid command\");\n return;\n }\n const cmdE : CodeNode = cmd.getFirst();\n const cmdArg : CodeNode = cmd.getSecond();\n switch (cmdE.vref ) { \n case \"service_id\" : \n const idx : number = cmdArg.int_value;\n if ( (node.children.length) >= idx ) {\n const arg : CodeNode = node.children[idx];\n const root : RangerAppWriterContext = ctx.getRoot();\n const sNode : CodeNode = root.appServices[arg.vref];\n if ( (typeof(sNode) !== \"undefined\" && sNode != null ) ) {\n wr.out(sNode.appGUID, false);\n } else {\n ctx.addError(arg, \"Service not found\");\n }\n } else {\n ctx.addError(node, \"Service not found\");\n }\n break;\n case \"log\" : \n console.log(cmdArg.string_value);\n break;\n case \"str\" : \n const idx_1 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_1 ) {\n const arg_1 : CodeNode = node.children[idx_1];\n wr.out(arg_1.string_value, false);\n }\n break;\n case \"block\" : \n const idx_2 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_2 ) {\n const arg_2 : CodeNode = node.children[idx_2];\n const sCtx : RangerAppWriterContext = ctx.fork();\n sCtx.restartExpressionLevel();\n await this.WalkNode(arg_2, sCtx, wr);\n }\n break;\n case \"varname\" : \n if ( ctx.isVarDefined(cmdArg.vref) ) {\n const p : RangerAppParamDesc = ctx.getVariableDef(cmdArg.vref);\n wr.out(p.compiledName, false);\n }\n break;\n case \"defvar\" : \n const p_1 : RangerAppParamDesc = new RangerAppParamDesc();\n p_1.name = cmdArg.vref;\n p_1.value_type = cmdArg.value_type;\n p_1.node = cmdArg;\n p_1.nameNode = cmdArg;\n p_1.is_optional = false;\n ctx.defineVariable(p_1.name, p_1);\n break;\n case \"cc\" : \n const idx_3 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_3 ) {\n const arg_3 : CodeNode = node.children[idx_3];\n const cc : number = arg_3.string_value.charCodeAt(0);\n wr.out(\"\" + (cc), false);\n }\n break;\n case \"optional_option\" : \n const idx_4 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_4 ) {\n const arg_4 : CodeNode = node.children[idx_4];\n if ( ctx.hasCompilerSetting(arg_4.string_value) ) {\n const setting : string = ctx.getCompilerSetting(arg_4.string_value);\n wr.out(setting, false);\n }\n }\n break;\n case \"required_option\" : \n const idx_5 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_5 ) {\n const arg_5 : CodeNode = node.children[idx_5];\n if ( ctx.hasCompilerSetting(arg_5.string_value) ) {\n const setting_1 : string = ctx.getCompilerSetting(arg_5.string_value);\n wr.out(setting_1, false);\n } else {\n ctx.addError(node, (\"This source code requires compiler option -\" + arg_5.string_value) + \"=<> to be set \");\n }\n }\n break;\n case \"java_case\" : \n const idx_6 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_6 ) {\n const arg_6 : CodeNode = node.children[idx_6];\n await this.WalkNode(arg_6, ctx, wr);\n if ( arg_6.didReturnAtIndex < 0 ) {\n wr.newline();\n wr.out(\"break;\", true);\n }\n }\n break;\n case \"plugin\" : \n if ( (cmd.children.length) > 2 ) {\n const cmdData : CodeNode = cmd.getThird();\n const name : string = cmdArg.string_value;\n ctx.addPluginNode(name, cmdData);\n }\n break;\n case \"lambda\" : \n const idx_7 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_7 ) {\n const arg_7 : CodeNode = node.children[idx_7];\n ctx.setInExpr();\n await this.WalkNode(arg_7, ctx, wr);\n ctx.unsetInExpr();\n }\n break;\n case \"e\" : \n const idx_8 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_8 ) {\n const arg_8 : CodeNode = node.children[idx_8];\n ctx.setInExpr();\n await this.WalkNode(arg_8, ctx, wr);\n ctx.unsetInExpr();\n }\n break;\n case \"goset\" : \n const idx_9 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_9 ) {\n const arg_9 : CodeNode = node.children[idx_9];\n ctx.setInExpr();\n await this.langWriter.WriteSetterVRef(arg_9, ctx, wr);\n ctx.unsetInExpr();\n }\n break;\n case \"pe\" : \n const idx_10 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_10 ) {\n const arg_10 : CodeNode = node.children[idx_10];\n await this.WalkNode(arg_10, ctx, wr);\n }\n break;\n case \"ptr\" : \n const idx_11 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_11 ) {\n const arg_11 : CodeNode = node.children[idx_11];\n if ( arg_11.hasParamDesc ) {\n if ( arg_11.paramDesc.nameNode.isAPrimitiveType() == false ) {\n wr.out(\"*\", false);\n }\n } else {\n if ( arg_11.isAPrimitiveType() == false ) {\n wr.out(\"*\", false);\n }\n }\n }\n break;\n case \"ptrsrc\" : \n const idx_12 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_12 ) {\n const arg_12 : CodeNode = node.children[idx_12];\n if ( (arg_12.isPrimitiveType() == false) && (arg_12.isPrimitive() == false) ) {\n wr.out(\"&\", false);\n }\n }\n break;\n case \"nameof\" : \n const idx_13 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_13 ) {\n const arg_13 : CodeNode = node.children[idx_13];\n wr.out(arg_13.vref, false);\n }\n break;\n case \"list\" : \n const idx_14 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_14 ) {\n const arg_14 : CodeNode = node.children[idx_14];\n for ( let i = 0; i < arg_14.children.length; i++) {\n var ch = arg_14.children[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n ctx.setInExpr();\n await this.WalkNode(ch, ctx, wr);\n ctx.unsetInExpr();\n };\n }\n break;\n case \"repeat\" : \n const idx_15 : number = cmdArg.int_value;\n this.repeat_index = idx_15;\n if ( (node.children.length) >= idx_15 ) {\n const cmdToRepeat : CodeNode = cmd.getThird();\n let i_1 : number = idx_15;\n while (i_1 < (node.children.length)) {\n if ( i_1 >= idx_15 ) {\n for ( let ii = 0; ii < cmdToRepeat.children.length; ii++) {\n var cc_1 = cmdToRepeat.children[ii];\n if ( (cc_1.children.length) > 0 ) {\n const fc : CodeNode = cc_1.getFirst();\n if ( fc.vref == \"e\" ) {\n const dc : CodeNode = cc_1.getSecond();\n dc.int_value = i_1;\n }\n if ( fc.vref == \"block\" ) {\n const dc_1 : CodeNode = cc_1.getSecond();\n dc_1.int_value = i_1;\n }\n }\n };\n await this.walkCommandList(cmdToRepeat, node, ctx, wr);\n }\n i_1 = i_1 + 1;\n };\n }\n break;\n case \"repeat_from\" : \n const idx_16 : number = cmdArg.int_value;\n this.repeat_index = idx_16;\n if ( (node.children.length) >= idx_16 ) {\n const cmdToRepeat_1 : CodeNode = cmd.getThird();\n let i_2 : number = idx_16;\n while (i_2 < (node.children.length)) {\n if ( i_2 >= idx_16 ) {\n for ( let ii_1 = 0; ii_1 < cmdToRepeat_1.children.length; ii_1++) {\n var cc_2 = cmdToRepeat_1.children[ii_1];\n if ( (cc_2.children.length) > 0 ) {\n const fc_1 : CodeNode = cc_2.getFirst();\n if ( fc_1.vref == \"e\" ) {\n const dc_2 : CodeNode = cc_2.getSecond();\n dc_2.int_value = i_2;\n }\n if ( fc_1.vref == \"block\" ) {\n const dc_3 : CodeNode = cc_2.getSecond();\n dc_3.int_value = i_2;\n }\n }\n };\n await this.walkCommandList(cmdToRepeat_1, node, ctx, wr);\n if ( (i_2 + 1) < (node.children.length) ) {\n wr.out(\",\", false);\n }\n }\n i_2 = i_2 + 1;\n };\n }\n break;\n case \"comma\" : \n const idx_17 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_17 ) {\n const arg_15 : CodeNode = node.children[idx_17];\n for ( let i_3 = 0; i_3 < arg_15.children.length; i_3++) {\n var ch_1 = arg_15.children[i_3];\n if ( i_3 > 0 ) {\n wr.out(\",\", false);\n }\n ctx.setInExpr();\n await this.WalkNode(ch_1, ctx, wr);\n ctx.unsetInExpr();\n };\n }\n break;\n case \"swift_rc\" : \n const idx_18 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_18 ) {\n const arg_16 : CodeNode = node.children[idx_18];\n if ( arg_16.hasParamDesc ) {\n if ( arg_16.paramDesc.ref_cnt == 0 ) {\n wr.out(\"_\", false);\n } else {\n const p_2 : RangerAppParamDesc = ctx.getVariableDef(arg_16.vref);\n wr.out(p_2.compiledName, false);\n }\n } else {\n wr.out(arg_16.vref, false);\n }\n }\n break;\n case \"r_ktype\" : \n const idx_19 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_19 ) {\n const arg_17 : CodeNode = node.children[idx_19];\n if ( arg_17.hasParamDesc ) {\n const ss : string = this.langWriter.getObjectTypeString(arg_17.paramDesc.nameNode.key_type, ctx);\n wr.out(ss, false);\n } else {\n const ss_1 : string = this.langWriter.getObjectTypeString(arg_17.key_type, ctx);\n wr.out(ss_1, false);\n }\n }\n break;\n case \"r_atype\" : \n const idx_20 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_20 ) {\n const arg_18 : CodeNode = node.children[idx_20];\n if ( arg_18.hasParamDesc ) {\n const ss_2 : string = this.langWriter.getObjectTypeString(arg_18.paramDesc.nameNode.array_type, ctx);\n wr.out(ss_2, false);\n } else {\n const ss_3 : string = this.langWriter.getObjectTypeString(arg_18.array_type, ctx);\n wr.out(ss_3, false);\n }\n }\n break;\n case \"r_atype_fname\" : \n const idx_21 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_21 ) {\n const arg_19 : CodeNode = node.children[idx_21];\n if ( arg_19.hasParamDesc ) {\n let ss_4 : string = this.langWriter.getObjectTypeString(arg_19.paramDesc.nameNode.array_type, ctx);\n if ( ss_4 == \"interface{}\" ) {\n ss_4 = \"interface\";\n }\n wr.out(ss_4, false);\n } else {\n let ss_5 : string = this.langWriter.getObjectTypeString(arg_19.array_type, ctx);\n if ( ss_5 == \"interface{}\" ) {\n ss_5 = \"interface\";\n }\n wr.out(ss_5, false);\n }\n }\n break;\n case \"custom\" : \n await this.langWriter.CustomOperator(node, ctx, wr);\n break;\n case \"arraytype\" : \n const idx_22 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_22 ) {\n const arg_20 : CodeNode = node.children[idx_22];\n if ( arg_20.hasParamDesc ) {\n this.langWriter.writeArrayTypeDef(arg_20.paramDesc.nameNode, ctx, wr);\n } else {\n this.langWriter.writeArrayTypeDef(arg_20, ctx, wr);\n }\n }\n break;\n case \"java_class\" : \n try {\n const fName : string = cmdArg.string_value + \".java\";\n const p_write : CodeWriter = wr.getTag(\"utilities\");\n if ( (( typeof(p_write.compiledTags[fName] ) != \"undefined\" && p_write.compiledTags.hasOwnProperty(fName) )) == false ) {\n const code : CodeNode = cmd.getThird();\n const classWr : CodeWriter = wr.getFileWriter(\".\", fName);\n if ( (classWr.getCode().length) > 0 ) {\n } else {\n const package_name : string = ctx.getCompilerSetting(\"package\");\n classWr.out((\"package \" + package_name) + \";\", true);\n classWr.raw(code.string_value, false);\n p_write.compiledTags[fName] = true;\n }\n }\n } catch(e) {\n }\n break;\n case \"rawtype\" : \n const idx_23 : number = cmdArg.int_value;\n if ( (node.children.length) > idx_23 ) {\n const arg_21 : CodeNode = node.children[idx_23];\n if ( arg_21.hasParamDesc ) {\n await this.langWriter.writeRawTypeDef(arg_21.paramDesc.nameNode, ctx, wr);\n } else {\n await this.langWriter.writeRawTypeDef(arg_21, ctx, wr);\n }\n }\n break;\n case \"macro\" : \n const p_write_1 : CodeWriter = wr.getTag(\"utilities\");\n const newWriter : CodeWriter = new CodeWriter();\n const testCtx : RangerAppWriterContext = ctx.fork();\n testCtx.restartExpressionLevel();\n testCtx.targetLangName = \"ranger\";\n await this.walkCommandList(cmdArg, node, testCtx, newWriter);\n const p_str : string = newWriter.getCode();\n /** unused: const root_1 : RangerAppWriterContext = ctx.getRoot() **/ \n if ( (( typeof(p_write_1.compiledTags[p_str] ) != \"undefined\" && p_write_1.compiledTags.hasOwnProperty(p_str) )) == false ) {\n p_write_1.compiledTags[p_str] = true;\n const mCtx : RangerAppWriterContext = ctx.fork();\n mCtx.restartExpressionLevel();\n mCtx.targetLangName = \"ranger\";\n await this.walkCommandList(cmdArg, node, mCtx, p_write_1);\n }\n break;\n case \"install_file\" : \n await this.installFile(cmdArg.string_value, ctx, wr);\n break;\n case \"create_polyfill\" : \n this.createPolyfill(cmdArg.string_value, ctx, wr);\n break;\n case \"typeof\" : \n const idx_24 : number = cmdArg.int_value;\n if ( (node.children.length) >= idx_24 ) {\n const arg_22 : CodeNode = node.children[idx_24];\n if ( arg_22.hasParamDesc ) {\n await this.writeTypeDef(arg_22.paramDesc.nameNode, ctx, wr);\n } else {\n await this.writeTypeDef(arg_22, ctx, wr);\n }\n }\n break;\n case \"imp\" : \n this.langWriter.import_lib(cmdArg.string_value, ctx, wr);\n break;\n case \"atype\" : \n const idx_25 : number = cmdArg.int_value;\n if ( (node.children.length) >= idx_25 ) {\n const arg_23 : CodeNode = node.children[idx_25];\n const p_3 : RangerAppParamDesc = this.findParamDesc(arg_23, ctx, wr);\n const nameNode : CodeNode = p_3.nameNode;\n const tn : string = nameNode.array_type;\n wr.out(this.getTypeString(tn, ctx), false);\n }\n break;\n };\n } else {\n if ( cmd.value_type == 11 ) {\n switch (cmd.vref ) { \n case \"nl\" : \n wr.newline();\n break;\n case \"space\" : \n wr.out(\" \", false);\n break;\n case \"I\" : \n wr.indent(1);\n break;\n case \"i\" : \n wr.indent(-1);\n break;\n case \"op\" : \n const fc_2 : CodeNode = node.getFirst();\n wr.out(fc_2.vref, false);\n break;\n };\n } else {\n if ( cmd.value_type == 4 ) {\n wr.out(cmd.string_value, false);\n }\n }\n }\n };\n compile (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : void {\n };\n findParamDesc (obj : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : RangerAppParamDesc {\n let varDesc : RangerAppParamDesc ;\n let set_nsp : boolean = false;\n let classDesc : RangerAppClassDesc ;\n if ( 0 == (obj.nsp.length) ) {\n set_nsp = true;\n }\n if ( obj.vref != \"this\" ) {\n if ( (obj.ns.length) > 1 ) {\n const cnt : number = obj.ns.length;\n let classRefDesc : RangerAppParamDesc ;\n for ( let i = 0; i < obj.ns.length; i++) {\n var strname = obj.ns[i];\n if ( i == 0 ) {\n if ( strname == \"this\" ) {\n classDesc = ctx.getCurrentClass();\n if ( set_nsp ) {\n obj.nsp.push(classDesc);\n }\n } else {\n if ( ctx.isDefinedClass(strname) ) {\n classDesc = ctx.findClass(strname);\n if ( set_nsp ) {\n obj.nsp.push(classDesc);\n }\n continue;\n }\n classRefDesc = ctx.getVariableDef(strname);\n if ( typeof(classRefDesc) === \"undefined\" ) {\n ctx.addError(obj, \"Error, no description for called object: \" + strname);\n break;\n }\n if ( set_nsp ) {\n obj.nsp.push(classRefDesc);\n }\n classRefDesc.ref_cnt = 1 + classRefDesc.ref_cnt;\n classDesc = ctx.findClass(classRefDesc.nameNode.type_name);\n }\n } else {\n if ( i < (cnt - 1) ) {\n varDesc = classDesc.findVariable(strname);\n if ( typeof(varDesc) === \"undefined\" ) {\n ctx.addError(obj, \"Error, no description for refenced obj: \" + strname);\n }\n const subClass : string = varDesc.getTypeName();\n classDesc = ctx.findClass(subClass);\n if ( set_nsp ) {\n obj.nsp.push(varDesc);\n }\n continue;\n }\n if ( (typeof(classDesc) !== \"undefined\" && classDesc != null ) ) {\n varDesc = classDesc.findVariable(strname);\n if ( typeof(varDesc) === \"undefined\" ) {\n let classMethod : RangerAppFunctionDesc = classDesc.findMethod(strname);\n if ( typeof(classMethod) === \"undefined\" ) {\n classMethod = classDesc.findStaticMethod(strname);\n if ( typeof(classMethod) === \"undefined\" ) {\n ctx.addError(obj, \"variable not found \" + strname);\n }\n }\n if ( (typeof(classMethod) !== \"undefined\" && classMethod != null ) ) {\n if ( set_nsp ) {\n obj.nsp.push(classMethod);\n }\n return classMethod;\n }\n }\n if ( set_nsp ) {\n obj.nsp.push(varDesc);\n }\n }\n }\n };\n return varDesc;\n }\n varDesc = ctx.getVariableDef(obj.vref);\n if ( (typeof(varDesc.nameNode) !== \"undefined\" && varDesc.nameNode != null ) ) {\n } else {\n console.log(\"findParamDesc : description not found for \" + obj.vref);\n if ( (typeof(varDesc) !== \"undefined\" && varDesc != null ) ) {\n console.log(\"Vardesc was found though...\" + varDesc.name);\n }\n ctx.addError(obj, \"Error, no description for called object: \" + obj.vref);\n }\n return varDesc;\n }\n const cc : RangerAppClassDesc = ctx.getCurrentClass();\n return cc;\n };\n}\nexport class ColorConsole {\n constructor() {\n }\n out (color : string, str : string) : void {\n console.log(str);\n };\n}\nexport class RangerDocGenerator {\n constructor() {\n }\n async writeTypeDef (item : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( item.hasFlag(\"optional\") ) {\n wr.out(\"<optional>\", false);\n }\n switch (item.value_type ) { \n case 6 : \n wr.out((\"[\" + item.array_type) + \"]\", false);\n break;\n case 7 : \n wr.out((((\"[\" + item.key_type) + \":\") + item.array_type) + \"]\", false);\n break;\n case 17 : \n wr.out(\"(fn:\", false);\n try {\n const rv : CodeNode = item.expression_value.children[0];\n const args : CodeNode = item.expression_value.children[1];\n await this.writeTypeDef(rv, ctx, wr);\n wr.out(\" (\", false);\n await operatorsOf.forEach_15(args.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\", \", false);\n }\n wr.out(item.vref, false);\n wr.out(\": \", false);\n await this.writeTypeDef(item, ctx, wr);\n }));\n wr.out(\")\", false);\n } catch(e) {\n }\n wr.out(\")\", false);\n break;\n default: \n if ( (item.type_name.length) > 0 ) {\n wr.out(\"\" + item.type_name, false);\n }\n break;\n };\n };\n async writeArgDefs (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n if ( index > 0 ) {\n wr.out(\" \", false);\n }\n wr.out((\"`\" + item.vref) + \"`\", false);\n wr.out(\":\", false);\n await this.writeTypeDef(item, ctx, wr);\n wr.out(\" \", false);\n }));\n };\n async createClassDoc (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n if ( ctx.hasCompilerSetting(\"classdoc\") ) {\n const b_only_documented : boolean = false == ctx.hasCompilerFlag(\"allowempty\");\n const wr : CodeWriter = orig_wr.getFileWriter(\".\", ctx.getCompilerSetting(\"classdoc\"));\n if ( b_only_documented == false ) {\n wr.out(\"# Classes\", true);\n }\n const root : RangerAppWriterContext = ctx.getRoot();\n await operatorsOf_13.forEach_14(root.definedClasses, (async (item : RangerAppClassDesc, index : string): Promise<void> => { \n if ( false == item.isNormalClass() ) {\n return;\n }\n if ( b_only_documented == false ) {\n wr.out(\"## \" + index, true);\n }\n const theClass : RangerAppClassDesc = item;\n await operatorsOf_13.forEach_30(item.method_variants, (async (item : RangerAppMethodVariants, index : string): Promise<void> => { \n await operatorsOf.forEach_29(item.variants, (async (item : RangerAppFunctionDesc, index : number): Promise<void> => { \n if ( b_only_documented ) {\n if ( (item.git_doc.length) == 0 ) {\n return;\n }\n }\n wr.out(\"#### \", false);\n if ( typeof(item.nameNode) != \"undefined\" ) {\n if ( item.nameNode.type_name != \"void\" ) {\n wr.out(\"`\", false);\n await this.writeTypeDef(item.nameNode, ctx, wr);\n wr.out(\"` \", false);\n }\n }\n wr.out((theClass.name + \":: \") + item.name, false);\n wr.out(\"(\", false);\n for ( let i = 0; i < item.params.length; i++) {\n var arg = item.params[i];\n if ( i > 0 ) {\n wr.out(\" \", false);\n }\n wr.out((\"`\" + arg.compiledName) + \"`\", false);\n wr.out(\":\", false);\n await this.writeTypeDef(arg.nameNode, ctx, wr);\n };\n wr.out(\")\", false);\n wr.out(\"\", true);\n wr.out(item.git_doc, false);\n wr.out(\"\", true);\n }));\n }));\n }));\n }\n };\n async writeOpDesc (item : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const fc : CodeNode = item.getFirst();\n const nameNode : CodeNode = item.getSecond();\n const args : CodeNode = item.getThird();\n wr.out(\"| \", false);\n let name : string = fc.vref;\n if ( fc.vref == \"||\" ) {\n name = \"&#124;&#124;\";\n }\n if ( fc.vref == \"|\" ) {\n name = \"&#124;\";\n }\n wr.out(name, false);\n wr.out(\" | \", false);\n if ( nameNode.type_name != \"void\" ) {\n wr.out(\"`\", false);\n await this.writeTypeDef(nameNode, ctx, wr);\n wr.out(\"` \", false);\n }\n wr.out(\"| \", false);\n wr.out(\" (\", false);\n await this.writeArgDefs(args, ctx, wr);\n wr.out(\" )\", false);\n wr.out(\"| \", false);\n if ( item.hasStringProperty(\"doc\") ) {\n wr.out(item.getStringProperty(\"doc\"), false);\n }\n wr.out(\"| \", false);\n wr.out(\"\", true);\n };\n async writeTypeDoc (list : Array<RangerAppOperatorDesc>, tester : (item:RangerAppOperatorDesc) => boolean, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n const www : CodeWriter = wr.fork();\n wr.out(\"\", true);\n wr.out(\"\", true);\n wr.out(\"| operator | returns | arguments | description |\", true);\n wr.out(\"| -------- | ------- | --------- | ------------| \", true);\n let cnt : number = 0;\n await operatorsOf.forEach_17(list, (async (item : RangerAppOperatorDesc, index : number): Promise<void> => { \n if ( await tester(item) ) {\n if ( cnt > 0 ) {\n www.out(\", \", false);\n }\n www.out((\" `\" + item.name) + \"` \", false);\n await this.writeOpDesc(item.node, ctx, wr);\n cnt = cnt + 1;\n }\n }));\n };\n async createOperatorDoc (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n if ( ctx.hasCompilerSetting(\"operatordoc\") ) {\n const wr : CodeWriter = orig_wr.getFileWriter(\".\", ctx.getCompilerSetting(\"operatordoc\"));\n const allOps : Array<RangerAppOperatorDesc> = await ctx.getAllOperators();\n let statements : Array<RangerAppOperatorDesc> = operatorsOf.filter_52(allOps, ((item : RangerAppOperatorDesc, index : number):boolean => { \n let is_map_array : boolean = false;\n if ( typeof(item.firstArg) != \"undefined\" ) {\n is_map_array = (item.firstArg.value_type == 6) || (item.firstArg.value_type == 7);\n }\n if ( (item.name.indexOf(\"if_\")) == 0 ) {\n return false;\n }\n return (item.nameNode.type_name == \"void\") && (false == is_map_array);\n }));\n const lang_statements : Array<RangerAppOperatorDesc> = operatorsOf.filter_52(allOps, ((item : RangerAppOperatorDesc, index : number):boolean => { \n if ( (item.name.indexOf(\"if_\")) == 0 ) {\n return true;\n }\n return false;\n }));\n statements = operatorsOf.groupBy_53(statements, ((item : RangerAppOperatorDesc):string => { \n return item.name;\n }));\n const operator_list : Array<RangerAppOperatorDesc> = operatorsOf.filter_52(allOps, ((item : RangerAppOperatorDesc, index : number):boolean => { \n let is_map_array_1 : boolean = false;\n if ( typeof(item.firstArg) != \"undefined\" ) {\n is_map_array_1 = (item.firstArg.value_type == 6) || (item.firstArg.value_type == 7);\n }\n return is_map_array_1 || (item.nameNode.type_name != \"void\");\n }));\n const nList : Array<RangerAppOperatorDesc> = operatorsOf.groupBy_53(operator_list, ((item : RangerAppOperatorDesc):string => { \n let key : string = item.name;\n const fc : CodeNode = item.firstArg;\n if ( typeof(fc) != \"undefined\" ) {\n key = key + (((((\":\" + fc.type_name) + \":\") + fc.key_type) + \":\") + fc.array_type);\n }\n return key;\n }));\n wr.out(\"## Statements\", true);\n await this.writeTypeDoc(statements, ((item : RangerAppOperatorDesc):boolean => { \n return true;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Language switches\", true);\n await this.writeTypeDoc(lang_statements, ((item : RangerAppOperatorDesc):boolean => { \n return true;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Operators without arguments\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n return typeof(item.firstArg) === \"undefined\";\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Generic operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return item.firstArg.type_name == \"T\";\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Numeric operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return ((item.firstArg.type_name == \"int\") || (item.firstArg.type_name == \"double\")) && ((item.nameNode.type_name == \"int\") || (item.nameNode.type_name == \"double\"));\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Miscellaneous operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return ((item.firstArg.type_name == \"int\") || (item.firstArg.type_name == \"double\")) && (((item.nameNode.type_name != \"int\") && (item.nameNode.type_name != \"double\")) && (item.nameNode.type_name != \"boolean\"));\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## String operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return item.firstArg.type_name == \"string\";\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"\", true);\n wr.out(\"## Array operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return item.firstArg.value_type == 6;\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Map operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return item.firstArg.value_type == 7;\n }\n return false;\n }), ctx, wr);\n wr.out(\"\", true);\n wr.out(\"## Boolean / test operators\", true);\n await this.writeTypeDoc(nList, ((item : RangerAppOperatorDesc):boolean => { \n if ( typeof(item.firstArg) != \"undefined\" ) {\n return item.nameNode.type_name == \"boolean\";\n }\n return false;\n }), ctx, wr);\n }\n };\n}\nexport class viewbuilder_Android {\n constructor() {\n }\n _attr (wr : CodeWriter, name : string, value : string) : void {\n wr.out(((((\"android:\" + name) + \"=\") + \"\\\"\") + value) + \"\\\" \", true);\n };\n async elWithText (name : string, node : CodeNode, wr : CodeWriter) : Promise<void> {\n wr.out((\"<\" + name) + \" \", true);\n wr.indent(1);\n let width : string = \"match_parent\";\n const height : string = \"wrap_content\";\n let weight : string = \"\";\n await operatorsOf.forEach_15(node.children, ((item : CodeNode, index : number):void => { \n switch (item.value_type ) { \n case 20 : \n this._attr(wr, \"text\", item.string_value);\n break;\n };\n }));\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"font-size\" ) {\n this._attr(wr, \"textSize\", item.string_value + \"dp\");\n }\n if ( item.vref == \"id\" ) {\n this._attr(wr, \"id\", \"@+id/\" + item.string_value);\n }\n if ( item.vref == \"width-pros\" ) {\n weight = item.string_value;\n }\n if ( item.vref == \"width\" ) {\n width = item.string_value + \"dp\";\n }\n }));\n this._attr(wr, \"layout_width\", width);\n this._attr(wr, \"layout_height\", height);\n if ( (weight.length) > 0 ) {\n this._attr(wr, \"layout_weight\", weight);\n }\n wr.out(\"/>\", true);\n wr.indent(-1);\n };\n async WalkNode (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n switch (node.vref ) { \n case \"ScrollView\" : \n wr.out(\"<ScrollView \", true);\n wr.indent(1);\n this._attr(wr, \"layout_width\", \"match_parent\");\n this._attr(wr, \"layout_height\", \"wrap_content\");\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"id\" ) {\n this._attr(wr, \"id\", \"@+id/\" + item.string_value);\n }\n }));\n wr.out(\">\", true);\n wr.indent(1);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.WalkNode(item, ctx, wr);\n }));\n wr.indent(-1);\n wr.out(\"</ScrollView>\", true);\n wr.indent(-1);\n break;\n case \"LinearLayout\" : \n wr.out(\"<LinearLayout \", true);\n wr.indent(1);\n this._attr(wr, \"layout_width\", \"match_parent\");\n this._attr(wr, \"layout_height\", \"wrap_content\");\n let orientation : string = \"vertical\";\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"id\" ) {\n this._attr(wr, \"id\", \"@+id/\" + item.string_value);\n }\n if ( item.vref == \"direction\" ) {\n orientation = item.string_value;\n }\n }));\n this._attr(wr, \"orientation\", orientation);\n this._attr(wr, \"weightSum\", \"100\");\n wr.out(\">\", true);\n wr.indent(1);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.WalkNode(item, ctx, wr);\n }));\n wr.indent(-1);\n wr.out(\"</LinearLayout>\", true);\n wr.indent(-1);\n break;\n case \"Button\" : \n await this.elWithText(\"Button\", node, wr);\n break;\n case \"Text\" : \n await this.elWithText(\"TextView\", node, wr);\n break;\n case \"Input\" : \n wr.out(\"<EditText \", true);\n wr.indent(1);\n this._attr(wr, \"layout_width\", \"match_parent\");\n this._attr(wr, \"layout_height\", \"wrap_content\");\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"hint\" ) {\n this._attr(wr, \"hint\", item.string_value);\n }\n if ( item.vref == \"id\" ) {\n this._attr(wr, \"id\", \"@+id/\" + item.string_value);\n }\n if ( (item.vref == \"type\") && (item.string_value == \"password\") ) {\n this._attr(wr, \"inputType\", \"textPassword\");\n }\n }));\n await operatorsOf.forEach_15(node.children, ((item : CodeNode, index : number):void => { \n switch (item.value_type ) { \n case 20 : \n this._attr(wr, \"text\", item.string_value);\n break;\n };\n }));\n wr.out(\"/>\", true);\n wr.indent(-1);\n break;\n };\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, orig_wr : CodeWriter) : Promise<void> {\n let viewName : string = \"\";\n let b_scroll : boolean = false;\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"name\" ) {\n viewName = item.string_value;\n }\n if ( item.vref == \"type\" ) {\n if ( item.string_value == \"scroll\" ) {\n b_scroll = true;\n }\n }\n }));\n const wr : CodeWriter = orig_wr.getFileWriter(\"layout\", ((\"activity_\" + viewName) + \".xml\"));\n wr.out(\"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\", true);\n let viewTag : string = \"LinearLayout\";\n if ( b_scroll ) {\n viewTag = \"ScrollView\";\n }\n wr.out((\"<\" + viewTag) + \" xmlns:android=\\\"http://schemas.android.com/apk/res/android\\\" \", true);\n wr.indent(1);\n this._attr(wr, \"layout_width\", \"match_parent\");\n this._attr(wr, \"layout_height\", \"match_parent\");\n if ( b_scroll == false ) {\n this._attr(wr, \"paddingLeft\", \"16dp\");\n this._attr(wr, \"paddingRight\", \"16dp\");\n this._attr(wr, \"orientation\", \"vertical\");\n }\n this._attr(wr, \"id\", \"@+id/view_id_\" + viewName);\n wr.out(\">\", true);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.WalkNode(item, ctx, wr);\n }));\n wr.indent(-1);\n wr.out((\"</\" + viewTag) + \">\", true);\n };\n}\nexport class viewbuilder_Web {\n constructor() {\n }\n _attr (wr : CodeWriter, name : string, value : string) : void {\n wr.out(((((\" \" + name) + \"=\") + \"\\\"\") + value) + \"\\\" \", false);\n };\n async tagAttrs (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"id\" ) {\n this._attr(wr, \"x-id\", item.string_value);\n }\n if ( item.vref == \"hint\" ) {\n this._attr(wr, \"tooltip\", item.string_value);\n this._attr(wr, \"title\", item.string_value);\n this._attr(wr, \"placeholder\", item.string_value);\n }\n }));\n };\n async tagText (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n await operatorsOf.forEach_15(node.children, ((item : CodeNode, index : number):void => { \n switch (item.value_type ) { \n case 20 : \n wr.out(item.string_value, false);\n break;\n };\n }));\n };\n async tag (name : string, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"<\" + name, false);\n await this.tagAttrs(node, ctx, wr);\n wr.out(\">\", false);\n await this.tagText(node, ctx, wr);\n wr.out((\"</\" + name) + \">\", true);\n };\n async WalkNode (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n switch (node.vref ) { \n case \"LinearLayout\" : \n await this.tag(\"div\", node, ctx, wr);\n break;\n case \"Button\" : \n wr.out(\"<div><a class='waves-effect waves-light btn' \", false);\n await this.tagAttrs(node, ctx, wr);\n wr.out(\">\", false);\n await this.tagText(node, ctx, wr);\n wr.out(\"</a></div>\", false);\n break;\n case \"Text\" : \n await this.tag(\"div\", node, ctx, wr);\n break;\n case \"Input\" : \n wr.out(\"<div>\", true);\n await this.tag(\"input\", node, ctx, wr);\n wr.out(\"</div>\", true);\n break;\n };\n };\n async CreateViews (ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n wr.out(\"<!DOCTYPE html>\", true);\n wr.out(\"<html>\", true);\n wr.indent(1);\n wr.out(\"<head>\", true);\n wr.indent(1);\n wr.out(\"\\r\\n <link rel=\\\"stylesheet\\\" href=\\\"https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/css/materialize.min.css\\\">\\r\\n <script src=\\\"https://cdnjs.cloudflare.com/ajax/libs/materialize/0.100.2/js/materialize.min.js\\\"></script> \\r\\n \", true);\n wr.indent(-1);\n wr.out(\"</head>\", true);\n wr.out(\"<body>\", true);\n await operatorsOf_13.forEach_25(ctx.viewClassBody, (async (item : CodeNode, index : string): Promise<void> => { \n await this.writeClass(item, ctx, wr);\n }));\n wr.out(\"</body>\", true);\n wr.out(\"</html>\", true);\n };\n async writeClass (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n let viewName : string = \"\";\n await operatorsOf.forEach_15(node.attrs, ((item : CodeNode, index : number):void => { \n if ( item.vref == \"name\" ) {\n viewName = item.string_value;\n }\n }));\n wr.out(\"\", true);\n wr.out((\"<div id=\\\"\" + viewName) + \"\\\">\", true);\n wr.indent(1);\n await operatorsOf.forEach_15(node.children, (async (item : CodeNode, index : number): Promise<void> => { \n await this.WalkNode(item, ctx, wr);\n }));\n wr.indent(-1);\n wr.out(\"</div>\", true);\n };\n}\nexport class CompilerResults {\n ctx: RangerAppWriterContext;\n fileSystem: CodeFileSystem;\n target_dir: string;\n constructor() {\n this.target_dir = \"\";\n }\n}\nexport class VirtualCompiler {\n envObj: InputEnv;\n constructor() {\n }\n getEnvVar (name : string) : string {\n return operatorsOf_8.envc95var_54((this.envObj), name);\n };\n possiblePaths (envVarName : string) : Array<string> {\n let res : Array<string> = [];\n const parts : Array<string> = envVarName.split(\";\");\n res.push(\"./\");\n for ( let i = 0; i < parts.length; i++) {\n var str = parts[i];\n const s : string = str.trim();\n if ( (s.length) > 0 ) {\n let dirNames : Array<string> = s.split(\"/\");\n dirNames.pop();\n const theDir : string = dirNames.join(\"/\");\n res.push(theDir);\n }\n };\n res.push(operatorsOf_8.installc95directory_51((this.envObj)));\n return res;\n };\n searchLib (paths : Array<string>, libname : string) : string {\n for ( let i = 0; i < paths.length; i++) {\n var path = paths[i];\n if ( operatorsOf_8.filec95exists_9((this.envObj), path, libname) ) {\n return path;\n }\n };\n return \"\";\n };\n fillStr (cnt : number) : string {\n let s : string = \"\";\n let i : number = cnt;\n while (i > 0) {\n s = s + \" \";\n i = i - 1;\n };\n return s;\n };\n async run (env : InputEnv) : Promise<CompilerResults> {\n const res : CompilerResults = new CompilerResults();\n this.envObj = env;\n const allowed_languages : Array<string> = [\"es6\", \"go\", \"scala\", \"java7\", \"swift3\", \"cpp\", \"php\", \"csharp\"];\n const params : CmdParams = env.commandLine;\n let the_file : string = \"\";\n let plugins_only : boolean = false;\n const valid_options : Array<string> = [\"l\", \"Selected language, one of \" + (allowed_languages.join(\", \")), \"d\", \"output directory, default directory is \\\"bin/\\\"\", \"o\", \"output file, default is \\\"output.<language>\\\"\", \"classdoc\", \"write class documentation .md file\", \"operatordoc\", \"write operator documention into .md file\"];\n const valid_flags : Array<string> = [\"deadcode\", \"Eliminate functions which are not called by any other functions\", \"dead4main\", \"Eliminate functions and classes which are unreachable from the main function\", \"forever\", \"Leave the main program into eternal loop (Go, Swift)\", \"allowti\", \"Allow type inference at target lang (creates slightly smaller code)\", \"plugins-only\", \"ignore built-in language output and use only plugins\", \"plugins\", \"(node compiler only) run specified npm plugins -plugins=\\\"plugin1,plugin2\\\"\", \"strict\", \"Strict mode. Do not allow automatic unwrapping of optionals outside of try blocks.\", \"typescript\", \"Writes JavaScript code with TypeScript annotations\", \"npm\", \"Write the package.json to the output directory\", \"nodecli\", \"Insert node.js command line header #!/usr/bin/env node to the beginning of the JavaScript file\", \"nodemodule\", \"Export the classes as node.js modules (this option will disable the static main function)\", \"client\", \"the code is ment to be run in the client environment\", \"scalafiddle\", \"scalafiddle.io compatible output\", \"compiler\", \"recompile the compiler\", \"copysrc\", \"copy all the source codes into the target directory\"];\n const parser_pragmas : Array<string> = [\"@noinfix(true)\", \"disable operator infix parsing and automatic type definition checking \"];\n if ( ( typeof(params.flags[\"compiler\"] ) != \"undefined\" && params.flags.hasOwnProperty(\"compiler\") ) ) {\n console.log(\"---------------------------------------------\");\n console.log(\" re-compiling the compiler itself \");\n console.log(\"---------------------------------------------\");\n the_file = \"ng_Compiler.clj\";\n } else {\n if ( (params.values.length) < 1 ) {\n console.log(\"Ranger compiler, version \" + \"2.1.67\");\n console.log(\"Installed at: \" + operatorsOf_8.installc95directory_51(env));\n console.log(\"Usage: <file> <options> <flags>\");\n console.log(\"Options: -<option>=<value> \");\n let optCnt : number = 0;\n while (optCnt < (valid_options.length)) {\n const option : string = valid_options[optCnt];\n const optionDesc : string = valid_options[(optCnt + 1)];\n console.log((((\" -\" + option) + \"=<value> \") + this.fillStr((13 - (option.length)))) + optionDesc);\n optCnt = optCnt + 2;\n };\n console.log(\"Flags: -<flag> \");\n let optCnt_1 : number = 0;\n while (optCnt_1 < (valid_flags.length)) {\n const option_1 : string = valid_flags[optCnt_1];\n const optionDesc_1 : string = valid_flags[(optCnt_1 + 1)];\n console.log((((\" -\" + option_1) + \" \") + this.fillStr((13 - (option_1.length)))) + optionDesc_1);\n optCnt_1 = optCnt_1 + 2;\n };\n console.log(\"Pragmas: (inside the source code files) \");\n let optCnt_2 : number = 0;\n while (optCnt_2 < (parser_pragmas.length)) {\n const option_2 : string = parser_pragmas[optCnt_2];\n const optionDesc_2 : string = parser_pragmas[(optCnt_2 + 1)];\n console.log((((\" \" + option_2) + \" \") + this.fillStr((16 - (option_2.length)))) + optionDesc_2);\n optCnt_2 = optCnt_2 + 2;\n };\n return res;\n }\n the_file = params.values[0];\n }\n let root_file : string = the_file;\n const the_lang_file : string = \"Lang.clj\";\n let the_lang : string = \"es6\";\n let the_target_dir : string = operatorsOf_8.currentc95directory_51(env) + \"/bin\";\n let the_target : string = \"output\";\n let package_name : string = \"\";\n let comp_attrs : {[key:string]:string} = {};\n const outDir : string = params.getParam(\"o\");\n if ( (typeof(outDir) !== \"undefined\" && outDir != null ) ) {\n the_target = outDir;\n }\n let langLibEnv : string = operatorsOf_8.envc95var_54(env, \"RANGER_LIB\");\n const idir : string = __dirname;\n langLibEnv = ((((require(\"path\").normalize((idir + \"/../compiler/\"))) + \";\") + (require(\"path\").normalize((idir + \"/../lib/\")))) + \";\") + langLibEnv;\n env.setEnv(\"RANGER_LIB\", langLibEnv);\n console.log(\"ENV: \" + operatorsOf_8.envc95var_54(env, \"RANGER_LIB\"));\n const theFilePaths : Array<string> = this.possiblePaths(operatorsOf_8.envc95var_54(env, \"RANGER_LIB\"));\n const theFilePath : string = this.searchLib(theFilePaths, the_file);\n if ( operatorsOf_8.filec95exists_9(env, theFilePath, the_file) == false ) {\n console.log(\"Could not compile.\");\n console.log(\"File not found: \" + the_file);\n return res;\n }\n const langFilePaths : Array<string> = this.possiblePaths(this.getEnvVar(\"RANGER_LIB\"));\n const langFilePath : string = this.searchLib(langFilePaths, the_lang_file);\n if ( operatorsOf_8.filec95exists_9(env, langFilePath, the_lang_file) == false ) {\n console.log((\"language file \" + the_lang_file) + \" not found! Check the library directory or RANGER_LIB enviroment variable\");\n console.log(\"currently pointing at : \" + langLibEnv);\n console.log(\"download: https://raw.githubusercontent.com/terotests/Ranger/master/compiler/Lang.clj\");\n return res;\n } else {\n console.log(\"Using language file from : \" + langFilePath);\n }\n console.log(\"File to be compiled: \" + the_file);\n let langFileDirs : Array<string> = this.possiblePaths(this.getEnvVar(\"RANGER_LIB\"));\n const c : string = await operatorsOf_8.readc95file_9(env, theFilePath, the_file);\n const code : SourceCode = new SourceCode(c);\n code.filename = the_file;\n const parser : RangerLispParser = new RangerLispParser(code);\n if ( ( typeof(params.flags[\"no-op-transform\"] ) != \"undefined\" && params.flags.hasOwnProperty(\"no-op-transform\") ) ) {\n parser.disableOperators = true;\n }\n parser.parse(( typeof(params.flags[\"no-op-transform\"] ) != \"undefined\" && params.flags.hasOwnProperty(\"no-op-transform\") ));\n const root : CodeNode = parser.rootNode;\n console.log(\"--> ready to compile\");\n const flags : Array<string> = Object.keys(params.flags);\n for ( let ci = 0; ci < root.children.length; ci++) {\n var ch = root.children[ci];\n let inserted_nodes : Array<CodeNode> = [];\n if ( (ch.children.length) > 2 ) {\n const fc : CodeNode = ch.getFirst();\n if ( fc.vref == \"flag\" ) {\n const fName : CodeNode = ch.getSecond();\n for ( let i = 0; i < flags.length; i++) {\n var flag_name = flags[i];\n if ( flag_name == fName.vref ) {\n const compInfo : CodeNode = ch.getThird();\n let i_1 : number = 0;\n const cnt : number = compInfo.children.length;\n while (i_1 < (cnt - 1)) {\n const fc_1 : CodeNode = compInfo.children[i_1];\n const sc : CodeNode = compInfo.children[(i_1 + 1)];\n switch (fc_1.vref ) { \n case \"libpath\" : \n langFileDirs = this.possiblePaths(sc.string_value);\n break;\n case \"output\" : \n the_target = sc.string_value;\n break;\n case \"root-file\" : \n root_file = sc.string_value;\n break;\n case \"language\" : \n the_lang = sc.string_value;\n break;\n case \"absolute_output_dir\" : \n the_target_dir = sc.string_value;\n break;\n case \"relative_output_dir\" : \n the_target_dir = (operatorsOf_8.currentc95directory_51(env) + \"/\") + sc.string_value;\n break;\n case \"package\" : \n package_name = sc.string_value;\n break;\n case \"android_res_dir\" : \n comp_attrs[fc_1.vref] = sc.string_value;\n break;\n case \"web_res_dir\" : \n comp_attrs[fc_1.vref] = sc.string_value;\n break;\n case \"Import\" : \n inserted_nodes.push(CodeNode.fromList([CodeNode.vref1(\"Import\"), CodeNode.newStr(sc.string_value)]));\n break;\n default: \n if ( (sc.string_value.length) > 0 ) {\n comp_attrs[fc_1.vref] = sc.string_value;\n }\n break;\n };\n i_1 = i_1 + 2;\n };\n }\n };\n ch.children.length = 0;\n for ( let i_2 = 0; i_2 < inserted_nodes.length; i_2++) {\n var new_node = inserted_nodes[i_2];\n console.log(\" *** Inserting \" + new_node.getCode());\n root.children.splice(0, 0, new_node);\n };\n }\n }\n };\n root.children.splice(0, 0, CodeNode.fromList([CodeNode.vref1(\"Import\"), CodeNode.newStr(\"stdlib.clj\")]));\n const outDir_2 : string = params.getParam(\"o\");\n if ( (typeof(outDir_2) !== \"undefined\" && outDir_2 != null ) ) {\n the_target = outDir_2;\n }\n comp_attrs[\"o\"] = the_target;\n const outDir_3 : string = params.getParam(\"d\");\n if ( (typeof(outDir_3) !== \"undefined\" && outDir_3 != null ) ) {\n the_target_dir = (operatorsOf_8.currentc95directory_51(env) + \"/\") + (outDir_3);\n }\n comp_attrs[\"d\"] = the_target_dir;\n const pLang : string = params.getParam(\"l\");\n if ( (typeof(pLang) !== \"undefined\" && pLang != null ) ) {\n the_lang = pLang;\n }\n const appCtx : RangerAppWriterContext = new RangerAppWriterContext();\n appCtx.env = env;\n appCtx.libraryPaths = langFileDirs;\n appCtx.compilerSettings[\"package\"] = package_name;\n if ( appCtx.hasCompilerFlag(\"verbose\") ) {\n for ( let i_3 = 0; i_3 < appCtx.libraryPaths.length; i_3++) {\n var include_path = appCtx.libraryPaths[i_3];\n console.log(\"include-path : \" + include_path);\n };\n }\n operatorsOf_13.forEach_55(params.flags, ((item : boolean, index : string):void => { \n const n : string = index;\n appCtx.compilerFlags[n] = true;\n }));\n operatorsOf_13.forEach_40(params.params, ((item : string, index : string):void => { \n const v : string = item;\n comp_attrs[index] = v;\n }));\n operatorsOf_13.forEach_40(comp_attrs, ((item : string, index : string):void => { \n const n_1 : string = item;\n appCtx.compilerSettings[index] = n_1;\n }));\n if ( (allowed_languages.indexOf(the_lang)) < 0 ) {\n console.log(\"Invalid language : \" + the_lang);\n /** unused: const s : string = \"\" **/ \n console.log(\"allowed languages: \" + (allowed_languages.join(\" \")));\n return res;\n }\n appCtx.compilerSettings[\"l\"] = the_lang;\n if ( the_target == \"output\" ) {\n const root_parts : Array<string> = root_file.split(\".\");\n if ( (root_parts.length) == 2 ) {\n the_target = root_parts[0];\n }\n switch (the_lang ) { \n case \"es6\" : \n the_target = the_target + \".js\";\n if ( appCtx.hasCompilerFlag(\"typescript\") ) {\n the_target = the_target + \".ts\";\n }\n break;\n case \"swift3\" : \n the_target = the_target + \".swift\";\n break;\n case \"php\" : \n the_target = the_target + \".php\";\n break;\n case \"csharp\" : \n the_target = the_target + \".cs\";\n break;\n case \"java7\" : \n the_target = the_target + \".java\";\n break;\n case \"go\" : \n the_target = the_target + \".go\";\n break;\n case \"scala\" : \n the_target = the_target + \".scala\";\n break;\n case \"cpp\" : \n the_target = the_target + \".cpp\";\n break;\n };\n }\n appCtx.compilerSettings[\"o\"] = the_target;\n const lcc : LiveCompiler = new LiveCompiler();\n const node : CodeNode = parser.rootNode;\n const flowParser : RangerFlowParser = new RangerFlowParser();\n const fileSystem : CodeFileSystem = new CodeFileSystem();\n const file : CodeFile = fileSystem.getFile(\".\", the_target);\n let wr : CodeWriter = file.getWriter();\n if ( appCtx.hasCompilerFlag(\"copysrc\") ) {\n console.log(\"--> copying \" + code.filename);\n const fileWr : CodeWriter = wr.getFileWriter(\".\", code.filename);\n fileWr.raw(code.code, false);\n }\n appCtx.parser = flowParser;\n appCtx.compiler = lcc;\n lcc.parser = flowParser;\n if ( appCtx.hasCompilerSetting(\"plugins\") ) {\n const val : string = appCtx.getCompilerSetting(\"plugins\");\n const list : Array<string> = val.split(\",\");\n await operatorsOf.forEach_12(list, (async (item : string, index : number): Promise<void> => { \n try {\n const plugin : any = require( item );\n const features : Array<string> = (new plugin.Plugin () ).features();\n if ( appCtx.hasCompilerFlag(\"verbose\") ) {\n console.log((\"Plugin \" + item) + \" registered with features \");\n await operatorsOf.forEach_12(features, ((item : string, index : number):void => { \n console.log(\" [x] \" + item);\n }));\n }\n const regPlug : RangerRegisteredPlugin = new RangerRegisteredPlugin();\n regPlug.name = item;\n regPlug.features = operatorsOf.clone_56(features);\n appCtx.addPlugin(regPlug);\n } catch(e) {\n console.log(\"Failed to register plugin \" + item);\n }\n }));\n }\n plugins_only = appCtx.hasCompilerFlag(\"plugins-only\");\n try {\n await flowParser.mergeImports(node, appCtx, wr);\n const lang_str : string = await operatorsOf_8.readc95file_9(env, langFilePath, the_lang_file);\n const lang_code : SourceCode = new SourceCode(lang_str);\n lang_code.filename = the_lang_file;\n const lang_parser : RangerLispParser = new RangerLispParser(lang_code);\n lang_parser.parse(false);\n appCtx.langOperators = lang_parser.rootNode;\n appCtx.setRootFile(root_file);\n const ops : RangerActiveOperators = new RangerActiveOperators();\n ops.initFrom(lang_parser.rootNode);\n appCtx.operators = ops;\n appCtx.targetLangName = the_lang;\n lcc.initWriter(appCtx);\n console.log(\"--- context inited ---\");\n console.log(\"1. Collecting available methods.\");\n await flowParser.CollectMethods(node, appCtx, wr);\n if ( (appCtx.compilerErrors.length) > 0 ) {\n VirtualCompiler.displayCompilerErrors(appCtx);\n return res;\n }\n await flowParser.CreateCTTI(node, appCtx, wr);\n if ( appCtx.hasCompilerFlag(\"rtti\") ) {\n await flowParser.CreateRTTI(node, appCtx, wr);\n }\n const ppList : Array<string> = appCtx.findPluginsFor(\"pre_flow\");\n await operatorsOf.forEach_12(ppList, ((item : string, index : number):void => { \n try {\n const plugin_1 : any = require( item );\n ( (new plugin_1.Plugin () )[\"pre_flow\"] )( root, appCtx , wr );\n } catch(e) {\n }\n }));\n await appCtx.initOpList();\n console.log(\"2. Analyzing the code.\");\n console.log(\"selected language is \" + appCtx.targetLangName);\n await flowParser.StartWalk(node, appCtx, wr);\n await flowParser.SolveAsyncFuncs(root, appCtx, wr);\n console.log(\"3. Compiling the source code.\");\n switch (appCtx.targetLangName ) { \n case \"java7\" : \n if ( ( typeof(comp_attrs[\"android_res_dir\"] ) != \"undefined\" && comp_attrs.hasOwnProperty(\"android_res_dir\") ) ) {\n console.log(\"--> had android res dir\");\n const resDir : string = (comp_attrs[\"android_res_dir\"]);\n const resFs : CodeFileSystem = new CodeFileSystem();\n const file_2 : CodeFile = resFs.getFile(\".\", \"README.txt\");\n const wr_2 : CodeWriter = file_2.getWriter();\n const builder : viewbuilder_Android = new viewbuilder_Android();\n await operatorsOf_13.forEach_25(appCtx.viewClassBody, (async (item : CodeNode, index : string): Promise<void> => { \n await builder.writeClass(item, appCtx, wr_2);\n }));\n resFs.saveTo(resDir, appCtx.hasCompilerFlag(\"show-writes\"));\n }\n break;\n case \"es6\" : \n if ( ( typeof(comp_attrs[\"web_res_dir\"] ) != \"undefined\" && comp_attrs.hasOwnProperty(\"web_res_dir\") ) ) {\n console.log(\"--> had web res dir\");\n const resDir_1 : string = (comp_attrs[\"web_res_dir\"]);\n const resFs_1 : CodeFileSystem = new CodeFileSystem();\n const file_3 : CodeFile = resFs_1.getFile(\".\", \"webviews.html\");\n const wr_3 : CodeWriter = file_3.getWriter();\n const builder_1 : viewbuilder_Web = new viewbuilder_Web();\n await builder_1.CreateViews(appCtx, wr_3);\n resFs_1.saveTo(resDir_1, appCtx.hasCompilerFlag(\"show-writes\"));\n }\n break;\n };\n let staticMethods : RangerAppClassDesc ;\n const importFork : CodeWriter = wr.fork();\n const contentFork : CodeWriter = wr.fork();\n /** unused: const theEnd : CodeWriter = wr.createTag(\"file_end\") **/ \n wr = contentFork;\n let handledClasses : {[key:string]:boolean} = {};\n for ( let i_4 = 0; i_4 < appCtx.definedClassList.length; i_4++) {\n var cName = appCtx.definedClassList[i_4];\n if ( cName == \"RangerStaticMethods\" ) {\n staticMethods = appCtx.definedClasses[cName];\n continue;\n }\n const cl : RangerAppClassDesc = appCtx.definedClasses[cName];\n if ( cl.is_operator_class ) {\n continue;\n }\n if ( cl.is_trait ) {\n continue;\n }\n if ( cl.is_system ) {\n continue;\n }\n if ( cl.is_generic_instance ) {\n continue;\n }\n if ( cl.is_system_union ) {\n continue;\n }\n if ( cl.is_union ) {\n continue;\n }\n if ( ( typeof(handledClasses[cName] ) != \"undefined\" && handledClasses.hasOwnProperty(cName) ) ) {\n continue;\n }\n handledClasses[cName] = true;\n if ( (cl.extends_classes.length) > 0 ) {\n for ( let i_5 = 0; i_5 < cl.extends_classes.length; i_5++) {\n var eClassName = cl.extends_classes[i_5];\n if ( ( typeof(handledClasses[eClassName] ) != \"undefined\" && handledClasses.hasOwnProperty(eClassName) ) ) {\n continue;\n }\n const parentCl : RangerAppClassDesc = appCtx.definedClasses[eClassName];\n await lcc.WalkNode(parentCl.classNode, appCtx, wr);\n handledClasses[eClassName] = true;\n };\n }\n await lcc.WalkNode(cl.classNode, appCtx, wr);\n };\n if ( (typeof(staticMethods) !== \"undefined\" && staticMethods != null ) ) {\n await lcc.WalkNode(staticMethods.classNode, appCtx, wr);\n }\n for ( let i_6 = 0; i_6 < flowParser.collectedIntefaces.length; i_6++) {\n var ifDesc = flowParser.collectedIntefaces[i_6];\n console.log(\"should define also interface \" + ifDesc.name);\n await lcc.langWriter.writeInterface(ifDesc, appCtx, wr);\n };\n for ( let i_7 = 0; i_7 < appCtx.definedClassList.length; i_7++) {\n var cName_1 = appCtx.definedClassList[i_7];\n if ( ( typeof(handledClasses[cName_1] ) != \"undefined\" && handledClasses.hasOwnProperty(cName_1) ) ) {\n continue;\n }\n if ( cName_1 == \"RangerStaticMethods\" ) {\n staticMethods = appCtx.definedClasses[cName_1];\n continue;\n }\n const cl_1 : RangerAppClassDesc = appCtx.definedClasses[cName_1];\n if ( cl_1.is_operator_class ) {\n continue;\n }\n if ( cl_1.is_generic_instance ) {\n await lcc.WalkNode(cl_1.classNode, appCtx, wr);\n }\n if ( cl_1.is_trait ) {\n continue;\n }\n if ( cl_1.is_system ) {\n continue;\n }\n if ( cl_1.is_operator_class ) {\n continue;\n }\n if ( cl_1.is_generic_instance ) {\n continue;\n }\n if ( cl_1.is_system_union ) {\n continue;\n }\n if ( cl_1.is_union ) {\n continue;\n }\n await lcc.WalkNode(cl_1.classNode, appCtx, wr);\n };\n for ( let i_8 = 0; i_8 < appCtx.definedClassList.length; i_8++) {\n var cName_2 = appCtx.definedClassList[i_8];\n const cl_2 : RangerAppClassDesc = appCtx.definedClasses[cName_2];\n if ( cl_2.is_operator_class ) {\n await lcc.WalkNode(cl_2.classNode, appCtx, wr);\n }\n };\n const import_list : Array<string> = wr.getImports();\n if ( appCtx.targetLangName == \"go\" ) {\n importFork.out(\"package main\", true);\n importFork.newline();\n importFork.out(\"import (\", true);\n importFork.indent(1);\n }\n let added_import : {[key:string]:boolean} = {};\n for ( let i_9 = 0; i_9 < import_list.length; i_9++) {\n var codeStr = import_list[i_9];\n if ( ( typeof(added_import[codeStr] ) != \"undefined\" && added_import.hasOwnProperty(codeStr) ) ) {\n continue;\n }\n added_import[codeStr] = true;\n switch (appCtx.targetLangName ) { \n case \"es6\" : \n const parts : Array<string> = codeStr.split(\".\");\n const p0 : string = parts[0];\n if ( (parts.length) > 1 ) {\n const p1 : string = parts[1];\n importFork.out((((((\"const \" + p1) + \" = require('\") + p0) + \"').\") + p1) + \";\", true);\n }\n if ( (parts.length) == 1 ) {\n importFork.out((((\"const \" + p0) + \" = require('\") + p0) + \"');\", true);\n }\n break;\n case \"go\" : \n if ( (codeStr.charCodeAt(0 )) == ((\"_\".charCodeAt(0))) ) {\n importFork.out((\" _ \\\"\" + (codeStr.substring(1, (codeStr.length) ))) + \"\\\"\", true);\n } else {\n importFork.out((\"\\\"\" + codeStr) + \"\\\"\", true);\n }\n break;\n case \"csharp\" : \n importFork.out((\"using \" + codeStr) + \";\", true);\n break;\n case \"rust\" : \n importFork.out((\"use \" + codeStr) + \";\", true);\n break;\n case \"java7\" : \n importFork.out((\"import \" + codeStr) + \";\", true);\n break;\n case \"cpp\" : \n importFork.out(\"#include \" + codeStr, true);\n break;\n default: \n importFork.out(\"import \" + codeStr, true);\n break;\n };\n };\n if ( appCtx.targetLangName == \"go\" ) {\n importFork.indent(-1);\n importFork.out(\")\", true);\n }\n if ( appCtx.hasCompilerSetting(\"classdoc\") ) {\n const gen : RangerDocGenerator = new RangerDocGenerator();\n await gen.createClassDoc(root, appCtx, wr);\n }\n if ( appCtx.hasCompilerSetting(\"operatordoc\") ) {\n const gen_1 : RangerDocGenerator = new RangerDocGenerator();\n await gen_1.createOperatorDoc(root, appCtx, wr);\n }\n VirtualCompiler.displayCompilerErrors(appCtx);\n const ppList_1 : Array<string> = appCtx.findPluginsFor(\"postprocess\");\n await operatorsOf.forEach_12(ppList_1, ((item : string, index : number):void => { \n try {\n const plugin_2 : any = require( item );\n ( (new plugin_2.Plugin () )[\"postprocess\"] )( root, appCtx , wr );\n } catch(e) {\n }\n }));\n res.target_dir = the_target_dir;\n res.fileSystem = fileSystem;\n res.ctx = appCtx;\n } catch(e) {\n console.log(( e.toString()));\n if ( typeof(lcc.lastProcessedNode) != \"undefined\" ) {\n console.log(\"Got compiler error close to\");\n console.log(lcc.lastProcessedNode.getLineAsString());\n return res;\n }\n if ( typeof(flowParser.lastProcessedNode) != \"undefined\" ) {\n console.log(\"Got compiler error close to\");\n console.log(flowParser.lastProcessedNode.getLineAsString());\n return res;\n }\n console.log(\"Got unknown compiler error\");\n }\n return res;\n };\n // typescript static \n static async create_env () : Promise<void> {\n const env : InputEnv = new InputEnv();\n env.filesystem = new InputFSFolder();\n env.commandLine = new CmdParams();\n operatorsOf_3.createc95file_4(env.filesystem, \"Lang.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \".\" + '/' + \"Lang.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"stdlib.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"stdlib.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"stdops.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"stdops.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"Timers.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"Timers.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"DOMLib.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"DOMLib.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"Ajax.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"Ajax.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"Crypto.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"Crypto.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"Engine3D.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"Engine3D.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"Storage.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"Storage.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"JSON.clj\", (await (new Promise<string>(resolve => { require('fs').readFile( \"../lib/\" + '/' + \"JSON.clj\" , 'utf8', (err,data)=>{ resolve(data) }) } ))));\n operatorsOf_3.createc95file_4(env.filesystem, \"hello_world.clj\", \"\\r\\n\\r\\nclass tester {\\r\\n static fn main () {\\r\\n print \\\"Hello World!\\\"\\r\\n }\\r\\n}\\r\\n\\r\\n \");\n require(\"fs\").writeFileSync( \".\" + \"/\" + \"compileEnv.js\", \"window._Ranger_compiler_environment_ = \" + (JSON.stringify(env.toDictionary())));\n };\n // typescript static \n static displayCompilerErrors (appCtx : RangerAppWriterContext) : void {\n const cons : ColorConsole = new ColorConsole();\n for ( let i = 0; i < appCtx.compilerErrors.length; i++) {\n var e = appCtx.compilerErrors[i];\n const line_index : number = e.node.getLine();\n cons.out(\"gray\", (e.node.getFilename() + \" Line: \") + (1 + line_index));\n cons.out(\"gray\", e.description);\n cons.out(\"gray\", e.node.getLineString(line_index));\n cons.out(\"\", e.node.getColStartString() + \"^-------\");\n };\n };\n // typescript static \n static displayParserErrors (appCtx : RangerAppWriterContext) : void {\n if ( (appCtx.parserErrors.length) == 0 ) {\n console.log(\"no language test errors\");\n return;\n }\n console.log(\"LANGUAGE TEST ERRORS:\");\n for ( let i = 0; i < appCtx.parserErrors.length; i++) {\n var e = appCtx.parserErrors[i];\n const line_index : number = e.node.getLine();\n console.log((e.node.getFilename() + \" Line: \") + (1 + line_index));\n console.log(e.description);\n console.log(e.node.getLineString(line_index));\n };\n };\n}\nexport class CompilerInterface {\n constructor() {\n }\n // typescript static \n static create_env () : InputEnv {\n const env : InputEnv = new InputEnv();\n env.use_real = true;\n env.commandLine = new CmdParams();\n env.commandLine.collect();\n return env;\n };\n}\nclass operatorsOf {\n constructor() {\n }\n // typescript static \n static forEach_2 (__self : Array<InputFSFolder>, cb : (item:InputFSFolder, index:number) => void) : void {\n for ( let i = 0; i < __self.length; i++) {\n var it = __self[i];\n cb(it, i);\n };\n };\n // typescript static \n static filter_6 (__self : Array<InputFSFile>, cb : (item:InputFSFile, index:number) => boolean) : Array<InputFSFile> {\n let res_1 : Array<InputFSFile> = [];\n for ( let i_1 = 0; i_1 < __self.length; i_1++) {\n var it_1 = __self[i_1];\n if ( cb(it_1, i_1) ) {\n res_1.push(it_1);\n }\n };\n return res_1;\n };\n // typescript static \n static filter_7 (__self : Array<InputFSFolder>, cb : (item:InputFSFolder, index:number) => boolean) : Array<InputFSFolder> {\n let res_2 : Array<InputFSFolder> = [];\n for ( let i_2 = 0; i_2 < __self.length; i_2++) {\n var it_2 = __self[i_2];\n if ( cb(it_2, i_2) ) {\n res_2.push(it_2);\n }\n };\n return res_2;\n };\n // typescript static \n static forEach_10 (__self : Array<InputFSFile>, cb : (item:InputFSFile, index:number) => void) : void {\n for ( let i_4 = 0; i_4 < __self.length; i_4++) {\n var it_3 = __self[i_4];\n cb(it_3, i_4);\n };\n };\n // typescript static \n static forEach_11 (__self : Array<RangerAppParamDesc>, cb : (item:RangerAppParamDesc, index:number) => void) : void {\n for ( let i_5 = 0; i_5 < __self.length; i_5++) {\n var it_4 = __self[i_5];\n cb(it_4, i_5);\n };\n };\n // typescript static \n static async forEach_12 (__self : Array<string>, cb : (item:string, index:number) => void) : Promise<void> {\n for ( let i_6 = 0; i_6 < __self.length; i_6++) {\n var it_5 = __self[i_6];\n await cb(it_5, i_6);\n };\n };\n // typescript static \n static async forEach_15 (__self : Array<CodeNode>, cb : (item:CodeNode, index:number) => void) : Promise<void> {\n for ( let i_8 = 0; i_8 < __self.length; i_8++) {\n var it_6 = __self[i_8];\n await cb(it_6, i_8);\n };\n };\n // typescript static \n static async forEach_17 (__self : Array<RangerAppOperatorDesc>, cb : (item:RangerAppOperatorDesc, index:number) => void) : Promise<void> {\n for ( let i_10 = 0; i_10 < __self.length; i_10++) {\n var it_7 = __self[i_10];\n await cb(it_7, i_10);\n };\n };\n // typescript static \n static clone_18 (__self : Array<RangerAppOperatorDesc>) : Array<RangerAppOperatorDesc> {\n let res_5 : Array<RangerAppOperatorDesc> = [];\n for ( let i_11 = 0; i_11 < __self.length; i_11++) {\n var it_8 = __self[i_11];\n res_5.push(it_8);\n };\n return res_5;\n };\n // typescript static \n static async forEach_29 (__self : Array<RangerAppFunctionDesc>, cb : (item:RangerAppFunctionDesc, index:number) => void) : Promise<void> {\n for ( let i_15 = 0; i_15 < __self.length; i_15++) {\n var it_9 = __self[i_15];\n await cb(it_9, i_15);\n };\n };\n // typescript static \n static forEach_31 (__self : Array<RangerAppClassDesc>, cb : (item:RangerAppClassDesc, index:number) => void) : void {\n for ( let i_17 = 0; i_17 < __self.length; i_17++) {\n var it_10 = __self[i_17];\n cb(it_10, i_17);\n };\n };\n // typescript static \n static filter_32 (__self : Array<RangerAppFunctionDesc>, cb : (item:RangerAppFunctionDesc, index:number) => boolean) : Array<RangerAppFunctionDesc> {\n let res_6 : Array<RangerAppFunctionDesc> = [];\n for ( let i_18 = 0; i_18 < __self.length; i_18++) {\n var it_11 = __self[i_18];\n if ( cb(it_11, i_18) ) {\n res_6.push(it_11);\n }\n };\n return res_6;\n };\n // typescript static \n static filter_36 (__self : Array<CodeNode>, cb : (item:CodeNode, index:number) => boolean) : Array<CodeNode> {\n let res_7 : Array<CodeNode> = [];\n for ( let i_19 = 0; i_19 < __self.length; i_19++) {\n var it_12 = __self[i_19];\n if ( cb(it_12, i_19) ) {\n res_7.push(it_12);\n }\n };\n return res_7;\n };\n // typescript static \n static forEach_37 (__self : Array<RangerCompilerMessage>, cb : (item:RangerCompilerMessage, index:number) => void) : void {\n for ( let i_20 = 0; i_20 < __self.length; i_20++) {\n var it_13 = __self[i_20];\n cb(it_13, i_20);\n };\n };\n // typescript static \n static map_44 (__self : Array<RangerAppParamDesc>, cb : (item:RangerAppParamDesc, index:number) => CodeNode) : Array<CodeNode> {\n /** unused: const __len : number = __self.length **/ \n let res_8 : Array<CodeNode> = [];\n for ( let i_23 = 0; i_23 < __self.length; i_23++) {\n var it_14 = __self[i_23];\n res_8.push(cb(it_14, i_23));\n };\n return res_8;\n };\n // typescript static \n static map_45 (__self : Array<CodeNode>, cb : (item:CodeNode, index:number) => CodeNode) : Array<CodeNode> {\n /** unused: const len_1 : number = __self.length **/ \n let res_9 : Array<CodeNode> = [];\n for ( let i_24 = 0; i_24 < __self.length; i_24++) {\n var it_15 = __self[i_24];\n res_9.push(cb(it_15, i_24));\n };\n return res_9;\n };\n // typescript static \n static clone_46 (__self : Array<CodeNode>) : Array<CodeNode> {\n let res_10 : Array<CodeNode> = [];\n for ( let i_25 = 0; i_25 < __self.length; i_25++) {\n var it_16 = __self[i_25];\n res_10.push(it_16);\n };\n return res_10;\n };\n // typescript static \n static map_47 (__self : Array<CodeNode>, cb : (item:CodeNode, index:number) => string) : Array<string> {\n /** unused: const len_2 : number = __self.length **/ \n let res_11 : Array<string> = [];\n for ( let i_26 = 0; i_26 < __self.length; i_26++) {\n var it_17 = __self[i_26];\n res_11.push(cb(it_17, i_26));\n };\n return res_11;\n };\n // typescript static \n static filter_50 (__self : Array<RangerAppParamDesc>, cb : (item:RangerAppParamDesc, index:number) => boolean) : Array<RangerAppParamDesc> {\n let res_12 : Array<RangerAppParamDesc> = [];\n for ( let i_27 = 0; i_27 < __self.length; i_27++) {\n var it_18 = __self[i_27];\n if ( cb(it_18, i_27) ) {\n res_12.push(it_18);\n }\n };\n return res_12;\n };\n // typescript static \n static filter_52 (__self : Array<RangerAppOperatorDesc>, cb : (item:RangerAppOperatorDesc, index:number) => boolean) : Array<RangerAppOperatorDesc> {\n let res_13 : Array<RangerAppOperatorDesc> = [];\n for ( let i_28 = 0; i_28 < __self.length; i_28++) {\n var it_19 = __self[i_28];\n if ( cb(it_19, i_28) ) {\n res_13.push(it_19);\n }\n };\n return res_13;\n };\n // typescript static \n static groupBy_53 (__self : Array<RangerAppOperatorDesc>, cb : (item:RangerAppOperatorDesc) => string) : Array<RangerAppOperatorDesc> {\n let res_14 : Array<RangerAppOperatorDesc> = [];\n let mapper : {[key:string]:boolean} = {};\n for ( let i_29 = 0; i_29 < __self.length; i_29++) {\n var it_20 = __self[i_29];\n const key : string = cb(it_20);\n if ( false == (( typeof(mapper[key] ) != \"undefined\" && mapper.hasOwnProperty(key) )) ) {\n res_14.push(it_20);\n mapper[key] = true;\n }\n };\n return res_14;\n };\n // typescript static \n static clone_56 (__self : Array<string>) : Array<string> {\n let res_15 : Array<string> = [];\n for ( let i_31 = 0; i_31 < __self.length; i_31++) {\n var it_21 = __self[i_31];\n res_15.push(it_21);\n };\n return res_15;\n };\n}\nclass operatorsOfInputFSFolder_3 {\n constructor() {\n }\n // typescript static \n static createc95file_4 (fs : InputFSFolder, name : string, data : string) : InputFSFile {\n const f_1 : InputFSFile = operatorsOf_3.createc95file_5(fs, name);\n if ( (typeof(f_1) !== \"undefined\" && f_1 != null ) ) {\n f_1.data = data;\n }\n return f_1;\n };\n}\nclass operatorsOf_3 {\n constructor() {\n }\n // typescript static \n static createc95file_5 (fs : InputFSFolder, name : string) : InputFSFile {\n let res : InputFSFile ;\n const files : Array<InputFSFile> = operatorsOf.filter_6(fs.files, ((item : InputFSFile, index : number):boolean => { \n return item.name == name;\n }));\n const folders : Array<InputFSFolder> = operatorsOf.filter_7(fs.folders, ((item : InputFSFolder, index : number):boolean => { \n return item.name == name;\n }));\n if ( false == ((folders.length) > 0) ) {\n if ( (files.length) > 0 ) {\n res = files[0];\n } else {\n const f : InputFSFile = new InputFSFile();\n f.name = name;\n fs.files.push(f);\n res = f;\n }\n }\n return res;\n };\n // typescript static \n static createc95file_4 (fs : InputFSFolder, name : string, data : string) : InputFSFile {\n const f_2 : InputFSFile = operatorsOf_3.createc95file_5(fs, name);\n if ( (typeof(f_2) !== \"undefined\" && f_2 != null ) ) {\n f_2.data = data;\n }\n return f_2;\n };\n // typescript static \n static createc95folder_5 (fs : InputFSFolder, name : string) : InputFSFolder {\n let res_3 : InputFSFolder ;\n const files_1 : Array<InputFSFile> = operatorsOf.filter_6(fs.files, ((item : InputFSFile, index : number):boolean => { \n return item.name == name;\n }));\n const folders_1 : Array<InputFSFolder> = operatorsOf.filter_7(fs.folders, ((item : InputFSFolder, index : number):boolean => { \n return item.name == name;\n }));\n if ( false == ((files_1.length) > 0) ) {\n if ( (folders_1.length) > 0 ) {\n res_3 = folders_1[0];\n } else {\n const f_3 : InputFSFolder = new InputFSFolder();\n f_3.name = name;\n fs.folders.push(f_3);\n res_3 = f_3;\n }\n }\n return res_3;\n };\n}\nclass operatorsOfInputEnv_8 {\n constructor() {\n }\n // typescript static \n static async readc95file_9 (env : InputEnv, path : string, name : string) : Promise<string> {\n if ( env.use_real ) {\n return await (new Promise<string>(resolve => { require('fs').readFile( path + '/' + name , 'utf8', (err,data)=>{ resolve(data) }) } ));\n }\n let resStr : string ;\n const f_4 : InputFSFile = operatorsOf_8.findc95file_9(env, path, name);\n if ( (typeof(f_4) !== \"undefined\" && f_4 != null ) ) {\n resStr = f_4.data;\n }\n return resStr;\n };\n}\nclass operatorsOf_8 {\n constructor() {\n }\n // typescript static \n static findc95file_9 (env : InputEnv, path : string, name : string) : InputFSFile {\n let res_4 : InputFSFile ;\n if ( path == \"/\" ) {\n const files_2 : Array<InputFSFile> = operatorsOf.filter_6(env.filesystem.files, ((item : InputFSFile, index : number):boolean => { \n return item.name == name;\n }));\n if ( (files_2.length) > 0 ) {\n res_4 = files_2[0];\n }\n return res_4;\n }\n const parts : Array<string> = path.split(\"/\");\n let fold : InputFSFolder = env.filesystem;\n let i_3 : number = 0;\n while (((parts.length) > i_3) && ((typeof(fold) !== \"undefined\" && fold != null ) )) {\n const pathName : string = parts[i_3];\n if ( (pathName.length) > 0 ) {\n const folder : Array<InputFSFolder> = operatorsOf.filter_7(fold.folders, ((item : InputFSFolder, index : number):boolean => { \n return item.name == pathName;\n }));\n if ( (folder.length) > 0 ) {\n fold = folder[0];\n } else {\n return res_4;\n }\n }\n i_3 = i_3 + 1;\n };\n if ( (typeof(fold) !== \"undefined\" && fold != null ) ) {\n const files_3 : Array<InputFSFile> = operatorsOf.filter_6(fold.files, ((item : InputFSFile, index : number):boolean => { \n return item.name == name;\n }));\n if ( (files_3.length) > 0 ) {\n res_4 = files_3[0];\n }\n }\n return res_4;\n };\n // typescript static \n static async readc95file_9 (env : InputEnv, path : string, name : string) : Promise<string> {\n if ( env.use_real ) {\n return await (new Promise<string>(resolve => { require('fs').readFile( path + '/' + name , 'utf8', (err,data)=>{ resolve(data) }) } ));\n }\n let resStr_1 : string ;\n const f_5 : InputFSFile = operatorsOf_8.findc95file_9(env, path, name);\n if ( (typeof(f_5) !== \"undefined\" && f_5 != null ) ) {\n resStr_1 = f_5.data;\n }\n return resStr_1;\n };\n // typescript static \n static filec95exists_9 (env : InputEnv, path : string, name : string) : boolean {\n if ( env.use_real ) {\n return require(\"fs\").existsSync(path + \"/\" + name );\n }\n const fo : InputFSFile = operatorsOf_8.findc95file_9(env, path, name);\n return (typeof(fo) !== \"undefined\" && fo != null ) ;\n };\n // typescript static \n static installc95directory_51 (env : InputEnv) : string {\n if ( env.use_real ) {\n return __dirname;\n }\n return \"/\";\n };\n // typescript static \n static envc95var_54 (env : InputEnv, name : string) : string {\n if ( env.use_real ) {\n if ( ( typeof(env.envVars[name] ) != \"undefined\" && env.envVars.hasOwnProperty(name) ) ) {\n return (env.envVars[name]);\n }\n const ev : string = process.env[name];\n if ( (typeof(ev) !== \"undefined\" && ev != null ) ) {\n return ev;\n }\n return \"\";\n }\n return ((typeof((env.envVars[name])) !== \"undefined\" && (env.envVars[name]) != null ) ) ? ((env.envVars[name])) : \"\";\n };\n // typescript static \n static currentc95directory_51 (env : InputEnv) : string {\n if ( env.use_real ) {\n return process.cwd();\n }\n return \"/\";\n };\n}\nclass operatorsOf_13 {\n constructor() {\n }\n // typescript static \n static async forEach_14 (__self : {[key:string]:RangerAppClassDesc}, cb : (item:RangerAppClassDesc, index:string) => void) : Promise<void> {\n const list : Array<string> = Object.keys(__self);\n for ( let i_7 = 0; i_7 < list.length; i_7++) {\n var kk = list[i_7];\n const value : RangerAppClassDesc = (__self[kk]);\n await cb(value, kk);\n };\n };\n // typescript static \n static async forEach_16 (__self : {[key:string]:RangerOperatorList}, cb : (item:RangerOperatorList, index:string) => void) : Promise<void> {\n const list_1 : Array<string> = Object.keys(__self);\n for ( let i_9 = 0; i_9 < list_1.length; i_9++) {\n var kk_1 = list_1[i_9];\n const value_1 : RangerOperatorList = (__self[kk_1]);\n await cb(value_1, kk_1);\n };\n };\n // typescript static \n static async forEach_19 (__self : {[key:string]:OpList}, cb : (item:OpList, index:string) => void) : Promise<void> {\n const list_2 : Array<string> = Object.keys(__self);\n for ( let i_12 = 0; i_12 < list_2.length; i_12++) {\n var kk_2 = list_2[i_12];\n const value_2 : OpList = (__self[kk_2]);\n await cb(value_2, kk_2);\n };\n };\n // typescript static \n static async forEach_20 (__self : {[key:string]:RangerAppParamDesc}, cb : (item:RangerAppParamDesc, index:string) => void) : Promise<void> {\n const list_3 : Array<string> = Object.keys(__self);\n for ( let i_13 = 0; i_13 < list_3.length; i_13++) {\n var kk_3 = list_3[i_13];\n const value_3 : RangerAppParamDesc = (__self[kk_3]);\n await cb(value_3, kk_3);\n };\n };\n // typescript static \n static async forEach_25 (__self : {[key:string]:CodeNode}, cb : (item:CodeNode, index:string) => void) : Promise<void> {\n const list_4 : Array<string> = Object.keys(__self);\n for ( let i_14 = 0; i_14 < list_4.length; i_14++) {\n var kk_4 = list_4[i_14];\n const value_4 : CodeNode = (__self[kk_4]);\n await cb(value_4, kk_4);\n };\n };\n // typescript static \n static async forEach_30 (__self : {[key:string]:RangerAppMethodVariants}, cb : (item:RangerAppMethodVariants, index:string) => void) : Promise<void> {\n const list_5 : Array<string> = Object.keys(__self);\n for ( let i_16 = 0; i_16 < list_5.length; i_16++) {\n var kk_5 = list_5[i_16];\n const value_5 : RangerAppMethodVariants = (__self[kk_5]);\n await cb(value_5, kk_5);\n };\n };\n // typescript static \n static forEach_40 (__self : {[key:string]:string}, cb : (item:string, index:string) => void) : void {\n const list_6 : Array<string> = Object.keys(__self);\n for ( let i_22 = 0; i_22 < list_6.length; i_22++) {\n var kk_6 = list_6[i_22];\n const value_6 : string = (__self[kk_6]);\n cb(value_6, kk_6);\n };\n };\n // typescript static \n static forEach_55 (__self : {[key:string]:boolean}, cb : (item:boolean, index:string) => void) : void {\n const list_7 : Array<string> = Object.keys(__self);\n for ( let i_30 = 0; i_30 < list_7.length; i_30++) {\n var kk_7 = list_7[i_30];\n const value_7 : boolean = (__self[kk_7]);\n cb(value_7, kk_7);\n };\n };\n}\nclass operatorsOfRangerAppWriterContext_21 {\n constructor() {\n }\n // typescript static \n static getTargetLang_22 (__self : RangerAppWriterContext) : string {\n if ( (__self.targetLangName.length) > 0 ) {\n return __self.targetLangName;\n }\n if ( typeof(__self.parent) != \"undefined\" ) {\n return operatorsOf_21.getTargetLang_22((__self.parent));\n }\n return \"ranger\";\n };\n}\nclass operatorsOf_21 {\n constructor() {\n }\n // typescript static \n static getTargetLang_22 (__self : RangerAppWriterContext) : string {\n if ( (__self.targetLangName.length) > 0 ) {\n return __self.targetLangName;\n }\n if ( typeof(__self.parent) != \"undefined\" ) {\n return operatorsOf_21.getTargetLang_22((__self.parent));\n }\n return \"ranger\";\n };\n // typescript static \n static addUsage_28 (__self : RangerAppWriterContext, cn : CodeNode) : void {\n const ctx : RangerAppWriterContext = __self;\n const currM : RangerAppFunctionDesc = ctx.getCurrentMethod();\n if ( ctx.isDefinedClass(cn.type_name) ) {\n const cl : RangerAppClassDesc = ctx.findClass(cn.type_name);\n currM.addClassUsage(cl, ctx);\n }\n if ( ctx.isDefinedClass(cn.eval_type_name) ) {\n const cl_1 : RangerAppClassDesc = ctx.findClass(cn.eval_type_name);\n currM.addClassUsage(cl_1, ctx);\n }\n if ( ctx.isDefinedClass(cn.eval_array_type) ) {\n const cl_2 : RangerAppClassDesc = ctx.findClass(cn.eval_array_type);\n currM.addClassUsage(cl_2, ctx);\n }\n };\n // typescript static \n static getActiveTransaction_22 (c : RangerAppWriterContext) : ContextTransaction {\n let rValue : ContextTransaction ;\n if ( (c.activeTransaction.length) > 0 ) {\n rValue = c.activeTransaction[((c.activeTransaction.length) - 1)];\n } else {\n if ( (typeof(c.parent) !== \"undefined\" && c.parent != null ) ) {\n return operatorsOf_21.getActiveTransaction_22((c.parent));\n }\n }\n return rValue;\n };\n // typescript static \n static createc95var_48 (__self : RangerAppWriterContext, name : string, type_name : string) : RangerAppParamDesc {\n const fieldNode : CodeNode = CodeNode.vref2(name, type_name);\n fieldNode.value_type = fieldNode.typeNameAsType(__self);\n const p_2 : RangerAppParamDesc = new RangerAppParamDesc();\n p_2.name = name;\n p_2.value_type = fieldNode.value_type;\n p_2.node = fieldNode;\n p_2.nameNode = fieldNode;\n p_2.is_optional = false;\n __self.defineVariable(p_2.name, p_2);\n return p_2;\n };\n // typescript static \n static createc95var_49 (__self : RangerAppWriterContext, name : string, usingNode : CodeNode) : RangerAppParamDesc {\n /** unused: const fieldNode_1 : CodeNode = CodeNode.vref1(name) **/ \n const p_3 : RangerAppParamDesc = new RangerAppParamDesc();\n p_3.name = name;\n p_3.value_type = usingNode.value_type;\n p_3.node = usingNode;\n p_3.nameNode = usingNode;\n p_3.is_optional = false;\n __self.defineVariable(p_3.name, p_3);\n return p_3;\n };\n}\nclass operatorsOfchar_23 {\n constructor() {\n }\n // typescript static \n static isc95notc95limiter_24 (c : number) : boolean {\n return (((((c > 32) && (c != (59))) && (c != (41))) && (c != (40))) && (c != (125))) && (c != (44));\n };\n}\nclass operatorsOfRangerFlowParser_26 {\n constructor() {\n }\n // typescript static \n static async EnterVarDef_27 (__self : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( ctx.isInMethod() ) {\n if ( (node.children.length) < 2 ) {\n ctx.addError(node, \"invalid variable definition\");\n return;\n }\n const tName : CodeNode = node.getSecond();\n await __self.CheckTypeAnnotationOf(tName, ctx, wr);\n if ( tName.expression ) {\n node.children.splice(1, 1);\n await operatorsOf.forEach_15(tName.children, ((item : CodeNode, index : number):void => { \n if ( index == 1 ) {\n if ( item.expression ) {\n node.children.push(((item.children[0])).copy());\n } else {\n node.children.push(item.copy());\n }\n }\n if ( index > 1 ) {\n node.children.push(item.copy());\n }\n }));\n }\n if ( (node.children.length) > 3 ) {\n ctx.addError(node, \"invalid variable definition\");\n return;\n }\n const cn : CodeNode = node.children[1];\n const p : RangerAppParamDesc = new RangerAppParamDesc();\n let defaultArg : CodeNode ;\n let is_immutable : boolean = false;\n cn.definedTypeClass = TFactory.new_def_signature(cn, ctx, wr);\n if ( (node.children.length) == 2 ) {\n if ( (cn.value_type != 6) && (cn.value_type != 7) ) {\n if ( false == cn.hasFlag(\"unwrap\") ) {\n cn.setFlag(\"optional\");\n }\n }\n }\n if ( (cn.vref.length) == 0 ) {\n ctx.addError(node, \"invalid variable definition\");\n }\n if ( cn.hasFlag(\"weak\") ) {\n p.changeStrength(0, 1, node);\n } else {\n p.changeStrength(1, 1, node);\n }\n node.hasVarDef = true;\n if ( (node.children.length) > 2 ) {\n p.init_cnt = 1;\n p.def_value = node.children[2];\n p.is_optional = false;\n defaultArg = node.children[2];\n ctx.setInExpr();\n await __self.WalkNode(defaultArg, ctx, wr);\n ctx.unsetInExpr();\n if ( defaultArg.hasFlag(\"optional\") ) {\n cn.setFlag(\"optional\");\n }\n if ( defaultArg.hasFlag(\"immutable\") ) {\n cn.setFlag(\"immutable\");\n }\n if ( defaultArg.hasParamDesc ) {\n const paramDesc : RangerAppParamDesc = defaultArg.paramDesc;\n if ( (typeof(paramDesc.propertyClass) !== \"undefined\" && paramDesc.propertyClass != null ) ) {\n if ( paramDesc.propertyClass.nameNode.hasFlag(\"immutable\") ) {\n if ( (defaultArg.eval_type == 6) || (defaultArg.eval_type == 7) ) {\n is_immutable = true;\n }\n }\n }\n if ( paramDesc.is_immutable ) {\n is_immutable = true;\n }\n }\n if ( defaultArg.eval_type == 6 ) {\n node.op_index = 1;\n }\n if ( cn.value_type == 13 ) {\n cn.eval_type_name = defaultArg.ns[0];\n }\n if ( cn.value_type == 14 ) {\n if ( (defaultArg.eval_type != 3) && (defaultArg.eval_type != 14) ) {\n ctx.addError(defaultArg, \"Char should be assigned char or integer value --> \" + defaultArg.getCode());\n } else {\n defaultArg.eval_type = 14;\n }\n }\n } else {\n if ( ((cn.value_type != 7) && (cn.value_type != 6)) && (false == cn.hasFlag(\"optional\")) ) {\n if ( cn.hasFlag(\"unwrap\") ) {\n } else {\n cn.setFlag(\"optional\");\n }\n }\n }\n if ( (node.children.length) > 2 ) {\n if ( ((cn.type_name.length) == 0) && ((cn.array_type.length) == 0) ) {\n cn.inferDefTypeFromValue(node);\n if ( cn.value_type == 17 ) {\n cn.eval_type = 17;\n }\n }\n }\n ctx.hadValidType(cn);\n cn.defineNodeTypeTo(cn, ctx);\n p.name = cn.vref;\n if ( p.value_type == 0 ) {\n if ( (0 == (cn.type_name.length)) && ((typeof(defaultArg) !== \"undefined\" && defaultArg != null ) ) ) {\n p.value_type = defaultArg.eval_type;\n cn.type_name = defaultArg.eval_type_name;\n cn.eval_type_name = defaultArg.eval_type_name;\n cn.value_type = defaultArg.eval_type;\n }\n } else {\n p.value_type = cn.value_type;\n }\n p.node = node;\n p.nameNode = cn;\n p.varType = 5;\n if ( is_immutable ) {\n p.is_immutable = is_immutable;\n }\n if ( cn.has_vref_annotation ) {\n ctx.log(node, \"ann\", \"At a variable -> Found has_vref_annotation annotated reference \");\n const ann : CodeNode = cn.vref_annotation;\n if ( (ann.children.length) > 0 ) {\n const fc : CodeNode = ann.children[0];\n ctx.log(node, \"ann\", ((\"value of first annotation \" + fc.vref) + \" and variable name \") + cn.vref);\n }\n }\n if ( cn.has_type_annotation ) {\n ctx.log(node, \"ann\", \"At a variable -> Found annotated reference \");\n const ann_1 : CodeNode = cn.type_annotation;\n if ( (ann_1.children.length) > 0 ) {\n const fc_1 : CodeNode = ann_1.children[0];\n ctx.log(node, \"ann\", ((\"value of first annotation \" + fc_1.vref) + \" and variable name \") + cn.vref);\n }\n }\n cn.hasParamDesc = true;\n cn.ownParamDesc = p;\n cn.paramDesc = p;\n node.hasParamDesc = true;\n node.paramDesc = p;\n cn.eval_type = cn.typeNameAsType(ctx);\n cn.eval_type_name = cn.type_name;\n if ( (node.children.length) > 2 ) {\n if ( (defaultArg.register_name.length) > 0 ) {\n const rr : RangerAppParamDesc = ctx.getVariableDef(defaultArg.register_name);\n if ( (typeof(rr.nameNode) !== \"undefined\" && rr.nameNode != null ) ) {\n if ( (typeof(rr.nameNode.expression_value) !== \"undefined\" && rr.nameNode.expression_value != null ) ) {\n cn.expression_value = rr.nameNode.expression_value.copy();\n }\n }\n }\n if ( defaultArg.eval_type == 17 ) {\n if ( (typeof(defaultArg.expression_value) !== \"undefined\" && defaultArg.expression_value != null ) ) {\n cn.expression_value = defaultArg.expression_value.copy();\n } else {\n if ( defaultArg.hasParamDesc ) {\n if ( ((typeof(defaultArg.paramDesc.nameNode) !== \"undefined\" && defaultArg.paramDesc.nameNode != null ) ) && ((typeof(defaultArg.paramDesc.nameNode.expression_value) !== \"undefined\" && defaultArg.paramDesc.nameNode.expression_value != null ) ) ) {\n cn.eval_type = 17;\n cn.expression_value = defaultArg.paramDesc.nameNode.expression_value.copy();\n }\n }\n }\n }\n if ( (typeof(defaultArg) !== \"undefined\" && defaultArg != null ) ) {\n await __self.convertToUnion(cn.eval_type_name, defaultArg, ctx, wr);\n if ( (typeof(defaultArg.evalTypeClass) !== \"undefined\" && defaultArg.evalTypeClass != null ) ) {\n cn.evalTypeClass = defaultArg.evalTypeClass;\n }\n }\n if ( cn.eval_type != defaultArg.eval_type ) {\n const b1 : boolean = (cn.eval_type == 14) && (defaultArg.eval_type == 3);\n const b2 : boolean = (cn.eval_type == 3) && (defaultArg.eval_type == 14);\n if ( false == (b1 || b2) ) {\n ctx.addError(node, ((\"Variable was assigned an incompatible type. Types were \" + cn.eval_type) + \" vs \") + defaultArg.eval_type);\n }\n }\n } else {\n p.is_optional = true;\n }\n ctx.defineVariable(p.name, p);\n if ( (node.children.length) > 2 ) {\n __self.shouldBeEqualTypes(cn, p.def_value, ctx, \"Variable was assigned an incompatible type.\");\n }\n operatorsOf_21.addUsage_28(ctx, cn);\n } else {\n const cn_1 : CodeNode = node.children[1];\n cn_1.eval_type = cn_1.typeNameAsType(ctx);\n cn_1.eval_type_name = cn_1.type_name;\n if ( (node.children.length) > 2 ) {\n __self.shouldBeEqualTypes(node.children[1], node.children[2], ctx, \"Variable was assigned an incompatible type.\");\n }\n }\n };\n}\nclass operatorsOf_26 {\n constructor() {\n }\n // typescript static \n static async EnterVarDef_27 (__self : RangerFlowParser, node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<void> {\n if ( ctx.isInMethod() ) {\n if ( (node.children.length) < 2 ) {\n ctx.addError(node, \"invalid variable definition\");\n return;\n }\n const tName_1 : CodeNode = node.getSecond();\n await __self.CheckTypeAnnotationOf(tName_1, ctx, wr);\n if ( tName_1.expression ) {\n node.children.splice(1, 1);\n await operatorsOf.forEach_15(tName_1.children, ((item : CodeNode, index : number):void => { \n if ( index == 1 ) {\n if ( item.expression ) {\n node.children.push(((item.children[0])).copy());\n } else {\n node.children.push(item.copy());\n }\n }\n if ( index > 1 ) {\n node.children.push(item.copy());\n }\n }));\n }\n if ( (node.children.length) > 3 ) {\n ctx.addError(node, \"invalid variable definition\");\n return;\n }\n const cn_2 : CodeNode = node.children[1];\n const p_1 : RangerAppParamDesc = new RangerAppParamDesc();\n let defaultArg_1 : CodeNode ;\n let is_immutable_1 : boolean = false;\n cn_2.definedTypeClass = TFactory.new_def_signature(cn_2, ctx, wr);\n if ( (node.children.length) == 2 ) {\n if ( (cn_2.value_type != 6) && (cn_2.value_type != 7) ) {\n if ( false == cn_2.hasFlag(\"unwrap\") ) {\n cn_2.setFlag(\"optional\");\n }\n }\n }\n if ( (cn_2.vref.length) == 0 ) {\n ctx.addError(node, \"invalid variable definition\");\n }\n if ( cn_2.hasFlag(\"weak\") ) {\n p_1.changeStrength(0, 1, node);\n } else {\n p_1.changeStrength(1, 1, node);\n }\n node.hasVarDef = true;\n if ( (node.children.length) > 2 ) {\n p_1.init_cnt = 1;\n p_1.def_value = node.children[2];\n p_1.is_optional = false;\n defaultArg_1 = node.children[2];\n ctx.setInExpr();\n await __self.WalkNode(defaultArg_1, ctx, wr);\n ctx.unsetInExpr();\n if ( defaultArg_1.hasFlag(\"optional\") ) {\n cn_2.setFlag(\"optional\");\n }\n if ( defaultArg_1.hasFlag(\"immutable\") ) {\n cn_2.setFlag(\"immutable\");\n }\n if ( defaultArg_1.hasParamDesc ) {\n const paramDesc_1 : RangerAppParamDesc = defaultArg_1.paramDesc;\n if ( (typeof(paramDesc_1.propertyClass) !== \"undefined\" && paramDesc_1.propertyClass != null ) ) {\n if ( paramDesc_1.propertyClass.nameNode.hasFlag(\"immutable\") ) {\n if ( (defaultArg_1.eval_type == 6) || (defaultArg_1.eval_type == 7) ) {\n is_immutable_1 = true;\n }\n }\n }\n if ( paramDesc_1.is_immutable ) {\n is_immutable_1 = true;\n }\n }\n if ( defaultArg_1.eval_type == 6 ) {\n node.op_index = 1;\n }\n if ( cn_2.value_type == 13 ) {\n cn_2.eval_type_name = defaultArg_1.ns[0];\n }\n if ( cn_2.value_type == 14 ) {\n if ( (defaultArg_1.eval_type != 3) && (defaultArg_1.eval_type != 14) ) {\n ctx.addError(defaultArg_1, \"Char should be assigned char or integer value --> \" + defaultArg_1.getCode());\n } else {\n defaultArg_1.eval_type = 14;\n }\n }\n } else {\n if ( ((cn_2.value_type != 7) && (cn_2.value_type != 6)) && (false == cn_2.hasFlag(\"optional\")) ) {\n if ( cn_2.hasFlag(\"unwrap\") ) {\n } else {\n cn_2.setFlag(\"optional\");\n }\n }\n }\n if ( (node.children.length) > 2 ) {\n if ( ((cn_2.type_name.length) == 0) && ((cn_2.array_type.length) == 0) ) {\n cn_2.inferDefTypeFromValue(node);\n if ( cn_2.value_type == 17 ) {\n cn_2.eval_type = 17;\n }\n }\n }\n ctx.hadValidType(cn_2);\n cn_2.defineNodeTypeTo(cn_2, ctx);\n p_1.name = cn_2.vref;\n if ( p_1.value_type == 0 ) {\n if ( (0 == (cn_2.type_name.length)) && ((typeof(defaultArg_1) !== \"undefined\" && defaultArg_1 != null ) ) ) {\n p_1.value_type = defaultArg_1.eval_type;\n cn_2.type_name = defaultArg_1.eval_type_name;\n cn_2.eval_type_name = defaultArg_1.eval_type_name;\n cn_2.value_type = defaultArg_1.eval_type;\n }\n } else {\n p_1.value_type = cn_2.value_type;\n }\n p_1.node = node;\n p_1.nameNode = cn_2;\n p_1.varType = 5;\n if ( is_immutable_1 ) {\n p_1.is_immutable = is_immutable_1;\n }\n if ( cn_2.has_vref_annotation ) {\n ctx.log(node, \"ann\", \"At a variable -> Found has_vref_annotation annotated reference \");\n const ann_2 : CodeNode = cn_2.vref_annotation;\n if ( (ann_2.children.length) > 0 ) {\n const fc_2 : CodeNode = ann_2.children[0];\n ctx.log(node, \"ann\", ((\"value of first annotation \" + fc_2.vref) + \" and variable name \") + cn_2.vref);\n }\n }\n if ( cn_2.has_type_annotation ) {\n ctx.log(node, \"ann\", \"At a variable -> Found annotated reference \");\n const ann_3 : CodeNode = cn_2.type_annotation;\n if ( (ann_3.children.length) > 0 ) {\n const fc_3 : CodeNode = ann_3.children[0];\n ctx.log(node, \"ann\", ((\"value of first annotation \" + fc_3.vref) + \" and variable name \") + cn_2.vref);\n }\n }\n cn_2.hasParamDesc = true;\n cn_2.ownParamDesc = p_1;\n cn_2.paramDesc = p_1;\n node.hasParamDesc = true;\n node.paramDesc = p_1;\n cn_2.eval_type = cn_2.typeNameAsType(ctx);\n cn_2.eval_type_name = cn_2.type_name;\n if ( (node.children.length) > 2 ) {\n if ( (defaultArg_1.register_name.length) > 0 ) {\n const rr_1 : RangerAppParamDesc = ctx.getVariableDef(defaultArg_1.register_name);\n if ( (typeof(rr_1.nameNode) !== \"undefined\" && rr_1.nameNode != null ) ) {\n if ( (typeof(rr_1.nameNode.expression_value) !== \"undefined\" && rr_1.nameNode.expression_value != null ) ) {\n cn_2.expression_value = rr_1.nameNode.expression_value.copy();\n }\n }\n }\n if ( defaultArg_1.eval_type == 17 ) {\n if ( (typeof(defaultArg_1.expression_value) !== \"undefined\" && defaultArg_1.expression_value != null ) ) {\n cn_2.expression_value = defaultArg_1.expression_value.copy();\n } else {\n if ( defaultArg_1.hasParamDesc ) {\n if ( ((typeof(defaultArg_1.paramDesc.nameNode) !== \"undefined\" && defaultArg_1.paramDesc.nameNode != null ) ) && ((typeof(defaultArg_1.paramDesc.nameNode.expression_value) !== \"undefined\" && defaultArg_1.paramDesc.nameNode.expression_value != null ) ) ) {\n cn_2.eval_type = 17;\n cn_2.expression_value = defaultArg_1.paramDesc.nameNode.expression_value.copy();\n }\n }\n }\n }\n if ( (typeof(defaultArg_1) !== \"undefined\" && defaultArg_1 != null ) ) {\n await __self.convertToUnion(cn_2.eval_type_name, defaultArg_1, ctx, wr);\n if ( (typeof(defaultArg_1.evalTypeClass) !== \"undefined\" && defaultArg_1.evalTypeClass != null ) ) {\n cn_2.evalTypeClass = defaultArg_1.evalTypeClass;\n }\n }\n if ( cn_2.eval_type != defaultArg_1.eval_type ) {\n const b1_1 : boolean = (cn_2.eval_type == 14) && (defaultArg_1.eval_type == 3);\n const b2_1 : boolean = (cn_2.eval_type == 3) && (defaultArg_1.eval_type == 14);\n if ( false == (b1_1 || b2_1) ) {\n ctx.addError(node, ((\"Variable was assigned an incompatible type. Types were \" + cn_2.eval_type) + \" vs \") + defaultArg_1.eval_type);\n }\n }\n } else {\n p_1.is_optional = true;\n }\n ctx.defineVariable(p_1.name, p_1);\n if ( (node.children.length) > 2 ) {\n __self.shouldBeEqualTypes(cn_2, p_1.def_value, ctx, \"Variable was assigned an incompatible type.\");\n }\n operatorsOf_21.addUsage_28(ctx, cn_2);\n } else {\n const cn_3 : CodeNode = node.children[1];\n cn_3.eval_type = cn_3.typeNameAsType(ctx);\n cn_3.eval_type_name = cn_3.type_name;\n if ( (node.children.length) > 2 ) {\n __self.shouldBeEqualTypes(node.children[1], node.children[2], ctx, \"Variable was assigned an incompatible type.\");\n }\n }\n };\n}\nclass operatorsOfstring_33 {\n constructor() {\n }\n // typescript static \n static transactionc95depth_34 (name : string, c : RangerAppWriterContext) : number {\n let t : ContextTransaction = operatorsOf_21.getActiveTransaction_22(c);\n let d : number = 0;\n while ((typeof(t) !== \"undefined\" && t != null ) ) {\n if ( t.name == name ) {\n d = d + 1;\n }\n t = t.parent;\n };\n return d;\n };\n}\nclass operatorsOf_33 {\n constructor() {\n }\n // typescript static \n static startc95transaction_35 (name : string, desc : string, c : RangerAppWriterContext) : ContextTransaction {\n const t_1 : ContextTransaction = new ContextTransaction();\n t_1.name = name;\n t_1.desc = desc;\n t_1.ctx = c;\n const currC : ContextTransaction = operatorsOf_21.getActiveTransaction_22(c);\n c.activeTransaction.push(t_1);\n c.transactions.push(t_1);\n if ( (typeof(currC) !== \"undefined\" && currC != null ) ) {\n currC.children.push(t_1);\n t_1.parent = currC;\n }\n return t_1;\n };\n // typescript static \n static transactionc95depth_34 (name : string, c : RangerAppWriterContext) : number {\n let t_2 : ContextTransaction = operatorsOf_21.getActiveTransaction_22(c);\n let d_1 : number = 0;\n while ((typeof(t_2) !== \"undefined\" && t_2 != null ) ) {\n if ( t_2.name == name ) {\n d_1 = d_1 + 1;\n }\n t_2 = t_2.parent;\n };\n return d_1;\n };\n}\nclass operatorsOfContextTransaction_38 {\n constructor() {\n }\n // typescript static \n static endc95transaction_39 (t : ContextTransaction) : void {\n const c : RangerAppWriterContext = t.ctx;\n const i_21 : number = c.activeTransaction.indexOf(t);\n if ( i_21 >= 0 ) {\n c.activeTransaction.splice(i_21, 1);\n }\n t.ended = true;\n };\n}\nclass operatorsOfCodeNode_41 {\n constructor() {\n }\n // typescript static \n static rc46funcdesc_42 (node : CodeNode, ctx : RangerAppWriterContext) : RangerAppFunctionDesc {\n const m : RangerAppFunctionDesc = new RangerAppFunctionDesc();\n const cn_4 : CodeNode = node.getSecond();\n m.name = cn_4.vref;\n m.compiledName = ctx.transformWord(cn_4.vref);\n m.node = node;\n m.nameNode = node.children[1];\n if ( node.hasBooleanProperty(\"strong\") ) {\n m.refType = 2;\n } else {\n m.refType = 1;\n }\n return m;\n };\n}\nclass operatorsOf_41 {\n constructor() {\n }\n // typescript static \n static async rc46func_43 (node : CodeNode, ctx : RangerAppWriterContext, wr : CodeWriter) : Promise<RangerAppFunctionDesc> {\n const parser : RangerFlowParser = new RangerFlowParser();\n return await parser.CreateFunctionObject(node, ctx, wr);\n };\n}\nclass operatorsOfJSONArrayObject_57 {\n constructor() {\n }\n // typescript static \n static forEach_58 (__self : Array<any>, cb : (item:Object, index:number) => void) : void {\n let cnt : number = __self.length;\n let i_32 : number = 0;\n while (cnt > 0) {\n const value_8 : Object = __self[i_32];\n cb(value_8, i_32);\n cnt = cnt - 1;\n i_32 = i_32 + 1;\n };\n };\n}\nclass operatorsOf_57 {\n constructor() {\n }\n // typescript static \n static async forEach_58 (__self : Array<any>, cb : (item:Object, index:number) => void) : Promise<void> {\n let cnt_1 : number = __self.length;\n let i_33 : number = 0;\n while (cnt_1 > 0) {\n const value_9 : Object = __self[i_33];\n await cb(value_9, i_33);\n cnt_1 = cnt_1 - 1;\n i_33 = i_33 + 1;\n };\n };\n}\n"]}