mdbe 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/LICENSE.txt +21 -0
- data/README.md +53 -0
- data/app.rb +182 -0
- data/bin/mdbe +5 -0
- data/config.ru +2 -0
- data/environment.rb +8 -0
- data/lib/mdbe.rb +39 -0
- data/lib/mdbe/action_controller_debug_patch.rb +12 -0
- data/lib/mdbe/code_evaluation.rb +46 -0
- data/lib/mdbe/database_views.rb +24 -0
- data/lib/mdbe/database_views/abstract_dictionary.rb +69 -0
- data/lib/mdbe/database_views/abstract_exception.rb +25 -0
- data/lib/mdbe/database_views/array.rb +28 -0
- data/lib/mdbe/database_views/boolean.rb +12 -0
- data/lib/mdbe/database_views/class.rb +46 -0
- data/lib/mdbe/database_views/exception.rb +3 -0
- data/lib/mdbe/database_views/execblock.rb +5 -0
- data/lib/mdbe/database_views/fixnum.rb +5 -0
- data/lib/mdbe/database_views/float.rb +5 -0
- data/lib/mdbe/database_views/globals.rb +2 -0
- data/lib/mdbe/database_views/gsnmethod.rb +29 -0
- data/lib/mdbe/database_views/hash.rb +5 -0
- data/lib/mdbe/database_views/maglev_record.rb +42 -0
- data/lib/mdbe/database_views/module.rb +103 -0
- data/lib/mdbe/database_views/nilclass.rb +5 -0
- data/lib/mdbe/database_views/object.rb +80 -0
- data/lib/mdbe/database_views/proc.rb +3 -0
- data/lib/mdbe/database_views/repository.rb +3 -0
- data/lib/mdbe/database_views/ruby_workspace.rb +5 -0
- data/lib/mdbe/database_views/smalltalk_classes.rb +34 -0
- data/lib/mdbe/database_views/smalltalk_classes.st +60 -0
- data/lib/mdbe/database_views/string.rb +31 -0
- data/lib/mdbe/database_views/symbol.rb +32 -0
- data/lib/mdbe/database_views/system.rb +61 -0
- data/lib/mdbe/database_views/thread.rb +101 -0
- data/lib/mdbe/debug_server.rb +22 -0
- data/lib/mdbe/halt.rb +42 -0
- data/lib/mdbe/ruby_workspace.rb +29 -0
- data/lib/mdbe/version.rb +3 -0
- data/lib/tasks/maglev-database-explorer_tasks.rake +4 -0
- data/public/LICENSE +35 -0
- data/public/amber/CHANGELOG +65 -0
- data/public/amber/LICENSE +22 -0
- data/public/amber/Makefile +53 -0
- data/public/amber/README.md +30 -0
- data/public/amber/bin/amber +3 -0
- data/public/amber/bin/amberc +352 -0
- data/public/amber/bin/nodecompile.js +33 -0
- data/public/amber/bin/server +3 -0
- data/public/amber/bin/server.bat +3 -0
- data/public/amber/css/amber-normalize.css +468 -0
- data/public/amber/css/amber-normalize.less +501 -0
- data/public/amber/css/amber.css +539 -0
- data/public/amber/css/documentation.css +84 -0
- data/public/amber/css/profstef.css +75 -0
- data/public/amber/css/style.css +313 -0
- data/public/amber/documentation.html +37 -0
- data/public/amber/examples/Makefile +23 -0
- data/public/amber/examples/README +4 -0
- data/public/amber/examples/android/helloamber/AndroidManifest.xml +19 -0
- data/public/amber/examples/android/helloamber/HelloAmber.st +13 -0
- data/public/amber/examples/android/helloamber/Makefile +56 -0
- data/public/amber/examples/android/helloamber/README.md +80 -0
- data/public/amber/examples/android/helloamber/ant.properties +17 -0
- data/public/amber/examples/android/helloamber/assets/index.html +15 -0
- data/public/amber/examples/android/helloamber/assets/jquery-1.7.2.min.js +4 -0
- data/public/amber/examples/android/helloamber/build.xml +83 -0
- data/public/amber/examples/android/helloamber/local.properties +10 -0
- data/public/amber/examples/android/helloamber/proguard-project.txt +20 -0
- data/public/amber/examples/android/helloamber/project.properties +14 -0
- data/public/amber/examples/android/helloamber/res/layout/main.xml +6 -0
- data/public/amber/examples/android/helloamber/res/values/strings.xml +4 -0
- data/public/amber/examples/android/helloamber/src/org/amberlang/android/helloamber/HelloAmber.java +59 -0
- data/public/amber/examples/myproject/index.html +16 -0
- data/public/amber/examples/nodejs/README +9 -0
- data/public/amber/examples/nodejs/benchfib/Benchfib.st +124 -0
- data/public/amber/examples/nodejs/benchfib/Makefile +8 -0
- data/public/amber/examples/nodejs/benchfib/benchfib +1 -0
- data/public/amber/examples/nodejs/hello/Hello.st +9 -0
- data/public/amber/examples/nodejs/hello/Makefile +8 -0
- data/public/amber/examples/nodejs/hello/README +13 -0
- data/public/amber/examples/nodejs/hello/hello +1 -0
- data/public/amber/examples/nodejs/meta/Makefile +8 -0
- data/public/amber/examples/nodejs/meta/MyScript.st +27 -0
- data/public/amber/examples/nodejs/meta/meta +1 -0
- data/public/amber/examples/nodejs/pystone/Makefile +8 -0
- data/public/amber/examples/nodejs/pystone/Pystone.st +306 -0
- data/public/amber/examples/nodejs/pystone/pystone +1 -0
- data/public/amber/examples/nodejs/trivialserver/Makefile +8 -0
- data/public/amber/examples/nodejs/trivialserver/TrivialServer.st +51 -0
- data/public/amber/examples/nodejs/trivialserver/trivial +1 -0
- data/public/amber/examples/presentation/esug2011/images/asterix.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/background_box.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/background_header.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/balloon.jpg +0 -0
- data/public/amber/examples/presentation/esug2011/images/balloon_header.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/devices.jpg +0 -0
- data/public/amber/examples/presentation/esug2011/images/enyo.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/ide_star_wars.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/nodejs.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/terminal.png +0 -0
- data/public/amber/examples/presentation/esug2011/images/webos.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/amber.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/ambrhino.jpg +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/nodejs.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/pharo.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/php.gif +0 -0
- data/public/amber/examples/presentation/fosdem2012/images/rails.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-next.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/arrow-prev.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/closedhand.cur +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/openhand.cur +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-back.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow-top-forward.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/images/shadow.png +0 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.css +100 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.js +1232 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.booklet.1.2.0.min.js +13 -0
- data/public/amber/examples/presentation/fosdem2012/lib/booklet/jquery.easing.1.3.js +38 -0
- data/public/amber/examples/presentation/index.html +17 -0
- data/public/amber/examples/presentation/js/Presentation.deploy.js +1922 -0
- data/public/amber/examples/presentation/js/Presentation.js +2712 -0
- data/public/amber/examples/presentation/st/Presentation.st +1996 -0
- data/public/amber/examples/trysmalltalk/index.html +18 -0
- data/public/amber/examples/trysmalltalk/js/TrySmalltalk.deploy.js +837 -0
- data/public/amber/examples/trysmalltalk/js/TrySmalltalk.js +1206 -0
- data/public/amber/examples/trysmalltalk/st/TrySmalltalk.st +964 -0
- data/public/amber/examples/twitterwall/css/twitterwall.css +19 -0
- data/public/amber/examples/twitterwall/index.html +35 -0
- data/public/amber/examples/twitterwall/js/TwitterWall.deploy.js +116 -0
- data/public/amber/examples/twitterwall/js/TwitterWall.js +146 -0
- data/public/amber/examples/twitterwall/st/TwitterWall.st +91 -0
- data/public/amber/examples/webos/README +11 -0
- data/public/amber/examples/webos/eris/DuckQwaq.wav +0 -0
- data/public/amber/examples/webos/eris/EnyoAmber.st +36 -0
- data/public/amber/examples/webos/eris/Eris.css +0 -0
- data/public/amber/examples/webos/eris/Eris.st +86 -0
- data/public/amber/examples/webos/eris/Makefile +37 -0
- data/public/amber/examples/webos/eris/README +3 -0
- data/public/amber/examples/webos/eris/appinfo.json +10 -0
- data/public/amber/examples/webos/eris/index.html +12 -0
- data/public/amber/examples/webos/helloamber/EnyoAmber.st +36 -0
- data/public/amber/examples/webos/helloamber/HelloAmber.st +86 -0
- data/public/amber/examples/webos/helloamber/Makefile +38 -0
- data/public/amber/examples/webos/helloamber/README +5 -0
- data/public/amber/examples/webos/helloamber/appinfo.json +10 -0
- data/public/amber/examples/webos/helloamber/index.html +12 -0
- data/public/amber/favicon.ico +0 -0
- data/public/amber/images/amber.png +0 -0
- data/public/amber/images/amber.svg +706 -0
- data/public/amber/images/amber_small.png +0 -0
- data/public/amber/images/off.amber.png +0 -0
- data/public/amber/images/off.png +0 -0
- data/public/amber/images/offHover.amber.png +0 -0
- data/public/amber/images/offHover.png +0 -0
- data/public/amber/images/presentation.png +0 -0
- data/public/amber/images/profstef.png +0 -0
- data/public/amber/images/sprite.amber.png +0 -0
- data/public/amber/images/sprite.png +0 -0
- data/public/amber/images/tinylogo.amber.png +0 -0
- data/public/amber/images/tinylogo.png +0 -0
- data/public/amber/images/twitterwall.png +0 -0
- data/public/amber/index.html +55 -0
- data/public/amber/js/Additional-Examples.deploy.js +15 -0
- data/public/amber/js/Additional-Examples.js +21 -0
- data/public/amber/js/Benchfib.deploy.js +132 -0
- data/public/amber/js/Benchfib.js +167 -0
- data/public/amber/js/Canvas.deploy.js +2446 -0
- data/public/amber/js/Canvas.js +3547 -0
- data/public/amber/js/Compiler-Tests.deploy.js +97 -0
- data/public/amber/js/Compiler-Tests.js +137 -0
- data/public/amber/js/Compiler.deploy.js +1877 -0
- data/public/amber/js/Compiler.js +2622 -0
- data/public/amber/js/Documentation.deploy.js +961 -0
- data/public/amber/js/Documentation.js +1376 -0
- data/public/amber/js/Examples.deploy.js +53 -0
- data/public/amber/js/Examples.js +73 -0
- data/public/amber/js/IDE.deploy.js +3557 -0
- data/public/amber/js/IDE.js +5002 -0
- data/public/amber/js/Kernel-Announcements.deploy.js +107 -0
- data/public/amber/js/Kernel-Announcements.js +152 -0
- data/public/amber/js/Kernel-Classes.deploy.js +774 -0
- data/public/amber/js/Kernel-Classes.js +1095 -0
- data/public/amber/js/Kernel-Collections.deploy.js +3121 -0
- data/public/amber/js/Kernel-Collections.js +4427 -0
- data/public/amber/js/Kernel-Exceptions.deploy.js +244 -0
- data/public/amber/js/Kernel-Exceptions.js +349 -0
- data/public/amber/js/Kernel-Methods.deploy.js +573 -0
- data/public/amber/js/Kernel-Methods.js +807 -0
- data/public/amber/js/Kernel-Objects.deploy.js +2877 -0
- data/public/amber/js/Kernel-Objects.js +4107 -0
- data/public/amber/js/Kernel-Tests.deploy.js +1513 -0
- data/public/amber/js/Kernel-Tests.js +2053 -0
- data/public/amber/js/Kernel-Transcript.deploy.js +142 -0
- data/public/amber/js/Kernel-Transcript.js +202 -0
- data/public/amber/js/Maglev-Core.deploy.js +2996 -0
- data/public/amber/js/Maglev-Core.js +4246 -0
- data/public/amber/js/Maglev-Database-Explorer.deploy.js +4476 -0
- data/public/amber/js/Maglev-Database-Explorer.js +6232 -0
- data/public/amber/js/Maglev-Vendor.deploy.js +350 -0
- data/public/amber/js/Maglev-Vendor.js +465 -0
- data/public/amber/js/README.md +5 -0
- data/public/amber/js/SUnit.deploy.js +351 -0
- data/public/amber/js/SUnit.js +501 -0
- data/public/amber/js/amber.js +273 -0
- data/public/amber/js/boot.js +602 -0
- data/public/amber/js/compat.js +22 -0
- data/public/amber/js/init.js +9 -0
- data/public/amber/js/lib/CodeMirror/LICENSE +19 -0
- data/public/amber/js/lib/CodeMirror/active-line.js +39 -0
- data/public/amber/js/lib/CodeMirror/amber.css +21 -0
- data/public/amber/js/lib/CodeMirror/codemirror.css +67 -0
- data/public/amber/js/lib/CodeMirror/codemirror.js +2144 -0
- data/public/amber/js/lib/CodeMirror/smalltalk.js +134 -0
- data/public/amber/js/lib/jQuery/jquery-1.4.4.min.js +167 -0
- data/public/amber/js/lib/jQuery/jquery-1.6.4.min.js +4 -0
- data/public/amber/js/lib/jQuery/jquery-ui-1.8.16.custom.min.js +791 -0
- data/public/amber/js/lib/jQuery/jquery.textarea.js +267 -0
- data/public/amber/js/lib/peg-0.6.2.min.js +2 -0
- data/public/amber/js/lib/showdown.js +419 -0
- data/public/amber/js/parser.js +4222 -0
- data/public/amber/js/parser.pegjs +223 -0
- data/public/amber/learn.html +40 -0
- data/public/amber/repl/Makefile +8 -0
- data/public/amber/repl/REPL.js +124 -0
- data/public/amber/repl/REPL.st +56 -0
- data/public/amber/repl/amber.js +18085 -0
- data/public/amber/server/FileServer.st +576 -0
- data/public/amber/server/Makefile +8 -0
- data/public/amber/server/server.js +13049 -0
- data/public/amber/st/Benchfib.js +297 -0
- data/public/amber/st/Benchfib.st +124 -0
- data/public/amber/st/Canvas.st +968 -0
- data/public/amber/st/Compiler-Tests.st +471 -0
- data/public/amber/st/Compiler.st +1445 -0
- data/public/amber/st/Documentation.st +758 -0
- data/public/amber/st/Examples.js +100 -0
- data/public/amber/st/Examples.st +38 -0
- data/public/amber/st/IDE.st +2404 -0
- data/public/amber/st/Kernel-Announcements.st +61 -0
- data/public/amber/st/Kernel-Classes.st +462 -0
- data/public/amber/st/Kernel-Collections.st +1611 -0
- data/public/amber/st/Kernel-Exceptions.st +124 -0
- data/public/amber/st/Kernel-Methods.st +291 -0
- data/public/amber/st/Kernel-Objects.st +1587 -0
- data/public/amber/st/Kernel-Tests.st +953 -0
- data/public/amber/st/Kernel-Transcript.st +70 -0
- data/public/amber/st/Maglev-Core.st +1694 -0
- data/public/amber/st/Maglev-Database-Explorer.st +3148 -0
- data/public/amber/st/Maglev-Vendor.st +151 -0
- data/public/amber/st/Makefile +104 -0
- data/public/amber/st/README.md +4 -0
- data/public/amber/st/SUnit.st +172 -0
- data/public/css/bootstrap-combined.no-icons.min.css +731 -0
- data/public/css/bootstrap.css +6811 -0
- data/public/css/images/animated-overlay.gif +0 -0
- data/public/css/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
- data/public/css/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
- data/public/css/images/ui-bg_flat_10_000000_40x100.png +0 -0
- data/public/css/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
- data/public/css/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
- data/public/css/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/public/css/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
- data/public/css/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
- data/public/css/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
- data/public/css/images/ui-icons_222222_256x240.png +0 -0
- data/public/css/images/ui-icons_228ef1_256x240.png +0 -0
- data/public/css/images/ui-icons_ef8c08_256x240.png +0 -0
- data/public/css/images/ui-icons_ffd27a_256x240.png +0 -0
- data/public/css/images/ui-icons_ffffff_256x240.png +0 -0
- data/public/css/jquery-ui.min.css +5 -0
- data/public/css/smalltalk_code.css +42 -0
- data/public/css/style.css +210 -0
- data/public/images/bg_tile.png +0 -0
- data/public/images/maglev-logo.gif +0 -0
- data/public/images/mchammer.gif +0 -0
- data/public/images/rails_tiny.png +0 -0
- data/public/images/ruby.png +0 -0
- data/public/images/ruby_smalltalk_bridge.png +0 -0
- data/public/images/smalltalk.png +0 -0
- data/public/img/glyphicons-halflings.png +0 -0
- data/public/index.html +118 -0
- data/public/libs/bootstrap.min.js +7 -0
- data/public/libs/codemirror/CONTRIBUTING.md +72 -0
- data/public/libs/codemirror/LICENSE +23 -0
- data/public/libs/codemirror/README.md +11 -0
- data/public/libs/codemirror/addon/dialog/dialog.css +32 -0
- data/public/libs/codemirror/addon/dialog/dialog.js +80 -0
- data/public/libs/codemirror/addon/display/placeholder.js +54 -0
- data/public/libs/codemirror/addon/edit/closebrackets.js +54 -0
- data/public/libs/codemirror/addon/edit/closetag.js +86 -0
- data/public/libs/codemirror/addon/edit/continuecomment.js +44 -0
- data/public/libs/codemirror/addon/edit/continuelist.js +25 -0
- data/public/libs/codemirror/addon/edit/matchbrackets.js +82 -0
- data/public/libs/codemirror/addon/fold/brace-fold.js +31 -0
- data/public/libs/codemirror/addon/fold/foldcode.js +32 -0
- data/public/libs/codemirror/addon/fold/indent-fold.js +11 -0
- data/public/libs/codemirror/addon/fold/xml-fold.js +64 -0
- data/public/libs/codemirror/addon/hint/html-hint.js +582 -0
- data/public/libs/codemirror/addon/hint/javascript-hint.js +142 -0
- data/public/libs/codemirror/addon/hint/pig-hint.js +117 -0
- data/public/libs/codemirror/addon/hint/python-hint.js +93 -0
- data/public/libs/codemirror/addon/hint/show-hint.css +38 -0
- data/public/libs/codemirror/addon/hint/show-hint.js +180 -0
- data/public/libs/codemirror/addon/hint/xml-hint.js +118 -0
- data/public/libs/codemirror/addon/lint/javascript-lint.js +127 -0
- data/public/libs/codemirror/addon/lint/json-lint.js +14 -0
- data/public/libs/codemirror/addon/lint/lint.css +96 -0
- data/public/libs/codemirror/addon/lint/lint.js +197 -0
- data/public/libs/codemirror/addon/mode/loadmode.js +51 -0
- data/public/libs/codemirror/addon/mode/multiplex.js +95 -0
- data/public/libs/codemirror/addon/mode/overlay.js +59 -0
- data/public/libs/codemirror/addon/runmode/colorize.js +29 -0
- data/public/libs/codemirror/addon/runmode/runmode-standalone.js +130 -0
- data/public/libs/codemirror/addon/runmode/runmode.js +52 -0
- data/public/libs/codemirror/addon/runmode/runmode.node.js +89 -0
- data/public/libs/codemirror/addon/search/match-highlighter.js +60 -0
- data/public/libs/codemirror/addon/search/search.js +131 -0
- data/public/libs/codemirror/addon/search/searchcursor.js +133 -0
- data/public/libs/codemirror/addon/selection/active-line.js +39 -0
- data/public/libs/codemirror/addon/selection/mark-selection.js +34 -0
- data/public/libs/codemirror/bin/compress +91 -0
- data/public/libs/codemirror/bin/lint +11 -0
- data/public/libs/codemirror/demo/activeline.html +70 -0
- data/public/libs/codemirror/demo/bidi.html +61 -0
- data/public/libs/codemirror/demo/btree.html +87 -0
- data/public/libs/codemirror/demo/buffers.html +98 -0
- data/public/libs/codemirror/demo/changemode.html +50 -0
- data/public/libs/codemirror/demo/closebrackets.html +63 -0
- data/public/libs/codemirror/demo/closetag.html +37 -0
- data/public/libs/codemirror/demo/complete.html +70 -0
- data/public/libs/codemirror/demo/emacs.html +60 -0
- data/public/libs/codemirror/demo/folding.html +69 -0
- data/public/libs/codemirror/demo/fullscreen.html +147 -0
- data/public/libs/codemirror/demo/html5complete.html +92 -0
- data/public/libs/codemirror/demo/indentwrap.html +49 -0
- data/public/libs/codemirror/demo/lint.html +90 -0
- data/public/libs/codemirror/demo/loadmode.html +40 -0
- data/public/libs/codemirror/demo/marker.html +59 -0
- data/public/libs/codemirror/demo/markselection.html +36 -0
- data/public/libs/codemirror/demo/matchhighlighter.html +38 -0
- data/public/libs/codemirror/demo/multiplex.html +60 -0
- data/public/libs/codemirror/demo/mustache.html +59 -0
- data/public/libs/codemirror/demo/placeholder.html +36 -0
- data/public/libs/codemirror/demo/preview.html +76 -0
- data/public/libs/codemirror/demo/resize.html +49 -0
- data/public/libs/codemirror/demo/runmode.html +50 -0
- data/public/libs/codemirror/demo/search.html +85 -0
- data/public/libs/codemirror/demo/spanaffectswrapping_shim.html +73 -0
- data/public/libs/codemirror/demo/theme.html +89 -0
- data/public/libs/codemirror/demo/variableheight.html +52 -0
- data/public/libs/codemirror/demo/vim.html +65 -0
- data/public/libs/codemirror/demo/visibletabs.html +53 -0
- data/public/libs/codemirror/demo/widget.html +74 -0
- data/public/libs/codemirror/demo/xmlcomplete.html +81 -0
- data/public/libs/codemirror/index.html +487 -0
- data/public/libs/codemirror/keymap/emacs.js +30 -0
- data/public/libs/codemirror/keymap/vim.js +3044 -0
- data/public/libs/codemirror/lib/codemirror.css +253 -0
- data/public/libs/codemirror/lib/codemirror.js +5585 -0
- data/public/libs/codemirror/mode/apl/apl.js +160 -0
- data/public/libs/codemirror/mode/apl/index.html +61 -0
- data/public/libs/codemirror/mode/asterisk/asterisk.js +183 -0
- data/public/libs/codemirror/mode/asterisk/index.html +142 -0
- data/public/libs/codemirror/mode/clike/clike.js +302 -0
- data/public/libs/codemirror/mode/clike/index.html +103 -0
- data/public/libs/codemirror/mode/clike/scala.html +767 -0
- data/public/libs/codemirror/mode/clojure/clojure.js +222 -0
- data/public/libs/codemirror/mode/clojure/index.html +76 -0
- data/public/libs/codemirror/mode/coffeescript/LICENSE +22 -0
- data/public/libs/codemirror/mode/coffeescript/coffeescript.js +346 -0
- data/public/libs/codemirror/mode/coffeescript/index.html +728 -0
- data/public/libs/codemirror/mode/commonlisp/commonlisp.js +101 -0
- data/public/libs/codemirror/mode/commonlisp/index.html +165 -0
- data/public/libs/codemirror/mode/css/css.js +567 -0
- data/public/libs/codemirror/mode/css/index.html +58 -0
- data/public/libs/codemirror/mode/css/scss.html +145 -0
- data/public/libs/codemirror/mode/css/scss_test.js +80 -0
- data/public/libs/codemirror/mode/css/test.js +113 -0
- data/public/libs/codemirror/mode/d/d.js +205 -0
- data/public/libs/codemirror/mode/d/index.html +262 -0
- data/public/libs/codemirror/mode/diff/diff.js +32 -0
- data/public/libs/codemirror/mode/diff/index.html +105 -0
- data/public/libs/codemirror/mode/ecl/ecl.js +192 -0
- data/public/libs/codemirror/mode/ecl/index.html +39 -0
- data/public/libs/codemirror/mode/erlang/erlang.js +463 -0
- data/public/libs/codemirror/mode/erlang/index.html +64 -0
- data/public/libs/codemirror/mode/gas/gas.js +326 -0
- data/public/libs/codemirror/mode/gas/index.html +57 -0
- data/public/libs/codemirror/mode/gfm/gfm.js +96 -0
- data/public/libs/codemirror/mode/gfm/index.html +74 -0
- data/public/libs/codemirror/mode/gfm/test.js +112 -0
- data/public/libs/codemirror/mode/go/go.js +165 -0
- data/public/libs/codemirror/mode/go/index.html +74 -0
- data/public/libs/codemirror/mode/groovy/groovy.js +210 -0
- data/public/libs/codemirror/mode/groovy/index.html +73 -0
- data/public/libs/codemirror/mode/haskell/haskell.js +242 -0
- data/public/libs/codemirror/mode/haskell/index.html +62 -0
- data/public/libs/codemirror/mode/haxe/haxe.js +429 -0
- data/public/libs/codemirror/mode/haxe/index.html +90 -0
- data/public/libs/codemirror/mode/htmlembedded/htmlembedded.js +73 -0
- data/public/libs/codemirror/mode/htmlembedded/index.html +49 -0
- data/public/libs/codemirror/mode/htmlmixed/htmlmixed.js +104 -0
- data/public/libs/codemirror/mode/htmlmixed/index.html +73 -0
- data/public/libs/codemirror/mode/http/http.js +98 -0
- data/public/libs/codemirror/mode/http/index.html +32 -0
- data/public/libs/codemirror/mode/javascript/index.html +92 -0
- data/public/libs/codemirror/mode/javascript/javascript.js +467 -0
- data/public/libs/codemirror/mode/javascript/typescript.html +48 -0
- data/public/libs/codemirror/mode/jinja2/index.html +38 -0
- data/public/libs/codemirror/mode/jinja2/jinja2.js +42 -0
- data/public/libs/codemirror/mode/less/index.html +741 -0
- data/public/libs/codemirror/mode/less/less.js +266 -0
- data/public/libs/codemirror/mode/livescript/LICENSE +23 -0
- data/public/libs/codemirror/mode/livescript/index.html +446 -0
- data/public/libs/codemirror/mode/livescript/livescript.js +267 -0
- data/public/libs/codemirror/mode/livescript/livescript.ls +266 -0
- data/public/libs/codemirror/mode/lua/index.html +74 -0
- data/public/libs/codemirror/mode/lua/lua.js +140 -0
- data/public/libs/codemirror/mode/markdown/index.html +344 -0
- data/public/libs/codemirror/mode/markdown/markdown.js +526 -0
- data/public/libs/codemirror/mode/markdown/test.js +636 -0
- data/public/libs/codemirror/mode/meta.js +75 -0
- data/public/libs/codemirror/mode/mirc/index.html +149 -0
- data/public/libs/codemirror/mode/mirc/mirc.js +177 -0
- data/public/libs/codemirror/mode/ntriples/index.html +33 -0
- data/public/libs/codemirror/mode/ntriples/ntriples.js +170 -0
- data/public/libs/codemirror/mode/ocaml/index.html +131 -0
- data/public/libs/codemirror/mode/ocaml/ocaml.js +113 -0
- data/public/libs/codemirror/mode/pascal/LICENSE +7 -0
- data/public/libs/codemirror/mode/pascal/index.html +48 -0
- data/public/libs/codemirror/mode/pascal/pascal.js +94 -0
- data/public/libs/codemirror/mode/perl/LICENSE +19 -0
- data/public/libs/codemirror/mode/perl/index.html +62 -0
- data/public/libs/codemirror/mode/perl/perl.js +816 -0
- data/public/libs/codemirror/mode/php/index.html +51 -0
- data/public/libs/codemirror/mode/php/php.js +129 -0
- data/public/libs/codemirror/mode/pig/index.html +42 -0
- data/public/libs/codemirror/mode/pig/pig.js +171 -0
- data/public/libs/codemirror/mode/properties/index.html +41 -0
- data/public/libs/codemirror/mode/properties/properties.js +63 -0
- data/public/libs/codemirror/mode/python/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/python/index.html +135 -0
- data/public/libs/codemirror/mode/python/python.js +340 -0
- data/public/libs/codemirror/mode/q/index.html +131 -0
- data/public/libs/codemirror/mode/q/q.js +124 -0
- data/public/libs/codemirror/mode/r/LICENSE +24 -0
- data/public/libs/codemirror/mode/r/index.html +74 -0
- data/public/libs/codemirror/mode/r/r.js +141 -0
- data/public/libs/codemirror/mode/rpm/changes/changes.js +19 -0
- data/public/libs/codemirror/mode/rpm/changes/index.html +53 -0
- data/public/libs/codemirror/mode/rpm/spec/index.html +99 -0
- data/public/libs/codemirror/mode/rpm/spec/spec.css +5 -0
- data/public/libs/codemirror/mode/rpm/spec/spec.js +66 -0
- data/public/libs/codemirror/mode/rst/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/rst/index.html +524 -0
- data/public/libs/codemirror/mode/rst/rst.js +550 -0
- data/public/libs/codemirror/mode/ruby/LICENSE +24 -0
- data/public/libs/codemirror/mode/ruby/index.html +173 -0
- data/public/libs/codemirror/mode/ruby/ruby.js +197 -0
- data/public/libs/codemirror/mode/rust/index.html +48 -0
- data/public/libs/codemirror/mode/rust/rust.js +432 -0
- data/public/libs/codemirror/mode/sass/index.html +54 -0
- data/public/libs/codemirror/mode/sass/sass.js +349 -0
- data/public/libs/codemirror/mode/scheme/index.html +65 -0
- data/public/libs/codemirror/mode/scheme/scheme.js +230 -0
- data/public/libs/codemirror/mode/shell/index.html +51 -0
- data/public/libs/codemirror/mode/shell/shell.js +118 -0
- data/public/libs/codemirror/mode/sieve/LICENSE +19 -0
- data/public/libs/codemirror/mode/sieve/index.html +81 -0
- data/public/libs/codemirror/mode/sieve/sieve.js +183 -0
- data/public/libs/codemirror/mode/smalltalk/index.html +57 -0
- data/public/libs/codemirror/mode/smalltalk/smalltalk.js +141 -0
- data/public/libs/codemirror/mode/smarty/index.html +83 -0
- data/public/libs/codemirror/mode/smarty/smarty.js +148 -0
- data/public/libs/codemirror/mode/sparql/index.html +42 -0
- data/public/libs/codemirror/mode/sparql/sparql.js +143 -0
- data/public/libs/codemirror/mode/sql/index.html +68 -0
- data/public/libs/codemirror/mode/sql/sql.js +268 -0
- data/public/libs/codemirror/mode/stex/index.html +98 -0
- data/public/libs/codemirror/mode/stex/stex.js +246 -0
- data/public/libs/codemirror/mode/stex/test.js +117 -0
- data/public/libs/codemirror/mode/tcl/index.html +129 -0
- data/public/libs/codemirror/mode/tcl/tcl.js +131 -0
- data/public/libs/codemirror/mode/tiddlywiki/index.html +142 -0
- data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.css +14 -0
- data/public/libs/codemirror/mode/tiddlywiki/tiddlywiki.js +353 -0
- data/public/libs/codemirror/mode/tiki/index.html +81 -0
- data/public/libs/codemirror/mode/tiki/tiki.css +26 -0
- data/public/libs/codemirror/mode/tiki/tiki.js +308 -0
- data/public/libs/codemirror/mode/turtle/index.html +39 -0
- data/public/libs/codemirror/mode/turtle/turtle.js +145 -0
- data/public/libs/codemirror/mode/vb/LICENSE.txt +21 -0
- data/public/libs/codemirror/mode/vb/index.html +88 -0
- data/public/libs/codemirror/mode/vb/vb.js +259 -0
- data/public/libs/codemirror/mode/vbscript/index.html +42 -0
- data/public/libs/codemirror/mode/vbscript/vbscript.js +26 -0
- data/public/libs/codemirror/mode/velocity/index.html +103 -0
- data/public/libs/codemirror/mode/velocity/velocity.js +144 -0
- data/public/libs/codemirror/mode/verilog/index.html +121 -0
- data/public/libs/codemirror/mode/verilog/verilog.js +182 -0
- data/public/libs/codemirror/mode/xml/index.html +45 -0
- data/public/libs/codemirror/mode/xml/xml.js +328 -0
- data/public/libs/codemirror/mode/xquery/LICENSE +20 -0
- data/public/libs/codemirror/mode/xquery/index.html +221 -0
- data/public/libs/codemirror/mode/xquery/test.js +64 -0
- data/public/libs/codemirror/mode/xquery/xquery.js +450 -0
- data/public/libs/codemirror/mode/yaml/index.html +68 -0
- data/public/libs/codemirror/mode/yaml/yaml.js +95 -0
- data/public/libs/codemirror/mode/z80/index.html +39 -0
- data/public/libs/codemirror/mode/z80/z80.js +85 -0
- data/public/libs/codemirror/package.json +21 -0
- data/public/libs/codemirror/test/doc_test.js +329 -0
- data/public/libs/codemirror/test/driver.js +138 -0
- data/public/libs/codemirror/test/index.html +182 -0
- data/public/libs/codemirror/test/lint/acorn.js +1593 -0
- data/public/libs/codemirror/test/lint/lint.js +112 -0
- data/public/libs/codemirror/test/lint/parse-js.js +1372 -0
- data/public/libs/codemirror/test/lint/walk.js +216 -0
- data/public/libs/codemirror/test/mode_test.css +10 -0
- data/public/libs/codemirror/test/mode_test.js +192 -0
- data/public/libs/codemirror/test/phantom_driver.js +31 -0
- data/public/libs/codemirror/test/run.js +33 -0
- data/public/libs/codemirror/test/test.js +1400 -0
- data/public/libs/codemirror/test/vim_test.js +1688 -0
- data/public/libs/codemirror/theme/ambiance-mobile.css +5 -0
- data/public/libs/codemirror/theme/ambiance.css +75 -0
- data/public/libs/codemirror/theme/blackboard.css +25 -0
- data/public/libs/codemirror/theme/cobalt.css +18 -0
- data/public/libs/codemirror/theme/eclipse.css +25 -0
- data/public/libs/codemirror/theme/elegant.css +10 -0
- data/public/libs/codemirror/theme/erlang-dark.css +21 -0
- data/public/libs/codemirror/theme/lesser-dark.css +44 -0
- data/public/libs/codemirror/theme/midnight.css +52 -0
- data/public/libs/codemirror/theme/monokai.css +28 -0
- data/public/libs/codemirror/theme/neat.css +9 -0
- data/public/libs/codemirror/theme/night.css +21 -0
- data/public/libs/codemirror/theme/rubyblue.css +21 -0
- data/public/libs/codemirror/theme/solarized.css +207 -0
- data/public/libs/codemirror/theme/twilight.css +26 -0
- data/public/libs/codemirror/theme/vibrant-ink.css +27 -0
- data/public/libs/codemirror/theme/xq-dark.css +46 -0
- data/public/libs/codemirror/theme/xq-light.css +43 -0
- data/public/libs/font-awesome/css/font-awesome-ie7.css +983 -0
- data/public/libs/font-awesome/css/font-awesome-ie7.min.css +24 -0
- data/public/libs/font-awesome/css/font-awesome.css +1268 -0
- data/public/libs/font-awesome/css/font-awesome.min.css +24 -0
- data/public/libs/font-awesome/font/FontAwesome.otf +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.eot +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.svg +339 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.ttf +0 -0
- data/public/libs/font-awesome/font/fontawesome-webfont.woff +0 -0
- data/public/libs/font-awesome/less/bootstrap.less +78 -0
- data/public/libs/font-awesome/less/core.less +132 -0
- data/public/libs/font-awesome/less/extras.less +79 -0
- data/public/libs/font-awesome/less/font-awesome-ie7.less +413 -0
- data/public/libs/font-awesome/less/font-awesome.less +32 -0
- data/public/libs/font-awesome/less/icons.less +330 -0
- data/public/libs/font-awesome/less/mixins.less +34 -0
- data/public/libs/font-awesome/less/path.less +15 -0
- data/public/libs/font-awesome/less/variables.less +9 -0
- data/public/libs/jquery-1.10.0.min.js +6 -0
- data/public/libs/jquery-ui.min.js +12 -0
- data/public/libs/jquery.jsPlumb-1.4.0-all.js +9571 -0
- data/public/libs/jquery.livequery.js +226 -0
- data/public/libs/jsPlumbInitializer.js +72 -0
- data/public/libs/jstree/README.txt +10 -0
- data/public/libs/jstree/_demo/_dump.sql +20 -0
- data/public/libs/jstree/_demo/_inc/__mysql_errors.log +0 -0
- data/public/libs/jstree/_demo/_inc/class._database.php +146 -0
- data/public/libs/jstree/_demo/_inc/class._database_i.php +152 -0
- data/public/libs/jstree/_demo/_inc/class.tree.php +602 -0
- data/public/libs/jstree/_demo/_install.txt +6 -0
- data/public/libs/jstree/_demo/config.php +14 -0
- data/public/libs/jstree/_demo/file.png +0 -0
- data/public/libs/jstree/_demo/folder.png +0 -0
- data/public/libs/jstree/_demo/index.html +461 -0
- data/public/libs/jstree/_demo/root.png +0 -0
- data/public/libs/jstree/_demo/server.php +69 -0
- data/public/libs/jstree/_docs/!style.css +48 -0
- data/public/libs/jstree/_docs/_drive.png +0 -0
- data/public/libs/jstree/_docs/_html_data.html +2 -0
- data/public/libs/jstree/_docs/_json_data.json +4 -0
- data/public/libs/jstree/_docs/_search_data.json +6 -0
- data/public/libs/jstree/_docs/_search_result.json +1 -0
- data/public/libs/jstree/_docs/_xml_flat.xml +12 -0
- data/public/libs/jstree/_docs/_xml_nest.xml +18 -0
- data/public/libs/jstree/_docs/checkbox.html +171 -0
- data/public/libs/jstree/_docs/contextmenu.html +121 -0
- data/public/libs/jstree/_docs/cookies.html +97 -0
- data/public/libs/jstree/_docs/core.html +689 -0
- data/public/libs/jstree/_docs/crrm.html +316 -0
- data/public/libs/jstree/_docs/dnd.html +199 -0
- data/public/libs/jstree/_docs/hotkeys.html +82 -0
- data/public/libs/jstree/_docs/html_data.html +175 -0
- data/public/libs/jstree/_docs/index.html +86 -0
- data/public/libs/jstree/_docs/json_data.html +249 -0
- data/public/libs/jstree/_docs/languages.html +152 -0
- data/public/libs/jstree/_docs/logo.png +0 -0
- data/public/libs/jstree/_docs/search.html +153 -0
- data/public/libs/jstree/_docs/sort.html +85 -0
- data/public/libs/jstree/_docs/syntax/!script.js +2232 -0
- data/public/libs/jstree/_docs/syntax/!style.css +511 -0
- data/public/libs/jstree/_docs/syntax/clipboard.swf +0 -0
- data/public/libs/jstree/_docs/syntax/help.png +0 -0
- data/public/libs/jstree/_docs/syntax/magnifier.png +0 -0
- data/public/libs/jstree/_docs/syntax/page_white_code.png +0 -0
- data/public/libs/jstree/_docs/syntax/page_white_copy.png +0 -0
- data/public/libs/jstree/_docs/syntax/printer.png +0 -0
- data/public/libs/jstree/_docs/syntax/wrapping.png +0 -0
- data/public/libs/jstree/_docs/themeroller.html +107 -0
- data/public/libs/jstree/_docs/themes.html +127 -0
- data/public/libs/jstree/_docs/types.html +178 -0
- data/public/libs/jstree/_docs/ui.html +197 -0
- data/public/libs/jstree/_docs/unique.html +85 -0
- data/public/libs/jstree/_docs/xml_data.html +218 -0
- data/public/libs/jstree/_lib/jquery.cookie.js +96 -0
- data/public/libs/jstree/_lib/jquery.hotkeys.js +99 -0
- data/public/libs/jstree/_lib/jquery.js +5 -0
- data/public/libs/jstree/jquery.jstree.js +4564 -0
- data/public/libs/jstree/themes/apple/bg.jpg +0 -0
- data/public/libs/jstree/themes/apple/d.png +0 -0
- data/public/libs/jstree/themes/apple/dot_for_ie.gif +0 -0
- data/public/libs/jstree/themes/apple/style.css +61 -0
- data/public/libs/jstree/themes/apple/throbber.gif +0 -0
- data/public/libs/jstree/themes/classic/d.gif +0 -0
- data/public/libs/jstree/themes/classic/d.png +0 -0
- data/public/libs/jstree/themes/classic/dot_for_ie.gif +0 -0
- data/public/libs/jstree/themes/classic/style.css +77 -0
- data/public/libs/jstree/themes/classic/throbber.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/d.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/d.png +0 -0
- data/public/libs/jstree/themes/default-rtl/dots.gif +0 -0
- data/public/libs/jstree/themes/default-rtl/style.css +84 -0
- data/public/libs/jstree/themes/default-rtl/throbber.gif +0 -0
- data/public/libs/jstree/themes/default/d.gif +0 -0
- data/public/libs/jstree/themes/default/d.png +0 -0
- data/public/libs/jstree/themes/default/style.css +74 -0
- data/public/libs/jstree/themes/default/throbber.gif +0 -0
- data/public/themes/geo-bootstrap/README.md +25 -0
- data/public/themes/geo-bootstrap/img/flames.gif +0 -0
- data/public/themes/geo-bootstrap/img/glyphicons-halflings-white.png +0 -0
- data/public/themes/geo-bootstrap/img/glyphicons-halflings.png +0 -0
- data/public/themes/geo-bootstrap/img/microfab.gif +0 -0
- data/public/themes/geo-bootstrap/img/progress.gif +0 -0
- data/public/themes/geo-bootstrap/img/rainbow.gif +0 -0
- data/public/themes/geo-bootstrap/img/stars.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/7upspot.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/americanflag.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/community.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/computer-01.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/computer.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/construction.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/counter.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/counter2.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/divider.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/divider1.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/divider2.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/divider3.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/divider4.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/drudgesiren.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/emailme.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/funky.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/geocities.jpg +0 -0
- data/public/themes/geo-bootstrap/img/test/hacker.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/heart.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/hot.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/ie_logo.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/mailkitten.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/mchammer.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/new.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/new2.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/noframes.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/notepad.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/ns_logo.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/sign-in.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/spinningearth.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/underconstruction.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/wabwalk.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/webtrips.gif +0 -0
- data/public/themes/geo-bootstrap/img/test/yahooweek.gif +0 -0
- data/public/themes/geo-bootstrap/package.json +21 -0
- data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.css +1109 -0
- data/public/themes/geo-bootstrap/swatch/bootstrap-responsive.min.css +9 -0
- data/public/themes/geo-bootstrap/swatch/bootstrap.css +6462 -0
- data/public/themes/geo-bootstrap/swatch/bootstrap.min.css +9 -0
- 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
|
+
|