mdbe 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (688) hide show
  1. checksums.yaml +15 -0
  2. data/LICENSE.txt +21 -0
  3. data/README.md +53 -0
  4. data/app.rb +182 -0
  5. data/bin/mdbe +5 -0
  6. data/config.ru +2 -0
  7. data/environment.rb +8 -0
  8. data/lib/mdbe.rb +39 -0
  9. data/lib/mdbe/action_controller_debug_patch.rb +12 -0
  10. data/lib/mdbe/code_evaluation.rb +46 -0
  11. data/lib/mdbe/database_views.rb +24 -0
  12. data/lib/mdbe/database_views/abstract_dictionary.rb +69 -0
  13. data/lib/mdbe/database_views/abstract_exception.rb +25 -0
  14. data/lib/mdbe/database_views/array.rb +28 -0
  15. data/lib/mdbe/database_views/boolean.rb +12 -0
  16. data/lib/mdbe/database_views/class.rb +46 -0
  17. data/lib/mdbe/database_views/exception.rb +3 -0
  18. data/lib/mdbe/database_views/execblock.rb +5 -0
  19. data/lib/mdbe/database_views/fixnum.rb +5 -0
  20. data/lib/mdbe/database_views/float.rb +5 -0
  21. data/lib/mdbe/database_views/globals.rb +2 -0
  22. data/lib/mdbe/database_views/gsnmethod.rb +29 -0
  23. data/lib/mdbe/database_views/hash.rb +5 -0
  24. data/lib/mdbe/database_views/maglev_record.rb +42 -0
  25. data/lib/mdbe/database_views/module.rb +103 -0
  26. data/lib/mdbe/database_views/nilclass.rb +5 -0
  27. data/lib/mdbe/database_views/object.rb +80 -0
  28. data/lib/mdbe/database_views/proc.rb +3 -0
  29. data/lib/mdbe/database_views/repository.rb +3 -0
  30. data/lib/mdbe/database_views/ruby_workspace.rb +5 -0
  31. data/lib/mdbe/database_views/smalltalk_classes.rb +34 -0
  32. data/lib/mdbe/database_views/smalltalk_classes.st +60 -0
  33. data/lib/mdbe/database_views/string.rb +31 -0
  34. data/lib/mdbe/database_views/symbol.rb +32 -0
  35. data/lib/mdbe/database_views/system.rb +61 -0
  36. data/lib/mdbe/database_views/thread.rb +101 -0
  37. data/lib/mdbe/debug_server.rb +22 -0
  38. data/lib/mdbe/halt.rb +42 -0
  39. data/lib/mdbe/ruby_workspace.rb +29 -0
  40. data/lib/mdbe/version.rb +3 -0
  41. data/lib/tasks/maglev-database-explorer_tasks.rake +4 -0
  42. data/public/LICENSE +35 -0
  43. data/public/amber/CHANGELOG +65 -0
  44. data/public/amber/LICENSE +22 -0
  45. data/public/amber/Makefile +53 -0
  46. data/public/amber/README.md +30 -0
  47. data/public/amber/bin/amber +3 -0
  48. data/public/amber/bin/amberc +352 -0
  49. data/public/amber/bin/nodecompile.js +33 -0
  50. data/public/amber/bin/server +3 -0
  51. data/public/amber/bin/server.bat +3 -0
  52. data/public/amber/css/amber-normalize.css +468 -0
  53. data/public/amber/css/amber-normalize.less +501 -0
  54. data/public/amber/css/amber.css +539 -0
  55. data/public/amber/css/documentation.css +84 -0
  56. data/public/amber/css/profstef.css +75 -0
  57. data/public/amber/css/style.css +313 -0
  58. data/public/amber/documentation.html +37 -0
  59. data/public/amber/examples/Makefile +23 -0
  60. data/public/amber/examples/README +4 -0
  61. data/public/amber/examples/android/helloamber/AndroidManifest.xml +19 -0
  62. data/public/amber/examples/android/helloamber/HelloAmber.st +13 -0
  63. data/public/amber/examples/android/helloamber/Makefile +56 -0
  64. data/public/amber/examples/android/helloamber/README.md +80 -0
  65. data/public/amber/examples/android/helloamber/ant.properties +17 -0
  66. data/public/amber/examples/android/helloamber/assets/index.html +15 -0
  67. data/public/amber/examples/android/helloamber/assets/jquery-1.7.2.min.js +4 -0
  68. data/public/amber/examples/android/helloamber/build.xml +83 -0
  69. data/public/amber/examples/android/helloamber/local.properties +10 -0
  70. data/public/amber/examples/android/helloamber/proguard-project.txt +20 -0
  71. data/public/amber/examples/android/helloamber/project.properties +14 -0
  72. data/public/amber/examples/android/helloamber/res/layout/main.xml +6 -0
  73. data/public/amber/examples/android/helloamber/res/values/strings.xml +4 -0
  74. data/public/amber/examples/android/helloamber/src/org/amberlang/android/helloamber/HelloAmber.java +59 -0
  75. data/public/amber/examples/myproject/index.html +16 -0
  76. data/public/amber/examples/nodejs/README +9 -0
  77. data/public/amber/examples/nodejs/benchfib/Benchfib.st +124 -0
  78. data/public/amber/examples/nodejs/benchfib/Makefile +8 -0
  79. data/public/amber/examples/nodejs/benchfib/benchfib +1 -0
  80. data/public/amber/examples/nodejs/hello/Hello.st +9 -0
  81. data/public/amber/examples/nodejs/hello/Makefile +8 -0
  82. data/public/amber/examples/nodejs/hello/README +13 -0
  83. data/public/amber/examples/nodejs/hello/hello +1 -0
  84. data/public/amber/examples/nodejs/meta/Makefile +8 -0
  85. data/public/amber/examples/nodejs/meta/MyScript.st +27 -0
  86. data/public/amber/examples/nodejs/meta/meta +1 -0
  87. data/public/amber/examples/nodejs/pystone/Makefile +8 -0
  88. data/public/amber/examples/nodejs/pystone/Pystone.st +306 -0
  89. data/public/amber/examples/nodejs/pystone/pystone +1 -0
  90. data/public/amber/examples/nodejs/trivialserver/Makefile +8 -0
  91. data/public/amber/examples/nodejs/trivialserver/TrivialServer.st +51 -0
  92. data/public/amber/examples/nodejs/trivialserver/trivial +1 -0
  93. data/public/amber/examples/presentation/esug2011/images/asterix.png +0 -0
  94. data/public/amber/examples/presentation/esug2011/images/background_box.png +0 -0
  95. data/public/amber/examples/presentation/esug2011/images/background_header.png +0 -0
  96. data/public/amber/examples/presentation/esug2011/images/balloon.jpg +0 -0
  97. data/public/amber/examples/presentation/esug2011/images/balloon_header.png +0 -0
  98. data/public/amber/examples/presentation/esug2011/images/devices.jpg +0 -0
  99. data/public/amber/examples/presentation/esug2011/images/enyo.png +0 -0
  100. data/public/amber/examples/presentation/esug2011/images/ide_star_wars.png +0 -0
  101. data/public/amber/examples/presentation/esug2011/images/nodejs.png +0 -0
  102. data/public/amber/examples/presentation/esug2011/images/terminal.png +0 -0
  103. data/public/amber/examples/presentation/esug2011/images/webos.png +0 -0
  104. data/public/amber/examples/presentation/fosdem2012/images/amber.png +0 -0
  105. data/public/amber/examples/presentation/fosdem2012/images/ambrhino.jpg +0 -0
  106. data/public/amber/examples/presentation/fosdem2012/images/nodejs.png +0 -0
  107. data/public/amber/examples/presentation/fosdem2012/images/pharo.png +0 -0
  108. data/public/amber/examples/presentation/fosdem2012/images/php.gif +0 -0
  109. data/public/amber/examples/presentation/fosdem2012/images/rails.png +0 -0
  110. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-next.png +0 -0
  111. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-prev.png +0 -0
  112. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/closedhand.cur +0 -0
  113. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/openhand.cur +0 -0
  114. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-back.png +0 -0
  115. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-forward.png +0 -0
  116. data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow.png +0 -0
  117. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.css +100 -0
  118. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.js +1232 -0
  119. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.min.js +13 -0
  120. data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.easing.1.3.js +38 -0
  121. data/public/amber/examples/presentation/index.html +17 -0
  122. data/public/amber/examples/presentation/js/Presentation.deploy.js +1922 -0
  123. data/public/amber/examples/presentation/js/Presentation.js +2712 -0
  124. data/public/amber/examples/presentation/st/Presentation.st +1996 -0
  125. data/public/amber/examples/trysmalltalk/index.html +18 -0
  126. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.deploy.js +837 -0
  127. data/public/amber/examples/trysmalltalk/js/TrySmalltalk.js +1206 -0
  128. data/public/amber/examples/trysmalltalk/st/TrySmalltalk.st +964 -0
  129. data/public/amber/examples/twitterwall/css/twitterwall.css +19 -0
  130. data/public/amber/examples/twitterwall/index.html +35 -0
  131. data/public/amber/examples/twitterwall/js/TwitterWall.deploy.js +116 -0
  132. data/public/amber/examples/twitterwall/js/TwitterWall.js +146 -0
  133. data/public/amber/examples/twitterwall/st/TwitterWall.st +91 -0
  134. data/public/amber/examples/webos/README +11 -0
  135. data/public/amber/examples/webos/eris/DuckQwaq.wav +0 -0
  136. data/public/amber/examples/webos/eris/EnyoAmber.st +36 -0
  137. data/public/amber/examples/webos/eris/Eris.css +0 -0
  138. data/public/amber/examples/webos/eris/Eris.st +86 -0
  139. data/public/amber/examples/webos/eris/Makefile +37 -0
  140. data/public/amber/examples/webos/eris/README +3 -0
  141. data/public/amber/examples/webos/eris/appinfo.json +10 -0
  142. data/public/amber/examples/webos/eris/index.html +12 -0
  143. data/public/amber/examples/webos/helloamber/EnyoAmber.st +36 -0
  144. data/public/amber/examples/webos/helloamber/HelloAmber.st +86 -0
  145. data/public/amber/examples/webos/helloamber/Makefile +38 -0
  146. data/public/amber/examples/webos/helloamber/README +5 -0
  147. data/public/amber/examples/webos/helloamber/appinfo.json +10 -0
  148. data/public/amber/examples/webos/helloamber/index.html +12 -0
  149. data/public/amber/favicon.ico +0 -0
  150. data/public/amber/images/amber.png +0 -0
  151. data/public/amber/images/amber.svg +706 -0
  152. data/public/amber/images/amber_small.png +0 -0
  153. data/public/amber/images/off.amber.png +0 -0
  154. data/public/amber/images/off.png +0 -0
  155. data/public/amber/images/offHover.amber.png +0 -0
  156. data/public/amber/images/offHover.png +0 -0
  157. data/public/amber/images/presentation.png +0 -0
  158. data/public/amber/images/profstef.png +0 -0
  159. data/public/amber/images/sprite.amber.png +0 -0
  160. data/public/amber/images/sprite.png +0 -0
  161. data/public/amber/images/tinylogo.amber.png +0 -0
  162. data/public/amber/images/tinylogo.png +0 -0
  163. data/public/amber/images/twitterwall.png +0 -0
  164. data/public/amber/index.html +55 -0
  165. data/public/amber/js/Additional-Examples.deploy.js +15 -0
  166. data/public/amber/js/Additional-Examples.js +21 -0
  167. data/public/amber/js/Benchfib.deploy.js +132 -0
  168. data/public/amber/js/Benchfib.js +167 -0
  169. data/public/amber/js/Canvas.deploy.js +2446 -0
  170. data/public/amber/js/Canvas.js +3547 -0
  171. data/public/amber/js/Compiler-Tests.deploy.js +97 -0
  172. data/public/amber/js/Compiler-Tests.js +137 -0
  173. data/public/amber/js/Compiler.deploy.js +1877 -0
  174. data/public/amber/js/Compiler.js +2622 -0
  175. data/public/amber/js/Documentation.deploy.js +961 -0
  176. data/public/amber/js/Documentation.js +1376 -0
  177. data/public/amber/js/Examples.deploy.js +53 -0
  178. data/public/amber/js/Examples.js +73 -0
  179. data/public/amber/js/IDE.deploy.js +3557 -0
  180. data/public/amber/js/IDE.js +5002 -0
  181. data/public/amber/js/Kernel-Announcements.deploy.js +107 -0
  182. data/public/amber/js/Kernel-Announcements.js +152 -0
  183. data/public/amber/js/Kernel-Classes.deploy.js +774 -0
  184. data/public/amber/js/Kernel-Classes.js +1095 -0
  185. data/public/amber/js/Kernel-Collections.deploy.js +3121 -0
  186. data/public/amber/js/Kernel-Collections.js +4427 -0
  187. data/public/amber/js/Kernel-Exceptions.deploy.js +244 -0
  188. data/public/amber/js/Kernel-Exceptions.js +349 -0
  189. data/public/amber/js/Kernel-Methods.deploy.js +573 -0
  190. data/public/amber/js/Kernel-Methods.js +807 -0
  191. data/public/amber/js/Kernel-Objects.deploy.js +2877 -0
  192. data/public/amber/js/Kernel-Objects.js +4107 -0
  193. data/public/amber/js/Kernel-Tests.deploy.js +1513 -0
  194. data/public/amber/js/Kernel-Tests.js +2053 -0
  195. data/public/amber/js/Kernel-Transcript.deploy.js +142 -0
  196. data/public/amber/js/Kernel-Transcript.js +202 -0
  197. data/public/amber/js/Maglev-Core.deploy.js +2996 -0
  198. data/public/amber/js/Maglev-Core.js +4246 -0
  199. data/public/amber/js/Maglev-Database-Explorer.deploy.js +4476 -0
  200. data/public/amber/js/Maglev-Database-Explorer.js +6232 -0
  201. data/public/amber/js/Maglev-Vendor.deploy.js +350 -0
  202. data/public/amber/js/Maglev-Vendor.js +465 -0
  203. data/public/amber/js/README.md +5 -0
  204. data/public/amber/js/SUnit.deploy.js +351 -0
  205. data/public/amber/js/SUnit.js +501 -0
  206. data/public/amber/js/amber.js +273 -0
  207. data/public/amber/js/boot.js +602 -0
  208. data/public/amber/js/compat.js +22 -0
  209. data/public/amber/js/init.js +9 -0
  210. data/public/amber/js/lib/CodeMirror/LICENSE +19 -0
  211. data/public/amber/js/lib/CodeMirror/active-line.js +39 -0
  212. data/public/amber/js/lib/CodeMirror/amber.css +21 -0
  213. data/public/amber/js/lib/CodeMirror/codemirror.css +67 -0
  214. data/public/amber/js/lib/CodeMirror/codemirror.js +2144 -0
  215. data/public/amber/js/lib/CodeMirror/smalltalk.js +134 -0
  216. data/public/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
  217. data/public/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
  218. data/public/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
  219. data/public/amber/js/lib/jQuery/jquery.textarea.js +267 -0
  220. data/public/amber/js/lib/peg-0.6.2.min.js +2 -0
  221. data/public/amber/js/lib/showdown.js +419 -0
  222. data/public/amber/js/parser.js +4222 -0
  223. data/public/amber/js/parser.pegjs +223 -0
  224. data/public/amber/learn.html +40 -0
  225. data/public/amber/repl/Makefile +8 -0
  226. data/public/amber/repl/REPL.js +124 -0
  227. data/public/amber/repl/REPL.st +56 -0
  228. data/public/amber/repl/amber.js +18085 -0
  229. data/public/amber/server/FileServer.st +576 -0
  230. data/public/amber/server/Makefile +8 -0
  231. data/public/amber/server/server.js +13049 -0
  232. data/public/amber/st/Benchfib.js +297 -0
  233. data/public/amber/st/Benchfib.st +124 -0
  234. data/public/amber/st/Canvas.st +968 -0
  235. data/public/amber/st/Compiler-Tests.st +471 -0
  236. data/public/amber/st/Compiler.st +1445 -0
  237. data/public/amber/st/Documentation.st +758 -0
  238. data/public/amber/st/Examples.js +100 -0
  239. data/public/amber/st/Examples.st +38 -0
  240. data/public/amber/st/IDE.st +2404 -0
  241. data/public/amber/st/Kernel-Announcements.st +61 -0
  242. data/public/amber/st/Kernel-Classes.st +462 -0
  243. data/public/amber/st/Kernel-Collections.st +1611 -0
  244. data/public/amber/st/Kernel-Exceptions.st +124 -0
  245. data/public/amber/st/Kernel-Methods.st +291 -0
  246. data/public/amber/st/Kernel-Objects.st +1587 -0
  247. data/public/amber/st/Kernel-Tests.st +953 -0
  248. data/public/amber/st/Kernel-Transcript.st +70 -0
  249. data/public/amber/st/Maglev-Core.st +1694 -0
  250. data/public/amber/st/Maglev-Database-Explorer.st +3148 -0
  251. data/public/amber/st/Maglev-Vendor.st +151 -0
  252. data/public/amber/st/Makefile +104 -0
  253. data/public/amber/st/README.md +4 -0
  254. data/public/amber/st/SUnit.st +172 -0
  255. data/public/css/bootstrap-combined.no-icons.min.css +731 -0
  256. data/public/css/bootstrap.css +6811 -0
  257. data/public/css/images/animated-overlay.gif +0 -0
  258. data/public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  259. data/public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  260. data/public/css/images/ui-bg_flat_10_000000_40x100.png +0 -0
  261. data/public/css/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  262. data/public/css/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  263. data/public/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  264. data/public/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  265. data/public/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  266. data/public/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  267. data/public/css/images/ui-icons_222222_256x240.png +0 -0
  268. data/public/css/images/ui-icons_228ef1_256x240.png +0 -0
  269. data/public/css/images/ui-icons_ef8c08_256x240.png +0 -0
  270. data/public/css/images/ui-icons_ffd27a_256x240.png +0 -0
  271. data/public/css/images/ui-icons_ffffff_256x240.png +0 -0
  272. data/public/css/jquery-ui.min.css +5 -0
  273. data/public/css/smalltalk_code.css +42 -0
  274. data/public/css/style.css +210 -0
  275. data/public/images/bg_tile.png +0 -0
  276. data/public/images/maglev-logo.gif +0 -0
  277. data/public/images/mchammer.gif +0 -0
  278. data/public/images/rails_tiny.png +0 -0
  279. data/public/images/ruby.png +0 -0
  280. data/public/images/ruby_smalltalk_bridge.png +0 -0
  281. data/public/images/smalltalk.png +0 -0
  282. data/public/img/glyphicons-halflings.png +0 -0
  283. data/public/index.html +118 -0
  284. data/public/libs/bootstrap.min.js +7 -0
  285. data/public/libs/codemirror/CONTRIBUTING.md +72 -0
  286. data/public/libs/codemirror/LICENSE +23 -0
  287. data/public/libs/codemirror/README.md +11 -0
  288. data/public/libs/codemirror/addon/dialog/dialog.css +32 -0
  289. data/public/libs/codemirror/addon/dialog/dialog.js +80 -0
  290. data/public/libs/codemirror/addon/display/placeholder.js +54 -0
  291. data/public/libs/codemirror/addon/edit/closebrackets.js +54 -0
  292. data/public/libs/codemirror/addon/edit/closetag.js +86 -0
  293. data/public/libs/codemirror/addon/edit/continuecomment.js +44 -0
  294. data/public/libs/codemirror/addon/edit/continuelist.js +25 -0
  295. data/public/libs/codemirror/addon/edit/matchbrackets.js +82 -0
  296. data/public/libs/codemirror/addon/fold/brace-fold.js +31 -0
  297. data/public/libs/codemirror/addon/fold/foldcode.js +32 -0
  298. data/public/libs/codemirror/addon/fold/indent-fold.js +11 -0
  299. data/public/libs/codemirror/addon/fold/xml-fold.js +64 -0
  300. data/public/libs/codemirror/addon/hint/html-hint.js +582 -0
  301. data/public/libs/codemirror/addon/hint/javascript-hint.js +142 -0
  302. data/public/libs/codemirror/addon/hint/pig-hint.js +117 -0
  303. data/public/libs/codemirror/addon/hint/python-hint.js +93 -0
  304. data/public/libs/codemirror/addon/hint/show-hint.css +38 -0
  305. data/public/libs/codemirror/addon/hint/show-hint.js +180 -0
  306. data/public/libs/codemirror/addon/hint/xml-hint.js +118 -0
  307. data/public/libs/codemirror/addon/lint/javascript-lint.js +127 -0
  308. data/public/libs/codemirror/addon/lint/json-lint.js +14 -0
  309. data/public/libs/codemirror/addon/lint/lint.css +96 -0
  310. data/public/libs/codemirror/addon/lint/lint.js +197 -0
  311. data/public/libs/codemirror/addon/mode/loadmode.js +51 -0
  312. data/public/libs/codemirror/addon/mode/multiplex.js +95 -0
  313. data/public/libs/codemirror/addon/mode/overlay.js +59 -0
  314. data/public/libs/codemirror/addon/runmode/colorize.js +29 -0
  315. data/public/libs/codemirror/addon/runmode/runmode-standalone.js +130 -0
  316. data/public/libs/codemirror/addon/runmode/runmode.js +52 -0
  317. data/public/libs/codemirror/addon/runmode/runmode.node.js +89 -0
  318. data/public/libs/codemirror/addon/search/match-highlighter.js +60 -0
  319. data/public/libs/codemirror/addon/search/search.js +131 -0
  320. data/public/libs/codemirror/addon/search/searchcursor.js +133 -0
  321. data/public/libs/codemirror/addon/selection/active-line.js +39 -0
  322. data/public/libs/codemirror/addon/selection/mark-selection.js +34 -0
  323. data/public/libs/codemirror/bin/compress +91 -0
  324. data/public/libs/codemirror/bin/lint +11 -0
  325. data/public/libs/codemirror/demo/activeline.html +70 -0
  326. data/public/libs/codemirror/demo/bidi.html +61 -0
  327. data/public/libs/codemirror/demo/btree.html +87 -0
  328. data/public/libs/codemirror/demo/buffers.html +98 -0
  329. data/public/libs/codemirror/demo/changemode.html +50 -0
  330. data/public/libs/codemirror/demo/closebrackets.html +63 -0
  331. data/public/libs/codemirror/demo/closetag.html +37 -0
  332. data/public/libs/codemirror/demo/complete.html +70 -0
  333. data/public/libs/codemirror/demo/emacs.html +60 -0
  334. data/public/libs/codemirror/demo/folding.html +69 -0
  335. data/public/libs/codemirror/demo/fullscreen.html +147 -0
  336. data/public/libs/codemirror/demo/html5complete.html +92 -0
  337. data/public/libs/codemirror/demo/indentwrap.html +49 -0
  338. data/public/libs/codemirror/demo/lint.html +90 -0
  339. data/public/libs/codemirror/demo/loadmode.html +40 -0
  340. data/public/libs/codemirror/demo/marker.html +59 -0
  341. data/public/libs/codemirror/demo/markselection.html +36 -0
  342. data/public/libs/codemirror/demo/matchhighlighter.html +38 -0
  343. data/public/libs/codemirror/demo/multiplex.html +60 -0
  344. data/public/libs/codemirror/demo/mustache.html +59 -0
  345. data/public/libs/codemirror/demo/placeholder.html +36 -0
  346. data/public/libs/codemirror/demo/preview.html +76 -0
  347. data/public/libs/codemirror/demo/resize.html +49 -0
  348. data/public/libs/codemirror/demo/runmode.html +50 -0
  349. data/public/libs/codemirror/demo/search.html +85 -0
  350. data/public/libs/codemirror/demo/spanaffectswrapping_shim.html +73 -0
  351. data/public/libs/codemirror/demo/theme.html +89 -0
  352. data/public/libs/codemirror/demo/variableheight.html +52 -0
  353. data/public/libs/codemirror/demo/vim.html +65 -0
  354. data/public/libs/codemirror/demo/visibletabs.html +53 -0
  355. data/public/libs/codemirror/demo/widget.html +74 -0
  356. data/public/libs/codemirror/demo/xmlcomplete.html +81 -0
  357. data/public/libs/codemirror/index.html +487 -0
  358. data/public/libs/codemirror/keymap/emacs.js +30 -0
  359. data/public/libs/codemirror/keymap/vim.js +3044 -0
  360. data/public/libs/codemirror/lib/codemirror.css +253 -0
  361. data/public/libs/codemirror/lib/codemirror.js +5585 -0
  362. data/public/libs/codemirror/mode/apl/apl.js +160 -0
  363. data/public/libs/codemirror/mode/apl/index.html +61 -0
  364. data/public/libs/codemirror/mode/asterisk/asterisk.js +183 -0
  365. data/public/libs/codemirror/mode/asterisk/index.html +142 -0
  366. data/public/libs/codemirror/mode/clike/clike.js +302 -0
  367. data/public/libs/codemirror/mode/clike/index.html +103 -0
  368. data/public/libs/codemirror/mode/clike/scala.html +767 -0
  369. data/public/libs/codemirror/mode/clojure/clojure.js +222 -0
  370. data/public/libs/codemirror/mode/clojure/index.html +76 -0
  371. data/public/libs/codemirror/mode/coffeescript/LICENSE +22 -0
  372. data/public/libs/codemirror/mode/coffeescript/coffeescript.js +346 -0
  373. data/public/libs/codemirror/mode/coffeescript/index.html +728 -0
  374. data/public/libs/codemirror/mode/commonlisp/commonlisp.js +101 -0
  375. data/public/libs/codemirror/mode/commonlisp/index.html +165 -0
  376. data/public/libs/codemirror/mode/css/css.js +567 -0
  377. data/public/libs/codemirror/mode/css/index.html +58 -0
  378. data/public/libs/codemirror/mode/css/scss.html +145 -0
  379. data/public/libs/codemirror/mode/css/scss_test.js +80 -0
  380. data/public/libs/codemirror/mode/css/test.js +113 -0
  381. data/public/libs/codemirror/mode/d/d.js +205 -0
  382. data/public/libs/codemirror/mode/d/index.html +262 -0
  383. data/public/libs/codemirror/mode/diff/diff.js +32 -0
  384. data/public/libs/codemirror/mode/diff/index.html +105 -0
  385. data/public/libs/codemirror/mode/ecl/ecl.js +192 -0
  386. data/public/libs/codemirror/mode/ecl/index.html +39 -0
  387. data/public/libs/codemirror/mode/erlang/erlang.js +463 -0
  388. data/public/libs/codemirror/mode/erlang/index.html +64 -0
  389. data/public/libs/codemirror/mode/gas/gas.js +326 -0
  390. data/public/libs/codemirror/mode/gas/index.html +57 -0
  391. data/public/libs/codemirror/mode/gfm/gfm.js +96 -0
  392. data/public/libs/codemirror/mode/gfm/index.html +74 -0
  393. data/public/libs/codemirror/mode/gfm/test.js +112 -0
  394. data/public/libs/codemirror/mode/go/go.js +165 -0
  395. data/public/libs/codemirror/mode/go/index.html +74 -0
  396. data/public/libs/codemirror/mode/groovy/groovy.js +210 -0
  397. data/public/libs/codemirror/mode/groovy/index.html +73 -0
  398. data/public/libs/codemirror/mode/haskell/haskell.js +242 -0
  399. data/public/libs/codemirror/mode/haskell/index.html +62 -0
  400. data/public/libs/codemirror/mode/haxe/haxe.js +429 -0
  401. data/public/libs/codemirror/mode/haxe/index.html +90 -0
  402. data/public/libs/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
  403. data/public/libs/codemirror/mode/htmlembedded/index.html +49 -0
  404. data/public/libs/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
  405. data/public/libs/codemirror/mode/htmlmixed/index.html +73 -0
  406. data/public/libs/codemirror/mode/http/http.js +98 -0
  407. data/public/libs/codemirror/mode/http/index.html +32 -0
  408. data/public/libs/codemirror/mode/javascript/index.html +92 -0
  409. data/public/libs/codemirror/mode/javascript/javascript.js +467 -0
  410. data/public/libs/codemirror/mode/javascript/typescript.html +48 -0
  411. data/public/libs/codemirror/mode/jinja2/index.html +38 -0
  412. data/public/libs/codemirror/mode/jinja2/jinja2.js +42 -0
  413. data/public/libs/codemirror/mode/less/index.html +741 -0
  414. data/public/libs/codemirror/mode/less/less.js +266 -0
  415. data/public/libs/codemirror/mode/livescript/LICENSE +23 -0
  416. data/public/libs/codemirror/mode/livescript/index.html +446 -0
  417. data/public/libs/codemirror/mode/livescript/livescript.js +267 -0
  418. data/public/libs/codemirror/mode/livescript/livescript.ls +266 -0
  419. data/public/libs/codemirror/mode/lua/index.html +74 -0
  420. data/public/libs/codemirror/mode/lua/lua.js +140 -0
  421. data/public/libs/codemirror/mode/markdown/index.html +344 -0
  422. data/public/libs/codemirror/mode/markdown/markdown.js +526 -0
  423. data/public/libs/codemirror/mode/markdown/test.js +636 -0
  424. data/public/libs/codemirror/mode/meta.js +75 -0
  425. data/public/libs/codemirror/mode/mirc/index.html +149 -0
  426. data/public/libs/codemirror/mode/mirc/mirc.js +177 -0
  427. data/public/libs/codemirror/mode/ntriples/index.html +33 -0
  428. data/public/libs/codemirror/mode/ntriples/ntriples.js +170 -0
  429. data/public/libs/codemirror/mode/ocaml/index.html +131 -0
  430. data/public/libs/codemirror/mode/ocaml/ocaml.js +113 -0
  431. data/public/libs/codemirror/mode/pascal/LICENSE +7 -0
  432. data/public/libs/codemirror/mode/pascal/index.html +48 -0
  433. data/public/libs/codemirror/mode/pascal/pascal.js +94 -0
  434. data/public/libs/codemirror/mode/perl/LICENSE +19 -0
  435. data/public/libs/codemirror/mode/perl/index.html +62 -0
  436. data/public/libs/codemirror/mode/perl/perl.js +816 -0
  437. data/public/libs/codemirror/mode/php/index.html +51 -0
  438. data/public/libs/codemirror/mode/php/php.js +129 -0
  439. data/public/libs/codemirror/mode/pig/index.html +42 -0
  440. data/public/libs/codemirror/mode/pig/pig.js +171 -0
  441. data/public/libs/codemirror/mode/properties/index.html +41 -0
  442. data/public/libs/codemirror/mode/properties/properties.js +63 -0
  443. data/public/libs/codemirror/mode/python/LICENSE.txt +21 -0
  444. data/public/libs/codemirror/mode/python/index.html +135 -0
  445. data/public/libs/codemirror/mode/python/python.js +340 -0
  446. data/public/libs/codemirror/mode/q/index.html +131 -0
  447. data/public/libs/codemirror/mode/q/q.js +124 -0
  448. data/public/libs/codemirror/mode/r/LICENSE +24 -0
  449. data/public/libs/codemirror/mode/r/index.html +74 -0
  450. data/public/libs/codemirror/mode/r/r.js +141 -0
  451. data/public/libs/codemirror/mode/rpm/changes/changes.js +19 -0
  452. data/public/libs/codemirror/mode/rpm/changes/index.html +53 -0
  453. data/public/libs/codemirror/mode/rpm/spec/index.html +99 -0
  454. data/public/libs/codemirror/mode/rpm/spec/spec.css +5 -0
  455. data/public/libs/codemirror/mode/rpm/spec/spec.js +66 -0
  456. data/public/libs/codemirror/mode/rst/LICENSE.txt +21 -0
  457. data/public/libs/codemirror/mode/rst/index.html +524 -0
  458. data/public/libs/codemirror/mode/rst/rst.js +550 -0
  459. data/public/libs/codemirror/mode/ruby/LICENSE +24 -0
  460. data/public/libs/codemirror/mode/ruby/index.html +173 -0
  461. data/public/libs/codemirror/mode/ruby/ruby.js +197 -0
  462. data/public/libs/codemirror/mode/rust/index.html +48 -0
  463. data/public/libs/codemirror/mode/rust/rust.js +432 -0
  464. data/public/libs/codemirror/mode/sass/index.html +54 -0
  465. data/public/libs/codemirror/mode/sass/sass.js +349 -0
  466. data/public/libs/codemirror/mode/scheme/index.html +65 -0
  467. data/public/libs/codemirror/mode/scheme/scheme.js +230 -0
  468. data/public/libs/codemirror/mode/shell/index.html +51 -0
  469. data/public/libs/codemirror/mode/shell/shell.js +118 -0
  470. data/public/libs/codemirror/mode/sieve/LICENSE +19 -0
  471. data/public/libs/codemirror/mode/sieve/index.html +81 -0
  472. data/public/libs/codemirror/mode/sieve/sieve.js +183 -0
  473. data/public/libs/codemirror/mode/smalltalk/index.html +57 -0
  474. data/public/libs/codemirror/mode/smalltalk/smalltalk.js +141 -0
  475. data/public/libs/codemirror/mode/smarty/index.html +83 -0
  476. data/public/libs/codemirror/mode/smarty/smarty.js +148 -0
  477. data/public/libs/codemirror/mode/sparql/index.html +42 -0
  478. data/public/libs/codemirror/mode/sparql/sparql.js +143 -0
  479. data/public/libs/codemirror/mode/sql/index.html +68 -0
  480. data/public/libs/codemirror/mode/sql/sql.js +268 -0
  481. data/public/libs/codemirror/mode/stex/index.html +98 -0
  482. data/public/libs/codemirror/mode/stex/stex.js +246 -0
  483. data/public/libs/codemirror/mode/stex/test.js +117 -0
  484. data/public/libs/codemirror/mode/tcl/index.html +129 -0
  485. data/public/libs/codemirror/mode/tcl/tcl.js +131 -0
  486. data/public/libs/codemirror/mode/tiddlywiki/index.html +142 -0
  487. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
  488. data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
  489. data/public/libs/codemirror/mode/tiki/index.html +81 -0
  490. data/public/libs/codemirror/mode/tiki/tiki.css +26 -0
  491. data/public/libs/codemirror/mode/tiki/tiki.js +308 -0
  492. data/public/libs/codemirror/mode/turtle/index.html +39 -0
  493. data/public/libs/codemirror/mode/turtle/turtle.js +145 -0
  494. data/public/libs/codemirror/mode/vb/LICENSE.txt +21 -0
  495. data/public/libs/codemirror/mode/vb/index.html +88 -0
  496. data/public/libs/codemirror/mode/vb/vb.js +259 -0
  497. data/public/libs/codemirror/mode/vbscript/index.html +42 -0
  498. data/public/libs/codemirror/mode/vbscript/vbscript.js +26 -0
  499. data/public/libs/codemirror/mode/velocity/index.html +103 -0
  500. data/public/libs/codemirror/mode/velocity/velocity.js +144 -0
  501. data/public/libs/codemirror/mode/verilog/index.html +121 -0
  502. data/public/libs/codemirror/mode/verilog/verilog.js +182 -0
  503. data/public/libs/codemirror/mode/xml/index.html +45 -0
  504. data/public/libs/codemirror/mode/xml/xml.js +328 -0
  505. data/public/libs/codemirror/mode/xquery/LICENSE +20 -0
  506. data/public/libs/codemirror/mode/xquery/index.html +221 -0
  507. data/public/libs/codemirror/mode/xquery/test.js +64 -0
  508. data/public/libs/codemirror/mode/xquery/xquery.js +450 -0
  509. data/public/libs/codemirror/mode/yaml/index.html +68 -0
  510. data/public/libs/codemirror/mode/yaml/yaml.js +95 -0
  511. data/public/libs/codemirror/mode/z80/index.html +39 -0
  512. data/public/libs/codemirror/mode/z80/z80.js +85 -0
  513. data/public/libs/codemirror/package.json +21 -0
  514. data/public/libs/codemirror/test/doc_test.js +329 -0
  515. data/public/libs/codemirror/test/driver.js +138 -0
  516. data/public/libs/codemirror/test/index.html +182 -0
  517. data/public/libs/codemirror/test/lint/acorn.js +1593 -0
  518. data/public/libs/codemirror/test/lint/lint.js +112 -0
  519. data/public/libs/codemirror/test/lint/parse-js.js +1372 -0
  520. data/public/libs/codemirror/test/lint/walk.js +216 -0
  521. data/public/libs/codemirror/test/mode_test.css +10 -0
  522. data/public/libs/codemirror/test/mode_test.js +192 -0
  523. data/public/libs/codemirror/test/phantom_driver.js +31 -0
  524. data/public/libs/codemirror/test/run.js +33 -0
  525. data/public/libs/codemirror/test/test.js +1400 -0
  526. data/public/libs/codemirror/test/vim_test.js +1688 -0
  527. data/public/libs/codemirror/theme/ambiance-mobile.css +5 -0
  528. data/public/libs/codemirror/theme/ambiance.css +75 -0
  529. data/public/libs/codemirror/theme/blackboard.css +25 -0
  530. data/public/libs/codemirror/theme/cobalt.css +18 -0
  531. data/public/libs/codemirror/theme/eclipse.css +25 -0
  532. data/public/libs/codemirror/theme/elegant.css +10 -0
  533. data/public/libs/codemirror/theme/erlang-dark.css +21 -0
  534. data/public/libs/codemirror/theme/lesser-dark.css +44 -0
  535. data/public/libs/codemirror/theme/midnight.css +52 -0
  536. data/public/libs/codemirror/theme/monokai.css +28 -0
  537. data/public/libs/codemirror/theme/neat.css +9 -0
  538. data/public/libs/codemirror/theme/night.css +21 -0
  539. data/public/libs/codemirror/theme/rubyblue.css +21 -0
  540. data/public/libs/codemirror/theme/solarized.css +207 -0
  541. data/public/libs/codemirror/theme/twilight.css +26 -0
  542. data/public/libs/codemirror/theme/vibrant-ink.css +27 -0
  543. data/public/libs/codemirror/theme/xq-dark.css +46 -0
  544. data/public/libs/codemirror/theme/xq-light.css +43 -0
  545. data/public/libs/font-awesome/css/font-awesome-ie7.css +983 -0
  546. data/public/libs/font-awesome/css/font-awesome-ie7.min.css +24 -0
  547. data/public/libs/font-awesome/css/font-awesome.css +1268 -0
  548. data/public/libs/font-awesome/css/font-awesome.min.css +24 -0
  549. data/public/libs/font-awesome/font/FontAwesome.otf +0 -0
  550. data/public/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
  551. data/public/libs/font-awesome/font/fontawesome-webfont.svg +339 -0
  552. data/public/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
  553. data/public/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
  554. data/public/libs/font-awesome/less/bootstrap.less +78 -0
  555. data/public/libs/font-awesome/less/core.less +132 -0
  556. data/public/libs/font-awesome/less/extras.less +79 -0
  557. data/public/libs/font-awesome/less/font-awesome-ie7.less +413 -0
  558. data/public/libs/font-awesome/less/font-awesome.less +32 -0
  559. data/public/libs/font-awesome/less/icons.less +330 -0
  560. data/public/libs/font-awesome/less/mixins.less +34 -0
  561. data/public/libs/font-awesome/less/path.less +15 -0
  562. data/public/libs/font-awesome/less/variables.less +9 -0
  563. data/public/libs/jquery-1.10.0.min.js +6 -0
  564. data/public/libs/jquery-ui.min.js +12 -0
  565. data/public/libs/jquery.jsPlumb-1.4.0-all.js +9571 -0
  566. data/public/libs/jquery.livequery.js +226 -0
  567. data/public/libs/jsPlumbInitializer.js +72 -0
  568. data/public/libs/jstree/README.txt +10 -0
  569. data/public/libs/jstree/_demo/_dump.sql +20 -0
  570. data/public/libs/jstree/_demo/_inc/__mysql_errors.log +0 -0
  571. data/public/libs/jstree/_demo/_inc/class._database.php +146 -0
  572. data/public/libs/jstree/_demo/_inc/class._database_i.php +152 -0
  573. data/public/libs/jstree/_demo/_inc/class.tree.php +602 -0
  574. data/public/libs/jstree/_demo/_install.txt +6 -0
  575. data/public/libs/jstree/_demo/config.php +14 -0
  576. data/public/libs/jstree/_demo/file.png +0 -0
  577. data/public/libs/jstree/_demo/folder.png +0 -0
  578. data/public/libs/jstree/_demo/index.html +461 -0
  579. data/public/libs/jstree/_demo/root.png +0 -0
  580. data/public/libs/jstree/_demo/server.php +69 -0
  581. data/public/libs/jstree/_docs/!style.css +48 -0
  582. data/public/libs/jstree/_docs/_drive.png +0 -0
  583. data/public/libs/jstree/_docs/_html_data.html +2 -0
  584. data/public/libs/jstree/_docs/_json_data.json +4 -0
  585. data/public/libs/jstree/_docs/_search_data.json +6 -0
  586. data/public/libs/jstree/_docs/_search_result.json +1 -0
  587. data/public/libs/jstree/_docs/_xml_flat.xml +12 -0
  588. data/public/libs/jstree/_docs/_xml_nest.xml +18 -0
  589. data/public/libs/jstree/_docs/checkbox.html +171 -0
  590. data/public/libs/jstree/_docs/contextmenu.html +121 -0
  591. data/public/libs/jstree/_docs/cookies.html +97 -0
  592. data/public/libs/jstree/_docs/core.html +689 -0
  593. data/public/libs/jstree/_docs/crrm.html +316 -0
  594. data/public/libs/jstree/_docs/dnd.html +199 -0
  595. data/public/libs/jstree/_docs/hotkeys.html +82 -0
  596. data/public/libs/jstree/_docs/html_data.html +175 -0
  597. data/public/libs/jstree/_docs/index.html +86 -0
  598. data/public/libs/jstree/_docs/json_data.html +249 -0
  599. data/public/libs/jstree/_docs/languages.html +152 -0
  600. data/public/libs/jstree/_docs/logo.png +0 -0
  601. data/public/libs/jstree/_docs/search.html +153 -0
  602. data/public/libs/jstree/_docs/sort.html +85 -0
  603. data/public/libs/jstree/_docs/syntax/!script.js +2232 -0
  604. data/public/libs/jstree/_docs/syntax/!style.css +511 -0
  605. data/public/libs/jstree/_docs/syntax/clipboard.swf +0 -0
  606. data/public/libs/jstree/_docs/syntax/help.png +0 -0
  607. data/public/libs/jstree/_docs/syntax/magnifier.png +0 -0
  608. data/public/libs/jstree/_docs/syntax/page_white_code.png +0 -0
  609. data/public/libs/jstree/_docs/syntax/page_white_copy.png +0 -0
  610. data/public/libs/jstree/_docs/syntax/printer.png +0 -0
  611. data/public/libs/jstree/_docs/syntax/wrapping.png +0 -0
  612. data/public/libs/jstree/_docs/themeroller.html +107 -0
  613. data/public/libs/jstree/_docs/themes.html +127 -0
  614. data/public/libs/jstree/_docs/types.html +178 -0
  615. data/public/libs/jstree/_docs/ui.html +197 -0
  616. data/public/libs/jstree/_docs/unique.html +85 -0
  617. data/public/libs/jstree/_docs/xml_data.html +218 -0
  618. data/public/libs/jstree/_lib/jquery.cookie.js +96 -0
  619. data/public/libs/jstree/_lib/jquery.hotkeys.js +99 -0
  620. data/public/libs/jstree/_lib/jquery.js +5 -0
  621. data/public/libs/jstree/jquery.jstree.js +4564 -0
  622. data/public/libs/jstree/themes/apple/bg.jpg +0 -0
  623. data/public/libs/jstree/themes/apple/d.png +0 -0
  624. data/public/libs/jstree/themes/apple/dot_for_ie.gif +0 -0
  625. data/public/libs/jstree/themes/apple/style.css +61 -0
  626. data/public/libs/jstree/themes/apple/throbber.gif +0 -0
  627. data/public/libs/jstree/themes/classic/d.gif +0 -0
  628. data/public/libs/jstree/themes/classic/d.png +0 -0
  629. data/public/libs/jstree/themes/classic/dot_for_ie.gif +0 -0
  630. data/public/libs/jstree/themes/classic/style.css +77 -0
  631. data/public/libs/jstree/themes/classic/throbber.gif +0 -0
  632. data/public/libs/jstree/themes/default-rtl/d.gif +0 -0
  633. data/public/libs/jstree/themes/default-rtl/d.png +0 -0
  634. data/public/libs/jstree/themes/default-rtl/dots.gif +0 -0
  635. data/public/libs/jstree/themes/default-rtl/style.css +84 -0
  636. data/public/libs/jstree/themes/default-rtl/throbber.gif +0 -0
  637. data/public/libs/jstree/themes/default/d.gif +0 -0
  638. data/public/libs/jstree/themes/default/d.png +0 -0
  639. data/public/libs/jstree/themes/default/style.css +74 -0
  640. data/public/libs/jstree/themes/default/throbber.gif +0 -0
  641. data/public/themes/geo-bootstrap/README.md +25 -0
  642. data/public/themes/geo-bootstrap/img/flames.gif +0 -0
  643. data/public/themes/geo-bootstrap/img/glyphicons-halflings-white.png +0 -0
  644. data/public/themes/geo-bootstrap/img/glyphicons-halflings.png +0 -0
  645. data/public/themes/geo-bootstrap/img/microfab.gif +0 -0
  646. data/public/themes/geo-bootstrap/img/progress.gif +0 -0
  647. data/public/themes/geo-bootstrap/img/rainbow.gif +0 -0
  648. data/public/themes/geo-bootstrap/img/stars.gif +0 -0
  649. data/public/themes/geo-bootstrap/img/test/7upspot.gif +0 -0
  650. data/public/themes/geo-bootstrap/img/test/americanflag.gif +0 -0
  651. data/public/themes/geo-bootstrap/img/test/community.gif +0 -0
  652. data/public/themes/geo-bootstrap/img/test/computer-01.gif +0 -0
  653. data/public/themes/geo-bootstrap/img/test/computer.gif +0 -0
  654. data/public/themes/geo-bootstrap/img/test/construction.gif +0 -0
  655. data/public/themes/geo-bootstrap/img/test/counter.gif +0 -0
  656. data/public/themes/geo-bootstrap/img/test/counter2.gif +0 -0
  657. data/public/themes/geo-bootstrap/img/test/divider.gif +0 -0
  658. data/public/themes/geo-bootstrap/img/test/divider1.gif +0 -0
  659. data/public/themes/geo-bootstrap/img/test/divider2.gif +0 -0
  660. data/public/themes/geo-bootstrap/img/test/divider3.gif +0 -0
  661. data/public/themes/geo-bootstrap/img/test/divider4.gif +0 -0
  662. data/public/themes/geo-bootstrap/img/test/drudgesiren.gif +0 -0
  663. data/public/themes/geo-bootstrap/img/test/emailme.gif +0 -0
  664. data/public/themes/geo-bootstrap/img/test/funky.gif +0 -0
  665. data/public/themes/geo-bootstrap/img/test/geocities.jpg +0 -0
  666. data/public/themes/geo-bootstrap/img/test/hacker.gif +0 -0
  667. data/public/themes/geo-bootstrap/img/test/heart.gif +0 -0
  668. data/public/themes/geo-bootstrap/img/test/hot.gif +0 -0
  669. data/public/themes/geo-bootstrap/img/test/ie_logo.gif +0 -0
  670. data/public/themes/geo-bootstrap/img/test/mailkitten.gif +0 -0
  671. data/public/themes/geo-bootstrap/img/test/mchammer.gif +0 -0
  672. data/public/themes/geo-bootstrap/img/test/new.gif +0 -0
  673. data/public/themes/geo-bootstrap/img/test/new2.gif +0 -0
  674. data/public/themes/geo-bootstrap/img/test/noframes.gif +0 -0
  675. data/public/themes/geo-bootstrap/img/test/notepad.gif +0 -0
  676. data/public/themes/geo-bootstrap/img/test/ns_logo.gif +0 -0
  677. data/public/themes/geo-bootstrap/img/test/sign-in.gif +0 -0
  678. data/public/themes/geo-bootstrap/img/test/spinningearth.gif +0 -0
  679. data/public/themes/geo-bootstrap/img/test/underconstruction.gif +0 -0
  680. data/public/themes/geo-bootstrap/img/test/wabwalk.gif +0 -0
  681. data/public/themes/geo-bootstrap/img/test/webtrips.gif +0 -0
  682. data/public/themes/geo-bootstrap/img/test/yahooweek.gif +0 -0
  683. data/public/themes/geo-bootstrap/package.json +21 -0
  684. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.css +1109 -0
  685. data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.min.css +9 -0
  686. data/public/themes/geo-bootstrap/swatch/bootstrap.css +6462 -0
  687. data/public/themes/geo-bootstrap/swatch/bootstrap.min.css +9 -0
  688. metadata +791 -0
@@ -0,0 +1,4107 @@
1
+ smalltalk.addPackage('Kernel-Objects', {});
2
+ smalltalk.addClass('Object', smalltalk.nil, [], 'Kernel-Objects');
3
+ smalltalk.Object.comment=unescape('*Object%20is%20the%20root%20of%20the%20Smalltalk%20class%20system*.%20All%20classes%20in%20the%20system%20are%20subclasses%20of%20Object.%0A%0AObject%20provides%20default%20behavior%20common%20to%20all%20normal%20objects%2C%20such%20as%3A%20%0A%0A-%20access%0A-%20copying%0A-%20comparison%0A-%20error%20handling%0A-%20message%20sending%0A-%20reflection%0A%0AAlso%20utility%20messages%20that%20all%20objects%20should%20respond%20to%20are%20defined%20here.%0A%0AObject%20has%20no%20instance%20variable.%0A%0A%23%23Access%0A%0AInstance%20variables%20can%20be%20accessed%20with%20%60%23instVarAt%3A%60%20and%20%60%23instVarAt%3Aput%3A%60.%20%60Object%20%3E%3E%20instanceVariableNames%60%20answers%20a%20collection%20of%20all%20instance%20variable%20names.%0AAccessing%20JavaScript%20properties%20of%20an%20object%20is%20done%20through%20%60%23basicAt%3A%60%2C%20%60%23basicAt%3Aput%3A%60%20and%20%60basicDelete%3A%60.%0A%0A%23%23Copying%0A%0ACopying%20an%20object%20is%20handled%20by%20%60%23copy%60%20and%20%60%23deepCopy%60.%20The%20first%20one%20performs%20a%20shallow%20copy%20of%20the%20receiver%2C%20while%20the%20second%20one%20performs%20a%20deep%20copy.%0AThe%20hook%20method%20%60%23postCopy%60%20can%20be%20overriden%20in%20subclasses%20to%20copy%20fields%20as%20necessary%20to%20complete%20the%20full%20copy.%20It%20will%20be%20sent%20by%20the%20copy%20of%20the%20receiver.%0A%0A%23%23Comparison%0A%0AObjects%20understand%20equality%20%20%60%23%3D%60%20and%20identity%20%60%23%3D%3D%60%20comparison.%0A%0A%23%23Error%20handling%0A%0A-%20%60%23halt%60%20is%20the%20typical%20message%20to%20use%20for%20inserting%20breakpoints%20during%20debugging.%0A-%20%60%23error%3A%60%20throws%20a%20generic%20error%20exception%0A-%20%60%23doesNotUnderstand%3A%60%20handles%20the%20fact%20that%20there%20was%20an%20attempt%20to%20send%20the%20given%20message%20to%20the%20receiver%20but%20the%20receiver%20does%20not%20understand%20this%20message.%0A%20%20Overriding%20this%20message%20can%20be%20useful%20to%20implement%20proxies%20for%20example.')
4
+ smalltalk.addMethod(
5
+ unescape('__minus_gt'),
6
+ smalltalk.method({
7
+ selector: unescape('-%3E'),
8
+ category: 'converting',
9
+ fn: function (anObject){
10
+ var self=this;
11
+ return smalltalk.send((smalltalk.Association || Association), "_key_value_", [self, anObject]);
12
+ return self;},
13
+ args: ["anObject"],
14
+ source: unescape('-%3E%20anObject%0A%09%5EAssociation%20key%3A%20self%20value%3A%20anObject'),
15
+ messageSends: ["key:value:"],
16
+ referencedClasses: ["Association"]
17
+ }),
18
+ smalltalk.Object);
19
+
20
+ smalltalk.addMethod(
21
+ unescape('__eq'),
22
+ smalltalk.method({
23
+ selector: unescape('%3D'),
24
+ category: 'comparing',
25
+ fn: function (anObject){
26
+ var self=this;
27
+ return smalltalk.send(self, "__eq_eq", [anObject]);
28
+ return self;},
29
+ args: ["anObject"],
30
+ source: unescape('%3D%20anObject%0A%09%5Eself%20%3D%3D%20anObject'),
31
+ messageSends: [unescape("%3D%3D")],
32
+ referencedClasses: []
33
+ }),
34
+ smalltalk.Object);
35
+
36
+ smalltalk.addMethod(
37
+ unescape('__eq_eq'),
38
+ smalltalk.method({
39
+ selector: unescape('%3D%3D'),
40
+ category: 'comparing',
41
+ fn: function (anObject){
42
+ var self=this;
43
+ return smalltalk.send(smalltalk.send(self, "_identityHash", []), "__eq", [smalltalk.send(anObject, "_identityHash", [])]);
44
+ return self;},
45
+ args: ["anObject"],
46
+ source: unescape('%3D%3D%20anObject%0A%09%5Eself%20identityHash%20%3D%20anObject%20identityHash'),
47
+ messageSends: [unescape("%3D"), "identityHash"],
48
+ referencedClasses: []
49
+ }),
50
+ smalltalk.Object);
51
+
52
+ smalltalk.addMethod(
53
+ unescape('_asJSON'),
54
+ smalltalk.method({
55
+ selector: unescape('asJSON'),
56
+ category: 'converting',
57
+ fn: function (){
58
+ var self=this;
59
+ var variables=nil;
60
+ (variables=smalltalk.send((smalltalk.HashedCollection || HashedCollection), "_new", []));
61
+ smalltalk.send(smalltalk.send(smalltalk.send(self, "_class", []), "_allInstanceVariableNames", []), "_do_", [(function(each){return smalltalk.send(variables, "_at_put_", [each, smalltalk.send(smalltalk.send(self, "_instVarAt_", [each]), "_asJSON", [])]);})]);
62
+ return variables;
63
+ return self;},
64
+ args: [],
65
+ source: unescape('asJSON%0A%09%7C%20variables%20%7C%0A%09variables%20%3A%3D%20HashedCollection%20new.%0A%09self%20class%20allInstanceVariableNames%20do%3A%20%5B%3Aeach%20%7C%0A%09%09variables%20at%3A%20each%20put%3A%20%28self%20instVarAt%3A%20each%29%20asJSON%5D.%0A%09%5Evariables'),
66
+ messageSends: ["new", "do:", "allInstanceVariableNames", "class", "at:put:", "asJSON", "instVarAt:"],
67
+ referencedClasses: ["HashedCollection"]
68
+ }),
69
+ smalltalk.Object);
70
+
71
+ smalltalk.addMethod(
72
+ unescape('_asJSONString'),
73
+ smalltalk.method({
74
+ selector: unescape('asJSONString'),
75
+ category: 'converting',
76
+ fn: function (){
77
+ var self=this;
78
+ return smalltalk.send((smalltalk.JSON || JSON), "_stringify_", [smalltalk.send(self, "_asJSON", [])]);
79
+ return self;},
80
+ args: [],
81
+ source: unescape('asJSONString%0A%09%5EJSON%20stringify%3A%20self%20asJSON'),
82
+ messageSends: ["stringify:", "asJSON"],
83
+ referencedClasses: ["JSON"]
84
+ }),
85
+ smalltalk.Object);
86
+
87
+ smalltalk.addMethod(
88
+ unescape('_asJavascript'),
89
+ smalltalk.method({
90
+ selector: unescape('asJavascript'),
91
+ category: 'converting',
92
+ fn: function (){
93
+ var self=this;
94
+ return smalltalk.send(self, "_asString", []);
95
+ return self;},
96
+ args: [],
97
+ source: unescape('asJavascript%0A%09%5Eself%20asString'),
98
+ messageSends: ["asString"],
99
+ referencedClasses: []
100
+ }),
101
+ smalltalk.Object);
102
+
103
+ smalltalk.addMethod(
104
+ unescape('_asString'),
105
+ smalltalk.method({
106
+ selector: unescape('asString'),
107
+ category: 'converting',
108
+ fn: function (){
109
+ var self=this;
110
+ return smalltalk.send(self, "_printString", []);
111
+ return self;},
112
+ args: [],
113
+ source: unescape('asString%0A%09%5Eself%20printString'),
114
+ messageSends: ["printString"],
115
+ referencedClasses: []
116
+ }),
117
+ smalltalk.Object);
118
+
119
+ smalltalk.addMethod(
120
+ unescape('_basicAt_'),
121
+ smalltalk.method({
122
+ selector: unescape('basicAt%3A'),
123
+ category: 'accessing',
124
+ fn: function (aString){
125
+ var self=this;
126
+ return self[aString];
127
+ return self;},
128
+ args: ["aString"],
129
+ source: unescape('basicAt%3A%20aString%0A%09%3Creturn%20self%5BaString%5D%3E'),
130
+ messageSends: [],
131
+ referencedClasses: []
132
+ }),
133
+ smalltalk.Object);
134
+
135
+ smalltalk.addMethod(
136
+ unescape('_basicAt_put_'),
137
+ smalltalk.method({
138
+ selector: unescape('basicAt%3Aput%3A'),
139
+ category: 'accessing',
140
+ fn: function (aString, anObject){
141
+ var self=this;
142
+ return self[aString] = anObject;
143
+ return self;},
144
+ args: ["aString", "anObject"],
145
+ source: unescape('basicAt%3A%20aString%20put%3A%20anObject%0A%09%3Creturn%20self%5BaString%5D%20%3D%20anObject%3E'),
146
+ messageSends: [],
147
+ referencedClasses: []
148
+ }),
149
+ smalltalk.Object);
150
+
151
+ smalltalk.addMethod(
152
+ unescape('_basicDelete_'),
153
+ smalltalk.method({
154
+ selector: unescape('basicDelete%3A'),
155
+ category: 'accessing',
156
+ fn: function (aString){
157
+ var self=this;
158
+ delete self[aString]; return aString;
159
+ return self;},
160
+ args: ["aString"],
161
+ source: unescape('basicDelete%3A%20aString%0A%20%20%20%20%3Cdelete%20self%5BaString%5D%3B%20return%20aString%3E'),
162
+ messageSends: [],
163
+ referencedClasses: []
164
+ }),
165
+ smalltalk.Object);
166
+
167
+ smalltalk.addMethod(
168
+ unescape('_basicPerform_'),
169
+ smalltalk.method({
170
+ selector: unescape('basicPerform%3A'),
171
+ category: 'message handling',
172
+ fn: function (aSymbol){
173
+ var self=this;
174
+ return smalltalk.send(self, "_basicPerform_withArguments_", [aSymbol, []]);
175
+ return self;},
176
+ args: ["aSymbol"],
177
+ source: unescape('basicPerform%3A%20aSymbol%20%0A%09%5Eself%20basicPerform%3A%20aSymbol%20withArguments%3A%20%23%28%29'),
178
+ messageSends: ["basicPerform:withArguments:"],
179
+ referencedClasses: []
180
+ }),
181
+ smalltalk.Object);
182
+
183
+ smalltalk.addMethod(
184
+ unescape('_basicPerform_withArguments_'),
185
+ smalltalk.method({
186
+ selector: unescape('basicPerform%3AwithArguments%3A'),
187
+ category: 'message handling',
188
+ fn: function (aSymbol, aCollection){
189
+ var self=this;
190
+ return self[aSymbol].apply(self, aCollection);;
191
+ return self;},
192
+ args: ["aSymbol", "aCollection"],
193
+ source: unescape('basicPerform%3A%20aSymbol%20withArguments%3A%20aCollection%0A%09%3Creturn%20self%5BaSymbol%5D.apply%28self%2C%20aCollection%29%3B%3E'),
194
+ messageSends: [],
195
+ referencedClasses: []
196
+ }),
197
+ smalltalk.Object);
198
+
199
+ smalltalk.addMethod(
200
+ unescape('_class'),
201
+ smalltalk.method({
202
+ selector: unescape('class'),
203
+ category: 'accessing',
204
+ fn: function (){
205
+ var self=this;
206
+ return self.klass;
207
+ return self;},
208
+ args: [],
209
+ source: unescape('class%0A%09%3Creturn%20self.klass%3E'),
210
+ messageSends: [],
211
+ referencedClasses: []
212
+ }),
213
+ smalltalk.Object);
214
+
215
+ smalltalk.addMethod(
216
+ unescape('_copy'),
217
+ smalltalk.method({
218
+ selector: unescape('copy'),
219
+ category: 'copying',
220
+ fn: function (){
221
+ var self=this;
222
+ return smalltalk.send(smalltalk.send(self, "_shallowCopy", []), "_postCopy", []);
223
+ return self;},
224
+ args: [],
225
+ source: unescape('copy%0A%09%5Eself%20shallowCopy%20postCopy'),
226
+ messageSends: ["postCopy", "shallowCopy"],
227
+ referencedClasses: []
228
+ }),
229
+ smalltalk.Object);
230
+
231
+ smalltalk.addMethod(
232
+ unescape('_deepCopy'),
233
+ smalltalk.method({
234
+ selector: unescape('deepCopy'),
235
+ category: 'copying',
236
+ fn: function (){
237
+ var self=this;
238
+
239
+ var copy = self.klass._new();
240
+ for(var i in self) {
241
+ if(/^@.+/.test(i)) {
242
+ copy[i] = self[i]._deepCopy();
243
+ }
244
+ }
245
+ return copy;
246
+ ;
247
+ return self;},
248
+ args: [],
249
+ source: unescape('deepCopy%0A%09%3C%20%20%20%20%0A%09%20%20%20%20var%20copy%20%3D%20self.klass._new%28%29%3B%0A%09%20%20%20%20for%28var%20i%20in%20self%29%20%7B%0A%09%09if%28/%5E@.+/.test%28i%29%29%20%7B%0A%09%09%20%20%20%20copy%5Bi%5D%20%3D%20self%5Bi%5D._deepCopy%28%29%3B%0A%09%09%7D%0A%09%20%20%20%20%7D%0A%09%20%20%20%20return%20copy%3B%0A%09%3E'),
250
+ messageSends: [],
251
+ referencedClasses: []
252
+ }),
253
+ smalltalk.Object);
254
+
255
+ smalltalk.addMethod(
256
+ unescape('_deprecatedAPI'),
257
+ smalltalk.method({
258
+ selector: unescape('deprecatedAPI'),
259
+ category: 'error handling',
260
+ fn: function (){
261
+ var self=this;
262
+ smalltalk.send((typeof console == 'undefined' ? nil : console), "_warn_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.getThisContext()), "_home", []), "_asString", []), "__comma", [unescape("%20is%20deprecated%21%20%28in%20")]), "__comma", [smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.getThisContext()), "_home", []), "_home", []), "_asString", [])]), "__comma", [unescape("%29")])]);
263
+ return self;},
264
+ args: [],
265
+ source: unescape('deprecatedAPI%0A%09%22Just%20a%20simple%20way%20to%20deprecate%20methods.%0A%09%23deprecatedAPI%20is%20in%20the%20%27error%20handling%27%20protocol%20even%20if%20it%20doesn%27t%20throw%20an%20error%2C%0A%09but%20it%20could%20in%20the%20future.%22%0A%09console%20warn%3A%20thisContext%20home%20asString%2C%20%27%20is%20deprecated%21%20%28in%20%27%2C%20thisContext%20home%20home%20asString%2C%20%27%29%27'),
266
+ messageSends: ["warn:", unescape("%2C"), "asString", "home"],
267
+ referencedClasses: []
268
+ }),
269
+ smalltalk.Object);
270
+
271
+ smalltalk.addMethod(
272
+ unescape('_doesNotUnderstand_'),
273
+ smalltalk.method({
274
+ selector: unescape('doesNotUnderstand%3A'),
275
+ category: 'error handling',
276
+ fn: function (aMessage){
277
+ var self=this;
278
+ (function($rec){smalltalk.send($rec, "_receiver_", [self]);smalltalk.send($rec, "_message_", [aMessage]);return smalltalk.send($rec, "_signal", []);})(smalltalk.send((smalltalk.MessageNotUnderstood || MessageNotUnderstood), "_new", []));
279
+ return self;},
280
+ args: ["aMessage"],
281
+ source: unescape('doesNotUnderstand%3A%20aMessage%0A%09MessageNotUnderstood%20new%0A%09%09receiver%3A%20self%3B%0A%09%09message%3A%20aMessage%3B%0A%09%09signal'),
282
+ messageSends: ["receiver:", "message:", "signal", "new"],
283
+ referencedClasses: ["MessageNotUnderstood"]
284
+ }),
285
+ smalltalk.Object);
286
+
287
+ smalltalk.addMethod(
288
+ unescape('_error_'),
289
+ smalltalk.method({
290
+ selector: unescape('error%3A'),
291
+ category: 'error handling',
292
+ fn: function (aString){
293
+ var self=this;
294
+ smalltalk.send((smalltalk.Error || Error), "_signal_", [aString]);
295
+ return self;},
296
+ args: ["aString"],
297
+ source: unescape('error%3A%20aString%0A%09Error%20signal%3A%20aString'),
298
+ messageSends: ["signal:"],
299
+ referencedClasses: ["Error"]
300
+ }),
301
+ smalltalk.Object);
302
+
303
+ smalltalk.addMethod(
304
+ unescape('_halt'),
305
+ smalltalk.method({
306
+ selector: unescape('halt'),
307
+ category: 'error handling',
308
+ fn: function (){
309
+ var self=this;
310
+ smalltalk.send(self, "_error_", ["Halt encountered"]);
311
+ return self;},
312
+ args: [],
313
+ source: unescape('halt%0A%09self%20error%3A%20%27Halt%20encountered%27'),
314
+ messageSends: ["error:"],
315
+ referencedClasses: []
316
+ }),
317
+ smalltalk.Object);
318
+
319
+ smalltalk.addMethod(
320
+ unescape('_identityHash'),
321
+ smalltalk.method({
322
+ selector: unescape('identityHash'),
323
+ category: 'accessing',
324
+ fn: function (){
325
+ var self=this;
326
+ return self.identityHash || (self.identityHash = smalltalk.nextId());;
327
+ return self;},
328
+ args: [],
329
+ source: unescape('identityHash%0A%09%3Creturn%20self.identityHash%20%7C%7C%20%28self.identityHash%20%3D%20smalltalk.nextId%28%29%29%3B%3E'),
330
+ messageSends: [],
331
+ referencedClasses: []
332
+ }),
333
+ smalltalk.Object);
334
+
335
+ smalltalk.addMethod(
336
+ unescape('_ifNil_'),
337
+ smalltalk.method({
338
+ selector: unescape('ifNil%3A'),
339
+ category: 'testing',
340
+ fn: function (aBlock){
341
+ var self=this;
342
+ return self;
343
+ return self;},
344
+ args: ["aBlock"],
345
+ source: unescape('ifNil%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself'),
346
+ messageSends: [],
347
+ referencedClasses: []
348
+ }),
349
+ smalltalk.Object);
350
+
351
+ smalltalk.addMethod(
352
+ unescape('_ifNil_ifNotNil_'),
353
+ smalltalk.method({
354
+ selector: unescape('ifNil%3AifNotNil%3A'),
355
+ category: 'testing',
356
+ fn: function (aBlock, anotherBlock){
357
+ var self=this;
358
+ return smalltalk.send(anotherBlock, "_value", []);
359
+ return self;},
360
+ args: ["aBlock", "anotherBlock"],
361
+ source: unescape('ifNil%3A%20aBlock%20ifNotNil%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5EanotherBlock%20value'),
362
+ messageSends: ["value"],
363
+ referencedClasses: []
364
+ }),
365
+ smalltalk.Object);
366
+
367
+ smalltalk.addMethod(
368
+ unescape('_ifNotNil_'),
369
+ smalltalk.method({
370
+ selector: unescape('ifNotNil%3A'),
371
+ category: 'testing',
372
+ fn: function (aBlock){
373
+ var self=this;
374
+ return smalltalk.send(aBlock, "_value", []);
375
+ return self;},
376
+ args: ["aBlock"],
377
+ source: unescape('ifNotNil%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5EaBlock%20value'),
378
+ messageSends: ["value"],
379
+ referencedClasses: []
380
+ }),
381
+ smalltalk.Object);
382
+
383
+ smalltalk.addMethod(
384
+ unescape('_ifNotNil_ifNil_'),
385
+ smalltalk.method({
386
+ selector: unescape('ifNotNil%3AifNil%3A'),
387
+ category: 'testing',
388
+ fn: function (aBlock, anotherBlock){
389
+ var self=this;
390
+ return smalltalk.send(aBlock, "_value", []);
391
+ return self;},
392
+ args: ["aBlock", "anotherBlock"],
393
+ source: unescape('ifNotNil%3A%20aBlock%20ifNil%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5EaBlock%20value'),
394
+ messageSends: ["value"],
395
+ referencedClasses: []
396
+ }),
397
+ smalltalk.Object);
398
+
399
+ smalltalk.addMethod(
400
+ unescape('_initialize'),
401
+ smalltalk.method({
402
+ selector: unescape('initialize'),
403
+ category: 'initialization',
404
+ fn: function (){
405
+ var self=this;
406
+
407
+ return self;},
408
+ args: [],
409
+ source: unescape('initialize'),
410
+ messageSends: [],
411
+ referencedClasses: []
412
+ }),
413
+ smalltalk.Object);
414
+
415
+ smalltalk.addMethod(
416
+ unescape('_inlineViewComponent'),
417
+ smalltalk.method({
418
+ selector: unescape('inlineViewComponent'),
419
+ category: 'rendering',
420
+ fn: function (){
421
+ var self=this;
422
+ return smalltalk.send(self, "_asString", []);
423
+ return self;},
424
+ args: [],
425
+ source: unescape('inlineViewComponent%0A%09%5E%20self%20asString'),
426
+ messageSends: ["asString"],
427
+ referencedClasses: []
428
+ }),
429
+ smalltalk.Object);
430
+
431
+ smalltalk.addMethod(
432
+ unescape('_instVarAt_'),
433
+ smalltalk.method({
434
+ selector: unescape('instVarAt%3A'),
435
+ category: 'accessing',
436
+ fn: function (aSymbol){
437
+ var self=this;
438
+ var varname=nil;
439
+ (varname=smalltalk.send(aSymbol, "_asString", []));
440
+ return self['@'+varname];
441
+ return self;},
442
+ args: ["aSymbol"],
443
+ source: unescape('instVarAt%3A%20aSymbol%0A%09%7C%20varname%20%7C%0A%09varname%20%3A%3D%20aSymbol%20asString.%0A%09%3Creturn%20self%5B%27@%27+varname%5D%3E'),
444
+ messageSends: ["asString"],
445
+ referencedClasses: []
446
+ }),
447
+ smalltalk.Object);
448
+
449
+ smalltalk.addMethod(
450
+ unescape('_instVarAt_put_'),
451
+ smalltalk.method({
452
+ selector: unescape('instVarAt%3Aput%3A'),
453
+ category: 'accessing',
454
+ fn: function (aSymbol, anObject){
455
+ var self=this;
456
+ var varname=nil;
457
+ (varname=smalltalk.send(aSymbol, "_asString", []));
458
+ self['@' + varname] = anObject;
459
+ return self;},
460
+ args: ["aSymbol", "anObject"],
461
+ source: unescape('instVarAt%3A%20aSymbol%20put%3A%20anObject%0A%09%7C%20varname%20%7C%0A%09varname%20%3A%3D%20aSymbol%20asString.%0A%09%3Cself%5B%27@%27%20+%20varname%5D%20%3D%20anObject%3E'),
462
+ messageSends: ["asString"],
463
+ referencedClasses: []
464
+ }),
465
+ smalltalk.Object);
466
+
467
+ smalltalk.addMethod(
468
+ unescape('_isAssociation'),
469
+ smalltalk.method({
470
+ selector: unescape('isAssociation'),
471
+ category: 'testing',
472
+ fn: function (){
473
+ var self=this;
474
+ return false;
475
+ return self;},
476
+ args: [],
477
+ source: unescape('isAssociation%0A%09%5E%20false'),
478
+ messageSends: [],
479
+ referencedClasses: []
480
+ }),
481
+ smalltalk.Object);
482
+
483
+ smalltalk.addMethod(
484
+ unescape('_isClass'),
485
+ smalltalk.method({
486
+ selector: unescape('isClass'),
487
+ category: 'testing',
488
+ fn: function (){
489
+ var self=this;
490
+ return false;
491
+ return self;},
492
+ args: [],
493
+ source: unescape('isClass%0A%09%5Efalse'),
494
+ messageSends: [],
495
+ referencedClasses: []
496
+ }),
497
+ smalltalk.Object);
498
+
499
+ smalltalk.addMethod(
500
+ unescape('_isKindOf_'),
501
+ smalltalk.method({
502
+ selector: unescape('isKindOf%3A'),
503
+ category: 'testing',
504
+ fn: function (aClass){
505
+ var self=this;
506
+ return ((($receiver = smalltalk.send(self, "_isMemberOf_", [aClass])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return true;})() : (function(){return smalltalk.send(smalltalk.send(self, "_class", []), "_inheritsFrom_", [aClass]);})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return true;}), (function(){return smalltalk.send(smalltalk.send(self, "_class", []), "_inheritsFrom_", [aClass]);})]));
507
+ return self;},
508
+ args: ["aClass"],
509
+ source: unescape('isKindOf%3A%20aClass%0A%09%5E%28self%20isMemberOf%3A%20aClass%29%0A%09%20%20%20%20ifTrue%3A%20%5Btrue%5D%0A%09%20%20%20%20ifFalse%3A%20%5Bself%20class%20inheritsFrom%3A%20aClass%5D'),
510
+ messageSends: ["ifTrue:ifFalse:", "isMemberOf:", "inheritsFrom:", "class"],
511
+ referencedClasses: []
512
+ }),
513
+ smalltalk.Object);
514
+
515
+ smalltalk.addMethod(
516
+ unescape('_isMemberOf_'),
517
+ smalltalk.method({
518
+ selector: unescape('isMemberOf%3A'),
519
+ category: 'testing',
520
+ fn: function (aClass){
521
+ var self=this;
522
+ return smalltalk.send(smalltalk.send(self, "_class", []), "__eq", [aClass]);
523
+ return self;},
524
+ args: ["aClass"],
525
+ source: unescape('isMemberOf%3A%20aClass%0A%09%5Eself%20class%20%3D%20aClass'),
526
+ messageSends: [unescape("%3D"), "class"],
527
+ referencedClasses: []
528
+ }),
529
+ smalltalk.Object);
530
+
531
+ smalltalk.addMethod(
532
+ unescape('_isMetaclass'),
533
+ smalltalk.method({
534
+ selector: unescape('isMetaclass'),
535
+ category: 'testing',
536
+ fn: function (){
537
+ var self=this;
538
+ return false;
539
+ return self;},
540
+ args: [],
541
+ source: unescape('isMetaclass%0A%09%5Efalse'),
542
+ messageSends: [],
543
+ referencedClasses: []
544
+ }),
545
+ smalltalk.Object);
546
+
547
+ smalltalk.addMethod(
548
+ unescape('_isNil'),
549
+ smalltalk.method({
550
+ selector: unescape('isNil'),
551
+ category: 'testing',
552
+ fn: function (){
553
+ var self=this;
554
+ return false;
555
+ return self;},
556
+ args: [],
557
+ source: unescape('isNil%0A%09%5Efalse'),
558
+ messageSends: [],
559
+ referencedClasses: []
560
+ }),
561
+ smalltalk.Object);
562
+
563
+ smalltalk.addMethod(
564
+ unescape('_isNumber'),
565
+ smalltalk.method({
566
+ selector: unescape('isNumber'),
567
+ category: 'testing',
568
+ fn: function (){
569
+ var self=this;
570
+ return false;
571
+ return self;},
572
+ args: [],
573
+ source: unescape('isNumber%0A%09%5Efalse'),
574
+ messageSends: [],
575
+ referencedClasses: []
576
+ }),
577
+ smalltalk.Object);
578
+
579
+ smalltalk.addMethod(
580
+ unescape('_isParseFailure'),
581
+ smalltalk.method({
582
+ selector: unescape('isParseFailure'),
583
+ category: 'testing',
584
+ fn: function (){
585
+ var self=this;
586
+ return false;
587
+ return self;},
588
+ args: [],
589
+ source: unescape('isParseFailure%0A%09%5Efalse'),
590
+ messageSends: [],
591
+ referencedClasses: []
592
+ }),
593
+ smalltalk.Object);
594
+
595
+ smalltalk.addMethod(
596
+ unescape('_isString'),
597
+ smalltalk.method({
598
+ selector: unescape('isString'),
599
+ category: 'testing',
600
+ fn: function (){
601
+ var self=this;
602
+ return false;
603
+ return self;},
604
+ args: [],
605
+ source: unescape('isString%0A%09%5Efalse'),
606
+ messageSends: [],
607
+ referencedClasses: []
608
+ }),
609
+ smalltalk.Object);
610
+
611
+ smalltalk.addMethod(
612
+ unescape('_isSymbol'),
613
+ smalltalk.method({
614
+ selector: unescape('isSymbol'),
615
+ category: 'testing',
616
+ fn: function (){
617
+ var self=this;
618
+ return false;
619
+ return self;},
620
+ args: [],
621
+ source: unescape('isSymbol%0A%09%5Efalse'),
622
+ messageSends: [],
623
+ referencedClasses: []
624
+ }),
625
+ smalltalk.Object);
626
+
627
+ smalltalk.addMethod(
628
+ unescape('_log_block_'),
629
+ smalltalk.method({
630
+ selector: unescape('log%3Ablock%3A'),
631
+ category: 'printing',
632
+ fn: function (aString, aBlock){
633
+ var self=this;
634
+ var result=nil;
635
+ smalltalk.send((typeof console == 'undefined' ? nil : console), "_log_", [smalltalk.send(smalltalk.send(aString, "__comma", [" time: "]), "__comma", [smalltalk.send(smalltalk.send((smalltalk.Date || Date), "_millisecondsToRun_", [(function(){return (result=smalltalk.send(aBlock, "_value", []));})]), "_printString", [])])]);
636
+ return result;
637
+ return self;},
638
+ args: ["aString", "aBlock"],
639
+ source: unescape('log%3A%20aString%20block%3A%20aBlock%0A%0A%09%7C%20result%20%7C%0A%09console%20log%3A%20%20aString%2C%20%20%27%20time%3A%20%27%2C%20%28Date%20millisecondsToRun%3A%20%5Bresult%20%3A%3D%20aBlock%20value%5D%29%20printString.%0A%09%5Eresult'),
640
+ messageSends: ["log:", unescape("%2C"), "printString", "millisecondsToRun:", "value"],
641
+ referencedClasses: ["Date"]
642
+ }),
643
+ smalltalk.Object);
644
+
645
+ smalltalk.addMethod(
646
+ unescape('_notNil'),
647
+ smalltalk.method({
648
+ selector: unescape('notNil'),
649
+ category: 'testing',
650
+ fn: function (){
651
+ var self=this;
652
+ return smalltalk.send(smalltalk.send(self, "_isNil", []), "_not", []);
653
+ return self;},
654
+ args: [],
655
+ source: unescape('notNil%0A%09%5Eself%20isNil%20not'),
656
+ messageSends: ["not", "isNil"],
657
+ referencedClasses: []
658
+ }),
659
+ smalltalk.Object);
660
+
661
+ smalltalk.addMethod(
662
+ unescape('_perform_'),
663
+ smalltalk.method({
664
+ selector: unescape('perform%3A'),
665
+ category: 'message handling',
666
+ fn: function (aSymbol){
667
+ var self=this;
668
+ return smalltalk.send(self, "_perform_withArguments_", [aSymbol, []]);
669
+ return self;},
670
+ args: ["aSymbol"],
671
+ source: unescape('perform%3A%20aSymbol%0A%09%5Eself%20perform%3A%20aSymbol%20withArguments%3A%20%23%28%29'),
672
+ messageSends: ["perform:withArguments:"],
673
+ referencedClasses: []
674
+ }),
675
+ smalltalk.Object);
676
+
677
+ smalltalk.addMethod(
678
+ unescape('_perform_withArguments_'),
679
+ smalltalk.method({
680
+ selector: unescape('perform%3AwithArguments%3A'),
681
+ category: 'message handling',
682
+ fn: function (aSymbol, aCollection){
683
+ var self=this;
684
+ return smalltalk.send(self, "_basicPerform_withArguments_", [smalltalk.send(aSymbol, "_asSelector", []), aCollection]);
685
+ return self;},
686
+ args: ["aSymbol", "aCollection"],
687
+ source: unescape('perform%3A%20aSymbol%20withArguments%3A%20aCollection%0A%09%5Eself%20basicPerform%3A%20aSymbol%20asSelector%20withArguments%3A%20aCollection'),
688
+ messageSends: ["basicPerform:withArguments:", "asSelector"],
689
+ referencedClasses: []
690
+ }),
691
+ smalltalk.Object);
692
+
693
+ smalltalk.addMethod(
694
+ unescape('_postCopy'),
695
+ smalltalk.method({
696
+ selector: unescape('postCopy'),
697
+ category: 'copying',
698
+ fn: function (){
699
+ var self=this;
700
+
701
+ return self;},
702
+ args: [],
703
+ source: unescape('postCopy'),
704
+ messageSends: [],
705
+ referencedClasses: []
706
+ }),
707
+ smalltalk.Object);
708
+
709
+ smalltalk.addMethod(
710
+ unescape('_printNl'),
711
+ smalltalk.method({
712
+ selector: unescape('printNl'),
713
+ category: 'printing',
714
+ fn: function (){
715
+ var self=this;
716
+ console.log(self);
717
+ return self;},
718
+ args: [],
719
+ source: unescape('printNl%0A%09%3Cconsole.log%28self%29%3E'),
720
+ messageSends: [],
721
+ referencedClasses: []
722
+ }),
723
+ smalltalk.Object);
724
+
725
+ smalltalk.addMethod(
726
+ unescape('_printString'),
727
+ smalltalk.method({
728
+ selector: unescape('printString'),
729
+ category: 'printing',
730
+ fn: function (){
731
+ var self=this;
732
+ return smalltalk.send("a ", "__comma", [smalltalk.send(smalltalk.send(self, "_class", []), "_name", [])]);
733
+ return self;},
734
+ args: [],
735
+ source: unescape('printString%0A%09%5E%27a%20%27%2C%20self%20class%20name'),
736
+ messageSends: [unescape("%2C"), "name", "class"],
737
+ referencedClasses: []
738
+ }),
739
+ smalltalk.Object);
740
+
741
+ smalltalk.addMethod(
742
+ unescape('_shallowCopy'),
743
+ smalltalk.method({
744
+ selector: unescape('shallowCopy'),
745
+ category: 'copying',
746
+ fn: function (){
747
+ var self=this;
748
+
749
+ var copy = self.klass._new();
750
+ for(var i in self) {
751
+ if(/^@.+/.test(i)) {
752
+ copy[i] = self[i];
753
+ }
754
+ }
755
+ return copy;
756
+ ;
757
+ return self;},
758
+ args: [],
759
+ source: unescape('shallowCopy%0A%09%3C%0A%09%20%20%20%20var%20copy%20%3D%20self.klass._new%28%29%3B%0A%09%20%20%20%20for%28var%20i%20in%20self%29%20%7B%0A%09%09if%28/%5E@.+/.test%28i%29%29%20%7B%0A%09%09%20%20%20%20copy%5Bi%5D%20%3D%20self%5Bi%5D%3B%0A%09%09%7D%0A%09%20%20%20%20%7D%0A%09%20%20%20%20return%20copy%3B%0A%09%3E'),
760
+ messageSends: [],
761
+ referencedClasses: []
762
+ }),
763
+ smalltalk.Object);
764
+
765
+ smalltalk.addMethod(
766
+ unescape('_shouldNotImplement'),
767
+ smalltalk.method({
768
+ selector: unescape('shouldNotImplement'),
769
+ category: 'error handling',
770
+ fn: function (){
771
+ var self=this;
772
+ smalltalk.send(self, "_error_", [smalltalk.send("This method should not be implemented in ", "__comma", [smalltalk.send(smalltalk.send(self, "_class", []), "_name", [])])]);
773
+ return self;},
774
+ args: [],
775
+ source: unescape('shouldNotImplement%0A%09self%20error%3A%20%27This%20method%20should%20not%20be%20implemented%20in%20%27%2C%20self%20class%20name'),
776
+ messageSends: ["error:", unescape("%2C"), "name", "class"],
777
+ referencedClasses: []
778
+ }),
779
+ smalltalk.Object);
780
+
781
+ smalltalk.addMethod(
782
+ unescape('_size'),
783
+ smalltalk.method({
784
+ selector: unescape('size'),
785
+ category: 'accessing',
786
+ fn: function (){
787
+ var self=this;
788
+ smalltalk.send(self, "_error_", ["Object not indexable"]);
789
+ return self;},
790
+ args: [],
791
+ source: unescape('size%0A%09self%20error%3A%20%27Object%20not%20indexable%27'),
792
+ messageSends: ["error:"],
793
+ referencedClasses: []
794
+ }),
795
+ smalltalk.Object);
796
+
797
+ smalltalk.addMethod(
798
+ unescape('_storeOn_'),
799
+ smalltalk.method({
800
+ selector: unescape('storeOn%3A'),
801
+ category: 'printing',
802
+ fn: function (aStream){
803
+ var self=this;
804
+ smalltalk.send(aStream, "_nextPutAll_", [smalltalk.send(self, "_printString", [])]);
805
+ return self;},
806
+ args: ["aStream"],
807
+ source: unescape('storeOn%3A%20aStream%0A%09aStream%20nextPutAll%3A%20self%20printString'),
808
+ messageSends: ["nextPutAll:", "printString"],
809
+ referencedClasses: []
810
+ }),
811
+ smalltalk.Object);
812
+
813
+ smalltalk.addMethod(
814
+ unescape('_storeString'),
815
+ smalltalk.method({
816
+ selector: unescape('storeString'),
817
+ category: 'printing',
818
+ fn: function (){
819
+ var self=this;
820
+ return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(s){return smalltalk.send(self, "_storeOn_", [s]);})]);
821
+ return self;},
822
+ args: [],
823
+ source: unescape('storeString%0A%09%22Answer%20a%20String%20representation%20of%20the%20receiver%20from%20which%20the%20receiver%20%0A%09can%20be%20reconstructed.%22%0A%0A%09%5E%20String%20streamContents%3A%20%5B%3As%20%7C%20self%20storeOn%3A%20s%5D'),
824
+ messageSends: ["streamContents:", "storeOn:"],
825
+ referencedClasses: ["String"]
826
+ }),
827
+ smalltalk.Object);
828
+
829
+ smalltalk.addMethod(
830
+ unescape('_subclassResponsibility'),
831
+ smalltalk.method({
832
+ selector: unescape('subclassResponsibility'),
833
+ category: 'error handling',
834
+ fn: function (){
835
+ var self=this;
836
+ smalltalk.send(self, "_error_", ["This method is a responsibility of a subclass"]);
837
+ return self;},
838
+ args: [],
839
+ source: unescape('subclassResponsibility%0A%09self%20error%3A%20%27This%20method%20is%20a%20responsibility%20of%20a%20subclass%27'),
840
+ messageSends: ["error:"],
841
+ referencedClasses: []
842
+ }),
843
+ smalltalk.Object);
844
+
845
+ smalltalk.addMethod(
846
+ unescape('_try_catch_'),
847
+ smalltalk.method({
848
+ selector: unescape('try%3Acatch%3A'),
849
+ category: 'error handling',
850
+ fn: function (aBlock, anotherBlock){
851
+ var self=this;
852
+ try{result = aBlock()} catch(e) {result = anotherBlock(e)};
853
+ return result;;
854
+ return self;},
855
+ args: ["aBlock", "anotherBlock"],
856
+ source: unescape('try%3A%20aBlock%20catch%3A%20anotherBlock%0A%09%3Ctry%7Bresult%20%3D%20aBlock%28%29%7D%20catch%28e%29%20%7Bresult%20%3D%20anotherBlock%28e%29%7D%3B%0A%09return%20result%3B%3E'),
857
+ messageSends: [],
858
+ referencedClasses: []
859
+ }),
860
+ smalltalk.Object);
861
+
862
+ smalltalk.addMethod(
863
+ unescape('_yourself'),
864
+ smalltalk.method({
865
+ selector: unescape('yourself'),
866
+ category: 'accessing',
867
+ fn: function (){
868
+ var self=this;
869
+ return self;
870
+ return self;},
871
+ args: [],
872
+ source: unescape('yourself%0A%09%5Eself'),
873
+ messageSends: [],
874
+ referencedClasses: []
875
+ }),
876
+ smalltalk.Object);
877
+
878
+ smalltalk.addMethod(
879
+ unescape('_%7E_eq'),
880
+ smalltalk.method({
881
+ selector: unescape('%7E%3D'),
882
+ category: 'comparing',
883
+ fn: function (anObject){
884
+ var self=this;
885
+ return smalltalk.send(smalltalk.send(self, "__eq", [anObject]), "__eq", [false]);
886
+ return self;},
887
+ args: ["anObject"],
888
+ source: unescape('%7E%3D%20anObject%0A%09%5E%28self%20%3D%20anObject%29%20%3D%20false'),
889
+ messageSends: [unescape("%3D")],
890
+ referencedClasses: []
891
+ }),
892
+ smalltalk.Object);
893
+
894
+ smalltalk.addMethod(
895
+ unescape('_%7E%7E'),
896
+ smalltalk.method({
897
+ selector: unescape('%7E%7E'),
898
+ category: 'comparing',
899
+ fn: function (anObject){
900
+ var self=this;
901
+ return smalltalk.send(smalltalk.send(self, "__eq_eq", [anObject]), "__eq", [false]);
902
+ return self;},
903
+ args: ["anObject"],
904
+ source: unescape('%7E%7E%20anObject%0A%09%5E%28self%20%3D%3D%20anObject%29%20%3D%20false'),
905
+ messageSends: [unescape("%3D"), unescape("%3D%3D")],
906
+ referencedClasses: []
907
+ }),
908
+ smalltalk.Object);
909
+
910
+
911
+ smalltalk.addMethod(
912
+ unescape('_initialize'),
913
+ smalltalk.method({
914
+ selector: unescape('initialize'),
915
+ category: 'initialization',
916
+ fn: function (){
917
+ var self=this;
918
+
919
+ return self;},
920
+ args: [],
921
+ source: unescape('initialize%0A%09%22no%20op%22'),
922
+ messageSends: [],
923
+ referencedClasses: []
924
+ }),
925
+ smalltalk.Object.klass);
926
+
927
+
928
+ smalltalk.addClass('Boolean', smalltalk.Object, [], 'Kernel-Objects');
929
+ smalltalk.Boolean.comment=unescape('Boolean%20wraps%20the%20JavaScript%20%60Boolean%28%29%60%20constructor.%20The%20%60true%60%20and%20%60false%60%20objects%20are%20the%20JavaScript%20boolean%20objects.%0A%0ABoolean%20defines%20the%20protocol%20for%20logic%20testing%20operations%20and%20conditional%20control%20structures%20for%20the%20logical%20values.%0ABoolean%20instances%20are%20weither%20%60true%60%20or%20%60false%60.')
930
+ smalltalk.addMethod(
931
+ unescape('_%26'),
932
+ smalltalk.method({
933
+ selector: unescape('%26'),
934
+ category: 'controlling',
935
+ fn: function (aBoolean){
936
+ var self=this;
937
+
938
+ if(self == true) {
939
+ return aBoolean;
940
+ } else {
941
+ return false;
942
+ }
943
+ ;
944
+ return self;},
945
+ args: ["aBoolean"],
946
+ source: unescape('%26%20aBoolean%0A%09%3C%0A%09%20%20%20%20if%28self%20%3D%3D%20true%29%20%7B%0A%09%09return%20aBoolean%3B%0A%09%20%20%20%20%7D%20else%20%7B%0A%09%09return%20false%3B%0A%09%20%20%20%20%7D%0A%09%3E'),
947
+ messageSends: [],
948
+ referencedClasses: []
949
+ }),
950
+ smalltalk.Boolean);
951
+
952
+ smalltalk.addMethod(
953
+ unescape('__eq'),
954
+ smalltalk.method({
955
+ selector: unescape('%3D'),
956
+ category: 'comparing',
957
+ fn: function (aBoolean){
958
+ var self=this;
959
+ try{((($receiver = smalltalk.send(smalltalk.send(aBoolean, "_class", []), "__eq", [smalltalk.send(self, "_class", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
960
+ return Boolean(self == true) == aBoolean;
961
+ return self;
962
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
963
+ args: ["aBoolean"],
964
+ source: unescape('%3D%20aBoolean%0A%09aBoolean%20class%20%3D%20self%20class%20ifFalse%3A%20%5B%5Efalse%5D.%0A%09%3Creturn%20Boolean%28self%20%3D%3D%20true%29%20%3D%3D%20aBoolean%3E'),
965
+ messageSends: ["ifFalse:", unescape("%3D"), "class"],
966
+ referencedClasses: []
967
+ }),
968
+ smalltalk.Boolean);
969
+
970
+ smalltalk.addMethod(
971
+ unescape('_and_'),
972
+ smalltalk.method({
973
+ selector: unescape('and%3A'),
974
+ category: 'controlling',
975
+ fn: function (aBlock){
976
+ var self=this;
977
+ return smalltalk.send(smalltalk.send(self, "__eq", [true]), "_ifTrue_ifFalse_", [aBlock, (function(){return false;})]);
978
+ return self;},
979
+ args: ["aBlock"],
980
+ source: unescape('and%3A%20aBlock%0A%09%5Eself%20%3D%20true%0A%09%20%20%20%20ifTrue%3A%20aBlock%0A%09%20%20%20%20ifFalse%3A%20%5Bfalse%5D'),
981
+ messageSends: ["ifTrue:ifFalse:", unescape("%3D")],
982
+ referencedClasses: []
983
+ }),
984
+ smalltalk.Boolean);
985
+
986
+ smalltalk.addMethod(
987
+ unescape('_asJSON'),
988
+ smalltalk.method({
989
+ selector: unescape('asJSON'),
990
+ category: 'converting',
991
+ fn: function (){
992
+ var self=this;
993
+ return self;
994
+ return self;},
995
+ args: [],
996
+ source: unescape('asJSON%0A%09%5Eself'),
997
+ messageSends: [],
998
+ referencedClasses: []
999
+ }),
1000
+ smalltalk.Boolean);
1001
+
1002
+ smalltalk.addMethod(
1003
+ unescape('_deepCopy'),
1004
+ smalltalk.method({
1005
+ selector: unescape('deepCopy'),
1006
+ category: 'copying',
1007
+ fn: function (){
1008
+ var self=this;
1009
+ return self;
1010
+ return self;},
1011
+ args: [],
1012
+ source: unescape('deepCopy%0A%09%5Eself'),
1013
+ messageSends: [],
1014
+ referencedClasses: []
1015
+ }),
1016
+ smalltalk.Boolean);
1017
+
1018
+ smalltalk.addMethod(
1019
+ unescape('_ifFalse_'),
1020
+ smalltalk.method({
1021
+ selector: unescape('ifFalse%3A'),
1022
+ category: 'controlling',
1023
+ fn: function (aBlock){
1024
+ var self=this;
1025
+ return smalltalk.send(self, "_ifTrue_ifFalse_", [(function(){return nil;}), aBlock]);
1026
+ return self;},
1027
+ args: ["aBlock"],
1028
+ source: unescape('ifFalse%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself%20ifTrue%3A%20%5B%5D%20ifFalse%3A%20aBlock'),
1029
+ messageSends: ["ifTrue:ifFalse:"],
1030
+ referencedClasses: []
1031
+ }),
1032
+ smalltalk.Boolean);
1033
+
1034
+ smalltalk.addMethod(
1035
+ unescape('_ifFalse_ifTrue_'),
1036
+ smalltalk.method({
1037
+ selector: unescape('ifFalse%3AifTrue%3A'),
1038
+ category: 'controlling',
1039
+ fn: function (aBlock, anotherBlock){
1040
+ var self=this;
1041
+ return smalltalk.send(self, "_ifTrue_ifFalse_", [anotherBlock, aBlock]);
1042
+ return self;},
1043
+ args: ["aBlock", "anotherBlock"],
1044
+ source: unescape('ifFalse%3A%20aBlock%20ifTrue%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself%20ifTrue%3A%20anotherBlock%20ifFalse%3A%20aBlock'),
1045
+ messageSends: ["ifTrue:ifFalse:"],
1046
+ referencedClasses: []
1047
+ }),
1048
+ smalltalk.Boolean);
1049
+
1050
+ smalltalk.addMethod(
1051
+ unescape('_ifTrue_'),
1052
+ smalltalk.method({
1053
+ selector: unescape('ifTrue%3A'),
1054
+ category: 'controlling',
1055
+ fn: function (aBlock){
1056
+ var self=this;
1057
+ return smalltalk.send(self, "_ifTrue_ifFalse_", [aBlock, (function(){return nil;})]);
1058
+ return self;},
1059
+ args: ["aBlock"],
1060
+ source: unescape('ifTrue%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself%20ifTrue%3A%20aBlock%20ifFalse%3A%20%5B%5D'),
1061
+ messageSends: ["ifTrue:ifFalse:"],
1062
+ referencedClasses: []
1063
+ }),
1064
+ smalltalk.Boolean);
1065
+
1066
+ smalltalk.addMethod(
1067
+ unescape('_ifTrue_ifFalse_'),
1068
+ smalltalk.method({
1069
+ selector: unescape('ifTrue%3AifFalse%3A'),
1070
+ category: 'controlling',
1071
+ fn: function (aBlock, anotherBlock){
1072
+ var self=this;
1073
+
1074
+ if(self == true) {
1075
+ return aBlock();
1076
+ } else {
1077
+ return anotherBlock();
1078
+ }
1079
+ ;
1080
+ return self;},
1081
+ args: ["aBlock", "anotherBlock"],
1082
+ source: unescape('ifTrue%3A%20aBlock%20ifFalse%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%3C%0A%09%20%20%20%20if%28self%20%3D%3D%20true%29%20%7B%0A%09%09return%20aBlock%28%29%3B%0A%09%20%20%20%20%7D%20else%20%7B%0A%09%09return%20anotherBlock%28%29%3B%0A%09%20%20%20%20%7D%0A%09%3E'),
1083
+ messageSends: [],
1084
+ referencedClasses: []
1085
+ }),
1086
+ smalltalk.Boolean);
1087
+
1088
+ smalltalk.addMethod(
1089
+ unescape('_not'),
1090
+ smalltalk.method({
1091
+ selector: unescape('not'),
1092
+ category: 'controlling',
1093
+ fn: function (){
1094
+ var self=this;
1095
+ return smalltalk.send(self, "__eq", [false]);
1096
+ return self;},
1097
+ args: [],
1098
+ source: unescape('not%0A%09%5Eself%20%3D%20false'),
1099
+ messageSends: [unescape("%3D")],
1100
+ referencedClasses: []
1101
+ }),
1102
+ smalltalk.Boolean);
1103
+
1104
+ smalltalk.addMethod(
1105
+ unescape('_or_'),
1106
+ smalltalk.method({
1107
+ selector: unescape('or%3A'),
1108
+ category: 'controlling',
1109
+ fn: function (aBlock){
1110
+ var self=this;
1111
+ return smalltalk.send(smalltalk.send(self, "__eq", [true]), "_ifTrue_ifFalse_", [(function(){return true;}), aBlock]);
1112
+ return self;},
1113
+ args: ["aBlock"],
1114
+ source: unescape('or%3A%20aBlock%0A%09%5Eself%20%3D%20true%0A%09%20%20%20%20ifTrue%3A%20%5Btrue%5D%0A%09%20%20%20%20ifFalse%3A%20aBlock'),
1115
+ messageSends: ["ifTrue:ifFalse:", unescape("%3D")],
1116
+ referencedClasses: []
1117
+ }),
1118
+ smalltalk.Boolean);
1119
+
1120
+ smalltalk.addMethod(
1121
+ unescape('_printString'),
1122
+ smalltalk.method({
1123
+ selector: unescape('printString'),
1124
+ category: 'printing',
1125
+ fn: function (){
1126
+ var self=this;
1127
+ return self.toString();
1128
+ return self;},
1129
+ args: [],
1130
+ source: unescape('printString%0A%09%3Creturn%20self.toString%28%29%3E'),
1131
+ messageSends: [],
1132
+ referencedClasses: []
1133
+ }),
1134
+ smalltalk.Boolean);
1135
+
1136
+ smalltalk.addMethod(
1137
+ unescape('_shallowCopy'),
1138
+ smalltalk.method({
1139
+ selector: unescape('shallowCopy'),
1140
+ category: 'copying',
1141
+ fn: function (){
1142
+ var self=this;
1143
+ return self;
1144
+ return self;},
1145
+ args: [],
1146
+ source: unescape('shallowCopy%0A%09%5Eself'),
1147
+ messageSends: [],
1148
+ referencedClasses: []
1149
+ }),
1150
+ smalltalk.Boolean);
1151
+
1152
+ smalltalk.addMethod(
1153
+ unescape('_%7C'),
1154
+ smalltalk.method({
1155
+ selector: unescape('%7C'),
1156
+ category: 'controlling',
1157
+ fn: function (aBoolean){
1158
+ var self=this;
1159
+
1160
+ if(self == true) {
1161
+ return true;
1162
+ } else {
1163
+ return aBoolean;
1164
+ }
1165
+ ;
1166
+ return self;},
1167
+ args: ["aBoolean"],
1168
+ source: unescape('%7C%20aBoolean%0A%09%3C%0A%09%20%20%20%20if%28self%20%3D%3D%20true%29%20%7B%0A%09%09return%20true%3B%0A%09%20%20%20%20%7D%20else%20%7B%0A%09%09return%20aBoolean%3B%0A%09%20%20%20%20%7D%0A%09%3E'),
1169
+ messageSends: [],
1170
+ referencedClasses: []
1171
+ }),
1172
+ smalltalk.Boolean);
1173
+
1174
+
1175
+
1176
+ smalltalk.addClass('Date', smalltalk.Object, [], 'Kernel-Objects');
1177
+ smalltalk.Date.comment=unescape('The%20Date%20class%20is%20used%20to%20work%20with%20dates%20and%20times.%20Therefore%20%60Date%20today%60%20and%20%60Date%20now%60%20are%20both%20valid%20in%0AAmber%20and%20answer%20the%20same%20date%20object.%0A%0ADate%20wraps%20the%20%60Date%28%29%60%20JavaScript%20constructor%2C%20and%20Smalltalk%20date%20objects%20are%20JavaScript%20date%20objects.')
1178
+ smalltalk.addMethod(
1179
+ unescape('__plus'),
1180
+ smalltalk.method({
1181
+ selector: unescape('+'),
1182
+ category: 'arithmetic',
1183
+ fn: function (aDate){
1184
+ var self=this;
1185
+ return self + aDate;
1186
+ return self;},
1187
+ args: ["aDate"],
1188
+ source: unescape('+%20aDate%0A%09%3Creturn%20self%20+%20aDate%3E'),
1189
+ messageSends: [],
1190
+ referencedClasses: []
1191
+ }),
1192
+ smalltalk.Date);
1193
+
1194
+ smalltalk.addMethod(
1195
+ unescape('__minus'),
1196
+ smalltalk.method({
1197
+ selector: unescape('-'),
1198
+ category: 'arithmetic',
1199
+ fn: function (aDate){
1200
+ var self=this;
1201
+ return self - aDate;
1202
+ return self;},
1203
+ args: ["aDate"],
1204
+ source: unescape('-%20aDate%0A%09%3Creturn%20self%20-%20aDate%3E'),
1205
+ messageSends: [],
1206
+ referencedClasses: []
1207
+ }),
1208
+ smalltalk.Date);
1209
+
1210
+ smalltalk.addMethod(
1211
+ unescape('__lt'),
1212
+ smalltalk.method({
1213
+ selector: unescape('%3C'),
1214
+ category: 'comparing',
1215
+ fn: function (aDate){
1216
+ var self=this;
1217
+ return self < aDate;
1218
+ return self;},
1219
+ args: ["aDate"],
1220
+ source: unescape('%3C%20aDate%0A%09%3Creturn%20self%20%3C%20aDate%3E'),
1221
+ messageSends: [],
1222
+ referencedClasses: []
1223
+ }),
1224
+ smalltalk.Date);
1225
+
1226
+ smalltalk.addMethod(
1227
+ unescape('__lt_eq'),
1228
+ smalltalk.method({
1229
+ selector: unescape('%3C%3D'),
1230
+ category: 'comparing',
1231
+ fn: function (aDate){
1232
+ var self=this;
1233
+ return self <= aDate;
1234
+ return self;},
1235
+ args: ["aDate"],
1236
+ source: unescape('%3C%3D%20aDate%0A%09%3Creturn%20self%20%3C%3D%20aDate%3E'),
1237
+ messageSends: [],
1238
+ referencedClasses: []
1239
+ }),
1240
+ smalltalk.Date);
1241
+
1242
+ smalltalk.addMethod(
1243
+ unescape('__gt'),
1244
+ smalltalk.method({
1245
+ selector: unescape('%3E'),
1246
+ category: 'comparing',
1247
+ fn: function (aDate){
1248
+ var self=this;
1249
+ return self > aDate;
1250
+ return self;},
1251
+ args: ["aDate"],
1252
+ source: unescape('%3E%20aDate%0A%09%3Creturn%20self%20%3E%3E%20aDate%3E'),
1253
+ messageSends: [],
1254
+ referencedClasses: []
1255
+ }),
1256
+ smalltalk.Date);
1257
+
1258
+ smalltalk.addMethod(
1259
+ unescape('__gt_eq'),
1260
+ smalltalk.method({
1261
+ selector: unescape('%3E%3D'),
1262
+ category: 'comparing',
1263
+ fn: function (aDate){
1264
+ var self=this;
1265
+ return self >= aDate;
1266
+ return self;},
1267
+ args: ["aDate"],
1268
+ source: unescape('%3E%3D%20aDate%0A%09%3Creturn%20self%20%3E%3E%3D%20aDate%3E'),
1269
+ messageSends: [],
1270
+ referencedClasses: []
1271
+ }),
1272
+ smalltalk.Date);
1273
+
1274
+ smalltalk.addMethod(
1275
+ unescape('_asDateString'),
1276
+ smalltalk.method({
1277
+ selector: unescape('asDateString'),
1278
+ category: 'converting',
1279
+ fn: function (){
1280
+ var self=this;
1281
+ return self.toDateString();
1282
+ return self;},
1283
+ args: [],
1284
+ source: unescape('asDateString%0A%09%3Creturn%20self.toDateString%28%29%3E'),
1285
+ messageSends: [],
1286
+ referencedClasses: []
1287
+ }),
1288
+ smalltalk.Date);
1289
+
1290
+ smalltalk.addMethod(
1291
+ unescape('_asLocaleString'),
1292
+ smalltalk.method({
1293
+ selector: unescape('asLocaleString'),
1294
+ category: 'converting',
1295
+ fn: function (){
1296
+ var self=this;
1297
+ return self.toLocaleString();
1298
+ return self;},
1299
+ args: [],
1300
+ source: unescape('asLocaleString%0A%09%3Creturn%20self.toLocaleString%28%29%3E'),
1301
+ messageSends: [],
1302
+ referencedClasses: []
1303
+ }),
1304
+ smalltalk.Date);
1305
+
1306
+ smalltalk.addMethod(
1307
+ unescape('_asMilliseconds'),
1308
+ smalltalk.method({
1309
+ selector: unescape('asMilliseconds'),
1310
+ category: 'converting',
1311
+ fn: function (){
1312
+ var self=this;
1313
+ return smalltalk.send(self, "_time", []);
1314
+ return self;},
1315
+ args: [],
1316
+ source: unescape('asMilliseconds%0A%09%5Eself%20time'),
1317
+ messageSends: ["time"],
1318
+ referencedClasses: []
1319
+ }),
1320
+ smalltalk.Date);
1321
+
1322
+ smalltalk.addMethod(
1323
+ unescape('_asNumber'),
1324
+ smalltalk.method({
1325
+ selector: unescape('asNumber'),
1326
+ category: 'converting',
1327
+ fn: function (){
1328
+ var self=this;
1329
+ return smalltalk.send(self, "_asMilliseconds", []);
1330
+ return self;},
1331
+ args: [],
1332
+ source: unescape('asNumber%0A%09%5Eself%20asMilliseconds'),
1333
+ messageSends: ["asMilliseconds"],
1334
+ referencedClasses: []
1335
+ }),
1336
+ smalltalk.Date);
1337
+
1338
+ smalltalk.addMethod(
1339
+ unescape('_asString'),
1340
+ smalltalk.method({
1341
+ selector: unescape('asString'),
1342
+ category: 'converting',
1343
+ fn: function (){
1344
+ var self=this;
1345
+ return self.toString();
1346
+ return self;},
1347
+ args: [],
1348
+ source: unescape('asString%0A%09%3Creturn%20self.toString%28%29%3E'),
1349
+ messageSends: [],
1350
+ referencedClasses: []
1351
+ }),
1352
+ smalltalk.Date);
1353
+
1354
+ smalltalk.addMethod(
1355
+ unescape('_asTimeString'),
1356
+ smalltalk.method({
1357
+ selector: unescape('asTimeString'),
1358
+ category: 'converting',
1359
+ fn: function (){
1360
+ var self=this;
1361
+ return self.toTimeString();
1362
+ return self;},
1363
+ args: [],
1364
+ source: unescape('asTimeString%0A%09%3Creturn%20self.toTimeString%28%29%3E'),
1365
+ messageSends: [],
1366
+ referencedClasses: []
1367
+ }),
1368
+ smalltalk.Date);
1369
+
1370
+ smalltalk.addMethod(
1371
+ unescape('_day'),
1372
+ smalltalk.method({
1373
+ selector: unescape('day'),
1374
+ category: 'accessing',
1375
+ fn: function (){
1376
+ var self=this;
1377
+ return smalltalk.send(self, "_dayOfWeek", []);
1378
+ return self;},
1379
+ args: [],
1380
+ source: unescape('day%0A%09%5Eself%20dayOfWeek'),
1381
+ messageSends: ["dayOfWeek"],
1382
+ referencedClasses: []
1383
+ }),
1384
+ smalltalk.Date);
1385
+
1386
+ smalltalk.addMethod(
1387
+ unescape('_day_'),
1388
+ smalltalk.method({
1389
+ selector: unescape('day%3A'),
1390
+ category: 'accessing',
1391
+ fn: function (aNumber){
1392
+ var self=this;
1393
+ smalltalk.send(self, "_day_", [aNumber]);
1394
+ return self;},
1395
+ args: ["aNumber"],
1396
+ source: unescape('day%3A%20aNumber%0A%09self%20day%3A%20aNumber'),
1397
+ messageSends: ["day:"],
1398
+ referencedClasses: []
1399
+ }),
1400
+ smalltalk.Date);
1401
+
1402
+ smalltalk.addMethod(
1403
+ unescape('_dayOfMonth'),
1404
+ smalltalk.method({
1405
+ selector: unescape('dayOfMonth'),
1406
+ category: 'accessing',
1407
+ fn: function (){
1408
+ var self=this;
1409
+ return self.getDate();
1410
+ return self;},
1411
+ args: [],
1412
+ source: unescape('dayOfMonth%0A%09%3Creturn%20self.getDate%28%29%3E'),
1413
+ messageSends: [],
1414
+ referencedClasses: []
1415
+ }),
1416
+ smalltalk.Date);
1417
+
1418
+ smalltalk.addMethod(
1419
+ unescape('_dayOfMonth_'),
1420
+ smalltalk.method({
1421
+ selector: unescape('dayOfMonth%3A'),
1422
+ category: 'accessing',
1423
+ fn: function (aNumber){
1424
+ var self=this;
1425
+ self.setDate(aNumber);
1426
+ return self;},
1427
+ args: ["aNumber"],
1428
+ source: unescape('dayOfMonth%3A%20aNumber%0A%09%3Cself.setDate%28aNumber%29%3E'),
1429
+ messageSends: [],
1430
+ referencedClasses: []
1431
+ }),
1432
+ smalltalk.Date);
1433
+
1434
+ smalltalk.addMethod(
1435
+ unescape('_dayOfWeek'),
1436
+ smalltalk.method({
1437
+ selector: unescape('dayOfWeek'),
1438
+ category: 'accessing',
1439
+ fn: function (){
1440
+ var self=this;
1441
+ return self.getDay() + 1;
1442
+ return self;},
1443
+ args: [],
1444
+ source: unescape('dayOfWeek%0A%09%3Creturn%20self.getDay%28%29%20+%201%3E'),
1445
+ messageSends: [],
1446
+ referencedClasses: []
1447
+ }),
1448
+ smalltalk.Date);
1449
+
1450
+ smalltalk.addMethod(
1451
+ unescape('_dayOfWeek_'),
1452
+ smalltalk.method({
1453
+ selector: unescape('dayOfWeek%3A'),
1454
+ category: 'accessing',
1455
+ fn: function (aNumber){
1456
+ var self=this;
1457
+ return self.setDay(aNumber - 1);
1458
+ return self;},
1459
+ args: ["aNumber"],
1460
+ source: unescape('dayOfWeek%3A%20aNumber%0A%09%3Creturn%20self.setDay%28aNumber%20-%201%29%3E'),
1461
+ messageSends: [],
1462
+ referencedClasses: []
1463
+ }),
1464
+ smalltalk.Date);
1465
+
1466
+ smalltalk.addMethod(
1467
+ unescape('_hours'),
1468
+ smalltalk.method({
1469
+ selector: unescape('hours'),
1470
+ category: 'accessing',
1471
+ fn: function (){
1472
+ var self=this;
1473
+ return self.getHours();
1474
+ return self;},
1475
+ args: [],
1476
+ source: unescape('hours%0A%09%3Creturn%20self.getHours%28%29%3E'),
1477
+ messageSends: [],
1478
+ referencedClasses: []
1479
+ }),
1480
+ smalltalk.Date);
1481
+
1482
+ smalltalk.addMethod(
1483
+ unescape('_hours_'),
1484
+ smalltalk.method({
1485
+ selector: unescape('hours%3A'),
1486
+ category: 'accessing',
1487
+ fn: function (aNumber){
1488
+ var self=this;
1489
+ self.setHours(aNumber);
1490
+ return self;},
1491
+ args: ["aNumber"],
1492
+ source: unescape('hours%3A%20aNumber%0A%09%3Cself.setHours%28aNumber%29%3E'),
1493
+ messageSends: [],
1494
+ referencedClasses: []
1495
+ }),
1496
+ smalltalk.Date);
1497
+
1498
+ smalltalk.addMethod(
1499
+ unescape('_milliseconds'),
1500
+ smalltalk.method({
1501
+ selector: unescape('milliseconds'),
1502
+ category: 'accessing',
1503
+ fn: function (){
1504
+ var self=this;
1505
+ return self.getMilliseconds();
1506
+ return self;},
1507
+ args: [],
1508
+ source: unescape('milliseconds%0A%09%3Creturn%20self.getMilliseconds%28%29%3E'),
1509
+ messageSends: [],
1510
+ referencedClasses: []
1511
+ }),
1512
+ smalltalk.Date);
1513
+
1514
+ smalltalk.addMethod(
1515
+ unescape('_milliseconds_'),
1516
+ smalltalk.method({
1517
+ selector: unescape('milliseconds%3A'),
1518
+ category: 'accessing',
1519
+ fn: function (aNumber){
1520
+ var self=this;
1521
+ self.setMilliseconds(aNumber);
1522
+ return self;},
1523
+ args: ["aNumber"],
1524
+ source: unescape('milliseconds%3A%20aNumber%0A%09%3Cself.setMilliseconds%28aNumber%29%3E'),
1525
+ messageSends: [],
1526
+ referencedClasses: []
1527
+ }),
1528
+ smalltalk.Date);
1529
+
1530
+ smalltalk.addMethod(
1531
+ unescape('_minutes'),
1532
+ smalltalk.method({
1533
+ selector: unescape('minutes'),
1534
+ category: 'accessing',
1535
+ fn: function (){
1536
+ var self=this;
1537
+ return self.getMinutes();
1538
+ return self;},
1539
+ args: [],
1540
+ source: unescape('minutes%0A%09%3Creturn%20self.getMinutes%28%29%3E'),
1541
+ messageSends: [],
1542
+ referencedClasses: []
1543
+ }),
1544
+ smalltalk.Date);
1545
+
1546
+ smalltalk.addMethod(
1547
+ unescape('_minutes_'),
1548
+ smalltalk.method({
1549
+ selector: unescape('minutes%3A'),
1550
+ category: 'accessing',
1551
+ fn: function (aNumber){
1552
+ var self=this;
1553
+ self.setMinutes(aNumber);
1554
+ return self;},
1555
+ args: ["aNumber"],
1556
+ source: unescape('minutes%3A%20aNumber%0A%09%3Cself.setMinutes%28aNumber%29%3E'),
1557
+ messageSends: [],
1558
+ referencedClasses: []
1559
+ }),
1560
+ smalltalk.Date);
1561
+
1562
+ smalltalk.addMethod(
1563
+ unescape('_month'),
1564
+ smalltalk.method({
1565
+ selector: unescape('month'),
1566
+ category: 'accessing',
1567
+ fn: function (){
1568
+ var self=this;
1569
+ return self.getMonth() + 1;
1570
+ return self;},
1571
+ args: [],
1572
+ source: unescape('month%0A%09%3Creturn%20self.getMonth%28%29%20+%201%3E'),
1573
+ messageSends: [],
1574
+ referencedClasses: []
1575
+ }),
1576
+ smalltalk.Date);
1577
+
1578
+ smalltalk.addMethod(
1579
+ unescape('_month_'),
1580
+ smalltalk.method({
1581
+ selector: unescape('month%3A'),
1582
+ category: 'accessing',
1583
+ fn: function (aNumber){
1584
+ var self=this;
1585
+ self.setMonth(aNumber - 1);
1586
+ return self;},
1587
+ args: ["aNumber"],
1588
+ source: unescape('month%3A%20aNumber%0A%09%3Cself.setMonth%28aNumber%20-%201%29%3E'),
1589
+ messageSends: [],
1590
+ referencedClasses: []
1591
+ }),
1592
+ smalltalk.Date);
1593
+
1594
+ smalltalk.addMethod(
1595
+ unescape('_printString'),
1596
+ smalltalk.method({
1597
+ selector: unescape('printString'),
1598
+ category: 'printing',
1599
+ fn: function (){
1600
+ var self=this;
1601
+ return smalltalk.send(self, "_asString", []);
1602
+ return self;},
1603
+ args: [],
1604
+ source: unescape('printString%0A%09%5Eself%20asString'),
1605
+ messageSends: ["asString"],
1606
+ referencedClasses: []
1607
+ }),
1608
+ smalltalk.Date);
1609
+
1610
+ smalltalk.addMethod(
1611
+ unescape('_seconds'),
1612
+ smalltalk.method({
1613
+ selector: unescape('seconds'),
1614
+ category: 'accessing',
1615
+ fn: function (){
1616
+ var self=this;
1617
+ return self.getSeconds();
1618
+ return self;},
1619
+ args: [],
1620
+ source: unescape('seconds%0A%09%3Creturn%20self.getSeconds%28%29%3E'),
1621
+ messageSends: [],
1622
+ referencedClasses: []
1623
+ }),
1624
+ smalltalk.Date);
1625
+
1626
+ smalltalk.addMethod(
1627
+ unescape('_seconds_'),
1628
+ smalltalk.method({
1629
+ selector: unescape('seconds%3A'),
1630
+ category: 'accessing',
1631
+ fn: function (aNumber){
1632
+ var self=this;
1633
+ self.setSeconds(aNumber);
1634
+ return self;},
1635
+ args: ["aNumber"],
1636
+ source: unescape('seconds%3A%20aNumber%0A%09%3Cself.setSeconds%28aNumber%29%3E'),
1637
+ messageSends: [],
1638
+ referencedClasses: []
1639
+ }),
1640
+ smalltalk.Date);
1641
+
1642
+ smalltalk.addMethod(
1643
+ unescape('_time'),
1644
+ smalltalk.method({
1645
+ selector: unescape('time'),
1646
+ category: 'accessing',
1647
+ fn: function (){
1648
+ var self=this;
1649
+ return self.getTime();
1650
+ return self;},
1651
+ args: [],
1652
+ source: unescape('time%0A%09%3Creturn%20self.getTime%28%29%3E'),
1653
+ messageSends: [],
1654
+ referencedClasses: []
1655
+ }),
1656
+ smalltalk.Date);
1657
+
1658
+ smalltalk.addMethod(
1659
+ unescape('_time_'),
1660
+ smalltalk.method({
1661
+ selector: unescape('time%3A'),
1662
+ category: 'accessing',
1663
+ fn: function (aNumber){
1664
+ var self=this;
1665
+ self.setTime(aNumber);
1666
+ return self;},
1667
+ args: ["aNumber"],
1668
+ source: unescape('time%3A%20aNumber%0A%09%3Cself.setTime%28aNumber%29%3E'),
1669
+ messageSends: [],
1670
+ referencedClasses: []
1671
+ }),
1672
+ smalltalk.Date);
1673
+
1674
+ smalltalk.addMethod(
1675
+ unescape('_year'),
1676
+ smalltalk.method({
1677
+ selector: unescape('year'),
1678
+ category: 'accessing',
1679
+ fn: function (){
1680
+ var self=this;
1681
+ return self.getFullYear();
1682
+ return self;},
1683
+ args: [],
1684
+ source: unescape('year%0A%09%3Creturn%20self.getFullYear%28%29%3E'),
1685
+ messageSends: [],
1686
+ referencedClasses: []
1687
+ }),
1688
+ smalltalk.Date);
1689
+
1690
+ smalltalk.addMethod(
1691
+ unescape('_year_'),
1692
+ smalltalk.method({
1693
+ selector: unescape('year%3A'),
1694
+ category: 'accessing',
1695
+ fn: function (aNumber){
1696
+ var self=this;
1697
+ self.setFullYear(aNumber);
1698
+ return self;},
1699
+ args: ["aNumber"],
1700
+ source: unescape('year%3A%20aNumber%0A%09%3Cself.setFullYear%28aNumber%29%3E'),
1701
+ messageSends: [],
1702
+ referencedClasses: []
1703
+ }),
1704
+ smalltalk.Date);
1705
+
1706
+
1707
+ smalltalk.addMethod(
1708
+ unescape('_fromMilliseconds_'),
1709
+ smalltalk.method({
1710
+ selector: unescape('fromMilliseconds%3A'),
1711
+ category: 'instance creation',
1712
+ fn: function (aNumber){
1713
+ var self=this;
1714
+ return smalltalk.send(self, "_new_", [aNumber]);
1715
+ return self;},
1716
+ args: ["aNumber"],
1717
+ source: unescape('fromMilliseconds%3A%20aNumber%0A%09%5Eself%20new%3A%20aNumber'),
1718
+ messageSends: ["new:"],
1719
+ referencedClasses: []
1720
+ }),
1721
+ smalltalk.Date.klass);
1722
+
1723
+ smalltalk.addMethod(
1724
+ unescape('_fromSeconds_'),
1725
+ smalltalk.method({
1726
+ selector: unescape('fromSeconds%3A'),
1727
+ category: 'instance creation',
1728
+ fn: function (aNumber){
1729
+ var self=this;
1730
+ return smalltalk.send(self, "_fromMilliseconds_", [((($receiver = aNumber).klass === smalltalk.Number) ? $receiver *(1000) : smalltalk.send($receiver, "__star", [(1000)]))]);
1731
+ return self;},
1732
+ args: ["aNumber"],
1733
+ source: unescape('fromSeconds%3A%20aNumber%0A%09%5Eself%20fromMilliseconds%3A%20aNumber%20*%201000'),
1734
+ messageSends: ["fromMilliseconds:", unescape("*")],
1735
+ referencedClasses: []
1736
+ }),
1737
+ smalltalk.Date.klass);
1738
+
1739
+ smalltalk.addMethod(
1740
+ unescape('_fromString_'),
1741
+ smalltalk.method({
1742
+ selector: unescape('fromString%3A'),
1743
+ category: 'instance creation',
1744
+ fn: function (aString){
1745
+ var self=this;
1746
+ return smalltalk.send(self, "_new_", [aString]);
1747
+ return self;},
1748
+ args: ["aString"],
1749
+ source: unescape('fromString%3A%20aString%0A%09%22Example%3A%20Date%20fromString%28%272011/04/15%2000%3A00%3A00%27%29%22%0A%09%5Eself%20new%3A%20aString'),
1750
+ messageSends: ["new:"],
1751
+ referencedClasses: []
1752
+ }),
1753
+ smalltalk.Date.klass);
1754
+
1755
+ smalltalk.addMethod(
1756
+ unescape('_millisecondsToRun_'),
1757
+ smalltalk.method({
1758
+ selector: unescape('millisecondsToRun%3A'),
1759
+ category: 'instance creation',
1760
+ fn: function (aBlock){
1761
+ var self=this;
1762
+ var t=nil;
1763
+ (t=smalltalk.send((smalltalk.Date || Date), "_now", []));
1764
+ smalltalk.send(aBlock, "_value", []);
1765
+ return ((($receiver = smalltalk.send((smalltalk.Date || Date), "_now", [])).klass === smalltalk.Number) ? $receiver -t : smalltalk.send($receiver, "__minus", [t]));
1766
+ return self;},
1767
+ args: ["aBlock"],
1768
+ source: unescape('millisecondsToRun%3A%20aBlock%0A%09%7C%20t%20%7C%0A%09t%20%3A%3D%20Date%20now.%0A%09aBlock%20value.%0A%09%5EDate%20now%20-%20t'),
1769
+ messageSends: ["now", "value", unescape("-")],
1770
+ referencedClasses: ["Date"]
1771
+ }),
1772
+ smalltalk.Date.klass);
1773
+
1774
+ smalltalk.addMethod(
1775
+ unescape('_new_'),
1776
+ smalltalk.method({
1777
+ selector: unescape('new%3A'),
1778
+ category: 'instance creation',
1779
+ fn: function (anObject){
1780
+ var self=this;
1781
+ return new Date(anObject);
1782
+ return self;},
1783
+ args: ["anObject"],
1784
+ source: unescape('new%3A%20anObject%0A%09%3Creturn%20new%20Date%28anObject%29%3E'),
1785
+ messageSends: [],
1786
+ referencedClasses: []
1787
+ }),
1788
+ smalltalk.Date.klass);
1789
+
1790
+ smalltalk.addMethod(
1791
+ unescape('_now'),
1792
+ smalltalk.method({
1793
+ selector: unescape('now'),
1794
+ category: 'instance creation',
1795
+ fn: function (){
1796
+ var self=this;
1797
+ return smalltalk.send(self, "_today", []);
1798
+ return self;},
1799
+ args: [],
1800
+ source: unescape('now%0A%09%5Eself%20today'),
1801
+ messageSends: ["today"],
1802
+ referencedClasses: []
1803
+ }),
1804
+ smalltalk.Date.klass);
1805
+
1806
+ smalltalk.addMethod(
1807
+ unescape('_today'),
1808
+ smalltalk.method({
1809
+ selector: unescape('today'),
1810
+ category: 'instance creation',
1811
+ fn: function (){
1812
+ var self=this;
1813
+ return smalltalk.send(self, "_new", []);
1814
+ return self;},
1815
+ args: [],
1816
+ source: unescape('today%0A%09%5Eself%20new'),
1817
+ messageSends: ["new"],
1818
+ referencedClasses: []
1819
+ }),
1820
+ smalltalk.Date.klass);
1821
+
1822
+
1823
+ smalltalk.addClass('JSObjectProxy', smalltalk.Object, ['jsObject'], 'Kernel-Objects');
1824
+ smalltalk.JSObjectProxy.comment=unescape('JSObjectProxy%20handles%20sending%20messages%20to%20JavaScript%20object%2C%20therefore%20accessing%20JavaScript%20objects%20from%20Amber%20is%20transparent.%0AJSOjbectProxy%20makes%20intensive%20use%20of%20%60%23doesNotUnderstand%3A%60.%0A%0A%23%23%20Examples%0A%0AJSObjectProxy%20objects%20are%20instanciated%20by%20Amber%20when%20a%20Smalltalk%20message%20is%20sent%20to%20a%20JavaScript%20object.%0A%0A%20%20%20%20window%20alert%3A%20%27hello%20world%27.%0A%20%20%20%20window%20inspect.%0A%20%20%20%20%28window%20jQuery%3A%20%27body%27%29%20append%3A%20%27hello%20world%27%0A%0ASmalltalk%20messages%20sends%20are%20converted%20to%20JavaScript%20function%20calls%20or%20object%20property%20access%20_%28in%20this%20order%29_.%20If%20n%20one%20of%20them%20match%2C%20a%20%60MessageNotUnderstood%60%20error%20will%20be%20thrown.%20%0A%0A%23%23%20Message%20conversion%20rules%0A%0A-%20%60someUser%20name%60%20becomes%20%20%60someUser.name%60%0A-%20%60someUser%20name%3A%20%27John%27%60%20becomes%20%60someUser%20name%20%3D%20%22John%22%60%0A-%20%60console%20log%3A%20%27hello%20world%27%60%20becomes%20%60console.log%28%27hello%20world%27%29%60%0A-%20%60%28window%20jQuery%3A%20%27foo%27%29%20css%3A%20%27background%27%20color%3A%20%27red%27%60%20becomes%20%60window.jQuery%28%27foo%27%29.css%28%27background%27%2C%20%27red%27%29%60%0A%0A__Note%3A__%20For%20keyword-based%20messages%2C%20only%20the%20first%20keyword%20is%20kept%3A%20%60window%20foo%3A%201%20bar%3A%202%60%20is%20equivalent%20to%20%60window%20foo%3A%201%20baz%3A%202%60.')
1825
+ smalltalk.addMethod(
1826
+ unescape('_at_'),
1827
+ smalltalk.method({
1828
+ selector: unescape('at%3A'),
1829
+ category: 'accessing',
1830
+ fn: function (aSymbol){
1831
+ var self=this;
1832
+ var attr=nil;
1833
+ (attr=smalltalk.send(aSymbol, "_asString", []));
1834
+ return self['@jsObject'][attr];
1835
+ return self;},
1836
+ args: ["aSymbol"],
1837
+ source: unescape('at%3A%20aSymbol%0A%09%7C%20attr%20%7C%0A%09attr%20%3A%3D%20aSymbol%20asString.%0A%09%3Creturn%20self%5B%27@jsObject%27%5D%5Battr%5D%3E'),
1838
+ messageSends: ["asString"],
1839
+ referencedClasses: []
1840
+ }),
1841
+ smalltalk.JSObjectProxy);
1842
+
1843
+ smalltalk.addMethod(
1844
+ unescape('_at_put_'),
1845
+ smalltalk.method({
1846
+ selector: unescape('at%3Aput%3A'),
1847
+ category: 'accessing',
1848
+ fn: function (aSymbol, anObject){
1849
+ var self=this;
1850
+ var attr=nil;
1851
+ (attr=smalltalk.send(aSymbol, "_asString", []));
1852
+ self['@jsObject'][attr] = anObject;
1853
+ return self;},
1854
+ args: ["aSymbol", "anObject"],
1855
+ source: unescape('at%3A%20aSymbol%20put%3A%20anObject%0A%09%7C%20attr%20%7C%0A%09attr%20%3A%3D%20aSymbol%20asString.%0A%09%3Cself%5B%27@jsObject%27%5D%5Battr%5D%20%3D%20anObject%3E'),
1856
+ messageSends: ["asString"],
1857
+ referencedClasses: []
1858
+ }),
1859
+ smalltalk.JSObjectProxy);
1860
+
1861
+ smalltalk.addMethod(
1862
+ unescape('_doesNotUnderstand_'),
1863
+ smalltalk.method({
1864
+ selector: unescape('doesNotUnderstand%3A'),
1865
+ category: 'proxy',
1866
+ fn: function (aMessage){
1867
+ var self=this;
1868
+ var obj=nil;
1869
+ var selector=nil;
1870
+ var jsSelector=nil;
1871
+ var arguments=nil;
1872
+ (obj=smalltalk.send(self, "_jsObject", []));
1873
+ (selector=smalltalk.send(aMessage, "_selector", []));
1874
+ (jsSelector=smalltalk.send(selector, "_asJavaScriptSelector", []));
1875
+ (arguments=smalltalk.send(aMessage, "_arguments", []));
1876
+ if(obj[jsSelector] != undefined) {return smalltalk.send(obj, jsSelector, arguments)};
1877
+ smalltalk.send(self, "_doesNotUnderstand_", [aMessage], smalltalk.Object);
1878
+ return self;},
1879
+ args: ["aMessage"],
1880
+ source: unescape('doesNotUnderstand%3A%20aMessage%0A%09%7C%20obj%20selector%20jsSelector%20arguments%20%7C%0A%09obj%20%3A%3D%20self%20jsObject.%0A%09selector%20%3A%3D%20aMessage%20selector.%0A%09jsSelector%20%3A%3D%20selector%20asJavaScriptSelector.%0A%09arguments%20%3A%3D%20aMessage%20arguments.%0A%09%3Cif%28obj%5BjsSelector%5D%20%21%3D%20undefined%29%20%7Breturn%20smalltalk.send%28obj%2C%20jsSelector%2C%20arguments%29%7D%3E.%0A%09super%20doesNotUnderstand%3A%20aMessage'),
1881
+ messageSends: ["jsObject", "selector", "asJavaScriptSelector", "arguments", "doesNotUnderstand:"],
1882
+ referencedClasses: []
1883
+ }),
1884
+ smalltalk.JSObjectProxy);
1885
+
1886
+ smalltalk.addMethod(
1887
+ unescape('_inspectOn_'),
1888
+ smalltalk.method({
1889
+ selector: unescape('inspectOn%3A'),
1890
+ category: 'proxy',
1891
+ fn: function (anInspector){
1892
+ var self=this;
1893
+ var variables=nil;
1894
+ (variables=smalltalk.send((smalltalk.Dictionary || Dictionary), "_new", []));
1895
+ smalltalk.send(variables, "_at_put_", [unescape("%23self"), smalltalk.send(self, "_jsObject", [])]);
1896
+ smalltalk.send(anInspector, "_setLabel_", [smalltalk.send(self, "_printString", [])]);
1897
+ for(var i in self['@jsObject']) {
1898
+ variables._at_put_(i, self['@jsObject'][i]);
1899
+ };
1900
+ smalltalk.send(anInspector, "_setVariables_", [variables]);
1901
+ return self;},
1902
+ args: ["anInspector"],
1903
+ source: unescape('inspectOn%3A%20anInspector%0A%09%7C%20variables%20%7C%0A%09variables%20%3A%3D%20Dictionary%20new.%0A%09variables%20at%3A%20%27%23self%27%20put%3A%20self%20jsObject.%0A%09anInspector%20setLabel%3A%20self%20printString.%0A%09%3Cfor%28var%20i%20in%20self%5B%27@jsObject%27%5D%29%20%7B%0A%09%09variables._at_put_%28i%2C%20self%5B%27@jsObject%27%5D%5Bi%5D%29%3B%0A%09%7D%3E.%0A%09anInspector%20setVariables%3A%20variables'),
1904
+ messageSends: ["new", "at:put:", "jsObject", "setLabel:", "printString", "setVariables:"],
1905
+ referencedClasses: ["Dictionary"]
1906
+ }),
1907
+ smalltalk.JSObjectProxy);
1908
+
1909
+ smalltalk.addMethod(
1910
+ unescape('_jsObject'),
1911
+ smalltalk.method({
1912
+ selector: unescape('jsObject'),
1913
+ category: 'accessing',
1914
+ fn: function (){
1915
+ var self=this;
1916
+ return self['@jsObject'];
1917
+ return self;},
1918
+ args: [],
1919
+ source: unescape('jsObject%0A%09%5EjsObject'),
1920
+ messageSends: [],
1921
+ referencedClasses: []
1922
+ }),
1923
+ smalltalk.JSObjectProxy);
1924
+
1925
+ smalltalk.addMethod(
1926
+ unescape('_jsObject_'),
1927
+ smalltalk.method({
1928
+ selector: unescape('jsObject%3A'),
1929
+ category: 'accessing',
1930
+ fn: function (aJSObject){
1931
+ var self=this;
1932
+ (self['@jsObject']=aJSObject);
1933
+ return self;},
1934
+ args: ["aJSObject"],
1935
+ source: unescape('jsObject%3A%20aJSObject%0A%09jsObject%20%3A%3D%20aJSObject'),
1936
+ messageSends: [],
1937
+ referencedClasses: []
1938
+ }),
1939
+ smalltalk.JSObjectProxy);
1940
+
1941
+ smalltalk.addMethod(
1942
+ unescape('_keysAndValuesDo_'),
1943
+ smalltalk.method({
1944
+ selector: unescape('keysAndValuesDo%3A'),
1945
+ category: 'accessing',
1946
+ fn: function (aBlock){
1947
+ var self=this;
1948
+ for (var key in self['@jsObject']) {
1949
+ aBlock._value_value_(key, self['@jsObject'][key]);
1950
+ } ;
1951
+ return self;},
1952
+ args: ["aBlock"],
1953
+ source: unescape('keysAndValuesDo%3A%20aBlock%0A%09%3C%20for%20%28var%20key%20in%20self%5B%27@jsObject%27%5D%29%20%7B%0A%09%09aBlock._value_value_%28key%2C%20self%5B%27@jsObject%27%5D%5Bkey%5D%29%3B%0A%09%7D%20%3E'),
1954
+ messageSends: [],
1955
+ referencedClasses: []
1956
+ }),
1957
+ smalltalk.JSObjectProxy);
1958
+
1959
+ smalltalk.addMethod(
1960
+ unescape('_printString'),
1961
+ smalltalk.method({
1962
+ selector: unescape('printString'),
1963
+ category: 'proxy',
1964
+ fn: function (){
1965
+ var self=this;
1966
+ return smalltalk.send(smalltalk.send(self, "_jsObject", []), "_toString", []);
1967
+ return self;},
1968
+ args: [],
1969
+ source: unescape('printString%0A%09%5Eself%20jsObject%20toString'),
1970
+ messageSends: ["toString", "jsObject"],
1971
+ referencedClasses: []
1972
+ }),
1973
+ smalltalk.JSObjectProxy);
1974
+
1975
+ smalltalk.addMethod(
1976
+ unescape('_size'),
1977
+ smalltalk.method({
1978
+ selector: unescape('size'),
1979
+ category: 'accessing',
1980
+ fn: function (){
1981
+ var self=this;
1982
+ var obj = self['@jsObject'];
1983
+ return Object.keys(obj).size; ;
1984
+ return self;},
1985
+ args: [],
1986
+ source: unescape('size%0A%09%3C%20var%20obj%20%3D%20self%5B%27@jsObject%27%5D%3B%0A%09return%20Object.keys%28obj%29.size%3B%20%3E'),
1987
+ messageSends: [],
1988
+ referencedClasses: []
1989
+ }),
1990
+ smalltalk.JSObjectProxy);
1991
+
1992
+
1993
+ smalltalk.addMethod(
1994
+ unescape('_on_'),
1995
+ smalltalk.method({
1996
+ selector: unescape('on%3A'),
1997
+ category: 'instance creation',
1998
+ fn: function (aJSObject){
1999
+ var self=this;
2000
+ return (function($rec){smalltalk.send($rec, "_jsObject_", [aJSObject]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
2001
+ return self;},
2002
+ args: ["aJSObject"],
2003
+ source: unescape('on%3A%20aJSObject%0A%09%5Eself%20new%0A%09%09jsObject%3A%20aJSObject%3B%0A%09%09yourself'),
2004
+ messageSends: ["jsObject:", "yourself", "new"],
2005
+ referencedClasses: []
2006
+ }),
2007
+ smalltalk.JSObjectProxy.klass);
2008
+
2009
+
2010
+ smalltalk.addClass('Number', smalltalk.Object, [], 'Kernel-Objects');
2011
+ smalltalk.Number.comment=unescape('Number%20holds%20the%20most%20general%20methods%20for%20dealing%20with%20numbers.%20%20%0ANumber%20is%20directly%20mapped%20to%20JavaScript%20Number.%0A%0AMost%20arithmetic%20methods%20like%20%60%23+%60%20%60%23/%60%20%60%23-%60%20%60%23max%3A%60%20are%20directly%20inlined%20into%20javascript.%20%0A%0A%23%23Enumerating%0AA%20Number%20can%20be%20used%20to%20evaluate%20a%20Block%20a%20fixed%20number%20of%20times%3A%0A%0A%095%20timesRepeat%3A%20%5BTranscript%20show%3A%20%27This%20will%20be%20printed%205%20times%27%3B%20cr%5D.%0A%09%0A%091%20to%3A%205%20do%3A%20%5B%3AaNumber%7C%20Transcript%20show%3A%20aNumber%20asString%3B%20cr%5D.%0A%09%0A%091%20to%3A%2010%20by%3A%202%20do%3A%20%5B%3AaNumber%7C%20Transcript%20show%3A%20aNumber%20asString%3B%20cr%5D.')
2012
+ smalltalk.addMethod(
2013
+ unescape('__star'),
2014
+ smalltalk.method({
2015
+ selector: unescape('*'),
2016
+ category: 'arithmetic',
2017
+ fn: function (aNumber){
2018
+ var self=this;
2019
+ return self * aNumber;
2020
+ return self;},
2021
+ args: ["aNumber"],
2022
+ source: unescape('*%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20*%20aNumber%3E'),
2023
+ messageSends: [],
2024
+ referencedClasses: []
2025
+ }),
2026
+ smalltalk.Number);
2027
+
2028
+ smalltalk.addMethod(
2029
+ unescape('__plus'),
2030
+ smalltalk.method({
2031
+ selector: unescape('+'),
2032
+ category: 'arithmetic',
2033
+ fn: function (aNumber){
2034
+ var self=this;
2035
+ return self + aNumber;
2036
+ return self;},
2037
+ args: ["aNumber"],
2038
+ source: unescape('+%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20+%20aNumber%3E'),
2039
+ messageSends: [],
2040
+ referencedClasses: []
2041
+ }),
2042
+ smalltalk.Number);
2043
+
2044
+ smalltalk.addMethod(
2045
+ unescape('__minus'),
2046
+ smalltalk.method({
2047
+ selector: unescape('-'),
2048
+ category: 'arithmetic',
2049
+ fn: function (aNumber){
2050
+ var self=this;
2051
+ return self - aNumber;
2052
+ return self;},
2053
+ args: ["aNumber"],
2054
+ source: unescape('-%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20-%20aNumber%3E'),
2055
+ messageSends: [],
2056
+ referencedClasses: []
2057
+ }),
2058
+ smalltalk.Number);
2059
+
2060
+ smalltalk.addMethod(
2061
+ unescape('__slash'),
2062
+ smalltalk.method({
2063
+ selector: unescape('/'),
2064
+ category: 'arithmetic',
2065
+ fn: function (aNumber){
2066
+ var self=this;
2067
+ return self / aNumber;
2068
+ return self;},
2069
+ args: ["aNumber"],
2070
+ source: unescape('/%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20/%20aNumber%3E'),
2071
+ messageSends: [],
2072
+ referencedClasses: []
2073
+ }),
2074
+ smalltalk.Number);
2075
+
2076
+ smalltalk.addMethod(
2077
+ unescape('__lt'),
2078
+ smalltalk.method({
2079
+ selector: unescape('%3C'),
2080
+ category: 'comparing',
2081
+ fn: function (aNumber){
2082
+ var self=this;
2083
+ return self < aNumber;
2084
+ return self;},
2085
+ args: ["aNumber"],
2086
+ source: unescape('%3C%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20%3C%20aNumber%3E'),
2087
+ messageSends: [],
2088
+ referencedClasses: []
2089
+ }),
2090
+ smalltalk.Number);
2091
+
2092
+ smalltalk.addMethod(
2093
+ unescape('__lt_eq'),
2094
+ smalltalk.method({
2095
+ selector: unescape('%3C%3D'),
2096
+ category: 'comparing',
2097
+ fn: function (aNumber){
2098
+ var self=this;
2099
+ return self <= aNumber;
2100
+ return self;},
2101
+ args: ["aNumber"],
2102
+ source: unescape('%3C%3D%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20%3C%3D%20aNumber%3E'),
2103
+ messageSends: [],
2104
+ referencedClasses: []
2105
+ }),
2106
+ smalltalk.Number);
2107
+
2108
+ smalltalk.addMethod(
2109
+ unescape('__eq'),
2110
+ smalltalk.method({
2111
+ selector: unescape('%3D'),
2112
+ category: 'comparing',
2113
+ fn: function (aNumber){
2114
+ var self=this;
2115
+ try{((($receiver = smalltalk.send(aNumber, "_isNumber", [])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})() : nil) : smalltalk.send($receiver, "_ifFalse_", [(function(){return (function(){throw({name: 'stReturn', selector: '__eq', fn: function(){return false}})})();})]));
2116
+ return Number(self) == aNumber;
2117
+ return self;
2118
+ } catch(e) {if(e.name === 'stReturn' && e.selector === '__eq'){return e.fn()} throw(e)}},
2119
+ args: ["aNumber"],
2120
+ source: unescape('%3D%20aNumber%0A%09aNumber%20isNumber%20ifFalse%3A%20%5B%5Efalse%5D.%20%0A%09%3Creturn%20Number%28self%29%20%3D%3D%20aNumber%3E'),
2121
+ messageSends: ["ifFalse:", "isNumber"],
2122
+ referencedClasses: []
2123
+ }),
2124
+ smalltalk.Number);
2125
+
2126
+ smalltalk.addMethod(
2127
+ unescape('__gt'),
2128
+ smalltalk.method({
2129
+ selector: unescape('%3E'),
2130
+ category: 'comparing',
2131
+ fn: function (aNumber){
2132
+ var self=this;
2133
+ return self > aNumber;
2134
+ return self;},
2135
+ args: ["aNumber"],
2136
+ source: unescape('%3E%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20%3E%3E%20aNumber%3E'),
2137
+ messageSends: [],
2138
+ referencedClasses: []
2139
+ }),
2140
+ smalltalk.Number);
2141
+
2142
+ smalltalk.addMethod(
2143
+ unescape('__gt_eq'),
2144
+ smalltalk.method({
2145
+ selector: unescape('%3E%3D'),
2146
+ category: 'comparing',
2147
+ fn: function (aNumber){
2148
+ var self=this;
2149
+ return self >= aNumber;
2150
+ return self;},
2151
+ args: ["aNumber"],
2152
+ source: unescape('%3E%3D%20aNumber%0A%09%22Inlined%20in%20the%20Compiler%22%0A%09%3Creturn%20self%20%3E%3E%3D%20aNumber%3E'),
2153
+ messageSends: [],
2154
+ referencedClasses: []
2155
+ }),
2156
+ smalltalk.Number);
2157
+
2158
+ smalltalk.addMethod(
2159
+ unescape('__at'),
2160
+ smalltalk.method({
2161
+ selector: unescape('@'),
2162
+ category: 'converting',
2163
+ fn: function (aNumber){
2164
+ var self=this;
2165
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [self, aNumber]);
2166
+ return self;},
2167
+ args: ["aNumber"],
2168
+ source: unescape('@%20aNumber%0A%09%5EPoint%20x%3A%20self%20y%3A%20aNumber'),
2169
+ messageSends: ["x:y:"],
2170
+ referencedClasses: ["Point"]
2171
+ }),
2172
+ smalltalk.Number);
2173
+
2174
+ smalltalk.addMethod(
2175
+ unescape('_%5C%5C'),
2176
+ smalltalk.method({
2177
+ selector: unescape('%5C%5C'),
2178
+ category: 'arithmetic',
2179
+ fn: function (aNumber){
2180
+ var self=this;
2181
+ return self % aNumber;
2182
+ return self;},
2183
+ args: ["aNumber"],
2184
+ source: unescape('%5C%5C%20aNumber%0A%09%3Creturn%20self%20%25%20aNumber%3E'),
2185
+ messageSends: [],
2186
+ referencedClasses: []
2187
+ }),
2188
+ smalltalk.Number);
2189
+
2190
+ smalltalk.addMethod(
2191
+ unescape('_asHexString'),
2192
+ smalltalk.method({
2193
+ selector: unescape('asHexString'),
2194
+ category: 'converting',
2195
+ fn: function (){
2196
+ var self=this;
2197
+ return self.toString(16); ;
2198
+ return self;},
2199
+ args: [],
2200
+ source: unescape('asHexString%0A%09%3C%20return%20self.toString%2816%29%3B%20%3E'),
2201
+ messageSends: [],
2202
+ referencedClasses: []
2203
+ }),
2204
+ smalltalk.Number);
2205
+
2206
+ smalltalk.addMethod(
2207
+ unescape('_asJSON'),
2208
+ smalltalk.method({
2209
+ selector: unescape('asJSON'),
2210
+ category: 'converting',
2211
+ fn: function (){
2212
+ var self=this;
2213
+ return self;
2214
+ return self;},
2215
+ args: [],
2216
+ source: unescape('asJSON%0A%09%5Eself'),
2217
+ messageSends: [],
2218
+ referencedClasses: []
2219
+ }),
2220
+ smalltalk.Number);
2221
+
2222
+ smalltalk.addMethod(
2223
+ unescape('_asJavascript'),
2224
+ smalltalk.method({
2225
+ selector: unescape('asJavascript'),
2226
+ category: 'converting',
2227
+ fn: function (){
2228
+ var self=this;
2229
+ return smalltalk.send(smalltalk.send(unescape("%28"), "__comma", [smalltalk.send(self, "_printString", [])]), "__comma", [unescape("%29")]);
2230
+ return self;},
2231
+ args: [],
2232
+ source: unescape('asJavascript%0A%09%5E%27%28%27%2C%20self%20printString%2C%20%27%29%27'),
2233
+ messageSends: [unescape("%2C"), "printString"],
2234
+ referencedClasses: []
2235
+ }),
2236
+ smalltalk.Number);
2237
+
2238
+ smalltalk.addMethod(
2239
+ unescape('_asPoint'),
2240
+ smalltalk.method({
2241
+ selector: unescape('asPoint'),
2242
+ category: 'converting',
2243
+ fn: function (){
2244
+ var self=this;
2245
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [self, self]);
2246
+ return self;},
2247
+ args: [],
2248
+ source: unescape('asPoint%0A%09%5EPoint%20x%3A%20self%20y%3A%20self'),
2249
+ messageSends: ["x:y:"],
2250
+ referencedClasses: ["Point"]
2251
+ }),
2252
+ smalltalk.Number);
2253
+
2254
+ smalltalk.addMethod(
2255
+ unescape('_asString'),
2256
+ smalltalk.method({
2257
+ selector: unescape('asString'),
2258
+ category: 'converting',
2259
+ fn: function (){
2260
+ var self=this;
2261
+ return smalltalk.send(self, "_printString", []);
2262
+ return self;},
2263
+ args: [],
2264
+ source: unescape('asString%0A%09%5Eself%20printString'),
2265
+ messageSends: ["printString"],
2266
+ referencedClasses: []
2267
+ }),
2268
+ smalltalk.Number);
2269
+
2270
+ smalltalk.addMethod(
2271
+ unescape('_atRandom'),
2272
+ smalltalk.method({
2273
+ selector: unescape('atRandom'),
2274
+ category: 'converting',
2275
+ fn: function (){
2276
+ var self=this;
2277
+ return ((($receiver = smalltalk.send(((($receiver = smalltalk.send(smalltalk.send((smalltalk.Random || Random), "_new", []), "_next", [])).klass === smalltalk.Number) ? $receiver *self : smalltalk.send($receiver, "__star", [self])), "_truncated", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)]));
2278
+ return self;},
2279
+ args: [],
2280
+ source: unescape('atRandom%0A%20%20%20%20%5E%28Random%20new%20next%20*%20self%29%20truncated%20+%201'),
2281
+ messageSends: [unescape("+"), "truncated", unescape("*"), "next", "new"],
2282
+ referencedClasses: ["Random"]
2283
+ }),
2284
+ smalltalk.Number);
2285
+
2286
+ smalltalk.addMethod(
2287
+ unescape('_bitAnd_'),
2288
+ smalltalk.method({
2289
+ selector: unescape('bitAnd%3A'),
2290
+ category: 'arithmetic',
2291
+ fn: function (anInteger){
2292
+ var self=this;
2293
+ return self & anInteger; ;
2294
+ return self;},
2295
+ args: ["anInteger"],
2296
+ source: unescape('bitAnd%3A%20anInteger%0A%09%3C%20return%20self%20%26%20anInteger%3B%20%3E'),
2297
+ messageSends: [],
2298
+ referencedClasses: []
2299
+ }),
2300
+ smalltalk.Number);
2301
+
2302
+ smalltalk.addMethod(
2303
+ unescape('_bitShift_'),
2304
+ smalltalk.method({
2305
+ selector: unescape('bitShift%3A'),
2306
+ category: 'arithmetic',
2307
+ fn: function (anInteger){
2308
+ var self=this;
2309
+ if (anInteger > 0) {
2310
+ return self << anInteger;
2311
+ }
2312
+ else {
2313
+ // bitshift might fail with big numbers
2314
+ return bitShiftRight(self, -1 * anInteger);
2315
+ } ;
2316
+ return self;},
2317
+ args: ["anInteger"],
2318
+ source: unescape('bitShift%3A%20anInteger%0A%09%3C%20if%20%28anInteger%20%3E%3E%200%29%20%7B%0A%09%09return%20self%20%3C%3C%20anInteger%3B%0A%09%7D%0A%09else%20%7B%0A%09%09//%20bitshift%20might%20fail%20with%20big%20numbers%0A%09%09return%20bitShiftRight%28self%2C%20-1%20*%20anInteger%29%3B%0A%09%7D%20%3E'),
2319
+ messageSends: [],
2320
+ referencedClasses: []
2321
+ }),
2322
+ smalltalk.Number);
2323
+
2324
+ smalltalk.addMethod(
2325
+ unescape('_ceiled'),
2326
+ smalltalk.method({
2327
+ selector: unescape('ceiled'),
2328
+ category: 'converting',
2329
+ fn: function (){
2330
+ var self=this;
2331
+ return Math.ceil(self); ;
2332
+ return self;},
2333
+ args: [],
2334
+ source: unescape('ceiled%0A%09%3C%20return%20Math.ceil%28self%29%3B%20%3E'),
2335
+ messageSends: [],
2336
+ referencedClasses: []
2337
+ }),
2338
+ smalltalk.Number);
2339
+
2340
+ smalltalk.addMethod(
2341
+ unescape('_clearInterval'),
2342
+ smalltalk.method({
2343
+ selector: unescape('clearInterval'),
2344
+ category: 'timeouts/intervals',
2345
+ fn: function (){
2346
+ var self=this;
2347
+ clearInterval(Number(self));
2348
+ return self;},
2349
+ args: [],
2350
+ source: unescape('clearInterval%0A%09%3CclearInterval%28Number%28self%29%29%3E'),
2351
+ messageSends: [],
2352
+ referencedClasses: []
2353
+ }),
2354
+ smalltalk.Number);
2355
+
2356
+ smalltalk.addMethod(
2357
+ unescape('_clearTimeout'),
2358
+ smalltalk.method({
2359
+ selector: unescape('clearTimeout'),
2360
+ category: 'timeouts/intervals',
2361
+ fn: function (){
2362
+ var self=this;
2363
+ clearTimeout(Number(self));
2364
+ return self;},
2365
+ args: [],
2366
+ source: unescape('clearTimeout%0A%09%3CclearTimeout%28Number%28self%29%29%3E'),
2367
+ messageSends: [],
2368
+ referencedClasses: []
2369
+ }),
2370
+ smalltalk.Number);
2371
+
2372
+ smalltalk.addMethod(
2373
+ unescape('_copy'),
2374
+ smalltalk.method({
2375
+ selector: unescape('copy'),
2376
+ category: 'copying',
2377
+ fn: function (){
2378
+ var self=this;
2379
+ return self;
2380
+ return self;},
2381
+ args: [],
2382
+ source: unescape('copy%0A%09%5Eself'),
2383
+ messageSends: [],
2384
+ referencedClasses: []
2385
+ }),
2386
+ smalltalk.Number);
2387
+
2388
+ smalltalk.addMethod(
2389
+ unescape('_deepCopy'),
2390
+ smalltalk.method({
2391
+ selector: unescape('deepCopy'),
2392
+ category: 'copying',
2393
+ fn: function (){
2394
+ var self=this;
2395
+ return smalltalk.send(self, "_copy", []);
2396
+ return self;},
2397
+ args: [],
2398
+ source: unescape('deepCopy%0A%09%5Eself%20copy'),
2399
+ messageSends: ["copy"],
2400
+ referencedClasses: []
2401
+ }),
2402
+ smalltalk.Number);
2403
+
2404
+ smalltalk.addMethod(
2405
+ unescape('_even'),
2406
+ smalltalk.method({
2407
+ selector: unescape('even'),
2408
+ category: 'testing',
2409
+ fn: function (){
2410
+ var self=this;
2411
+ return smalltalk.send((0), "__eq", [smalltalk.send(self, "_\\\\", [(2)])]);
2412
+ return self;},
2413
+ args: [],
2414
+ source: unescape('even%0A%09%5E%200%20%3D%20%28self%20%5C%5C%202%29'),
2415
+ messageSends: [unescape("%3D"), unescape("%5C%5C%5C%5C")],
2416
+ referencedClasses: []
2417
+ }),
2418
+ smalltalk.Number);
2419
+
2420
+ smalltalk.addMethod(
2421
+ unescape('_identityHash'),
2422
+ smalltalk.method({
2423
+ selector: unescape('identityHash'),
2424
+ category: 'accessing',
2425
+ fn: function (){
2426
+ var self=this;
2427
+ return smalltalk.send(smalltalk.send(self, "_asString", []), "__comma", ["n"]);
2428
+ return self;},
2429
+ args: [],
2430
+ source: unescape('identityHash%0A%09%5Eself%20asString%2C%20%27n%27'),
2431
+ messageSends: [unescape("%2C"), "asString"],
2432
+ referencedClasses: []
2433
+ }),
2434
+ smalltalk.Number);
2435
+
2436
+ smalltalk.addMethod(
2437
+ unescape('_isNumber'),
2438
+ smalltalk.method({
2439
+ selector: unescape('isNumber'),
2440
+ category: 'testing',
2441
+ fn: function (){
2442
+ var self=this;
2443
+ return true;
2444
+ return self;},
2445
+ args: [],
2446
+ source: unescape('isNumber%0A%09%5Etrue'),
2447
+ messageSends: [],
2448
+ referencedClasses: []
2449
+ }),
2450
+ smalltalk.Number);
2451
+
2452
+ smalltalk.addMethod(
2453
+ unescape('_isZero'),
2454
+ smalltalk.method({
2455
+ selector: unescape('isZero'),
2456
+ category: 'testing',
2457
+ fn: function (){
2458
+ var self=this;
2459
+ return smalltalk.send(self, "__eq", [(0)]);
2460
+ return self;},
2461
+ args: [],
2462
+ source: unescape('isZero%0A%09%5Eself%20%3D%200'),
2463
+ messageSends: [unescape("%3D")],
2464
+ referencedClasses: []
2465
+ }),
2466
+ smalltalk.Number);
2467
+
2468
+ smalltalk.addMethod(
2469
+ unescape('_max_'),
2470
+ smalltalk.method({
2471
+ selector: unescape('max%3A'),
2472
+ category: 'arithmetic',
2473
+ fn: function (aNumber){
2474
+ var self=this;
2475
+ return Math.max(self, aNumber);;
2476
+ return self;},
2477
+ args: ["aNumber"],
2478
+ source: unescape('max%3A%20aNumber%0A%09%3Creturn%20Math.max%28self%2C%20aNumber%29%3B%3E'),
2479
+ messageSends: [],
2480
+ referencedClasses: []
2481
+ }),
2482
+ smalltalk.Number);
2483
+
2484
+ smalltalk.addMethod(
2485
+ unescape('_min_'),
2486
+ smalltalk.method({
2487
+ selector: unescape('min%3A'),
2488
+ category: 'arithmetic',
2489
+ fn: function (aNumber){
2490
+ var self=this;
2491
+ return Math.min(self, aNumber);;
2492
+ return self;},
2493
+ args: ["aNumber"],
2494
+ source: unescape('min%3A%20aNumber%0A%09%3Creturn%20Math.min%28self%2C%20aNumber%29%3B%3E'),
2495
+ messageSends: [],
2496
+ referencedClasses: []
2497
+ }),
2498
+ smalltalk.Number);
2499
+
2500
+ smalltalk.addMethod(
2501
+ unescape('_negated'),
2502
+ smalltalk.method({
2503
+ selector: unescape('negated'),
2504
+ category: 'arithmetic',
2505
+ fn: function (){
2506
+ var self=this;
2507
+ return (0) - self;
2508
+ return self;},
2509
+ args: [],
2510
+ source: unescape('negated%0A%09%5E0%20-%20self'),
2511
+ messageSends: [unescape("-")],
2512
+ referencedClasses: []
2513
+ }),
2514
+ smalltalk.Number);
2515
+
2516
+ smalltalk.addMethod(
2517
+ unescape('_negative'),
2518
+ smalltalk.method({
2519
+ selector: unescape('negative'),
2520
+ category: 'testing',
2521
+ fn: function (){
2522
+ var self=this;
2523
+ return self < (0);
2524
+ return self;},
2525
+ args: [],
2526
+ source: unescape('negative%0A%09%22Answer%20whether%20the%20receiver%20is%20mathematically%20negative.%22%0A%0A%09%5E%20self%20%3C%200'),
2527
+ messageSends: [unescape("%3C")],
2528
+ referencedClasses: []
2529
+ }),
2530
+ smalltalk.Number);
2531
+
2532
+ smalltalk.addMethod(
2533
+ unescape('_odd'),
2534
+ smalltalk.method({
2535
+ selector: unescape('odd'),
2536
+ category: 'testing',
2537
+ fn: function (){
2538
+ var self=this;
2539
+ return smalltalk.send(smalltalk.send(self, "_even", []), "_not", []);
2540
+ return self;},
2541
+ args: [],
2542
+ source: unescape('odd%0A%09%5E%20self%20even%20not'),
2543
+ messageSends: ["not", "even"],
2544
+ referencedClasses: []
2545
+ }),
2546
+ smalltalk.Number);
2547
+
2548
+ smalltalk.addMethod(
2549
+ unescape('_positive'),
2550
+ smalltalk.method({
2551
+ selector: unescape('positive'),
2552
+ category: 'testing',
2553
+ fn: function (){
2554
+ var self=this;
2555
+ return self >= (0);
2556
+ return self;},
2557
+ args: [],
2558
+ source: unescape('positive%0A%09%22Answer%20whether%20the%20receiver%20is%20positive%20or%20equal%20to%200.%20%28ST-80%20protocol%29.%22%0A%0A%09%5E%20self%20%3E%3D%200'),
2559
+ messageSends: [unescape("%3E%3D")],
2560
+ referencedClasses: []
2561
+ }),
2562
+ smalltalk.Number);
2563
+
2564
+ smalltalk.addMethod(
2565
+ unescape('_printShowingDecimalPlaces_'),
2566
+ smalltalk.method({
2567
+ selector: unescape('printShowingDecimalPlaces%3A'),
2568
+ category: 'printing',
2569
+ fn: function (placesDesired){
2570
+ var self=this;
2571
+ return self.toFixed(placesDesired);
2572
+ return self;},
2573
+ args: ["placesDesired"],
2574
+ source: unescape('printShowingDecimalPlaces%3A%20placesDesired%0A%09%3Creturn%20self.toFixed%28placesDesired%29%3E'),
2575
+ messageSends: [],
2576
+ referencedClasses: []
2577
+ }),
2578
+ smalltalk.Number);
2579
+
2580
+ smalltalk.addMethod(
2581
+ unescape('_printString'),
2582
+ smalltalk.method({
2583
+ selector: unescape('printString'),
2584
+ category: 'printing',
2585
+ fn: function (){
2586
+ var self=this;
2587
+ return String(self);
2588
+ return self;},
2589
+ args: [],
2590
+ source: unescape('printString%0A%09%3Creturn%20String%28self%29%3E'),
2591
+ messageSends: [],
2592
+ referencedClasses: []
2593
+ }),
2594
+ smalltalk.Number);
2595
+
2596
+ smalltalk.addMethod(
2597
+ unescape('_rounded'),
2598
+ smalltalk.method({
2599
+ selector: unescape('rounded'),
2600
+ category: 'converting',
2601
+ fn: function (){
2602
+ var self=this;
2603
+ return Math.round(self);;
2604
+ return self;},
2605
+ args: [],
2606
+ source: unescape('rounded%0A%09%3Creturn%20Math.round%28self%29%3B%3E'),
2607
+ messageSends: [],
2608
+ referencedClasses: []
2609
+ }),
2610
+ smalltalk.Number);
2611
+
2612
+ smalltalk.addMethod(
2613
+ unescape('_sqrt'),
2614
+ smalltalk.method({
2615
+ selector: unescape('sqrt'),
2616
+ category: 'arithmetic',
2617
+ fn: function (){
2618
+ var self=this;
2619
+ return Math.sqrt(self);
2620
+ return self;},
2621
+ args: [],
2622
+ source: unescape('sqrt%0A%09%3Creturn%20Math.sqrt%28self%29%3E'),
2623
+ messageSends: [],
2624
+ referencedClasses: []
2625
+ }),
2626
+ smalltalk.Number);
2627
+
2628
+ smalltalk.addMethod(
2629
+ unescape('_squared'),
2630
+ smalltalk.method({
2631
+ selector: unescape('squared'),
2632
+ category: 'arithmetic',
2633
+ fn: function (){
2634
+ var self=this;
2635
+ return self * self;
2636
+ return self;},
2637
+ args: [],
2638
+ source: unescape('squared%0A%09%5Eself%20*%20self'),
2639
+ messageSends: [unescape("*")],
2640
+ referencedClasses: []
2641
+ }),
2642
+ smalltalk.Number);
2643
+
2644
+ smalltalk.addMethod(
2645
+ unescape('_timesRepeat_'),
2646
+ smalltalk.method({
2647
+ selector: unescape('timesRepeat%3A'),
2648
+ category: 'enumerating',
2649
+ fn: function (aBlock){
2650
+ var self=this;
2651
+ var integer=nil;
2652
+ var count=nil;
2653
+ (integer=smalltalk.send(self, "_truncated", []));
2654
+ (count=(1));
2655
+ (function(){while(!(function(){return ((($receiver = count).klass === smalltalk.Number) ? $receiver >self : smalltalk.send($receiver, "__gt", [self]));})()) {(function(){smalltalk.send(aBlock, "_value", []);return (count=((($receiver = count).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})()}})();
2656
+ return self;},
2657
+ args: ["aBlock"],
2658
+ source: unescape('timesRepeat%3A%20aBlock%0A%09%7C%20integer%20count%20%7C%0A%09integer%20%3A%3D%20self%20truncated.%0A%09count%20%3A%3D%201.%0A%09%5Bcount%20%3E%20self%5D%20whileFalse%3A%20%5B%0A%09%20%20%20%20aBlock%20value.%0A%09%20%20%20%20count%20%3A%3D%20count%20+%201%5D'),
2659
+ messageSends: ["truncated", "whileFalse:", unescape("%3E"), "value", unescape("+")],
2660
+ referencedClasses: []
2661
+ }),
2662
+ smalltalk.Number);
2663
+
2664
+ smalltalk.addMethod(
2665
+ unescape('_to_'),
2666
+ smalltalk.method({
2667
+ selector: unescape('to%3A'),
2668
+ category: 'converting',
2669
+ fn: function (aNumber){
2670
+ var self=this;
2671
+ var array=nil;
2672
+ var first=nil;
2673
+ var last=nil;
2674
+ var count=nil;
2675
+ (first=smalltalk.send(self, "_truncated", []));
2676
+ (last=((($receiver = smalltalk.send(aNumber, "_truncated", [])).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));
2677
+ (count=(1));
2678
+ (array=smalltalk.send((smalltalk.Array || Array), "_new", []));
2679
+ smalltalk.send(((($receiver = last).klass === smalltalk.Number) ? $receiver -first : smalltalk.send($receiver, "__minus", [first])), "_timesRepeat_", [(function(){smalltalk.send(array, "_at_put_", [count, first]);(count=((($receiver = count).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return (first=((($receiver = first).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})]);
2680
+ return array;
2681
+ return self;},
2682
+ args: ["aNumber"],
2683
+ source: unescape('to%3A%20aNumber%0A%09%7C%20array%20first%20last%20count%20%7C%0A%09first%20%3A%3D%20self%20truncated.%0A%09last%20%3A%3D%20aNumber%20truncated%20+%201.%0A%09count%20%3A%3D%201.%0A%09array%20%3A%3D%20Array%20new.%0A%09%28last%20-%20first%29%20timesRepeat%3A%20%5B%0A%09%20%20%20%20array%20at%3A%20count%20put%3A%20first.%0A%09%20%20%20%20count%20%3A%3D%20count%20+%201.%0A%09%20%20%20%20first%20%3A%3D%20first%20+%201%5D.%0A%09%5Earray'),
2684
+ messageSends: ["truncated", unescape("+"), "new", "timesRepeat:", unescape("-"), "at:put:"],
2685
+ referencedClasses: ["Array"]
2686
+ }),
2687
+ smalltalk.Number);
2688
+
2689
+ smalltalk.addMethod(
2690
+ unescape('_to_by_'),
2691
+ smalltalk.method({
2692
+ selector: unescape('to%3Aby%3A'),
2693
+ category: 'converting',
2694
+ fn: function (stop, step){
2695
+ var self=this;
2696
+ var array=nil;
2697
+ var value=nil;
2698
+ var pos=nil;
2699
+ (value=self);
2700
+ (array=smalltalk.send((smalltalk.Array || Array), "_new", []));
2701
+ (pos=(1));
2702
+ ((($receiver = smalltalk.send(step, "__eq", [(0)])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_error_", [unescape("step%20must%20be%20non-zero")]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_error_", [unescape("step%20must%20be%20non-zero")]);})]));
2703
+ ((($receiver = ((($receiver = step).klass === smalltalk.Number) ? $receiver <(0) : smalltalk.send($receiver, "__lt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver >=stop : smalltalk.send($receiver, "__gt_eq", [stop]));})()) {(function(){smalltalk.send(array, "_at_put_", [pos, value]);(pos=((($receiver = pos).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})() : (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver <=stop : smalltalk.send($receiver, "__lt_eq", [stop]));})()) {(function(){smalltalk.send(array, "_at_put_", [pos, value]);(pos=((($receiver = pos).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver >=stop : smalltalk.send($receiver, "__gt_eq", [stop]));})()) {(function(){smalltalk.send(array, "_at_put_", [pos, value]);(pos=((($receiver = pos).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();}), (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver <=stop : smalltalk.send($receiver, "__lt_eq", [stop]));})()) {(function(){smalltalk.send(array, "_at_put_", [pos, value]);(pos=((($receiver = pos).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})]));
2704
+ return array;
2705
+ return self;},
2706
+ args: ["stop", "step"],
2707
+ source: unescape('to%3A%20stop%20by%3A%20step%0A%09%7C%20array%20value%20pos%20%7C%0A%09value%20%3A%3D%20self.%0A%09array%20%3A%3D%20Array%20new.%0A%09pos%20%3A%3D%201.%0A%09step%20%3D%200%20ifTrue%3A%20%5Bself%20error%3A%20%27step%20must%20be%20non-zero%27%5D.%0A%09step%20%3C%200%0A%09%09ifTrue%3A%20%5B%5B%20value%20%3E%3D%20stop%20%5D%20whileTrue%3A%20%5B%0A%09%20%20%20%20%09%09%09array%20at%3A%20pos%20put%3A%20value.%0A%09%20%20%20%20%09%09%09pos%20%3A%3D%20pos%20+%201.%0A%09%20%20%20%20%09%09%09value%20%3A%3D%20value%20+%20step%5D%5D%0A%09%09ifFalse%3A%20%5B%5B%20value%20%3C%3D%20stop%20%5D%20whileTrue%3A%20%5B%0A%09%20%20%20%20%09%09%09array%20at%3A%20pos%20put%3A%20value.%0A%09%20%20%09%09%09pos%20%3A%3D%20pos%20+%201.%0A%09%20%20%20%20%09%09%09value%20%3A%3D%20value%20+%20step%5D%5D.%0A%09%5Earray'),
2708
+ messageSends: ["new", "ifTrue:", unescape("%3D"), "error:", "ifTrue:ifFalse:", unescape("%3C"), "whileTrue:", unescape("%3E%3D"), "at:put:", unescape("+"), unescape("%3C%3D")],
2709
+ referencedClasses: ["Array"]
2710
+ }),
2711
+ smalltalk.Number);
2712
+
2713
+ smalltalk.addMethod(
2714
+ unescape('_to_by_do_'),
2715
+ smalltalk.method({
2716
+ selector: unescape('to%3Aby%3Ado%3A'),
2717
+ category: 'enumerating',
2718
+ fn: function (stop, step, aBlock){
2719
+ var self=this;
2720
+ var value=nil;
2721
+ (value=self);
2722
+ ((($receiver = smalltalk.send(step, "__eq", [(0)])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_error_", [unescape("step%20must%20be%20non-zero")]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_error_", [unescape("step%20must%20be%20non-zero")]);})]));
2723
+ ((($receiver = ((($receiver = step).klass === smalltalk.Number) ? $receiver <(0) : smalltalk.send($receiver, "__lt", [(0)]))).klass === smalltalk.Boolean) ? ($receiver ? (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver >=stop : smalltalk.send($receiver, "__gt_eq", [stop]));})()) {(function(){smalltalk.send(aBlock, "_value_", [value]);return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})() : (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver <=stop : smalltalk.send($receiver, "__lt_eq", [stop]));})()) {(function(){smalltalk.send(aBlock, "_value_", [value]);return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver >=stop : smalltalk.send($receiver, "__gt_eq", [stop]));})()) {(function(){smalltalk.send(aBlock, "_value_", [value]);return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();}), (function(){return (function(){while((function(){return ((($receiver = value).klass === smalltalk.Number) ? $receiver <=stop : smalltalk.send($receiver, "__lt_eq", [stop]));})()) {(function(){smalltalk.send(aBlock, "_value_", [value]);return (value=((($receiver = value).klass === smalltalk.Number) ? $receiver +step : smalltalk.send($receiver, "__plus", [step])));})()}})();})]));
2724
+ return self;},
2725
+ args: ["stop", "step", "aBlock"],
2726
+ source: unescape('to%3A%20stop%20by%3A%20step%20do%3A%20aBlock%0A%09%7C%20value%20%7C%0A%09value%20%3A%3D%20self.%0A%09step%20%3D%200%20ifTrue%3A%20%5Bself%20error%3A%20%27step%20must%20be%20non-zero%27%5D.%0A%09step%20%3C%200%0A%09%09ifTrue%3A%20%5B%5B%20value%20%3E%3D%20stop%20%5D%20whileTrue%3A%20%5B%0A%09%20%20%20%20%09%09%09aBlock%20value%3A%20value.%0A%09%20%20%20%20%09%09%09value%20%3A%3D%20value%20+%20step%5D%5D%0A%09%09ifFalse%3A%20%5B%5B%20value%20%3C%3D%20stop%20%5D%20whileTrue%3A%20%5B%0A%09%20%20%20%20%09%09%09aBlock%20value%3A%20value.%0A%09%20%20%20%20%09%09%09value%20%3A%3D%20value%20+%20step%5D%5D'),
2727
+ messageSends: ["ifTrue:", unescape("%3D"), "error:", "ifTrue:ifFalse:", unescape("%3C"), "whileTrue:", unescape("%3E%3D"), "value:", unescape("+"), unescape("%3C%3D")],
2728
+ referencedClasses: []
2729
+ }),
2730
+ smalltalk.Number);
2731
+
2732
+ smalltalk.addMethod(
2733
+ unescape('_to_do_'),
2734
+ smalltalk.method({
2735
+ selector: unescape('to%3Ado%3A'),
2736
+ category: 'enumerating',
2737
+ fn: function (stop, aBlock){
2738
+ var self=this;
2739
+ var nextValue=nil;
2740
+ (nextValue=self);
2741
+ (function(){while((function(){return ((($receiver = nextValue).klass === smalltalk.Number) ? $receiver <=stop : smalltalk.send($receiver, "__lt_eq", [stop]));})()) {(function(){smalltalk.send(aBlock, "_value_", [nextValue]);return (nextValue=((($receiver = nextValue).klass === smalltalk.Number) ? $receiver +(1) : smalltalk.send($receiver, "__plus", [(1)])));})()}})();
2742
+ return self;},
2743
+ args: ["stop", "aBlock"],
2744
+ source: unescape('to%3A%20stop%20do%3A%20aBlock%0A%09%22Evaluate%20aBlock%20for%20each%20number%20from%20self%20to%20aNumber.%22%0A%09%7C%20nextValue%20%7C%0A%09nextValue%20%3A%3D%20self.%0A%09%5BnextValue%20%3C%3D%20stop%5D%0A%09%09whileTrue%3A%20%0A%09%09%09%5BaBlock%20value%3A%20nextValue.%0A%09%09%09nextValue%20%3A%3D%20nextValue%20+%201%5D'),
2745
+ messageSends: ["whileTrue:", unescape("%3C%3D"), "value:", unescape("+")],
2746
+ referencedClasses: []
2747
+ }),
2748
+ smalltalk.Number);
2749
+
2750
+ smalltalk.addMethod(
2751
+ unescape('_truncated'),
2752
+ smalltalk.method({
2753
+ selector: unescape('truncated'),
2754
+ category: 'converting',
2755
+ fn: function (){
2756
+ var self=this;
2757
+ var result=nil;
2758
+ ((($receiver = self >= (0)).klass === smalltalk.Boolean) ? ($receiver ? (function(){return result = Math.floor(self);;})() : (function(){return result = (Math.floor(self * (-1)) * (-1));;})()) : smalltalk.send($receiver, "_ifTrue_ifFalse_", [(function(){return result = Math.floor(self);;}), (function(){return result = (Math.floor(self * (-1)) * (-1));;})]));
2759
+ return result;
2760
+ return self;},
2761
+ args: [],
2762
+ source: unescape('truncated%0A%7Cresult%7C%0A%0A%20%20%20%20self%20%3E%3D%200%20%0A%20%20%20%20%20%20%20%20ifTrue%3A%20%5B%3Cresult%20%3D%20Math.floor%28self%29%3B%3E%5D%0A%20%20%20%20%20%20%20%20ifFalse%3A%20%5B%3Cresult%20%3D%20%28Math.floor%28self%20*%20%28-1%29%29%20*%20%28-1%29%29%3B%3E%5D.%0A%0A%20%20%20%20%5E%20result'),
2763
+ messageSends: ["ifTrue:ifFalse:", unescape("%3E%3D")],
2764
+ referencedClasses: []
2765
+ }),
2766
+ smalltalk.Number);
2767
+
2768
+
2769
+ smalltalk.addMethod(
2770
+ unescape('_pi'),
2771
+ smalltalk.method({
2772
+ selector: unescape('pi'),
2773
+ category: 'instance creation',
2774
+ fn: function (){
2775
+ var self=this;
2776
+ return Math.PI;
2777
+ return self;},
2778
+ args: [],
2779
+ source: unescape('pi%0A%09%3Creturn%20Math.PI%3E'),
2780
+ messageSends: [],
2781
+ referencedClasses: []
2782
+ }),
2783
+ smalltalk.Number.klass);
2784
+
2785
+
2786
+ smalltalk.addClass('Package', smalltalk.Object, ['commitPathJs', 'commitPathSt'], 'Kernel-Objects');
2787
+ smalltalk.Package.comment=unescape('A%20Package%20is%20similar%20to%20a%20%22class%20category%22%20typically%20found%20in%20other%20Smalltalks%20like%20Pharo%20or%20Squeak.%20Amber%20does%20not%20have%20class%20categories%20anymore%2C%20it%20had%20in%20the%20beginning%20but%20now%20each%20class%20in%20the%20system%20knows%20which%20package%20it%20belongs%20to.%0A%0AA%20Package%20has%20a%20name%2C%20an%20Array%20of%20%22requires%22%2C%20a%20comment%20and%20a%20Dictionary%20with%20other%20optional%20key%20value%20attributes.%20A%20Package%20can%20also%20be%20queried%20for%20its%20classes%2C%20but%20it%20will%20then%20resort%20to%20a%20reverse%20scan%20of%20all%20classes%20to%20find%20them.%0APackages%20are%20manipulated%20through%20%22Smalltalk%20current%22%2C%20like%20for%20example%20finding%20one%20based%20on%20a%20name%3A%0A%0A%09Smalltalk%20current%20packageAt%3A%20%27Kernel%27%0A%0A...but%20you%20can%20also%20use%3A%0A%0A%09Package%20named%3A%20%27Kernel%27%0A%0AA%20Package%20differs%20slightly%20from%20a%20Monticello%20package%20which%20can%20span%20multiple%20class%20categories%20using%20a%20naming%20convention%20based%20on%20hyphenation.%20But%20just%20as%20in%20Monticello%20a%20Package%20supports%20%22class%20extensions%22%20so%20a%20Package%0Acan%20define%20behaviors%20in%20foreign%20classes%20using%20a%20naming%20convention%20for%20method%20categories%20where%20the%20category%20starts%20with%20an%20asterisk%20and%20then%20the%20name%20of%20the%20owning%20package%20follows.%20This%20can%20easily%20be%20seen%20in%20for%20example%20class%0AString%20where%20the%20method%20category%20%22*IDE%22%20defines%20%23inspectOn%3A%20which%20thus%20is%20a%20method%20belonging%20to%20the%20IDE%20package.%0A%0AYou%20can%20fetch%20a%20package%20from%20the%20server%3A%0A%0A%09Package%20fetch%3A%20%27Additional-Examples%27')
2788
+ smalltalk.addMethod(
2789
+ unescape('_classes'),
2790
+ smalltalk.method({
2791
+ selector: unescape('classes'),
2792
+ category: 'classes',
2793
+ fn: function (){
2794
+ var self=this;
2795
+ return smalltalk.send(smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_classes", []), "_select_", [(function(c){return smalltalk.send(smalltalk.send(c, "_package", []), "__eq_eq", [self]);})]);
2796
+ return self;},
2797
+ args: [],
2798
+ source: unescape('classes%0A%09%22We%20need%20to%20do%20a%20reverse%20scan.%22%0A%09%5ESmalltalk%20current%20classes%20select%3A%20%5B%3Ac%20%7C%20c%20package%20%3D%3D%20self%5D'),
2799
+ messageSends: ["select:", "classes", "current", unescape("%3D%3D"), "package"],
2800
+ referencedClasses: ["Smalltalk"]
2801
+ }),
2802
+ smalltalk.Package);
2803
+
2804
+ smalltalk.addMethod(
2805
+ unescape('_commitPathJs'),
2806
+ smalltalk.method({
2807
+ selector: unescape('commitPathJs'),
2808
+ category: 'accessing',
2809
+ fn: function (){
2810
+ var self=this;
2811
+ return (($receiver = self['@commitPathJs']) == nil || $receiver == undefined) ? (function(){return smalltalk.send(smalltalk.send(self, "_class", []), "_defaultCommitPathJs", []);})() : $receiver;
2812
+ return self;},
2813
+ args: [],
2814
+ source: unescape('commitPathJs%0A%09%5E%20commitPathJs%20ifNil%3A%20%5Bself%20class%20defaultCommitPathJs%5D'),
2815
+ messageSends: ["ifNil:", "defaultCommitPathJs", "class"],
2816
+ referencedClasses: []
2817
+ }),
2818
+ smalltalk.Package);
2819
+
2820
+ smalltalk.addMethod(
2821
+ unescape('_commitPathJs_'),
2822
+ smalltalk.method({
2823
+ selector: unescape('commitPathJs%3A'),
2824
+ category: 'accessing',
2825
+ fn: function (aString){
2826
+ var self=this;
2827
+ (self['@commitPathJs']=aString);
2828
+ return self;},
2829
+ args: ["aString"],
2830
+ source: unescape('commitPathJs%3A%20aString%0A%09commitPathJs%A0%3A%3D%20aString'),
2831
+ messageSends: [],
2832
+ referencedClasses: []
2833
+ }),
2834
+ smalltalk.Package);
2835
+
2836
+ smalltalk.addMethod(
2837
+ unescape('_commitPathSt'),
2838
+ smalltalk.method({
2839
+ selector: unescape('commitPathSt'),
2840
+ category: 'accessing',
2841
+ fn: function (){
2842
+ var self=this;
2843
+ return (($receiver = self['@commitPathSt']) == nil || $receiver == undefined) ? (function(){return smalltalk.send(smalltalk.send(self, "_class", []), "_defaultCommitPathSt", []);})() : $receiver;
2844
+ return self;},
2845
+ args: [],
2846
+ source: unescape('commitPathSt%0A%09%5E%20commitPathSt%20ifNil%3A%20%5Bself%20class%20defaultCommitPathSt%5D'),
2847
+ messageSends: ["ifNil:", "defaultCommitPathSt", "class"],
2848
+ referencedClasses: []
2849
+ }),
2850
+ smalltalk.Package);
2851
+
2852
+ smalltalk.addMethod(
2853
+ unescape('_commitPathSt_'),
2854
+ smalltalk.method({
2855
+ selector: unescape('commitPathSt%3A'),
2856
+ category: 'accessing',
2857
+ fn: function (aString){
2858
+ var self=this;
2859
+ (self['@commitPathSt']=aString);
2860
+ return self;},
2861
+ args: ["aString"],
2862
+ source: unescape('commitPathSt%3A%20aString%0A%09commitPathSt%A0%3A%3D%20aString'),
2863
+ messageSends: [],
2864
+ referencedClasses: []
2865
+ }),
2866
+ smalltalk.Package);
2867
+
2868
+ smalltalk.addMethod(
2869
+ unescape('_dependencies'),
2870
+ smalltalk.method({
2871
+ selector: unescape('dependencies'),
2872
+ category: 'accessing',
2873
+ fn: function (){
2874
+ var self=this;
2875
+ return smalltalk.send(self, "_propertyAt_ifAbsent_", ["dependencies", (function(){return [];})]);
2876
+ return self;},
2877
+ args: [],
2878
+ source: unescape('dependencies%0A%09%5Eself%20propertyAt%3A%20%27dependencies%27%20ifAbsent%3A%20%5B%23%28%29%5D'),
2879
+ messageSends: ["propertyAt:ifAbsent:"],
2880
+ referencedClasses: []
2881
+ }),
2882
+ smalltalk.Package);
2883
+
2884
+ smalltalk.addMethod(
2885
+ unescape('_dependencies_'),
2886
+ smalltalk.method({
2887
+ selector: unescape('dependencies%3A'),
2888
+ category: 'accessing',
2889
+ fn: function (anArray){
2890
+ var self=this;
2891
+ return smalltalk.send(self, "_propertyAt_put_", ["dependencies", anArray]);
2892
+ return self;},
2893
+ args: ["anArray"],
2894
+ source: unescape('dependencies%3A%20anArray%0A%09%5Eself%20propertyAt%3A%20%27dependencies%27%20put%3A%20anArray'),
2895
+ messageSends: ["propertyAt:put:"],
2896
+ referencedClasses: []
2897
+ }),
2898
+ smalltalk.Package);
2899
+
2900
+ smalltalk.addMethod(
2901
+ unescape('_jsProperties'),
2902
+ smalltalk.method({
2903
+ selector: unescape('jsProperties'),
2904
+ category: 'private',
2905
+ fn: function (){
2906
+ var self=this;
2907
+ return self.properties;
2908
+ return self;},
2909
+ args: [],
2910
+ source: unescape('jsProperties%0A%09%3Creturn%20self.properties%3E'),
2911
+ messageSends: [],
2912
+ referencedClasses: []
2913
+ }),
2914
+ smalltalk.Package);
2915
+
2916
+ smalltalk.addMethod(
2917
+ unescape('_jsProperties_'),
2918
+ smalltalk.method({
2919
+ selector: unescape('jsProperties%3A'),
2920
+ category: 'private',
2921
+ fn: function (aJSObject){
2922
+ var self=this;
2923
+ return self.properties = aJSObject;
2924
+ return self;},
2925
+ args: ["aJSObject"],
2926
+ source: unescape('jsProperties%3A%20aJSObject%0A%09%3Creturn%20self.properties%20%3D%20aJSObject%3E'),
2927
+ messageSends: [],
2928
+ referencedClasses: []
2929
+ }),
2930
+ smalltalk.Package);
2931
+
2932
+ smalltalk.addMethod(
2933
+ unescape('_name'),
2934
+ smalltalk.method({
2935
+ selector: unescape('name'),
2936
+ category: 'accessing',
2937
+ fn: function (){
2938
+ var self=this;
2939
+ return self.pkgName;
2940
+ return self;},
2941
+ args: [],
2942
+ source: unescape('name%0A%09%3Creturn%20self.pkgName%3E'),
2943
+ messageSends: [],
2944
+ referencedClasses: []
2945
+ }),
2946
+ smalltalk.Package);
2947
+
2948
+ smalltalk.addMethod(
2949
+ unescape('_name_'),
2950
+ smalltalk.method({
2951
+ selector: unescape('name%3A'),
2952
+ category: 'accessing',
2953
+ fn: function (aString){
2954
+ var self=this;
2955
+ self.pkgName = aString;
2956
+ return self;},
2957
+ args: ["aString"],
2958
+ source: unescape('name%3A%20aString%0A%09%3Cself.pkgName%20%3D%20aString%3E'),
2959
+ messageSends: [],
2960
+ referencedClasses: []
2961
+ }),
2962
+ smalltalk.Package);
2963
+
2964
+ smalltalk.addMethod(
2965
+ unescape('_printString'),
2966
+ smalltalk.method({
2967
+ selector: unescape('printString'),
2968
+ category: 'printing',
2969
+ fn: function (){
2970
+ var self=this;
2971
+ return smalltalk.send(self, "_name", []);
2972
+ return self;},
2973
+ args: [],
2974
+ source: unescape('printString%0A%09%5Eself%20name'),
2975
+ messageSends: ["name"],
2976
+ referencedClasses: []
2977
+ }),
2978
+ smalltalk.Package);
2979
+
2980
+ smalltalk.addMethod(
2981
+ unescape('_properties'),
2982
+ smalltalk.method({
2983
+ selector: unescape('properties'),
2984
+ category: 'accessing',
2985
+ fn: function (){
2986
+ var self=this;
2987
+ return smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_readJSObject_", [smalltalk.send(self, "_basicAt_", ["properties"])]);
2988
+ return self;},
2989
+ args: [],
2990
+ source: unescape('properties%0A%09%5ESmalltalk%20current%20readJSObject%3A%20%28self%20basicAt%3A%20%27properties%27%29'),
2991
+ messageSends: ["readJSObject:", "current", "basicAt:"],
2992
+ referencedClasses: ["Smalltalk"]
2993
+ }),
2994
+ smalltalk.Package);
2995
+
2996
+ smalltalk.addMethod(
2997
+ unescape('_properties_'),
2998
+ smalltalk.method({
2999
+ selector: unescape('properties%3A'),
3000
+ category: 'accessing',
3001
+ fn: function (aDict){
3002
+ var self=this;
3003
+ var object=nil;
3004
+ object = {};;
3005
+ smalltalk.send(aDict, "_keysAndValuesDo_", [(function(key, value){return object[key] = value;})]);
3006
+ return self.properties = object;
3007
+ return self;},
3008
+ args: ["aDict"],
3009
+ source: unescape('properties%3A%20aDict%0A%09%22We%20store%20it%20as%20a%20javascript%20object.%22%0A%09%0A%09%7C%20object%20%7C%0A%09%3Cobject%20%3D%20%7B%7D%3B%3E.%0A%09aDict%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%09%3Cobject%5Bkey%5D%20%3D%20value%3E.%0A%09%5D.%0A%09%3Creturn%20self.properties%20%3D%20object%3E'),
3010
+ messageSends: ["keysAndValuesDo:"],
3011
+ referencedClasses: []
3012
+ }),
3013
+ smalltalk.Package);
3014
+
3015
+ smalltalk.addMethod(
3016
+ unescape('_propertiesAsJSON'),
3017
+ smalltalk.method({
3018
+ selector: unescape('propertiesAsJSON'),
3019
+ category: 'private',
3020
+ fn: function (){
3021
+ var self=this;
3022
+ return JSON.stringify(self.properties);
3023
+ return self;},
3024
+ args: [],
3025
+ source: unescape('propertiesAsJSON%0A%09%3Creturn%20JSON.stringify%28self.properties%29%3E'),
3026
+ messageSends: [],
3027
+ referencedClasses: []
3028
+ }),
3029
+ smalltalk.Package);
3030
+
3031
+ smalltalk.addMethod(
3032
+ unescape('_propertyAt_'),
3033
+ smalltalk.method({
3034
+ selector: unescape('propertyAt%3A'),
3035
+ category: 'properties',
3036
+ fn: function (key){
3037
+ var self=this;
3038
+ return self.properties[key];
3039
+ return self;},
3040
+ args: ["key"],
3041
+ source: unescape('propertyAt%3A%20key%0A%0A%09%3Creturn%20self.properties%5Bkey%5D%3E'),
3042
+ messageSends: [],
3043
+ referencedClasses: []
3044
+ }),
3045
+ smalltalk.Package);
3046
+
3047
+ smalltalk.addMethod(
3048
+ unescape('_propertyAt_ifAbsent_'),
3049
+ smalltalk.method({
3050
+ selector: unescape('propertyAt%3AifAbsent%3A'),
3051
+ category: 'properties',
3052
+ fn: function (key, block){
3053
+ var self=this;
3054
+ return (($receiver = smalltalk.send(self, "_propertyAt_", [key])) == nil || $receiver == undefined) ? (function(){return smalltalk.send(block, "_value", []);})() : $receiver;
3055
+ return self;},
3056
+ args: ["key", "block"],
3057
+ source: unescape('propertyAt%3A%20key%20ifAbsent%3A%20block%0A%0A%09%5E%28self%20propertyAt%3A%20key%29%20ifNil%3A%20%5Bblock%20value%5D'),
3058
+ messageSends: ["ifNil:", "propertyAt:", "value"],
3059
+ referencedClasses: []
3060
+ }),
3061
+ smalltalk.Package);
3062
+
3063
+ smalltalk.addMethod(
3064
+ unescape('_propertyAt_put_'),
3065
+ smalltalk.method({
3066
+ selector: unescape('propertyAt%3Aput%3A'),
3067
+ category: 'properties',
3068
+ fn: function (key, value){
3069
+ var self=this;
3070
+ return self.properties[key] = value;
3071
+ return self;},
3072
+ args: ["key", "value"],
3073
+ source: unescape('propertyAt%3A%20key%20put%3A%20value%0A%0A%09%3Creturn%20self.properties%5Bkey%5D%20%3D%20value%3E'),
3074
+ messageSends: [],
3075
+ referencedClasses: []
3076
+ }),
3077
+ smalltalk.Package);
3078
+
3079
+ smalltalk.addMethod(
3080
+ unescape('_sortedClasses'),
3081
+ smalltalk.method({
3082
+ selector: unescape('sortedClasses'),
3083
+ category: 'classes',
3084
+ fn: function (){
3085
+ var self=this;
3086
+ return smalltalk.send(smalltalk.send(self, "_class", []), "_sortedClasses_", [smalltalk.send(self, "_classes", [])]);
3087
+ return self;},
3088
+ args: [],
3089
+ source: unescape('sortedClasses%0A%09%22Answer%20all%20classes%20in%20the%20receiver%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29.%22%0A%0A%09%5Eself%20class%20sortedClasses%3A%20self%20classes'),
3090
+ messageSends: ["sortedClasses:", "class", "classes"],
3091
+ referencedClasses: []
3092
+ }),
3093
+ smalltalk.Package);
3094
+
3095
+
3096
+ smalltalk.Package.klass.iVarNames = ['defaultCommitPathJs','defaultCommitPathSt'];
3097
+ smalltalk.addMethod(
3098
+ unescape('_commitToLocalStorage_'),
3099
+ smalltalk.method({
3100
+ selector: unescape('commitToLocalStorage%3A'),
3101
+ category: 'loading-storing',
3102
+ fn: function (aPackageName){
3103
+ var self=this;
3104
+ var key=nil;
3105
+ var sourceCode=nil;
3106
+ (key=smalltalk.send("smalltalk.packages.", "__comma", [aPackageName]));
3107
+ (sourceCode=smalltalk.send(smalltalk.send((smalltalk.Exporter || Exporter), "_new", []), "_exportPackage_", [aPackageName]));
3108
+ localStorage[key] = escape(sourceCode);
3109
+ return self;},
3110
+ args: ["aPackageName"],
3111
+ source: unescape('commitToLocalStorage%3A%20aPackageName%0A%09%7C%20key%20sourceCode%20%7C%0A%09key%20%3A%3D%20%27smalltalk.packages.%27%20%2C%20aPackageName.%0A%09sourceCode%20%3A%3D%20Exporter%20new%20exportPackage%3A%20aPackageName.%0A%09%3ClocalStorage%5Bkey%5D%20%3D%20escape%28sourceCode%29%3E'),
3112
+ messageSends: [unescape("%2C"), "exportPackage:", "new"],
3113
+ referencedClasses: ["Exporter"]
3114
+ }),
3115
+ smalltalk.Package.klass);
3116
+
3117
+ smalltalk.addMethod(
3118
+ unescape('_defaultCommitPathJs'),
3119
+ smalltalk.method({
3120
+ selector: unescape('defaultCommitPathJs'),
3121
+ category: 'commit paths',
3122
+ fn: function (){
3123
+ var self=this;
3124
+ return (($receiver = self['@defaultCommitPathJs']) == nil || $receiver == undefined) ? (function(){return (self['@defaultCommitPathJs']="js");})() : $receiver;
3125
+ return self;},
3126
+ args: [],
3127
+ source: unescape('defaultCommitPathJs%0A%09%5E%20defaultCommitPathJs%20ifNil%3A%20%5B%20defaultCommitPathJs%20%3A%3D%20%27js%27%5D'),
3128
+ messageSends: ["ifNil:"],
3129
+ referencedClasses: []
3130
+ }),
3131
+ smalltalk.Package.klass);
3132
+
3133
+ smalltalk.addMethod(
3134
+ unescape('_defaultCommitPathJs_'),
3135
+ smalltalk.method({
3136
+ selector: unescape('defaultCommitPathJs%3A'),
3137
+ category: 'commit paths',
3138
+ fn: function (aString){
3139
+ var self=this;
3140
+ (self['@defaultCommitPathJs']=aString);
3141
+ return self;},
3142
+ args: ["aString"],
3143
+ source: unescape('defaultCommitPathJs%3A%20aString%0A%09defaultCommitPathJs%20%3A%3D%20aString'),
3144
+ messageSends: [],
3145
+ referencedClasses: []
3146
+ }),
3147
+ smalltalk.Package.klass);
3148
+
3149
+ smalltalk.addMethod(
3150
+ unescape('_defaultCommitPathSt'),
3151
+ smalltalk.method({
3152
+ selector: unescape('defaultCommitPathSt'),
3153
+ category: 'commit paths',
3154
+ fn: function (){
3155
+ var self=this;
3156
+ return (($receiver = self['@defaultCommitPathSt']) == nil || $receiver == undefined) ? (function(){return (self['@defaultCommitPathSt']="st");})() : $receiver;
3157
+ return self;},
3158
+ args: [],
3159
+ source: unescape('defaultCommitPathSt%0A%09%5E%20defaultCommitPathSt%20ifNil%3A%20%5B%20defaultCommitPathSt%20%3A%3D%20%27st%27%5D'),
3160
+ messageSends: ["ifNil:"],
3161
+ referencedClasses: []
3162
+ }),
3163
+ smalltalk.Package.klass);
3164
+
3165
+ smalltalk.addMethod(
3166
+ unescape('_defaultCommitPathSt_'),
3167
+ smalltalk.method({
3168
+ selector: unescape('defaultCommitPathSt%3A'),
3169
+ category: 'commit paths',
3170
+ fn: function (aString){
3171
+ var self=this;
3172
+ (self['@defaultCommitPathSt']=aString);
3173
+ return self;},
3174
+ args: ["aString"],
3175
+ source: unescape('defaultCommitPathSt%3A%20aString%0A%09defaultCommitPathSt%20%3A%3D%20aString'),
3176
+ messageSends: [],
3177
+ referencedClasses: []
3178
+ }),
3179
+ smalltalk.Package.klass);
3180
+
3181
+ smalltalk.addMethod(
3182
+ unescape('_fetch_'),
3183
+ smalltalk.method({
3184
+ selector: unescape('fetch%3A'),
3185
+ category: 'loading-storing',
3186
+ fn: function (aPackageName){
3187
+ var self=this;
3188
+ smalltalk.send(self, "_fetch_prefix_", [aPackageName, smalltalk.send(smalltalk.send(self, "_defaultCommitPathJs", []), "__comma", [unescape("/")])]);
3189
+ return self;},
3190
+ args: ["aPackageName"],
3191
+ source: unescape('fetch%3A%20aPackageName%0A%09self%20fetch%3A%20aPackageName%20prefix%3A%20self%20defaultCommitPathJs%2C%20%27/%27'),
3192
+ messageSends: ["fetch:prefix:", unescape("%2C"), "defaultCommitPathJs"],
3193
+ referencedClasses: []
3194
+ }),
3195
+ smalltalk.Package.klass);
3196
+
3197
+ smalltalk.addMethod(
3198
+ unescape('_fetch_prefix_'),
3199
+ smalltalk.method({
3200
+ selector: unescape('fetch%3Aprefix%3A'),
3201
+ category: 'loading-storing',
3202
+ fn: function (aPackageName, aPrefix){
3203
+ var self=this;
3204
+ smalltalk.send((typeof jQuery == 'undefined' ? nil : jQuery), "_getScript_onSuccess_", [smalltalk.send(smalltalk.send(aPrefix, "__comma", [aPackageName]), "__comma", [".js"]), (function(){return smalltalk.send((smalltalk.Package || Package), "_init_", [aPackageName]);})]);
3205
+ return self;},
3206
+ args: ["aPackageName", "aPrefix"],
3207
+ source: unescape('fetch%3A%20aPackageName%20prefix%3A%20aPrefix%0A%09jQuery%20getScript%3A%20%28aPrefix%20%2C%20aPackageName%20%2C%20%27.js%27%29%20onSuccess%3A%20%5B%20Package%20init%3A%20aPackageName%20%5D'),
3208
+ messageSends: ["getScript:onSuccess:", unescape("%2C"), "init:"],
3209
+ referencedClasses: ["Package"]
3210
+ }),
3211
+ smalltalk.Package.klass);
3212
+
3213
+ smalltalk.addMethod(
3214
+ unescape('_init_'),
3215
+ smalltalk.method({
3216
+ selector: unescape('init%3A'),
3217
+ category: 'loading-storing',
3218
+ fn: function (aPackageName){
3219
+ var self=this;
3220
+ (function($rec){smalltalk.send($rec, "_do_", [(function(each){return smalltalk.init(each);})]);return smalltalk.send($rec, "_do_", [(function(each){return smalltalk.send(each, "_initialize", []);})]);})(smalltalk.send(smalltalk.send((typeof smalltalk == 'undefined' ? nil : smalltalk), "_classes", []), "_select_", [(function(each){return each.pkg.pkgName == aPackageName;})]));
3221
+ return self;},
3222
+ args: ["aPackageName"],
3223
+ source: unescape('init%3A%20aPackageName%0A%09%28smalltalk%20classes%20select%3A%20%5B%20%3Aeach%20%7C%20%3Ceach.pkg.pkgName%20%3D%3D%20aPackageName%3E%20%5D%29%0A%09%09do%3A%20%5B%20%3Aeach%20%7C%20%3Csmalltalk.init%28each%29%3E%20%5D%3B%0A%09%09do%3A%20%5B%20%3Aeach%20%7C%20each%20initialize%20%5D'),
3224
+ messageSends: ["do:", "initialize", "select:", "classes"],
3225
+ referencedClasses: []
3226
+ }),
3227
+ smalltalk.Package.klass);
3228
+
3229
+ smalltalk.addMethod(
3230
+ unescape('_named_'),
3231
+ smalltalk.method({
3232
+ selector: unescape('named%3A'),
3233
+ category: 'not yet classified',
3234
+ fn: function (aPackageName){
3235
+ var self=this;
3236
+ return smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_packageAt_", [aPackageName]);
3237
+ return self;},
3238
+ args: ["aPackageName"],
3239
+ source: unescape('named%3A%20aPackageName%0A%0A%09%5ESmalltalk%20current%20packageAt%3A%20aPackageName'),
3240
+ messageSends: ["packageAt:", "current"],
3241
+ referencedClasses: ["Smalltalk"]
3242
+ }),
3243
+ smalltalk.Package.klass);
3244
+
3245
+ smalltalk.addMethod(
3246
+ unescape('_named_ifAbsent_'),
3247
+ smalltalk.method({
3248
+ selector: unescape('named%3AifAbsent%3A'),
3249
+ category: 'not yet classified',
3250
+ fn: function (aPackageName, aBlock){
3251
+ var self=this;
3252
+ return smalltalk.send(smalltalk.send((smalltalk.Smalltalk || Smalltalk), "_current", []), "_packageAt_ifAbsent_", [aPackageName, aBlock]);
3253
+ return self;},
3254
+ args: ["aPackageName", "aBlock"],
3255
+ source: unescape('named%3A%20aPackageName%20ifAbsent%3A%20aBlock%0A%0A%09%5ESmalltalk%20current%20packageAt%3A%20aPackageName%20ifAbsent%3A%20aBlock'),
3256
+ messageSends: ["packageAt:ifAbsent:", "current"],
3257
+ referencedClasses: ["Smalltalk"]
3258
+ }),
3259
+ smalltalk.Package.klass);
3260
+
3261
+ smalltalk.addMethod(
3262
+ unescape('_resetCommitPaths'),
3263
+ smalltalk.method({
3264
+ selector: unescape('resetCommitPaths'),
3265
+ category: 'commit paths',
3266
+ fn: function (){
3267
+ var self=this;
3268
+ (self['@defaultCommitPathJs']=nil);
3269
+ (self['@defaultCommitPathSt']=nil);
3270
+ return self;},
3271
+ args: [],
3272
+ source: unescape('resetCommitPaths%0A%20%20%20%20%20%20%20%20defaultCommitPathJs%20%3A%3D%20nil.%0A%20%20%20%20%20%20%20%20defaultCommitPathSt%20%3A%3D%20nil.'),
3273
+ messageSends: [],
3274
+ referencedClasses: []
3275
+ }),
3276
+ smalltalk.Package.klass);
3277
+
3278
+ smalltalk.addMethod(
3279
+ unescape('_sortedClasses_'),
3280
+ smalltalk.method({
3281
+ selector: unescape('sortedClasses%3A'),
3282
+ category: 'sorting',
3283
+ fn: function (classes){
3284
+ var self=this;
3285
+ var children=nil;
3286
+ var others=nil;
3287
+ var nodes=nil;
3288
+ var expandedClasses=nil;
3289
+ (children=[]);
3290
+ (others=[]);
3291
+ smalltalk.send(classes, "_do_", [(function(each){return ((($receiver = smalltalk.send(classes, "_includes_", [smalltalk.send(each, "_superclass", [])])).klass === smalltalk.Boolean) ? (! $receiver ? (function(){return smalltalk.send(children, "_add_", [each]);})() : (function(){return smalltalk.send(others, "_add_", [each]);})()) : smalltalk.send($receiver, "_ifFalse_ifTrue_", [(function(){return smalltalk.send(children, "_add_", [each]);}), (function(){return smalltalk.send(others, "_add_", [each]);})]));})]);
3292
+ (nodes=smalltalk.send(children, "_collect_", [(function(each){return smalltalk.send((smalltalk.ClassSorterNode || ClassSorterNode), "_on_classes_level_", [each, others, (0)]);})]));
3293
+ (nodes=smalltalk.send(nodes, "_sorted_", [(function(a, b){return ((($receiver = smalltalk.send(smalltalk.send(a, "_theClass", []), "_name", [])).klass === smalltalk.Number) ? $receiver <=smalltalk.send(smalltalk.send(b, "_theClass", []), "_name", []) : smalltalk.send($receiver, "__lt_eq", [smalltalk.send(smalltalk.send(b, "_theClass", []), "_name", [])]));})]));
3294
+ (expandedClasses=smalltalk.send((smalltalk.Array || Array), "_new", []));
3295
+ smalltalk.send(nodes, "_do_", [(function(aNode){return smalltalk.send(aNode, "_traverseClassesWith_", [expandedClasses]);})]);
3296
+ return expandedClasses;
3297
+ return self;},
3298
+ args: ["classes"],
3299
+ source: unescape('sortedClasses%3A%20classes%0A%09%22Answer%20classes%2C%20sorted%20by%20superclass/subclasses%20and%20by%20class%20name%20for%20common%20subclasses%20%28Issue%20%23143%29%22%0A%0A%09%7C%20children%20others%20nodes%20expandedClasses%20%7C%0A%09children%20%3A%3D%20%23%28%29.%0A%09others%20%3A%3D%20%23%28%29.%0A%09classes%20do%3A%20%5B%3Aeach%20%7C%0A%09%09%28classes%20includes%3A%20each%20superclass%29%0A%09%09%09ifFalse%3A%20%5Bchildren%20add%3A%20each%5D%0A%09%09%09ifTrue%3A%20%5Bothers%20add%3A%20each%5D%5D.%0A%09nodes%20%3A%3D%20children%20collect%3A%20%5B%3Aeach%20%7C%0A%09%09ClassSorterNode%20on%3A%20each%20classes%3A%20others%20level%3A%200%5D.%0A%09nodes%20%3A%3D%20nodes%20sorted%3A%20%5B%3Aa%20%3Ab%20%7C%20a%20theClass%20name%20%3C%3D%20b%20theClass%20name%20%5D.%0A%09expandedClasses%20%3A%3D%20Array%20new.%0A%09nodes%20do%3A%20%5B%3AaNode%20%7C%0A%09%09aNode%20traverseClassesWith%3A%20expandedClasses%5D.%0A%09%5EexpandedClasses'),
3300
+ messageSends: ["do:", "ifFalse:ifTrue:", "includes:", "superclass", "add:", "collect:", "on:classes:level:", "sorted:", unescape("%3C%3D"), "name", "theClass", "new", "traverseClassesWith:"],
3301
+ referencedClasses: ["ClassSorterNode", "Array"]
3302
+ }),
3303
+ smalltalk.Package.klass);
3304
+
3305
+
3306
+ smalltalk.addClass('Point', smalltalk.Object, ['x', 'y'], 'Kernel-Objects');
3307
+ smalltalk.Point.comment=unescape('A%20%60Point%60%20represents%20an%20x-y%20pair%20of%20numbers%20usually%20designating%20a%20geometric%20coordinate.%0APoints%20are%20traditionally%20created%20using%20the%20binary%20%60%23@%60%20message%20to%20a%20number%3A%0A%0A%09100@120%0A%0APoints%20can%20then%20be%20arithmetically%20manipulated%3A%0A%0A%09100@100%20+%20%2810@10%29%0A%0A...or%20for%20example%3A%0A%0A%09%28100@100%29%20*%202%0A%0A**NOTE%3A**%20Creating%20a%20Point%20with%20a%20negative%20y-value%20will%20need%20a%20space%20after%20%60@%60%20in%20order%20to%20avoid%20a%20parsing%20error%3A%0A%0A%09100@%20-100%20%22but%20100@-100%20would%20not%20parse%22%0A%0AAmber%20does%20not%20have%20much%20behavior%20in%20this%20class%20out-of-the-box.')
3308
+ smalltalk.addMethod(
3309
+ unescape('__star'),
3310
+ smalltalk.method({
3311
+ selector: unescape('*'),
3312
+ category: 'arithmetic',
3313
+ fn: function (aPoint){
3314
+ var self=this;
3315
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [((($receiver = smalltalk.send(self, "_x", [])).klass === smalltalk.Number) ? $receiver *smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", []) : smalltalk.send($receiver, "__star", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])])), ((($receiver = smalltalk.send(self, "_y", [])).klass === smalltalk.Number) ? $receiver *smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", []) : smalltalk.send($receiver, "__star", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])]))]);
3316
+ return self;},
3317
+ args: ["aPoint"],
3318
+ source: unescape('*%20aPoint%0A%09%5EPoint%20x%3A%20self%20x%20*%20aPoint%20asPoint%20x%20y%3A%20self%20y%20*%20aPoint%20asPoint%20y'),
3319
+ messageSends: ["x:y:", unescape("*"), "x", "asPoint", "y"],
3320
+ referencedClasses: ["Point"]
3321
+ }),
3322
+ smalltalk.Point);
3323
+
3324
+ smalltalk.addMethod(
3325
+ unescape('__plus'),
3326
+ smalltalk.method({
3327
+ selector: unescape('+'),
3328
+ category: 'arithmetic',
3329
+ fn: function (aPoint){
3330
+ var self=this;
3331
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [((($receiver = smalltalk.send(self, "_x", [])).klass === smalltalk.Number) ? $receiver +smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", []) : smalltalk.send($receiver, "__plus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])])), ((($receiver = smalltalk.send(self, "_y", [])).klass === smalltalk.Number) ? $receiver +smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", []) : smalltalk.send($receiver, "__plus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])]))]);
3332
+ return self;},
3333
+ args: ["aPoint"],
3334
+ source: unescape('+%20aPoint%0A%09%5EPoint%20x%3A%20self%20x%20+%20aPoint%20asPoint%20x%20y%3A%20self%20y%20+%20aPoint%20asPoint%20y'),
3335
+ messageSends: ["x:y:", unescape("+"), "x", "asPoint", "y"],
3336
+ referencedClasses: ["Point"]
3337
+ }),
3338
+ smalltalk.Point);
3339
+
3340
+ smalltalk.addMethod(
3341
+ unescape('__minus'),
3342
+ smalltalk.method({
3343
+ selector: unescape('-'),
3344
+ category: 'arithmetic',
3345
+ fn: function (aPoint){
3346
+ var self=this;
3347
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [((($receiver = smalltalk.send(self, "_x", [])).klass === smalltalk.Number) ? $receiver -smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", []) : smalltalk.send($receiver, "__minus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])])), ((($receiver = smalltalk.send(self, "_y", [])).klass === smalltalk.Number) ? $receiver -smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", []) : smalltalk.send($receiver, "__minus", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])]))]);
3348
+ return self;},
3349
+ args: ["aPoint"],
3350
+ source: unescape('-%20aPoint%0A%09%5EPoint%20x%3A%20self%20x%20-%20aPoint%20asPoint%20x%20y%3A%20self%20y%20-%20aPoint%20asPoint%20y'),
3351
+ messageSends: ["x:y:", unescape("-"), "x", "asPoint", "y"],
3352
+ referencedClasses: ["Point"]
3353
+ }),
3354
+ smalltalk.Point);
3355
+
3356
+ smalltalk.addMethod(
3357
+ unescape('__slash'),
3358
+ smalltalk.method({
3359
+ selector: unescape('/'),
3360
+ category: 'arithmetic',
3361
+ fn: function (aPoint){
3362
+ var self=this;
3363
+ return smalltalk.send((smalltalk.Point || Point), "_x_y_", [((($receiver = smalltalk.send(self, "_x", [])).klass === smalltalk.Number) ? $receiver /smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", []) : smalltalk.send($receiver, "__slash", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_x", [])])), ((($receiver = smalltalk.send(self, "_y", [])).klass === smalltalk.Number) ? $receiver /smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", []) : smalltalk.send($receiver, "__slash", [smalltalk.send(smalltalk.send(aPoint, "_asPoint", []), "_y", [])]))]);
3364
+ return self;},
3365
+ args: ["aPoint"],
3366
+ source: unescape('/%20aPoint%0A%09%5EPoint%20x%3A%20self%20x%20/%20aPoint%20asPoint%20x%20y%3A%20self%20y%20/%20aPoint%20asPoint%20y'),
3367
+ messageSends: ["x:y:", unescape("/"), "x", "asPoint", "y"],
3368
+ referencedClasses: ["Point"]
3369
+ }),
3370
+ smalltalk.Point);
3371
+
3372
+ smalltalk.addMethod(
3373
+ unescape('__eq'),
3374
+ smalltalk.method({
3375
+ selector: unescape('%3D'),
3376
+ category: 'arithmetic',
3377
+ fn: function (aPoint){
3378
+ var self=this;
3379
+ return smalltalk.send(smalltalk.send(smalltalk.send(aPoint, "_class", []), "__eq", [smalltalk.send(self, "_class", [])]), "_and_", [(function(){return smalltalk.send(smalltalk.send(smalltalk.send(aPoint, "_x", []), "__eq", [smalltalk.send(self, "_x", [])]), "_&", [smalltalk.send(smalltalk.send(aPoint, "_y", []), "__eq", [smalltalk.send(self, "_y", [])])]);})]);
3380
+ return self;},
3381
+ args: ["aPoint"],
3382
+ source: unescape('%3D%20aPoint%0A%09%5EaPoint%20class%20%3D%20self%20class%20and%3A%20%5B%0A%09%09%28aPoint%20x%20%3D%20self%20x%29%20%26%20%28aPoint%20y%20%3D%20self%20y%29%5D'),
3383
+ messageSends: ["and:", unescape("%3D"), "class", unescape("%26"), "x", "y"],
3384
+ referencedClasses: []
3385
+ }),
3386
+ smalltalk.Point);
3387
+
3388
+ smalltalk.addMethod(
3389
+ unescape('_asPoint'),
3390
+ smalltalk.method({
3391
+ selector: unescape('asPoint'),
3392
+ category: 'converting',
3393
+ fn: function (){
3394
+ var self=this;
3395
+ return self;
3396
+ return self;},
3397
+ args: [],
3398
+ source: unescape('asPoint%0A%09%5Eself'),
3399
+ messageSends: [],
3400
+ referencedClasses: []
3401
+ }),
3402
+ smalltalk.Point);
3403
+
3404
+ smalltalk.addMethod(
3405
+ unescape('_printString'),
3406
+ smalltalk.method({
3407
+ selector: unescape('printString'),
3408
+ category: 'printing',
3409
+ fn: function (){
3410
+ var self=this;
3411
+ return smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(stream){smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(smalltalk.send(self['@x'], "_printString", []), "__comma", [unescape("@")])]);((($receiver = smalltalk.send(smalltalk.send(self['@y'], "_notNil", []), "_and_", [(function(){return smalltalk.send(self['@y'], "_negative", []);})])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(stream, "_space", []);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(stream, "_space", []);})]));return smalltalk.send(stream, "_nextPutAll_", [smalltalk.send(self['@y'], "_printString", [])]);})]);
3412
+ return self;},
3413
+ args: [],
3414
+ source: unescape('printString%0A%09%22Print%20receiver%20in%20classic%20x@y%20notation.%22%0A%0A%09%5EString%20streamContents%3A%20%5B%3Astream%20%7C%0A%09%09stream%20nextPutAll%3A%20x%20printString%2C%20%27@%27.%0A%09%09%28y%20notNil%20and%3A%20%5By%20negative%5D%29%0A%09%09%09ifTrue%3A%20%5B%0A%09%09%09%09%22Avoid%20ambiguous%20@-%20construct%22%0A%09%09%09%09stream%20space%5D.%0A%09%09stream%20nextPutAll%3A%20y%20printString%5D'),
3415
+ messageSends: ["streamContents:", "nextPutAll:", unescape("%2C"), "printString", "ifTrue:", "and:", "notNil", "negative", "space"],
3416
+ referencedClasses: ["String"]
3417
+ }),
3418
+ smalltalk.Point);
3419
+
3420
+ smalltalk.addMethod(
3421
+ unescape('_translateBy_'),
3422
+ smalltalk.method({
3423
+ selector: unescape('translateBy%3A'),
3424
+ category: 'transforming',
3425
+ fn: function (delta){
3426
+ var self=this;
3427
+ return smalltalk.send(((($receiver = smalltalk.send(delta, "_x", [])).klass === smalltalk.Number) ? $receiver +self['@x'] : smalltalk.send($receiver, "__plus", [self['@x']])), "__at", [((($receiver = smalltalk.send(delta, "_y", [])).klass === smalltalk.Number) ? $receiver +self['@y'] : smalltalk.send($receiver, "__plus", [self['@y']]))]);
3428
+ return self;},
3429
+ args: ["delta"],
3430
+ source: unescape('translateBy%3A%20delta%20%0A%09%22Answer%20a%20Point%20translated%20by%20delta%20%28an%20instance%20of%20Point%29.%22%0A%09%5E%28delta%20x%20+%20x%29%20@%20%28delta%20y%20+%20y%29'),
3431
+ messageSends: [unescape("@"), unescape("+"), "x", "y"],
3432
+ referencedClasses: []
3433
+ }),
3434
+ smalltalk.Point);
3435
+
3436
+ smalltalk.addMethod(
3437
+ unescape('_x'),
3438
+ smalltalk.method({
3439
+ selector: unescape('x'),
3440
+ category: 'accessing',
3441
+ fn: function (){
3442
+ var self=this;
3443
+ return self['@x'];
3444
+ return self;},
3445
+ args: [],
3446
+ source: unescape('x%0A%09%5Ex'),
3447
+ messageSends: [],
3448
+ referencedClasses: []
3449
+ }),
3450
+ smalltalk.Point);
3451
+
3452
+ smalltalk.addMethod(
3453
+ unescape('_x_'),
3454
+ smalltalk.method({
3455
+ selector: unescape('x%3A'),
3456
+ category: 'accessing',
3457
+ fn: function (aNumber){
3458
+ var self=this;
3459
+ (self['@x']=aNumber);
3460
+ return self;},
3461
+ args: ["aNumber"],
3462
+ source: unescape('x%3A%20aNumber%0A%09x%20%3A%3D%20aNumber'),
3463
+ messageSends: [],
3464
+ referencedClasses: []
3465
+ }),
3466
+ smalltalk.Point);
3467
+
3468
+ smalltalk.addMethod(
3469
+ unescape('_y'),
3470
+ smalltalk.method({
3471
+ selector: unescape('y'),
3472
+ category: 'accessing',
3473
+ fn: function (){
3474
+ var self=this;
3475
+ return self['@y'];
3476
+ return self;},
3477
+ args: [],
3478
+ source: unescape('y%0A%09%5Ey'),
3479
+ messageSends: [],
3480
+ referencedClasses: []
3481
+ }),
3482
+ smalltalk.Point);
3483
+
3484
+ smalltalk.addMethod(
3485
+ unescape('_y_'),
3486
+ smalltalk.method({
3487
+ selector: unescape('y%3A'),
3488
+ category: 'accessing',
3489
+ fn: function (aNumber){
3490
+ var self=this;
3491
+ (self['@y']=aNumber);
3492
+ return self;},
3493
+ args: ["aNumber"],
3494
+ source: unescape('y%3A%20aNumber%0A%09y%20%3A%3D%20aNumber'),
3495
+ messageSends: [],
3496
+ referencedClasses: []
3497
+ }),
3498
+ smalltalk.Point);
3499
+
3500
+
3501
+ smalltalk.addMethod(
3502
+ unescape('_x_y_'),
3503
+ smalltalk.method({
3504
+ selector: unescape('x%3Ay%3A'),
3505
+ category: 'instance creation',
3506
+ fn: function (aNumber, anotherNumber){
3507
+ var self=this;
3508
+ return (function($rec){smalltalk.send($rec, "_x_", [aNumber]);smalltalk.send($rec, "_y_", [anotherNumber]);return smalltalk.send($rec, "_yourself", []);})(smalltalk.send(self, "_new", []));
3509
+ return self;},
3510
+ args: ["aNumber", "anotherNumber"],
3511
+ source: unescape('x%3A%20aNumber%20y%3A%20anotherNumber%0A%09%5Eself%20new%0A%09%09x%3A%20aNumber%3B%0A%09%09y%3A%20anotherNumber%3B%0A%09%09yourself'),
3512
+ messageSends: ["x:", "y:", "yourself", "new"],
3513
+ referencedClasses: []
3514
+ }),
3515
+ smalltalk.Point.klass);
3516
+
3517
+
3518
+ smalltalk.addClass('Random', smalltalk.Object, [], 'Kernel-Objects');
3519
+ smalltalk.Random.comment=unescape('%60Random%60%20is%20a%20random%20number%20generator%20and%20is%20implemented%20as%20a%20trivial%20wrapper%20around%20javascript%20%60Math.random%28%29%60%20and%20is%20used%20like%20this%3A%0A%0A%09Random%20new%20next%0A%0AThis%20will%20return%20a%20float%20x%20where%20x%20%3C%201%20and%20x%20%3E%200.%20If%20you%20want%20a%20random%20integer%20from%201%20to%2010%20you%20can%20use%20%60%23atRandom%60%0A%0A%0910%20atRandom%0A%0A...and%20if%20you%20want%20a%20random%20number%20in%20a%20specific%20interval%20this%20also%20works%3A%0A%0A%09%283%20to%3A%207%29%20atRandom%0A%0A...but%20be%20aware%20that%20%60%23to%3A%60%20does%20not%20create%20an%20Interval%20as%20in%20other%20Smalltalk%20implementations%20but%20in%20fact%20an%20%60Array%60%20of%20numbers%2C%20so%20it%27s%20better%20to%20use%3A%0A%0A%095%20atRandom%20+%202%0A%0ASince%20%60%23atRandom%60%20is%20implemented%20in%20%60SequencableCollection%60%20you%20can%20easy%20pick%20an%20element%20at%20random%3A%0A%0A%09%23%28%27a%27%20%27b%27%20%27c%27%29%20atRandom%0A%0A...or%20perhaps%20a%20letter%20from%20a%20%60String%60%3A%0A%0A%09%27abc%27%20atRandom%0A%0ASince%20Amber%20does%20not%20have%20Characters%20this%20will%20return%20a%20%60String%60%20of%20length%201%20like%20for%20example%20%60%27b%27%60.')
3520
+ smalltalk.addMethod(
3521
+ unescape('_next'),
3522
+ smalltalk.method({
3523
+ selector: unescape('next'),
3524
+ category: 'accessing',
3525
+ fn: function (){
3526
+ var self=this;
3527
+ return Math.random();
3528
+ return self;},
3529
+ args: [],
3530
+ source: unescape('next%0A%09%3Creturn%20Math.random%28%29%3E'),
3531
+ messageSends: [],
3532
+ referencedClasses: []
3533
+ }),
3534
+ smalltalk.Random);
3535
+
3536
+ smalltalk.addMethod(
3537
+ unescape('_next_'),
3538
+ smalltalk.method({
3539
+ selector: unescape('next%3A'),
3540
+ category: 'accessing',
3541
+ fn: function (anInteger){
3542
+ var self=this;
3543
+ return smalltalk.send(smalltalk.send((1), "_to_", [anInteger]), "_collect_", [(function(each){return smalltalk.send(self, "_next", []);})]);
3544
+ return self;},
3545
+ args: ["anInteger"],
3546
+ source: unescape('next%3A%20anInteger%0A%20%20%20%20%5E%281%20to%3A%20anInteger%29%20collect%3A%20%5B%3Aeach%20%7C%20self%20next%5D'),
3547
+ messageSends: ["collect:", "to:", "next"],
3548
+ referencedClasses: []
3549
+ }),
3550
+ smalltalk.Random);
3551
+
3552
+
3553
+
3554
+ smalltalk.addClass('Smalltalk', smalltalk.Object, [], 'Kernel-Objects');
3555
+ smalltalk.Smalltalk.comment=unescape('Smalltalk%20has%20only%20one%20instance%2C%20accessed%20with%20%60Smalltalk%20current%60.%20%0AIt%20represents%20the%20global%20JavaScript%20variable%20%60smalltalk%60%20declared%20in%20%60js/boot.js%60.%0A%0AThe%20%60smalltalk%60%20object%20holds%20all%20class%20and%20packages%20defined%20in%20the%20system.%0A%0A%23%23%20Classes%0A%0AClasses%20can%20be%20accessed%20using%20the%20following%20methods%3A%0A%0A-%20%60%23classes%60%20answers%20the%20full%20list%20of%20Smalltalk%20classes%20in%20the%20system%0A-%20%60%23at%3A%60%20answers%20a%20specific%20class%20of%20%60nil%60%0A%0A%23%23%20Packages%0A%0APackages%20can%20be%20accessed%20using%20the%20following%20methods%3A%0A%0A-%20%60%23packages%60%20answers%20the%20full%20list%20of%20packages%0A-%20%60%23packageAt%3A%60%20answers%20a%20specific%20class%20of%20%60nil%60%0A%0A__note%3A__%20classes%20and%20packages%20are%20accessed%20using%20strings%2C%20not%20symbols%0A%0A%23%23%20Parsing%0A%0AThe%20%60%23parse%3A%60%20method%20is%20used%20to%20parse%20Smalltalk%20source%20code.%20%0AIt%20requires%20the%20%60Compiler%60%20package%20and%20the%20%60js/parser.js%60%20parser%20file%20in%20order%20to%20work')
3556
+ smalltalk.addMethod(
3557
+ unescape('_at_'),
3558
+ smalltalk.method({
3559
+ selector: unescape('at%3A'),
3560
+ category: 'accessing',
3561
+ fn: function (aString){
3562
+ var self=this;
3563
+ return self[aString];
3564
+ return self;},
3565
+ args: ["aString"],
3566
+ source: unescape('at%3A%20aString%0A%09%3Creturn%20self%5BaString%5D%3E'),
3567
+ messageSends: [],
3568
+ referencedClasses: []
3569
+ }),
3570
+ smalltalk.Smalltalk);
3571
+
3572
+ smalltalk.addMethod(
3573
+ unescape('_basicParse_'),
3574
+ smalltalk.method({
3575
+ selector: unescape('basicParse%3A'),
3576
+ category: 'accessing',
3577
+ fn: function (aString){
3578
+ var self=this;
3579
+ return smalltalk.parser.parse(aString);
3580
+ return self;},
3581
+ args: ["aString"],
3582
+ source: unescape('basicParse%3A%20aString%0A%09%3Creturn%20smalltalk.parser.parse%28aString%29%3E'),
3583
+ messageSends: [],
3584
+ referencedClasses: []
3585
+ }),
3586
+ smalltalk.Smalltalk);
3587
+
3588
+ smalltalk.addMethod(
3589
+ unescape('_classes'),
3590
+ smalltalk.method({
3591
+ selector: unescape('classes'),
3592
+ category: 'accessing',
3593
+ fn: function (){
3594
+ var self=this;
3595
+ return self.classes();
3596
+ return self;},
3597
+ args: [],
3598
+ source: unescape('classes%0A%09%3Creturn%20self.classes%28%29%3E'),
3599
+ messageSends: [],
3600
+ referencedClasses: []
3601
+ }),
3602
+ smalltalk.Smalltalk);
3603
+
3604
+ smalltalk.addMethod(
3605
+ unescape('_createPackage_'),
3606
+ smalltalk.method({
3607
+ selector: unescape('createPackage%3A'),
3608
+ category: 'private',
3609
+ fn: function (packageName){
3610
+ var self=this;
3611
+ return smalltalk.addPackage(packageName, nil);
3612
+ return self;},
3613
+ args: ["packageName"],
3614
+ source: unescape('createPackage%3A%20packageName%0A%09%22Create%20and%20bind%20a%20new%20package%20with%20given%20name%20and%20return%20it.%22%0A%0A%20%20%20%20%20%20%3Creturn%20smalltalk.addPackage%28packageName%2C%20nil%29%3E'),
3615
+ messageSends: [],
3616
+ referencedClasses: []
3617
+ }),
3618
+ smalltalk.Smalltalk);
3619
+
3620
+ smalltalk.addMethod(
3621
+ unescape('_createPackage_properties_'),
3622
+ smalltalk.method({
3623
+ selector: unescape('createPackage%3Aproperties%3A'),
3624
+ category: 'private',
3625
+ fn: function (packageName, aDict){
3626
+ var self=this;
3627
+ var object=nil;
3628
+ object = {};;
3629
+ smalltalk.send(aDict, "_keysAndValuesDo_", [(function(key, value){return object[key] = value;})]);
3630
+ return smalltalk.addPackage(packageName, object);
3631
+ return self;},
3632
+ args: ["packageName", "aDict"],
3633
+ source: unescape('createPackage%3A%20packageName%20properties%3A%20aDict%0A%09%22Create%20and%20bind%20a%20new%20package%20with%20given%20name%20and%20return%20it.%22%0A%0A%09%7C%20object%20%7C%0A%09%3Cobject%20%3D%20%7B%7D%3B%3E.%0A%09aDict%20keysAndValuesDo%3A%20%5B%3Akey%20%3Avalue%20%7C%0A%09%09%3Cobject%5Bkey%5D%20%3D%20value%3E.%0A%09%5D.%0A%20%20%20%20%20%20%20%3Creturn%20smalltalk.addPackage%28packageName%2C%20object%29%3E'),
3634
+ messageSends: ["keysAndValuesDo:"],
3635
+ referencedClasses: []
3636
+ }),
3637
+ smalltalk.Smalltalk);
3638
+
3639
+ smalltalk.addMethod(
3640
+ unescape('_deletePackage_'),
3641
+ smalltalk.method({
3642
+ selector: unescape('deletePackage%3A'),
3643
+ category: 'private',
3644
+ fn: function (packageName){
3645
+ var self=this;
3646
+ delete smalltalk.packages[packageName];
3647
+ return self;},
3648
+ args: ["packageName"],
3649
+ source: unescape('deletePackage%3A%20packageName%0A%09%22Deletes%20a%20package%20by%20deleting%20its%20binding%2C%20but%20does%20not%20check%20if%20it%20contains%20classes%20etc.%0A%09To%20remove%20a%20package%2C%20use%20%23removePackage%20instead.%22%0A%0A%20%20%20%20%20%20%20%3Cdelete%20smalltalk.packages%5BpackageName%5D%3E'),
3650
+ messageSends: [],
3651
+ referencedClasses: []
3652
+ }),
3653
+ smalltalk.Smalltalk);
3654
+
3655
+ smalltalk.addMethod(
3656
+ unescape('_packageAt_'),
3657
+ smalltalk.method({
3658
+ selector: unescape('packageAt%3A'),
3659
+ category: 'packages',
3660
+ fn: function (packageName){
3661
+ var self=this;
3662
+ return self.packages[packageName];
3663
+ return self;},
3664
+ args: ["packageName"],
3665
+ source: unescape('packageAt%3A%20packageName%0A%20%20%20%20%20%20%20%3Creturn%20self.packages%5BpackageName%5D%3E'),
3666
+ messageSends: [],
3667
+ referencedClasses: []
3668
+ }),
3669
+ smalltalk.Smalltalk);
3670
+
3671
+ smalltalk.addMethod(
3672
+ unescape('_packageAt_ifAbsent_'),
3673
+ smalltalk.method({
3674
+ selector: unescape('packageAt%3AifAbsent%3A'),
3675
+ category: 'packages',
3676
+ fn: function (packageName, aBlock){
3677
+ var self=this;
3678
+ return smalltalk.send(smalltalk.send(self, "_packageAt_", [packageName]), "_ifNil_", [aBlock]);
3679
+ return self;},
3680
+ args: ["packageName", "aBlock"],
3681
+ source: unescape('packageAt%3A%20packageName%20ifAbsent%3A%20aBlock%0A%20%20%20%20%20%20%20%5E%28self%20packageAt%3A%20packageName%29%20ifNil%3A%20aBlock'),
3682
+ messageSends: ["ifNil:", "packageAt:"],
3683
+ referencedClasses: []
3684
+ }),
3685
+ smalltalk.Smalltalk);
3686
+
3687
+ smalltalk.addMethod(
3688
+ unescape('_packages'),
3689
+ smalltalk.method({
3690
+ selector: unescape('packages'),
3691
+ category: 'packages',
3692
+ fn: function (){
3693
+ var self=this;
3694
+ return self.packages.all();
3695
+ return self;},
3696
+ args: [],
3697
+ source: unescape('packages%0A%09%22Return%20all%20Package%20instances%20in%20the%20system.%22%0A%0A%09%3Creturn%20self.packages.all%28%29%3E'),
3698
+ messageSends: [],
3699
+ referencedClasses: []
3700
+ }),
3701
+ smalltalk.Smalltalk);
3702
+
3703
+ smalltalk.addMethod(
3704
+ unescape('_parse_'),
3705
+ smalltalk.method({
3706
+ selector: unescape('parse%3A'),
3707
+ category: 'accessing',
3708
+ fn: function (aString){
3709
+ var self=this;
3710
+ var result=nil;
3711
+ smalltalk.send(self, "_try_catch_", [(function(){return (result=smalltalk.send(self, "_basicParse_", [aString]));}), (function(ex){return smalltalk.send(smalltalk.send(self, "_parseError_parsing_", [ex, aString]), "_signal", []);})]);
3712
+ return result;
3713
+ return self;},
3714
+ args: ["aString"],
3715
+ source: unescape('parse%3A%20aString%0A%09%7C%20result%20%7C%20%0A%09self%20try%3A%20%5Bresult%20%3A%3D%20self%20basicParse%3A%20aString%5D%20catch%3A%20%5B%3Aex%20%7C%20%28self%20parseError%3A%20ex%20parsing%3A%20aString%29%20signal%5D.%0A%09%5Eresult'),
3716
+ messageSends: ["try:catch:", "basicParse:", "signal", "parseError:parsing:"],
3717
+ referencedClasses: []
3718
+ }),
3719
+ smalltalk.Smalltalk);
3720
+
3721
+ smalltalk.addMethod(
3722
+ unescape('_parseError_parsing_'),
3723
+ smalltalk.method({
3724
+ selector: unescape('parseError%3Aparsing%3A'),
3725
+ category: 'accessing',
3726
+ fn: function (anException, aString){
3727
+ var self=this;
3728
+ var row=nil;
3729
+ var col=nil;
3730
+ var message=nil;
3731
+ var lines=nil;
3732
+ var badLine=nil;
3733
+ var code=nil;
3734
+ row = anException.line;
3735
+ col = anException.column;
3736
+ message = anException.message;;
3737
+ (lines=smalltalk.send(aString, "_lines", []));
3738
+ (badLine=smalltalk.send(lines, "_at_", [row]));
3739
+ (badLine=smalltalk.send(smalltalk.send(smalltalk.send(badLine, "_copyFrom_to_", [(1), ((($receiver = col).klass === smalltalk.Number) ? $receiver -(1) : smalltalk.send($receiver, "__minus", [(1)]))]), "__comma", [unescape("%20%3D%3D%3D%3E")]), "__comma", [smalltalk.send(badLine, "_copyFrom_to_", [col, smalltalk.send(badLine, "_size", [])])]));
3740
+ smalltalk.send(lines, "_at_put_", [row, badLine]);
3741
+ (code=smalltalk.send((smalltalk.String || String), "_streamContents_", [(function(s){return smalltalk.send(lines, "_withIndexDo_", [(function(l, i){return smalltalk.send(s, "_nextPutAll_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(i, "_asString", []), "__comma", [": "]), "__comma", [l]), "__comma", [smalltalk.send((smalltalk.String || String), "_lf", [])])]);})]);})]));
3742
+ return smalltalk.send(smalltalk.send((smalltalk.Error || Error), "_new", []), "_messageText_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send("Parse error on line ", "__comma", [row]), "__comma", [" column "]), "__comma", [col]), "__comma", [" : "]), "__comma", [message]), "__comma", [unescape("%20Below%20is%20code%20with%20line%20numbers%20and%20%3D%3D%3D%3E%20marker%20inserted%3A")]), "__comma", [smalltalk.send((smalltalk.String || String), "_lf", [])]), "__comma", [code])]);
3743
+ return self;},
3744
+ args: ["anException", "aString"],
3745
+ source: unescape('parseError%3A%20anException%20parsing%3A%20aString%0A%09%7C%20row%20col%20message%20lines%20badLine%20code%20%7C%0A%09%3Crow%20%3D%20anException.line%3B%0A%09col%20%3D%20anException.column%3B%0A%09message%20%3D%20anException.message%3B%3E.%0A%09lines%20%3A%3D%20aString%20lines.%0A%09badLine%20%3A%3D%20lines%20at%3A%20row.%0A%09badLine%20%3A%3D%20%28badLine%20copyFrom%3A%201%20to%3A%20col%20-%201%29%2C%20%27%20%3D%3D%3D%3E%27%2C%20%28badLine%20copyFrom%3A%20%20col%20to%3A%20badLine%20size%29.%0A%09lines%20at%3A%20row%20put%3A%20badLine.%0A%09code%20%3A%3D%20String%20streamContents%3A%20%5B%3As%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20lines%20withIndexDo%3A%20%5B%3Al%20%3Ai%20%7C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20s%20nextPutAll%3A%20i%20asString%2C%20%27%3A%20%27%2C%20l%2C%20String%20lf%5D%5D.%0A%09%5E%20Error%20new%20messageText%3A%20%28%27Parse%20error%20on%20line%20%27%20%2C%20row%20%2C%20%27%20column%20%27%20%2C%20col%20%2C%20%27%20%3A%20%27%20%2C%20message%20%2C%20%27%20Below%20is%20code%20with%20line%20numbers%20and%20%3D%3D%3D%3E%20marker%20inserted%3A%27%20%2C%20String%20lf%2C%20code%29'),
3746
+ messageSends: ["lines", "at:", unescape("%2C"), "copyFrom:to:", unescape("-"), "size", "at:put:", "streamContents:", "withIndexDo:", "nextPutAll:", "asString", "lf", "messageText:", "new"],
3747
+ referencedClasses: ["String", "Error"]
3748
+ }),
3749
+ smalltalk.Smalltalk);
3750
+
3751
+ smalltalk.addMethod(
3752
+ unescape('_readJSObject_'),
3753
+ smalltalk.method({
3754
+ selector: unescape('readJSObject%3A'),
3755
+ category: 'accessing',
3756
+ fn: function (anObject){
3757
+ var self=this;
3758
+ return self.readJSObject(anObject);
3759
+ return self;},
3760
+ args: ["anObject"],
3761
+ source: unescape('readJSObject%3A%20anObject%0A%09%3Creturn%20self.readJSObject%28anObject%29%3E'),
3762
+ messageSends: [],
3763
+ referencedClasses: []
3764
+ }),
3765
+ smalltalk.Smalltalk);
3766
+
3767
+ smalltalk.addMethod(
3768
+ unescape('_removeClass_'),
3769
+ smalltalk.method({
3770
+ selector: unescape('removeClass%3A'),
3771
+ category: 'classes',
3772
+ fn: function (aClass){
3773
+ var self=this;
3774
+ ((($receiver = smalltalk.send(aClass, "_isMetaclass", [])).klass === smalltalk.Boolean) ? ($receiver ? (function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_asString", []), "__comma", [unescape("%20is%20a%20Metaclass%20and%20cannot%20be%20removed%21")])]);})() : nil) : smalltalk.send($receiver, "_ifTrue_", [(function(){return smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_asString", []), "__comma", [unescape("%20is%20a%20Metaclass%20and%20cannot%20be%20removed%21")])]);})]));
3775
+ smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_do_", [(function(each){return smalltalk.send(aClass, "_removeCompiledMethod_", [each]);})]);
3776
+ smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_methodDictionary", []), "_values", []), "_do_", [(function(each){return smalltalk.send(smalltalk.send(aClass, "_class", []), "_removeCompiledMethod_", [each]);})]);
3777
+ smalltalk.send(self, "_basicDelete_", [smalltalk.send(aClass, "_name", [])]);
3778
+ return self;},
3779
+ args: ["aClass"],
3780
+ source: unescape('removeClass%3A%20aClass%0A%09aClass%20isMetaclass%20ifTrue%3A%20%5Bself%20error%3A%20aClass%20asString%2C%20%27%20is%20a%20Metaclass%20and%20cannot%20be%20removed%21%27%5D.%0A%09aClass%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09aClass%20removeCompiledMethod%3A%20each%5D.%0A%09aClass%20class%20methodDictionary%20values%20do%3A%20%5B%3Aeach%20%7C%0A%09%09aClass%20class%20removeCompiledMethod%3A%20each%5D.%0A%09self%20basicDelete%3A%20aClass%20name'),
3781
+ messageSends: ["ifTrue:", "isMetaclass", "error:", unescape("%2C"), "asString", "do:", "values", "methodDictionary", "removeCompiledMethod:", "class", "basicDelete:", "name"],
3782
+ referencedClasses: []
3783
+ }),
3784
+ smalltalk.Smalltalk);
3785
+
3786
+ smalltalk.addMethod(
3787
+ unescape('_removePackage_'),
3788
+ smalltalk.method({
3789
+ selector: unescape('removePackage%3A'),
3790
+ category: 'packages',
3791
+ fn: function (packageName){
3792
+ var self=this;
3793
+ var pkg=nil;
3794
+ (pkg=smalltalk.send(self, "_packageAt_ifAbsent_", [packageName, (function(){return smalltalk.send(self, "_error_", [smalltalk.send("Missing package: ", "__comma", [packageName])]);})]));
3795
+ smalltalk.send(smalltalk.send(pkg, "_classes", []), "_do_", [(function(each){return smalltalk.send(self, "_removeClass_", [each]);})]);
3796
+ smalltalk.send(self, "_deletePackage_", [packageName]);
3797
+ return self;},
3798
+ args: ["packageName"],
3799
+ source: unescape('removePackage%3A%20packageName%0A%09%22Removes%20a%20package%20and%20all%20its%20classes.%22%0A%0A%09%7C%20pkg%20%7C%0A%09pkg%20%3A%3D%20self%20packageAt%3A%20packageName%20ifAbsent%3A%20%5Bself%20error%3A%20%27Missing%20package%3A%20%27%2C%20packageName%5D.%0A%09pkg%20classes%20do%3A%20%5B%3Aeach%20%7C%0A%20%20%20%20%20%20%20%20%09self%20removeClass%3A%20each%5D.%0A%09self%20deletePackage%3A%20packageName'),
3800
+ messageSends: ["packageAt:ifAbsent:", "error:", unescape("%2C"), "do:", "classes", "removeClass:", "deletePackage:"],
3801
+ referencedClasses: []
3802
+ }),
3803
+ smalltalk.Smalltalk);
3804
+
3805
+ smalltalk.addMethod(
3806
+ unescape('_renamePackage_to_'),
3807
+ smalltalk.method({
3808
+ selector: unescape('renamePackage%3Ato%3A'),
3809
+ category: 'packages',
3810
+ fn: function (packageName, newName){
3811
+ var self=this;
3812
+ var pkg=nil;
3813
+ (pkg=smalltalk.send(self, "_packageAt_ifAbsent_", [packageName, (function(){return smalltalk.send(self, "_error_", [smalltalk.send("Missing package: ", "__comma", [packageName])]);})]));
3814
+ (($receiver = smalltalk.send(self, "_packageAt_", [newName])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_error_", [smalltalk.send("Already exists a package called: ", "__comma", [newName])]);})() : nil;
3815
+ smalltalk.packages[newName] = smalltalk.packages[packageName];
3816
+ smalltalk.send(pkg, "_name_", [newName]);
3817
+ smalltalk.send(self, "_deletePackage_", [packageName]);
3818
+ return self;},
3819
+ args: ["packageName", "newName"],
3820
+ source: unescape('renamePackage%3A%20packageName%20to%3A%20newName%0A%09%22Rename%20a%20package.%22%0A%0A%09%7C%20pkg%20%7C%0A%09pkg%20%3A%3D%20self%20packageAt%3A%20packageName%20ifAbsent%3A%20%5Bself%20error%3A%20%27Missing%20package%3A%20%27%2C%20packageName%5D.%0A%09%28self%20packageAt%3A%20newName%29%20ifNotNil%3A%20%5Bself%20error%3A%20%27Already%20exists%20a%20package%20called%3A%20%27%2C%20newName%5D.%0A%09%3Csmalltalk.packages%5BnewName%5D%20%3D%20smalltalk.packages%5BpackageName%5D%3E.%0A%09pkg%20name%3A%20newName.%0A%09self%20deletePackage%3A%20packageName.'),
3821
+ messageSends: ["packageAt:ifAbsent:", "error:", unescape("%2C"), "ifNotNil:", "packageAt:", "name:", "deletePackage:"],
3822
+ referencedClasses: []
3823
+ }),
3824
+ smalltalk.Smalltalk);
3825
+
3826
+ smalltalk.addMethod(
3827
+ unescape('_reservedWords'),
3828
+ smalltalk.method({
3829
+ selector: unescape('reservedWords'),
3830
+ category: 'accessing',
3831
+ fn: function (){
3832
+ var self=this;
3833
+ return self.reservedWords;
3834
+ return self;},
3835
+ args: [],
3836
+ source: unescape('reservedWords%0A%09%22JavaScript%20reserved%20words%22%0A%09%3Creturn%20self.reservedWords%3E'),
3837
+ messageSends: [],
3838
+ referencedClasses: []
3839
+ }),
3840
+ smalltalk.Smalltalk);
3841
+
3842
+ smalltalk.addMethod(
3843
+ unescape('_send_to_arguments_'),
3844
+ smalltalk.method({
3845
+ selector: unescape('send%3Ato%3Aarguments%3A'),
3846
+ category: 'accessing',
3847
+ fn: function (aSelector, anObject, aCollection){
3848
+ var self=this;
3849
+ var selector=nil;
3850
+ (selector=smalltalk.send(smalltalk.send(aSelector, "_asString", []), "_asSelector", []));
3851
+ self.send(anObject, selector, aCollection);
3852
+ return self;},
3853
+ args: ["aSelector", "anObject", "aCollection"],
3854
+ source: unescape('send%3A%20aSelector%20to%3A%20anObject%20arguments%3A%20aCollection%0A%09%7C%20selector%20%7C%0A%09selector%20%3A%3D%20aSelector%20asString%20asSelector.%0A%09%3Cself.send%28anObject%2C%20selector%2C%20aCollection%29%3E'),
3855
+ messageSends: ["asSelector", "asString"],
3856
+ referencedClasses: []
3857
+ }),
3858
+ smalltalk.Smalltalk);
3859
+
3860
+
3861
+ smalltalk.Smalltalk.klass.iVarNames = ['current'];
3862
+ smalltalk.addMethod(
3863
+ unescape('_current'),
3864
+ smalltalk.method({
3865
+ selector: unescape('current'),
3866
+ category: 'accessing',
3867
+ fn: function (){
3868
+ var self=this;
3869
+ return smalltalk;
3870
+ return self;},
3871
+ args: [],
3872
+ source: unescape('current%0A%09%3Creturn%20smalltalk%3E'),
3873
+ messageSends: [],
3874
+ referencedClasses: []
3875
+ }),
3876
+ smalltalk.Smalltalk.klass);
3877
+
3878
+
3879
+ smalltalk.addClass('UndefinedObject', smalltalk.Object, [], 'Kernel-Objects');
3880
+ smalltalk.UndefinedObject.comment=unescape('UndefinedObject%20describes%20the%20behavior%20of%20its%20sole%20instance%2C%20%60nil%60.%20%60nil%60%20represents%20a%20prior%20value%20for%20variables%20that%20have%20not%20been%20initialized%2C%20or%20for%20results%20which%20are%20meaningless.%0A%0A%60nil%60%20is%20the%20Smalltalk%20representation%20of%20the%20%60undefined%60%20JavaScript%20object.')
3881
+ smalltalk.addMethod(
3882
+ unescape('_asJSON'),
3883
+ smalltalk.method({
3884
+ selector: unescape('asJSON'),
3885
+ category: 'converting',
3886
+ fn: function (){
3887
+ var self=this;
3888
+ return (typeof null == 'undefined' ? nil : null);
3889
+ return self;},
3890
+ args: [],
3891
+ source: unescape('asJSON%0A%09%5Enull'),
3892
+ messageSends: [],
3893
+ referencedClasses: []
3894
+ }),
3895
+ smalltalk.UndefinedObject);
3896
+
3897
+ smalltalk.addMethod(
3898
+ unescape('_deepCopy'),
3899
+ smalltalk.method({
3900
+ selector: unescape('deepCopy'),
3901
+ category: 'copying',
3902
+ fn: function (){
3903
+ var self=this;
3904
+ return self;
3905
+ return self;},
3906
+ args: [],
3907
+ source: unescape('deepCopy%0A%09%5Eself'),
3908
+ messageSends: [],
3909
+ referencedClasses: []
3910
+ }),
3911
+ smalltalk.UndefinedObject);
3912
+
3913
+ smalltalk.addMethod(
3914
+ unescape('_ifNil_'),
3915
+ smalltalk.method({
3916
+ selector: unescape('ifNil%3A'),
3917
+ category: 'testing',
3918
+ fn: function (aBlock){
3919
+ var self=this;
3920
+ return smalltalk.send(self, "_ifNil_ifNotNil_", [aBlock, (function(){return nil;})]);
3921
+ return self;},
3922
+ args: ["aBlock"],
3923
+ source: unescape('ifNil%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself%20ifNil%3A%20aBlock%20ifNotNil%3A%20%5B%5D'),
3924
+ messageSends: ["ifNil:ifNotNil:"],
3925
+ referencedClasses: []
3926
+ }),
3927
+ smalltalk.UndefinedObject);
3928
+
3929
+ smalltalk.addMethod(
3930
+ unescape('_ifNil_ifNotNil_'),
3931
+ smalltalk.method({
3932
+ selector: unescape('ifNil%3AifNotNil%3A'),
3933
+ category: 'testing',
3934
+ fn: function (aBlock, anotherBlock){
3935
+ var self=this;
3936
+ return smalltalk.send(aBlock, "_value", []);
3937
+ return self;},
3938
+ args: ["aBlock", "anotherBlock"],
3939
+ source: unescape('ifNil%3A%20aBlock%20ifNotNil%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5EaBlock%20value'),
3940
+ messageSends: ["value"],
3941
+ referencedClasses: []
3942
+ }),
3943
+ smalltalk.UndefinedObject);
3944
+
3945
+ smalltalk.addMethod(
3946
+ unescape('_ifNotNil_'),
3947
+ smalltalk.method({
3948
+ selector: unescape('ifNotNil%3A'),
3949
+ category: 'testing',
3950
+ fn: function (aBlock){
3951
+ var self=this;
3952
+ return self;
3953
+ return self;},
3954
+ args: ["aBlock"],
3955
+ source: unescape('ifNotNil%3A%20aBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5Eself'),
3956
+ messageSends: [],
3957
+ referencedClasses: []
3958
+ }),
3959
+ smalltalk.UndefinedObject);
3960
+
3961
+ smalltalk.addMethod(
3962
+ unescape('_ifNotNil_ifNil_'),
3963
+ smalltalk.method({
3964
+ selector: unescape('ifNotNil%3AifNil%3A'),
3965
+ category: 'testing',
3966
+ fn: function (aBlock, anotherBlock){
3967
+ var self=this;
3968
+ return smalltalk.send(anotherBlock, "_value", []);
3969
+ return self;},
3970
+ args: ["aBlock", "anotherBlock"],
3971
+ source: unescape('ifNotNil%3A%20aBlock%20ifNil%3A%20anotherBlock%0A%09%22inlined%20in%20the%20Compiler%22%0A%09%5EanotherBlock%20value'),
3972
+ messageSends: ["value"],
3973
+ referencedClasses: []
3974
+ }),
3975
+ smalltalk.UndefinedObject);
3976
+
3977
+ smalltalk.addMethod(
3978
+ unescape('_isNil'),
3979
+ smalltalk.method({
3980
+ selector: unescape('isNil'),
3981
+ category: 'testing',
3982
+ fn: function (){
3983
+ var self=this;
3984
+ return true;
3985
+ return self;},
3986
+ args: [],
3987
+ source: unescape('isNil%0A%09%5Etrue'),
3988
+ messageSends: [],
3989
+ referencedClasses: []
3990
+ }),
3991
+ smalltalk.UndefinedObject);
3992
+
3993
+ smalltalk.addMethod(
3994
+ unescape('_notNil'),
3995
+ smalltalk.method({
3996
+ selector: unescape('notNil'),
3997
+ category: 'testing',
3998
+ fn: function (){
3999
+ var self=this;
4000
+ return false;
4001
+ return self;},
4002
+ args: [],
4003
+ source: unescape('notNil%0A%09%5Efalse'),
4004
+ messageSends: [],
4005
+ referencedClasses: []
4006
+ }),
4007
+ smalltalk.UndefinedObject);
4008
+
4009
+ smalltalk.addMethod(
4010
+ unescape('_printString'),
4011
+ smalltalk.method({
4012
+ selector: unescape('printString'),
4013
+ category: 'printing',
4014
+ fn: function (){
4015
+ var self=this;
4016
+ return "nil";
4017
+ return self;},
4018
+ args: [],
4019
+ source: unescape('printString%0A%20%20%20%20%5E%27nil%27'),
4020
+ messageSends: [],
4021
+ referencedClasses: []
4022
+ }),
4023
+ smalltalk.UndefinedObject);
4024
+
4025
+ smalltalk.addMethod(
4026
+ unescape('_shallowCopy'),
4027
+ smalltalk.method({
4028
+ selector: unescape('shallowCopy'),
4029
+ category: 'copying',
4030
+ fn: function (){
4031
+ var self=this;
4032
+ return self;
4033
+ return self;},
4034
+ args: [],
4035
+ source: unescape('shallowCopy%0A%09%5Eself'),
4036
+ messageSends: [],
4037
+ referencedClasses: []
4038
+ }),
4039
+ smalltalk.UndefinedObject);
4040
+
4041
+ smalltalk.addMethod(
4042
+ unescape('_subclass_instanceVariableNames_'),
4043
+ smalltalk.method({
4044
+ selector: unescape('subclass%3AinstanceVariableNames%3A'),
4045
+ category: 'class creation',
4046
+ fn: function (aString, anotherString){
4047
+ var self=this;
4048
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, anotherString, nil]);
4049
+ return self;},
4050
+ args: ["aString", "anotherString"],
4051
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20anotherString%20package%3A%20nil'),
4052
+ messageSends: ["subclass:instanceVariableNames:package:"],
4053
+ referencedClasses: []
4054
+ }),
4055
+ smalltalk.UndefinedObject);
4056
+
4057
+ smalltalk.addMethod(
4058
+ unescape('_subclass_instanceVariableNames_category_'),
4059
+ smalltalk.method({
4060
+ selector: unescape('subclass%3AinstanceVariableNames%3Acategory%3A'),
4061
+ category: 'class creation',
4062
+ fn: function (aString, aString2, aString3){
4063
+ var self=this;
4064
+ smalltalk.send(self, "_deprecatedAPI", []);
4065
+ return smalltalk.send(self, "_subclass_instanceVariableNames_package_", [aString, aString2, aString3]);
4066
+ return self;},
4067
+ args: ["aString", "aString2", "aString3"],
4068
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20category%3A%20aString3%0A%09%22Kept%20for%20compatibility.%22%0A%09self%20deprecatedAPI.%0A%09%5Eself%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
4069
+ messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"],
4070
+ referencedClasses: []
4071
+ }),
4072
+ smalltalk.UndefinedObject);
4073
+
4074
+ smalltalk.addMethod(
4075
+ unescape('_subclass_instanceVariableNames_package_'),
4076
+ smalltalk.method({
4077
+ selector: unescape('subclass%3AinstanceVariableNames%3Apackage%3A'),
4078
+ category: 'class creation',
4079
+ fn: function (aString, aString2, aString3){
4080
+ var self=this;
4081
+ return smalltalk.send(smalltalk.send((smalltalk.ClassBuilder || ClassBuilder), "_new", []), "_superclass_subclass_instanceVariableNames_package_", [self, aString, aString2, aString3]);
4082
+ return self;},
4083
+ args: ["aString", "aString2", "aString3"],
4084
+ source: unescape('subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3%0A%09%5EClassBuilder%20new%0A%09%20%20%20%20superclass%3A%20self%20subclass%3A%20aString%20instanceVariableNames%3A%20aString2%20package%3A%20aString3'),
4085
+ messageSends: ["superclass:subclass:instanceVariableNames:package:", "new"],
4086
+ referencedClasses: ["ClassBuilder"]
4087
+ }),
4088
+ smalltalk.UndefinedObject);
4089
+
4090
+
4091
+ smalltalk.addMethod(
4092
+ unescape('_new'),
4093
+ smalltalk.method({
4094
+ selector: unescape('new'),
4095
+ category: 'instance creation',
4096
+ fn: function (){
4097
+ var self=this;
4098
+ smalltalk.send(self, "_error_", ["You cannot create new instances of UndefinedObject. Use nil"]);
4099
+ return self;},
4100
+ args: [],
4101
+ source: unescape('new%0A%09%20%20%20%20self%20error%3A%20%27You%20cannot%20create%20new%20instances%20of%20UndefinedObject.%20Use%20nil%27'),
4102
+ messageSends: ["error:"],
4103
+ referencedClasses: []
4104
+ }),
4105
+ smalltalk.UndefinedObject.klass);
4106
+
4107
+