Browse Source

Needs new Amber. Recompile.

Herby Vojčík 4 years ago
parent
commit
11890a2c1e

+ 1 - 1
package.json

@@ -28,7 +28,7 @@
   },
   "dependencies": {
     "@ambers/contrib-web": ">=0.7.3",
-    "@ambers/lang": ">0.25.3",
+    "@ambers/lang": ">0.29.1",
     "bootstrap": "^3.3.7",
     "codemirror": ">=5.44.0",
     "es6-promise": "^4.2.4",

+ 52 - 41
src/Helios-Announcements.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Announcements");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLAboutToChange", $globals.Object, ["actionBlock"], "Helios-Announcements");
+$core.addClass("HLAboutToChange", $globals.Object, "Helios-Announcements");
+$core.setSlots($globals.HLAboutToChange, ["actionBlock"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLAboutToChange.comment="I am announced whenever a change of context is about to be made, and unsaved changes could be lost.\x0a\x0aI am used within `HLModel` to handle such user actions. See `HLModel >> withChangesDo:`.";
 //>>excludeEnd("ide");
@@ -47,7 +47,7 @@ $globals.HLAboutToChange);
 
 
 
-$core.addClass("HLAnnouncement", $globals.Object, [], "Helios-Announcements");
+$core.addClass("HLAnnouncement", $globals.Object, "Helios-Announcements");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLAnnouncement.comment="I am the root of the announcement class hierarchy used in the Helios UI.";
 //>>excludeEnd("ide");
@@ -71,7 +71,8 @@ return "announcement";
 $globals.HLAnnouncement.a$cls);
 
 
-$core.addClass("HLCodeHandled", $globals.HLAnnouncement, ["code"], "Helios-Announcements");
+$core.addClass("HLCodeHandled", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLCodeHandled, ["code"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLCodeHandled.comment="I am the root class of announcements emitted by `HLCodeWidget`s";
 //>>excludeEnd("ide");
@@ -140,13 +141,14 @@ return $recv($1)._yourself();
 $globals.HLCodeHandled.a$cls);
 
 
-$core.addClass("HLDoItExecuted", $globals.HLCodeHandled, [], "Helios-Announcements");
+$core.addClass("HLDoItExecuted", $globals.HLCodeHandled, "Helios-Announcements");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDoItExecuted.comment="I am emitted by a `HLCodeWidget` after a DoIt has been executed.";
 //>>excludeEnd("ide");
 
 
-$core.addClass("HLDebuggerAnnouncement", $globals.HLAnnouncement, ["context"], "Helios-Announcements");
+$core.addClass("HLDebuggerAnnouncement", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLDebuggerAnnouncement, ["context"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDebuggerAnnouncement.comment="I am the root class of debugger announcements, and hold onto the debugged `context`.";
 //>>excludeEnd("ide");
@@ -189,7 +191,7 @@ $globals.HLDebuggerAnnouncement);
 
 
 
-$core.addClass("HLDebuggerContextSelected", $globals.HLDebuggerAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLDebuggerContextSelected", $globals.HLDebuggerAnnouncement, "Helios-Announcements");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDebuggerContextSelected.comment="I am announced when a new context is selected in a debugger, to update the user interface.";
 //>>excludeEnd("ide");
@@ -232,22 +234,23 @@ $globals.HLDebuggerContextSelected);
 
 
 
-$core.addClass("HLDebuggerProceeded", $globals.HLDebuggerAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLDebuggerProceeded", $globals.HLDebuggerAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLDebuggerStepped", $globals.HLDebuggerAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLDebuggerStepped", $globals.HLDebuggerAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLDebuggerWhere", $globals.HLDebuggerAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLDebuggerWhere", $globals.HLDebuggerAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLDiveRequested", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLDiveRequested", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLEditComment", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLEditComment", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLErrorRaised", $globals.HLAnnouncement, ["error"], "Helios-Announcements");
+$core.addClass("HLErrorRaised", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLErrorRaised, ["error"]);
 $core.addMethod(
 $core.method({
 selector: "error",
@@ -287,10 +290,11 @@ $globals.HLErrorRaised);
 
 
 
-$core.addClass("HLCompileErrorRaised", $globals.HLErrorRaised, [], "Helios-Announcements");
+$core.addClass("HLCompileErrorRaised", $globals.HLErrorRaised, "Helios-Announcements");
 
 
-$core.addClass("HLParseErrorRaised", $globals.HLErrorRaised, ["line", "column", "message"], "Helios-Announcements");
+$core.addClass("HLParseErrorRaised", $globals.HLErrorRaised, "Helios-Announcements");
+$core.setSlots($globals.HLParseErrorRaised, ["line", "column", "message"]);
 $core.addMethod(
 $core.method({
 selector: "column",
@@ -404,31 +408,32 @@ $globals.HLParseErrorRaised);
 
 
 
-$core.addClass("HLUnknownVariableErrorRaised", $globals.HLErrorRaised, [], "Helios-Announcements");
+$core.addClass("HLUnknownVariableErrorRaised", $globals.HLErrorRaised, "Helios-Announcements");
 
 
-$core.addClass("HLFocusRequested", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLFocusRequested", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLClassesFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLClassesFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLDocumentationFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLDocumentationFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLMethodsFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLMethodsFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLPackagesFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLPackagesFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLProtocolsFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLProtocolsFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLSourceCodeFocusRequested", $globals.HLFocusRequested, [], "Helios-Announcements");
+$core.addClass("HLSourceCodeFocusRequested", $globals.HLFocusRequested, "Helios-Announcements");
 
 
-$core.addClass("HLInstVarAdded", $globals.HLAnnouncement, ["theClass", "variableName"], "Helios-Announcements");
+$core.addClass("HLInstVarAdded", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLInstVarAdded, ["theClass", "variableName"]);
 $core.addMethod(
 $core.method({
 selector: "theClass",
@@ -505,7 +510,8 @@ $globals.HLInstVarAdded);
 
 
 
-$core.addClass("HLItemSelected", $globals.HLAnnouncement, ["item", "soft"], "Helios-Announcements");
+$core.addClass("HLItemSelected", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLItemSelected, ["item", "soft"]);
 $core.addMethod(
 $core.method({
 selector: "beSoft",
@@ -669,22 +675,23 @@ return $recv($1)._yourself();
 $globals.HLItemSelected.a$cls);
 
 
-$core.addClass("HLClassSelected", $globals.HLItemSelected, [], "Helios-Announcements");
+$core.addClass("HLClassSelected", $globals.HLItemSelected, "Helios-Announcements");
 
 
-$core.addClass("HLInstanceVariableSelected", $globals.HLItemSelected, [], "Helios-Announcements");
+$core.addClass("HLInstanceVariableSelected", $globals.HLItemSelected, "Helios-Announcements");
 
 
-$core.addClass("HLMethodSelected", $globals.HLItemSelected, [], "Helios-Announcements");
+$core.addClass("HLMethodSelected", $globals.HLItemSelected, "Helios-Announcements");
 
 
-$core.addClass("HLPackageSelected", $globals.HLItemSelected, [], "Helios-Announcements");
+$core.addClass("HLPackageSelected", $globals.HLItemSelected, "Helios-Announcements");
 
 
-$core.addClass("HLProtocolSelected", $globals.HLItemSelected, [], "Helios-Announcements");
+$core.addClass("HLProtocolSelected", $globals.HLItemSelected, "Helios-Announcements");
 
 
-$core.addClass("HLItemUnselected", $globals.HLAnnouncement, ["item"], "Helios-Announcements");
+$core.addClass("HLItemUnselected", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLItemUnselected, ["item"]);
 $core.addMethod(
 $core.method({
 selector: "item",
@@ -750,13 +757,14 @@ return $recv($1)._yourself();
 $globals.HLItemUnselected.a$cls);
 
 
-$core.addClass("HLClassUnselected", $globals.HLItemUnselected, [], "Helios-Announcements");
+$core.addClass("HLClassUnselected", $globals.HLItemUnselected, "Helios-Announcements");
 
 
-$core.addClass("HLPackageUnselected", $globals.HLItemUnselected, [], "Helios-Announcements");
+$core.addClass("HLPackageUnselected", $globals.HLItemUnselected, "Helios-Announcements");
 
 
-$core.addClass("HLRunTests", $globals.HLAnnouncement, ["testSuiteRunner"], "Helios-Announcements");
+$core.addClass("HLRunTests", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLRunTests, ["testSuiteRunner"]);
 $core.addMethod(
 $core.method({
 selector: "testSuiteRunner",
@@ -822,10 +830,11 @@ return $recv($1)._yourself();
 $globals.HLRunTests.a$cls);
 
 
-$core.addClass("HLSaveSourceCode", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLSaveSourceCode", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLSearchReferences", $globals.HLAnnouncement, ["searchString"], "Helios-Announcements");
+$core.addClass("HLSearchReferences", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLSearchReferences, ["searchString"]);
 $core.addMethod(
 $core.method({
 selector: "searchString",
@@ -865,13 +874,14 @@ $globals.HLSearchReferences);
 
 
 
-$core.addClass("HLShowCommentToggled", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLShowCommentToggled", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLShowInstanceToggled", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLShowInstanceToggled", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLShowTemplate", $globals.HLAnnouncement, ["template"], "Helios-Announcements");
+$core.addClass("HLShowTemplate", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLShowTemplate, ["template"]);
 $core.addMethod(
 $core.method({
 selector: "template",
@@ -911,10 +921,11 @@ $globals.HLShowTemplate);
 
 
 
-$core.addClass("HLSourceCodeSaved", $globals.HLAnnouncement, [], "Helios-Announcements");
+$core.addClass("HLSourceCodeSaved", $globals.HLAnnouncement, "Helios-Announcements");
 
 
-$core.addClass("HLTabLabelChanged", $globals.HLAnnouncement, ["label", "widget"], "Helios-Announcements");
+$core.addClass("HLTabLabelChanged", $globals.HLAnnouncement, "Helios-Announcements");
+$core.setSlots($globals.HLTabLabelChanged, ["label", "widget"]);
 $core.addMethod(
 $core.method({
 selector: "label",

+ 2 - 2
src/Helios-Browser-Tests.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/SUnit"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Browser-Tests");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLBrowserTest", $globals.TestCase, ["browser"], "Helios-Browser-Tests");
+$core.addClass("HLBrowserTest", $globals.TestCase, "Helios-Browser-Tests");
+$core.setSlots($globals.HLBrowserTest, ["browser"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBrowserTest.comment="Test cases for the functionality of  `HLBrowserModel`";
 //>>excludeEnd("ide");

+ 17 - 11
src/Helios-Browser.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Browser");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLBrowser", $globals.HLWidget, ["model", "packagesListWidget", "classesListWidget", "protocolsListWidget", "methodsListWidget", "sourceWidget", "bottomDiv"], "Helios-Browser");
+$core.addClass("HLBrowser", $globals.HLWidget, "Helios-Browser");
+$core.setSlots($globals.HLBrowser, ["model", "packagesListWidget", "classesListWidget", "protocolsListWidget", "methodsListWidget", "sourceWidget", "bottomDiv"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBrowser.comment="I render a system browser with 4 panes (Packages, Classes, Protocols, Methods) and a source area.";
 //>>excludeEnd("ide");
@@ -680,7 +680,8 @@ return (0);
 $globals.HLBrowser.a$cls);
 
 
-$core.addClass("HLBrowserBottomWidget", $globals.HLWidget, ["model", "codeWidget", "documentationWidget"], "Helios-Browser");
+$core.addClass("HLBrowserBottomWidget", $globals.HLWidget, "Helios-Browser");
+$core.setSlots($globals.HLBrowserBottomWidget, ["model", "codeWidget", "documentationWidget"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBrowserBottomWidget.comment="I render the code area of a browser and optionally the documentation for the selected class.";
 //>>excludeEnd("ide");
@@ -1002,7 +1003,8 @@ $globals.HLBrowserBottomWidget);
 
 
 
-$core.addClass("HLBrowserModel", $globals.HLToolModel, ["showInstance", "showComment"], "Helios-Browser");
+$core.addClass("HLBrowserModel", $globals.HLToolModel, "Helios-Browser");
+$core.setSlots($globals.HLBrowserModel, ["showInstance", "showComment"]);
 $core.addMethod(
 $core.method({
 selector: "editComment",
@@ -1457,7 +1459,8 @@ return $recv($1)._yourself();
 $globals.HLBrowserModel.a$cls);
 
 
-$core.addClass("HLClassCache", $globals.Object, ["class", "selectorsCache", "overrideCache", "overriddenCache"], "Helios-Browser");
+$core.addClass("HLClassCache", $globals.Object, "Helios-Browser");
+$core.setSlots($globals.HLClassCache, ["class", "selectorsCache", "overrideCache", "overriddenCache"]);
 $core.addMethod(
 $core.method({
 selector: "invalidateChildrenSelector:",
@@ -1817,7 +1820,7 @@ return $recv($1)._yourself();
 $globals.HLClassCache.a$cls);
 
 
-$core.addClass("HLClassesListWidget", $globals.HLToolListWidget, [], "Helios-Browser");
+$core.addClass("HLClassesListWidget", $globals.HLToolListWidget, "Helios-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLClassesListWidget.comment="I render a list of classes in the selected package.";
 //>>excludeEnd("ide");
@@ -2976,7 +2979,8 @@ $globals.HLClassesListWidget);
 
 
 
-$core.addClass("HLDocumentationWidget", $globals.HLFocusableWidget, ["model"], "Helios-Browser");
+$core.addClass("HLDocumentationWidget", $globals.HLFocusableWidget, "Helios-Browser");
+$core.setSlots($globals.HLDocumentationWidget, ["model"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDocumentationWidget.comment="I render the documentation for the selected class";
 //>>excludeEnd("ide");
@@ -3670,7 +3674,8 @@ $globals.HLDocumentationWidget);
 
 
 
-$core.addClass("HLMethodsListWidget", $globals.HLToolListWidget, ["selectorsCache"], "Helios-Browser");
+$core.addClass("HLMethodsListWidget", $globals.HLToolListWidget, "Helios-Browser");
+$core.setSlots($globals.HLMethodsListWidget, ["selectorsCache"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLMethodsListWidget.comment="I render a list of methods for the selected protocol.";
 //>>excludeEnd("ide");
@@ -4690,7 +4695,7 @@ return $recv($globals.HLSelectorsCache)._current();
 $globals.HLMethodsListWidget.a$cls);
 
 
-$core.addClass("HLPackagesListWidget", $globals.HLToolListWidget, [], "Helios-Browser");
+$core.addClass("HLPackagesListWidget", $globals.HLToolListWidget, "Helios-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLPackagesListWidget.comment="I render a list of the system packages.";
 //>>excludeEnd("ide");
@@ -5135,7 +5140,7 @@ $globals.HLPackagesListWidget);
 
 
 
-$core.addClass("HLProtocolsListWidget", $globals.HLToolListWidget, [], "Helios-Browser");
+$core.addClass("HLProtocolsListWidget", $globals.HLToolListWidget, "Helios-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLProtocolsListWidget.comment="I render a list of protocols for the selected class.";
 //>>excludeEnd("ide");
@@ -5682,7 +5687,8 @@ $globals.HLProtocolsListWidget);
 
 
 
-$core.addClass("HLSelectorsCache", $globals.Object, ["classesCache"], "Helios-Browser");
+$core.addClass("HLSelectorsCache", $globals.Object, "Helios-Browser");
+$core.setSlots($globals.HLSelectorsCache, ["classesCache"]);
 $core.addMethod(
 $core.method({
 selector: "cacheFor:",

+ 16 - 17
src/Helios-Commands-Browser.js

@@ -1,10 +1,9 @@
 define(["amber/boot", "require", "helios/Helios-Commands-Tools"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Commands-Browser");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLBrowserCommand", $globals.HLToolCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLBrowserCommand", $globals.HLToolCommand, "Helios-Commands-Browser");
 
 $core.addMethod(
 $core.method({
@@ -30,7 +29,7 @@ return $recv(aModel)._isBrowserModel();
 $globals.HLBrowserCommand.a$cls);
 
 
-$core.addClass("HLBrowserGoToCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLBrowserGoToCommand", $globals.HLBrowserCommand, "Helios-Commands-Browser");
 
 $core.addMethod(
 $core.method({
@@ -92,7 +91,7 @@ return "Go to";
 $globals.HLBrowserGoToCommand.a$cls);
 
 
-$core.addClass("HLGoToClassesCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToClassesCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -155,7 +154,7 @@ return "Classes";
 $globals.HLGoToClassesCommand.a$cls);
 
 
-$core.addClass("HLGoToDocumentationCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToDocumentationCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -218,7 +217,7 @@ return "Documentation";
 $globals.HLGoToDocumentationCommand.a$cls);
 
 
-$core.addClass("HLGoToMethodsCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToMethodsCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -281,7 +280,7 @@ return "Methods";
 $globals.HLGoToMethodsCommand.a$cls);
 
 
-$core.addClass("HLGoToPackagesCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToPackagesCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -344,7 +343,7 @@ return "Packages";
 $globals.HLGoToPackagesCommand.a$cls);
 
 
-$core.addClass("HLGoToProtocolsCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToProtocolsCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -407,7 +406,7 @@ return "Protocols";
 $globals.HLGoToProtocolsCommand.a$cls);
 
 
-$core.addClass("HLGoToSourceCodeCommand", $globals.HLBrowserGoToCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGoToSourceCodeCommand", $globals.HLBrowserGoToCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -470,7 +469,7 @@ return "Source code";
 $globals.HLGoToSourceCodeCommand.a$cls);
 
 
-$core.addClass("HLEditCommentCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLEditCommentCommand", $globals.HLBrowserCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -564,7 +563,7 @@ return "Edit documentation";
 $globals.HLEditCommentCommand.a$cls);
 
 
-$core.addClass("HLGenerateCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGenerateCommand", $globals.HLBrowserCommand, "Helios-Commands-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLGenerateCommand.comment="I am a group command used to gather all the commands generating code (`accessors`, `initialize`, etc)";
 //>>excludeEnd("ide");
@@ -606,7 +605,7 @@ return "Generate";
 $globals.HLGenerateCommand.a$cls);
 
 
-$core.addClass("HLCategorizeUnclassifiedCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLCategorizeUnclassifiedCommand", $globals.HLGenerateCommand, "Helios-Commands-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLCategorizeUnclassifiedCommand.comment="I am the command used to categorize unclassified methods";
 //>>excludeEnd("ide");
@@ -683,7 +682,7 @@ return "Categorize";
 $globals.HLCategorizeUnclassifiedCommand.a$cls);
 
 
-$core.addClass("HLGenerateAccessorsCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGenerateAccessorsCommand", $globals.HLGenerateCommand, "Helios-Commands-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLGenerateAccessorsCommand.comment="I am the command used to generate the `getter` and the `setter` methods depending of the selected class";
 //>>excludeEnd("ide");
@@ -765,7 +764,7 @@ return "Initialize";
 $globals.HLGenerateAccessorsCommand.a$cls);
 
 
-$core.addClass("HLGenerateInitializeCommand", $globals.HLGenerateCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLGenerateInitializeCommand", $globals.HLGenerateCommand, "Helios-Commands-Browser");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLGenerateInitializeCommand.comment="I am the command used to generate the `initialize` method depending of the selected class";
 //>>excludeEnd("ide");
@@ -843,7 +842,7 @@ return "Accessors";
 $globals.HLGenerateInitializeCommand.a$cls);
 
 
-$core.addClass("HLToggleCommand", $globals.HLBrowserCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLToggleCommand", $globals.HLBrowserCommand, "Helios-Commands-Browser");
 
 $core.addMethod(
 $core.method({
@@ -882,7 +881,7 @@ return "Toggle";
 $globals.HLToggleCommand.a$cls);
 
 
-$core.addClass("HLToggleClassCommentCommand", $globals.HLToggleCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLToggleClassCommentCommand", $globals.HLToggleCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -949,7 +948,7 @@ return "Documentation";
 $globals.HLToggleClassCommentCommand.a$cls);
 
 
-$core.addClass("HLToggleClassSideCommand", $globals.HLToggleCommand, [], "Helios-Commands-Browser");
+$core.addClass("HLToggleClassSideCommand", $globals.HLToggleCommand, "Helios-Commands-Browser");
 $core.addMethod(
 $core.method({
 selector: "execute",

+ 11 - 10
src/Helios-Commands-Core.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Commands-Core");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLCommand", $globals.Object, ["input"], "Helios-Commands-Core");
+$core.addClass("HLCommand", $globals.Object, "Helios-Commands-Core");
+$core.setSlots($globals.HLCommand, ["input"]);
 $core.addMethod(
 $core.method({
 selector: "asActionBinding",
@@ -659,7 +659,7 @@ return $recv($self._new())._registerOn_(aBinding);
 $globals.HLCommand.a$cls);
 
 
-$core.addClass("HLCloseTabCommand", $globals.HLCommand, [], "Helios-Commands-Core");
+$core.addClass("HLCloseTabCommand", $globals.HLCommand, "Helios-Commands-Core");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -722,7 +722,8 @@ return "Close tab";
 $globals.HLCloseTabCommand.a$cls);
 
 
-$core.addClass("HLModelCommand", $globals.HLCommand, ["model"], "Helios-Commands-Core");
+$core.addClass("HLModelCommand", $globals.HLCommand, "Helios-Commands-Core");
+$core.setSlots($globals.HLModelCommand, ["model"]);
 $core.addMethod(
 $core.method({
 selector: "model",
@@ -854,7 +855,7 @@ return $recv($self._for_(aModel))._registerOn_(aBinding);
 $globals.HLModelCommand.a$cls);
 
 
-$core.addClass("HLOpenCommand", $globals.HLCommand, [], "Helios-Commands-Core");
+$core.addClass("HLOpenCommand", $globals.HLCommand, "Helios-Commands-Core");
 
 $core.addMethod(
 $core.method({
@@ -893,7 +894,7 @@ return "Open";
 $globals.HLOpenCommand.a$cls);
 
 
-$core.addClass("HLOpenBrowserCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
+$core.addClass("HLOpenBrowserCommand", $globals.HLOpenCommand, "Helios-Commands-Core");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -955,7 +956,7 @@ return "Browser";
 $globals.HLOpenBrowserCommand.a$cls);
 
 
-$core.addClass("HLOpenSUnitCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
+$core.addClass("HLOpenSUnitCommand", $globals.HLOpenCommand, "Helios-Commands-Core");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -1017,7 +1018,7 @@ return "SUnit";
 $globals.HLOpenSUnitCommand.a$cls);
 
 
-$core.addClass("HLOpenWorkspaceCommand", $globals.HLOpenCommand, [], "Helios-Commands-Core");
+$core.addClass("HLOpenWorkspaceCommand", $globals.HLOpenCommand, "Helios-Commands-Core");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -1079,7 +1080,7 @@ return "Workspace";
 $globals.HLOpenWorkspaceCommand.a$cls);
 
 
-$core.addClass("HLSwitchTabCommand", $globals.HLCommand, [], "Helios-Commands-Core");
+$core.addClass("HLSwitchTabCommand", $globals.HLCommand, "Helios-Commands-Core");
 $core.addMethod(
 $core.method({
 selector: "execute",
@@ -1228,7 +1229,7 @@ return "Switch tab";
 $globals.HLSwitchTabCommand.a$cls);
 
 
-$core.addClass("HLViewCommand", $globals.HLCommand, [], "Helios-Commands-Core");
+$core.addClass("HLViewCommand", $globals.HLCommand, "Helios-Commands-Core");
 
 $core.addMethod(
 $core.method({

+ 8 - 9
src/Helios-Commands-SUnit.js

@@ -1,10 +1,9 @@
 define(["amber/boot", "require", "helios/Helios-Commands-Tools"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Commands-SUnit");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLSUnitCommand", $globals.HLToolCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitCommand", $globals.HLToolCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitCommand.comment="I group the commands pertaining to Helios-SUnit (`HLSUnitModel`)";
 //>>excludeEnd("ide");
@@ -33,7 +32,7 @@ return $recv(aModel)._isKindOf_($globals.HLSUnitModel);
 $globals.HLSUnitCommand.a$cls);
 
 
-$core.addClass("HLSUnitInvertSelectedCommand", $globals.HLSUnitCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitInvertSelectedCommand", $globals.HLSUnitCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitInvertSelectedCommand.comment="I group the commands that invert selections";
 //>>excludeEnd("ide");
@@ -75,7 +74,7 @@ return "Invert selection";
 $globals.HLSUnitInvertSelectedCommand.a$cls);
 
 
-$core.addClass("HLSUnitInvertSelectedClassesCommand", $globals.HLSUnitInvertSelectedCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitInvertSelectedClassesCommand", $globals.HLSUnitInvertSelectedCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitInvertSelectedClassesCommand.comment="Invert the currently selected classes on a `HLSUnitModel`";
 //>>excludeEnd("ide");
@@ -182,7 +181,7 @@ return "Invert selected classes";
 $globals.HLSUnitInvertSelectedClassesCommand.a$cls);
 
 
-$core.addClass("HLSUnitInvertSelectedPackagesCommand", $globals.HLSUnitInvertSelectedCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitInvertSelectedPackagesCommand", $globals.HLSUnitInvertSelectedCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitInvertSelectedPackagesCommand.comment="Invert the currently selected packages on a `HLSUnitModel`";
 //>>excludeEnd("ide");
@@ -284,7 +283,7 @@ return "Invert selected packages";
 $globals.HLSUnitInvertSelectedPackagesCommand.a$cls);
 
 
-$core.addClass("HLSUnitRunTests", $globals.HLSUnitCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitRunTests", $globals.HLSUnitCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitRunTests.comment="Run the test cases in the currently selected classes on a `HLSUnitModel`";
 //>>excludeEnd("ide");
@@ -368,7 +367,7 @@ return "Run Tests";
 $globals.HLSUnitRunTests.a$cls);
 
 
-$core.addClass("HLSUnitSelectAllCommand", $globals.HLSUnitCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitSelectAllCommand", $globals.HLSUnitCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitSelectAllCommand.comment="I group the select all commands";
 //>>excludeEnd("ide");
@@ -410,7 +409,7 @@ return "Select all";
 $globals.HLSUnitSelectAllCommand.a$cls);
 
 
-$core.addClass("HLSUnitSelectAllClassesCommand", $globals.HLSUnitSelectAllCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitSelectAllClassesCommand", $globals.HLSUnitSelectAllCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitSelectAllClassesCommand.comment="Select all available test classes based on what packages are selected on a `HLSUnitModel`";
 //>>excludeEnd("ide");
@@ -517,7 +516,7 @@ return "Select all classes";
 $globals.HLSUnitSelectAllClassesCommand.a$cls);
 
 
-$core.addClass("HLSUnitSelectAllPackagesCommand", $globals.HLSUnitSelectAllCommand, [], "Helios-Commands-SUnit");
+$core.addClass("HLSUnitSelectAllPackagesCommand", $globals.HLSUnitSelectAllCommand, "Helios-Commands-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitSelectAllPackagesCommand.comment="Select all packages with test cases on a `HLSUnitModel`";
 //>>excludeEnd("ide");

+ 22 - 23
src/Helios-Commands-Tools.js

@@ -1,10 +1,9 @@
 define(["amber/boot", "require", "helios/Helios-Commands-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Commands-Tools");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLToolCommand", $globals.HLModelCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLToolCommand", $globals.HLModelCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -74,7 +73,7 @@ return $recv(aModel)._isToolModel();
 $globals.HLToolCommand.a$cls);
 
 
-$core.addClass("HLBrowseMethodCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLBrowseMethodCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "displayLabel",
@@ -178,7 +177,7 @@ return "browse method";
 $globals.HLBrowseMethodCommand.a$cls);
 
 
-$core.addClass("HLCommitPackageCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLCommitPackageCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -368,7 +367,7 @@ return "Commit package";
 $globals.HLCommitPackageCommand.a$cls);
 
 
-$core.addClass("HLCopyCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLCopyCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 
 $core.addMethod(
 $core.method({
@@ -407,7 +406,7 @@ return "Copy";
 $globals.HLCopyCommand.a$cls);
 
 
-$core.addClass("HLCopyClassCommand", $globals.HLCopyCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLCopyClassCommand", $globals.HLCopyCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -588,7 +587,7 @@ return "Copy class...";
 $globals.HLCopyClassCommand.a$cls);
 
 
-$core.addClass("HLFindCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLFindCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 
 $core.addMethod(
 $core.method({
@@ -627,7 +626,7 @@ return "Find";
 $globals.HLFindCommand.a$cls);
 
 
-$core.addClass("HLFindClassCommand", $globals.HLFindCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLFindClassCommand", $globals.HLFindCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "displayLabel",
@@ -767,7 +766,7 @@ return "Find class";
 $globals.HLFindClassCommand.a$cls);
 
 
-$core.addClass("HLFindReferencesCommand", $globals.HLFindCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLFindReferencesCommand", $globals.HLFindCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "defaultInput",
@@ -956,7 +955,7 @@ return "Find references";
 $globals.HLFindReferencesCommand.a$cls);
 
 
-$core.addClass("HLMoveToCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveToCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 
 $core.addMethod(
 $core.method({
@@ -995,7 +994,7 @@ return "Move";
 $globals.HLMoveToCommand.a$cls);
 
 
-$core.addClass("HLMoveClassToCommand", $globals.HLMoveToCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveClassToCommand", $globals.HLMoveToCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "isActive",
@@ -1057,7 +1056,7 @@ return "Move class";
 $globals.HLMoveClassToCommand.a$cls);
 
 
-$core.addClass("HLMoveClassToPackageCommand", $globals.HLMoveClassToCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveClassToPackageCommand", $globals.HLMoveClassToCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -1233,7 +1232,7 @@ return "Move to package...";
 $globals.HLMoveClassToPackageCommand.a$cls);
 
 
-$core.addClass("HLMoveMethodToCommand", $globals.HLMoveToCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveMethodToCommand", $globals.HLMoveToCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -1313,7 +1312,7 @@ return "Move method";
 $globals.HLMoveMethodToCommand.a$cls);
 
 
-$core.addClass("HLMoveMethodToClassCommand", $globals.HLMoveMethodToCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveMethodToClassCommand", $globals.HLMoveMethodToCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "displayLabel",
@@ -1471,7 +1470,7 @@ return "Move to class...";
 $globals.HLMoveMethodToClassCommand.a$cls);
 
 
-$core.addClass("HLMoveMethodToProtocolCommand", $globals.HLMoveMethodToCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLMoveMethodToProtocolCommand", $globals.HLMoveMethodToCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "displayLabel",
@@ -1629,7 +1628,7 @@ return "Move to protocol...";
 $globals.HLMoveMethodToProtocolCommand.a$cls);
 
 
-$core.addClass("HLRemoveCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRemoveCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 
 $core.addMethod(
 $core.method({
@@ -1668,7 +1667,7 @@ return "Remove";
 $globals.HLRemoveCommand.a$cls);
 
 
-$core.addClass("HLRemoveClassCommand", $globals.HLRemoveCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRemoveClassCommand", $globals.HLRemoveCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -1790,7 +1789,7 @@ return "Remove class";
 $globals.HLRemoveClassCommand.a$cls);
 
 
-$core.addClass("HLRemoveMethodCommand", $globals.HLRemoveCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRemoveMethodCommand", $globals.HLRemoveCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -1912,7 +1911,7 @@ return "Remove method";
 $globals.HLRemoveMethodCommand.a$cls);
 
 
-$core.addClass("HLRemoveProtocolCommand", $globals.HLRemoveCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRemoveProtocolCommand", $globals.HLRemoveCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -2034,7 +2033,7 @@ return "Remove protocol";
 $globals.HLRemoveProtocolCommand.a$cls);
 
 
-$core.addClass("HLRenameCommand", $globals.HLToolCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRenameCommand", $globals.HLToolCommand, "Helios-Commands-Tools");
 
 $core.addMethod(
 $core.method({
@@ -2073,7 +2072,7 @@ return "Rename";
 $globals.HLRenameCommand.a$cls);
 
 
-$core.addClass("HLRenameClassCommand", $globals.HLRenameCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRenameClassCommand", $globals.HLRenameCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -2254,7 +2253,7 @@ return "Rename class...";
 $globals.HLRenameClassCommand.a$cls);
 
 
-$core.addClass("HLRenamePackageCommand", $globals.HLRenameCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRenamePackageCommand", $globals.HLRenameCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",
@@ -2435,7 +2434,7 @@ return "Rename package...";
 $globals.HLRenamePackageCommand.a$cls);
 
 
-$core.addClass("HLRenameProtocolCommand", $globals.HLRenameCommand, [], "Helios-Commands-Tools");
+$core.addClass("HLRenameProtocolCommand", $globals.HLRenameCommand, "Helios-Commands-Tools");
 $core.addMethod(
 $core.method({
 selector: "category",

+ 39 - 23
src/Helios-Core.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "amber/web/Web"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Core");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLModel", $globals.Object, ["announcer", "environment"], "Helios-Core");
+$core.addClass("HLModel", $globals.Object, "Helios-Core");
+$core.setSlots($globals.HLModel, ["announcer", "environment"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLModel.comment="I am the abstract superclass of all models of Helios.\x0aI am the \x22Model\x22 part of the MVC pattern implementation in Helios.\x0a\x0aI provide access to an `Environment` object and both a local (model-specific) and global (system-specific) announcer.\x0a\x0aThe `#withChangesDo:` method is handy for performing model changes ensuring that all widgets are aware of the change and can prevent it from happening.\x0a\x0aModifications of the system should be done via commands (see `HLCommand` and subclasses).";
 //>>excludeEnd("ide");
@@ -227,7 +227,7 @@ $globals.HLModel);
 
 
 
-$core.addClass("HLFinder", $globals.HLModel, [], "Helios-Core");
+$core.addClass("HLFinder", $globals.HLModel, "Helios-Core");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLFinder.comment="I am the `Finder` service handler of Helios.\x0a\x0aFinding a class will open a new class browser, while finding a method will open a references browser.";
 //>>excludeEnd("ide");
@@ -324,7 +324,8 @@ $globals.HLFinder);
 
 
 
-$core.addClass("HLToolModel", $globals.HLModel, ["selectedClass", "selectedPackage", "selectedProtocol", "selectedSelector"], "Helios-Core");
+$core.addClass("HLToolModel", $globals.HLModel, "Helios-Core");
+$core.setSlots($globals.HLToolModel, ["selectedClass", "selectedPackage", "selectedProtocol", "selectedSelector"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLToolModel.comment="I am a model specific to package and class manipulation. All browsers should either use me or a subclass as their model.\x0a\x0aI provide methods for package, class, protocol and method manipulation and access, forwarding to my environment.\x0a\x0aI also handle compilation of classes and methods as well as compilation and parsing errors.";
 //>>excludeEnd("ide");
@@ -1891,7 +1892,7 @@ return $recv($1)._yourself();
 $globals.HLToolModel.a$cls);
 
 
-$core.addClass("HLProgressHandler", $globals.Object, [], "Helios-Core");
+$core.addClass("HLProgressHandler", $globals.Object, "Helios-Core");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLProgressHandler.comment="I am a specific progress handler for Helios, displaying progresses in a modal window.";
 //>>excludeEnd("ide");
@@ -1921,7 +1922,8 @@ $globals.HLProgressHandler);
 
 
 
-$core.addClass("HLWidget", $globals.Widget, ["wrapper"], "Helios-Core");
+$core.addClass("HLWidget", $globals.Widget, "Helios-Core");
+$core.setSlots($globals.HLWidget, ["wrapper"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLWidget.comment="I am the abstract superclass of all Helios widgets.\x0a\x0aI provide common methods, additional behavior to widgets useful for Helios, like dialog creation, command execution and tab creation.\x0a\x0a## API\x0a\x0a1. Rendering\x0a\x0a    Instead of overriding `#renderOn:` as with other Widget subclasses, my subclasses should override `#renderContentOn:`.\x0a\x0a2. Refreshing\x0a\x0a    To re-render a widget, use `#refresh`.\x0a\x0a3. Key bindings registration and tabs\x0a\x0a    When displayed as a tab, the widget has a chance to register keybindings with the `#registerBindingsOn:` hook method.\x0a    \x0a4. Unregistration\x0a\x0a    When a widget has subscribed to announcements or other actions that need to be cleared when closing the tab, the hook method `#unregister` will be called by helios.\x0a\x0a5. Tabs\x0a\x0a   To enable a widget class to be open as a tab, override the class-side `#canBeOpenAsTab` method to answer `true`. `#tabClass` and `#tabPriority` can be overridden too to respectively change the css class of the tab and the order of tabs in the main menu.\x0a\x0a6. Command execution\x0a\x0a    An helios command (instance of `HLCommand` or one of its subclass) can be executed with `#execute:`.";
 //>>excludeEnd("ide");
@@ -2591,7 +2593,7 @@ return (500);
 $globals.HLWidget.a$cls);
 
 
-$core.addClass("HLFocusableWidget", $globals.HLWidget, [], "Helios-Core");
+$core.addClass("HLFocusableWidget", $globals.HLWidget, "Helios-Core");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLFocusableWidget.comment="I am a widget that can be focused.\x0a\x0a## API \x0a\x0aInstead of overriding `#renderOn:` as with other `Widget` subclasses, my subclasses should override `#renderContentOn:`.\x0a\x0aTo bring the focus to the widget, use the `#focus` method.";
 //>>excludeEnd("ide");
@@ -2797,7 +2799,8 @@ $globals.HLFocusableWidget);
 
 
 
-$core.addClass("HLListWidget", $globals.HLFocusableWidget, ["items", "selectedItem"], "Helios-Core");
+$core.addClass("HLListWidget", $globals.HLFocusableWidget, "Helios-Core");
+$core.setSlots($globals.HLListWidget, ["items", "selectedItem"]);
 $core.addMethod(
 $core.method({
 selector: "activateFirstListItem",
@@ -3773,7 +3776,8 @@ $globals.HLListWidget);
 
 
 
-$core.addClass("HLNavigationListWidget", $globals.HLListWidget, ["previous", "next"], "Helios-Core");
+$core.addClass("HLNavigationListWidget", $globals.HLListWidget, "Helios-Core");
+$core.setSlots($globals.HLNavigationListWidget, ["previous", "next"]);
 $core.addMethod(
 $core.method({
 selector: "next",
@@ -3994,7 +3998,8 @@ $globals.HLNavigationListWidget);
 
 
 
-$core.addClass("HLToolListWidget", $globals.HLNavigationListWidget, ["model"], "Helios-Core");
+$core.addClass("HLToolListWidget", $globals.HLNavigationListWidget, "Helios-Core");
+$core.setSlots($globals.HLToolListWidget, ["model"]);
 $core.addMethod(
 $core.method({
 selector: "activateListItem:",
@@ -4685,7 +4690,8 @@ return $recv($1)._yourself();
 $globals.HLToolListWidget.a$cls);
 
 
-$core.addClass("HLTabListWidget", $globals.HLListWidget, ["callback"], "Helios-Core");
+$core.addClass("HLTabListWidget", $globals.HLListWidget, "Helios-Core");
+$core.setSlots($globals.HLTabListWidget, ["callback"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLTabListWidget.comment="I am a widget used to display a list of helios tabs.\x0a\x0aWhen a tab is selected, `callback` is evaluated with the selected tab as argument.";
 //>>excludeEnd("ide");
@@ -4801,7 +4807,8 @@ $globals.HLTabListWidget);
 
 
 
-$core.addClass("HLInformationWidget", $globals.HLWidget, ["informationString"], "Helios-Core");
+$core.addClass("HLInformationWidget", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLInformationWidget, ["informationString"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLInformationWidget.comment="I display an information dialog.\x0a\x0a## API\x0a\x0a`HLWidget >> #inform:` is a convenience method for creating information dialogs.";
 //>>excludeEnd("ide");
@@ -4960,7 +4967,8 @@ $globals.HLInformationWidget);
 
 
 
-$core.addClass("HLManager", $globals.HLWidget, ["tabsWidget", "environment", "history", "announcer", "rendered"], "Helios-Core");
+$core.addClass("HLManager", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLManager, ["tabsWidget", "environment", "history", "announcer", "rendered"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLManager.comment="HLManager is the entry point Class of Helios.\x0a\x0aIts `singleton` instance is created on startup, and rendered on body.";
 //>>excludeEnd("ide");
@@ -6120,7 +6128,7 @@ return self;
 $globals.HLManager.a$cls);
 
 
-$core.addClass("HLModalWidget", $globals.HLWidget, [], "Helios-Core");
+$core.addClass("HLModalWidget", $globals.HLWidget, "Helios-Core");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLModalWidget.comment="I implement an abstract modal widget.";
 //>>excludeEnd("ide");
@@ -6403,7 +6411,8 @@ return self;
 $globals.HLModalWidget.a$cls);
 
 
-$core.addClass("HLConfirmationWidget", $globals.HLModalWidget, ["cancelButtonLabel", "confirmButtonLabel", "confirmationString", "actionBlock", "cancelBlock"], "Helios-Core");
+$core.addClass("HLConfirmationWidget", $globals.HLModalWidget, "Helios-Core");
+$core.setSlots($globals.HLConfirmationWidget, ["cancelButtonLabel", "confirmButtonLabel", "confirmationString", "actionBlock", "cancelBlock"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLConfirmationWidget.comment="I display confirmation dialog. \x0a\x0a## API\x0a\x0aHLWidget contains convenience methods like `HLWidget >> #confirm:ifTrue:` for creating confirmation dialogs.";
 //>>excludeEnd("ide");
@@ -6815,7 +6824,8 @@ $globals.HLConfirmationWidget);
 
 
 
-$core.addClass("HLRequestWidget", $globals.HLConfirmationWidget, ["input", "multiline", "value"], "Helios-Core");
+$core.addClass("HLRequestWidget", $globals.HLConfirmationWidget, "Helios-Core");
+$core.setSlots($globals.HLRequestWidget, ["input", "multiline", "value"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLRequestWidget.comment="I display a modal window requesting user input.\x0a\x0a## API\x0a\x0a`HLWidget >> #request:do:` and `#request:value:do:` are convenience methods for creating modal request dialogs.";
 //>>excludeEnd("ide");
@@ -7055,7 +7065,8 @@ $globals.HLRequestWidget);
 
 
 
-$core.addClass("HLProgressWidget", $globals.HLModalWidget, ["progressBars", "visible"], "Helios-Core");
+$core.addClass("HLProgressWidget", $globals.HLModalWidget, "Helios-Core");
+$core.setSlots($globals.HLProgressWidget, ["progressBars", "visible"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLProgressWidget.comment="I am a widget used to display progress modal dialogs.\x0a\x0aMy default instance is accessed with `HLProgressWidget class >> #default`.\x0a\x0aSee `HLProgressHandler` for usage.";
 //>>excludeEnd("ide");
@@ -7406,7 +7417,8 @@ return $1;
 $globals.HLProgressWidget.a$cls);
 
 
-$core.addClass("HLTabSelectionWidget", $globals.HLModalWidget, ["tabs", "tabList", "selectedTab", "selectCallback", "cancelCallback", "confirmCallback"], "Helios-Core");
+$core.addClass("HLTabSelectionWidget", $globals.HLModalWidget, "Helios-Core");
+$core.setSlots($globals.HLTabSelectionWidget, ["tabs", "tabList", "selectedTab", "selectCallback", "cancelCallback", "confirmCallback"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLTabSelectionWidget.comment="I am a modal window used to select or create tabs.";
 //>>excludeEnd("ide");
@@ -8048,7 +8060,8 @@ $globals.HLTabSelectionWidget);
 
 
 
-$core.addClass("HLProgressBarWidget", $globals.HLWidget, ["label", "parent", "workBlock", "collection", "bar"], "Helios-Core");
+$core.addClass("HLProgressBarWidget", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLProgressBarWidget, ["label", "parent", "workBlock", "collection", "bar"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLProgressBarWidget.comment="I am a widget used to display a progress bar while iterating over a collection.";
 //>>excludeEnd("ide");
@@ -8414,7 +8427,8 @@ return $1;
 $globals.HLProgressBarWidget.a$cls);
 
 
-$core.addClass("HLSpotlightWidget", $globals.HLWidget, ["input"], "Helios-Core");
+$core.addClass("HLSpotlightWidget", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLSpotlightWidget, ["input"]);
 $core.addMethod(
 $core.method({
 selector: "findMatches:andRender:",
@@ -8591,7 +8605,8 @@ $globals.HLSpotlightWidget);
 
 
 
-$core.addClass("HLTabWidget", $globals.HLWidget, ["widget", "label", "root"], "Helios-Core");
+$core.addClass("HLTabWidget", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLTabWidget, ["widget", "label", "root"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLTabWidget.comment="I am a widget specialized into building another widget as an Helios tab.\x0a\x0aI should not be used directly, `HLWidget class >> #openAsTab` should be used instead.\x0a\x0a## Example\x0a\x0a    HLWorkspace openAsTab";
 //>>excludeEnd("ide");
@@ -9145,7 +9160,8 @@ return $recv($1)._yourself();
 $globals.HLTabWidget.a$cls);
 
 
-$core.addClass("HLTabsWidget", $globals.HLWidget, ["tabs", "activeTab", "history", "selectionDisabled", "spotlight"], "Helios-Core");
+$core.addClass("HLTabsWidget", $globals.HLWidget, "Helios-Core");
+$core.setSlots($globals.HLTabsWidget, ["tabs", "activeTab", "history", "selectionDisabled", "spotlight"]);
 $core.addMethod(
 $core.method({
 selector: "activate:",
@@ -10217,7 +10233,7 @@ $globals.HLTabsWidget);
 
 $core.setSlots($globals.HLTabsWidget.a$cls, ["current"]);
 
-$core.addClass("HLWelcomeWidget", $globals.HLWidget, [], "Helios-Core");
+$core.addClass("HLWelcomeWidget", $globals.HLWidget, "Helios-Core");
 $core.addMethod(
 $core.method({
 selector: "cssClass",

+ 12 - 8
src/Helios-Debugger.js

@@ -1,14 +1,14 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "helios/Helios-Core", "helios/Helios-Workspace"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Debugger");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.imports = ["amber/core/Compiler-Interpreter"];
 //>>excludeStart("imports", pragmas.excludeImports);
 $pkg.isReady = new Promise(function (resolve, reject) { requirejs(["amber/core/Compiler-Interpreter"], function () {resolve();}, reject); });
 //>>excludeEnd("imports");
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLContextInspectorDecorator", $globals.Object, ["context"], "Helios-Debugger");
+$core.addClass("HLContextInspectorDecorator", $globals.Object, "Helios-Debugger");
+$core.setSlots($globals.HLContextInspectorDecorator, ["context"]);
 $core.addMethod(
 $core.method({
 selector: "context",
@@ -174,7 +174,8 @@ return $recv($1)._yourself();
 $globals.HLContextInspectorDecorator.a$cls);
 
 
-$core.addClass("HLDebugger", $globals.HLFocusableWidget, ["model", "stackListWidget", "codeWidget", "inspectorWidget"], "Helios-Debugger");
+$core.addClass("HLDebugger", $globals.HLFocusableWidget, "Helios-Debugger");
+$core.setSlots($globals.HLDebugger, ["model", "stackListWidget", "codeWidget", "inspectorWidget"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDebugger.comment="I am the main widget for the Helios debugger.";
 //>>excludeEnd("ide");
@@ -702,7 +703,8 @@ return "Debugger";
 $globals.HLDebugger.a$cls);
 
 
-$core.addClass("HLDebuggerCodeModel", $globals.HLCodeModel, ["debuggerModel"], "Helios-Debugger");
+$core.addClass("HLDebuggerCodeModel", $globals.HLCodeModel, "Helios-Debugger");
+$core.setSlots($globals.HLDebuggerCodeModel, ["debuggerModel"]);
 $core.addMethod(
 $core.method({
 selector: "debuggerModel",
@@ -765,7 +767,7 @@ $globals.HLDebuggerCodeModel);
 
 
 
-$core.addClass("HLDebuggerCodeWidget", $globals.HLBrowserCodeWidget, [], "Helios-Debugger");
+$core.addClass("HLDebuggerCodeWidget", $globals.HLBrowserCodeWidget, "Helios-Debugger");
 $core.addMethod(
 $core.method({
 selector: "addStopAt:",
@@ -1098,7 +1100,8 @@ $globals.HLDebuggerCodeWidget);
 
 
 
-$core.addClass("HLDebuggerModel", $globals.HLToolModel, ["rootContext", "debugger", "error"], "Helios-Debugger");
+$core.addClass("HLDebuggerModel", $globals.HLToolModel, "Helios-Debugger");
+$core.setSlots($globals.HLDebuggerModel, ["rootContext", "debugger", "error"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLDebuggerModel.comment="I am a model for debugging Amber code in Helios.\x0a\x0aMy instances hold a reference to an `ASTDebugger` instance, itself referencing the current `context`. The context should be the root of the context stack.";
 //>>excludeEnd("ide");
@@ -1580,7 +1583,8 @@ return $recv($1)._yourself();
 $globals.HLDebuggerModel.a$cls);
 
 
-$core.addClass("HLErrorHandler", $globals.Object, ["confirms"], "Helios-Debugger");
+$core.addClass("HLErrorHandler", $globals.Object, "Helios-Debugger");
+$core.setSlots($globals.HLErrorHandler, ["confirms"]);
 $core.addMethod(
 $core.method({
 selector: "confirmDebugError:",
@@ -1747,7 +1751,7 @@ $globals.HLErrorHandler);
 
 
 
-$core.addClass("HLStackListWidget", $globals.HLToolListWidget, [], "Helios-Debugger");
+$core.addClass("HLStackListWidget", $globals.HLToolListWidget, "Helios-Debugger");
 $core.addMethod(
 $core.method({
 selector: "items",

+ 3 - 4
src/Helios-Exceptions.js

@@ -1,22 +1,21 @@
 define(["amber/boot", "require", "amber/core/Kernel-Exceptions"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Exceptions");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLError", $globals.Error, [], "Helios-Exceptions");
+$core.addClass("HLError", $globals.Error, "Helios-Exceptions");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLError.comment="I am the abstract superclass of all Helios-specific errors.";
 //>>excludeEnd("ide");
 
 
-$core.addClass("HLChangeForbidden", $globals.HLError, [], "Helios-Exceptions");
+$core.addClass("HLChangeForbidden", $globals.HLError, "Helios-Exceptions");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLChangeForbidden.comment="I get signaled when a (often user) requested change is forbidden. A confirmation message can then be displayed to the user.\x0a\x0aSee `HLModel >> withChangesDo:`.";
 //>>excludeEnd("ide");
 
 
-$core.addClass("HLListItemNotFound", $globals.HLError, [], "Helios-Exceptions");
+$core.addClass("HLListItemNotFound", $globals.HLError, "Helios-Exceptions");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLListItemNotFound.comment="I get signaled by a `HLListWidget` when a non-existing item in the list is activated.";
 //>>excludeEnd("ide");

+ 19 - 13
src/Helios-Helpers.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Helpers");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLClassifier", $globals.Object, ["next", "method"], "Helios-Helpers");
+$core.addClass("HLClassifier", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLClassifier, ["next", "method"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLClassifier.comment="I am an abstract class implementing a link in a `chain of responsibility` pattern.\x0a\x0aSubclasses are in charge of classifying a method according to multiple strategies.";
 //>>excludeEnd("ide");
@@ -160,7 +160,7 @@ $globals.HLClassifier);
 
 
 
-$core.addClass("HLAccessorClassifier", $globals.HLClassifier, [], "Helios-Helpers");
+$core.addClass("HLAccessorClassifier", $globals.HLClassifier, "Helios-Helpers");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLAccessorClassifier.comment="I am a classifier checking the method selector matches an instance variable name.";
 //>>excludeEnd("ide");
@@ -200,7 +200,7 @@ $globals.HLAccessorClassifier);
 
 
 
-$core.addClass("HLImplementorClassifier", $globals.HLClassifier, [], "Helios-Helpers");
+$core.addClass("HLImplementorClassifier", $globals.HLClassifier, "Helios-Helpers");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLImplementorClassifier.comment="I am a classifier checking the other implementations of the same selector and choose the protocol the most populated.";
 //>>excludeEnd("ide");
@@ -264,7 +264,8 @@ $globals.HLImplementorClassifier);
 
 
 
-$core.addClass("HLPrefixClassifier", $globals.HLClassifier, ["prefixMapping"], "Helios-Helpers");
+$core.addClass("HLPrefixClassifier", $globals.HLClassifier, "Helios-Helpers");
+$core.setSlots($globals.HLPrefixClassifier, ["prefixMapping"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLPrefixClassifier.comment="I am classifier checking the method selector to know if it begins with a known prefix.";
 //>>excludeEnd("ide");
@@ -424,7 +425,7 @@ $globals.HLPrefixClassifier);
 
 
 
-$core.addClass("HLSuperclassClassifier", $globals.HLClassifier, [], "Helios-Helpers");
+$core.addClass("HLSuperclassClassifier", $globals.HLClassifier, "Helios-Helpers");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSuperclassClassifier.comment="I am a classifier checking the superclass chain to find a matching selector.";
 //>>excludeEnd("ide");
@@ -531,7 +532,8 @@ $globals.HLSuperclassClassifier);
 
 
 
-$core.addClass("HLGenerationOutput", $globals.Object, ["sourceCodes", "protocol", "targetClass"], "Helios-Helpers");
+$core.addClass("HLGenerationOutput", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLGenerationOutput, ["sourceCodes", "protocol", "targetClass"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLGenerationOutput.comment="I am a simple data object used to store the result of a generation process.";
 //>>excludeEnd("ide");
@@ -739,7 +741,8 @@ $globals.HLGenerationOutput);
 
 
 
-$core.addClass("HLMethodClassifier", $globals.Object, ["firstClassifier"], "Helios-Helpers");
+$core.addClass("HLMethodClassifier", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLMethodClassifier, ["firstClassifier"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLMethodClassifier.comment="I am in charge of categorizing methods following this strategy:\x0a\x0a- is it an accessor?\x0a- is it overriding a superclass method?\x0a- is it starting with a know prefix?\x0a- how are categorized the other implementations?";
 //>>excludeEnd("ide");
@@ -913,7 +916,8 @@ $globals.HLMethodClassifier);
 
 
 
-$core.addClass("HLMethodGenerator", $globals.Object, ["output"], "Helios-Helpers");
+$core.addClass("HLMethodGenerator", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLMethodGenerator, ["output"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLMethodGenerator.comment="I am the abstract super class of the method generators.\x0a\x0aMy main method is `generate` which produces an `output` object accessed with `#output`.";
 //>>excludeEnd("ide");
@@ -1024,7 +1028,7 @@ $globals.HLMethodGenerator);
 
 
 
-$core.addClass("HLAccessorsGenerator", $globals.HLMethodGenerator, [], "Helios-Helpers");
+$core.addClass("HLAccessorsGenerator", $globals.HLMethodGenerator, "Helios-Helpers");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLAccessorsGenerator.comment="I am a generator used to compile the getters/setters of a class.";
 //>>excludeEnd("ide");
@@ -1224,7 +1228,7 @@ $globals.HLAccessorsGenerator);
 
 
 
-$core.addClass("HLInitializeGenerator", $globals.HLMethodGenerator, [], "Helios-Helpers");
+$core.addClass("HLInitializeGenerator", $globals.HLMethodGenerator, "Helios-Helpers");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLInitializeGenerator.comment="I am used to double-dispatch the `initialize` method(s) generation. I am a disposable object.\x0a\x0a## Usage\x0a\x0a    ^ HLInitializeGenerator new\x0a        class: aClass;\x0a        generate;\x0a        output";
 //>>excludeEnd("ide");
@@ -1435,7 +1439,8 @@ $globals.HLInitializeGenerator);
 
 
 
-$core.addClass("HLMethodSourceCode", $globals.Object, ["selector", "sourceCode"], "Helios-Helpers");
+$core.addClass("HLMethodSourceCode", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLMethodSourceCode, ["selector", "sourceCode"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLMethodSourceCode.comment="I am a simple data object keeping track of the information about a method that will be compiled at the end of the generation process.";
 //>>excludeEnd("ide");
@@ -1515,7 +1520,8 @@ $globals.HLMethodSourceCode);
 
 
 
-$core.addClass("HLPackageCommitErrorHelper", $globals.Object, ["model"], "Helios-Helpers");
+$core.addClass("HLPackageCommitErrorHelper", $globals.Object, "Helios-Helpers");
+$core.setSlots($globals.HLPackageCommitErrorHelper, ["model"]);
 $core.addMethod(
 $core.method({
 selector: "commitPackage",

+ 9 - 6
src/Helios-Inspector.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Inspector");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLInspectorDisplayWidget", $globals.HLNavigationListWidget, ["inspector"], "Helios-Inspector");
+$core.addClass("HLInspectorDisplayWidget", $globals.HLNavigationListWidget, "Helios-Inspector");
+$core.setSlots($globals.HLInspectorDisplayWidget, ["inspector"]);
 $core.addMethod(
 $core.method({
 selector: "inspector",
@@ -127,7 +127,8 @@ $globals.HLInspectorDisplayWidget);
 
 
 
-$core.addClass("HLInspectorModel", $globals.HLModel, ["inspectee", "code", "variables", "label", "selection"], "Helios-Inspector");
+$core.addClass("HLInspectorModel", $globals.HLModel, "Helios-Inspector");
+$core.setSlots($globals.HLInspectorModel, ["inspectee", "code", "variables", "label", "selection"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLInspectorModel.comment="I am the model of the Helios inspector `HLInspectorWidget`.\x0a\x0a## API\x0a\x0aUse the method `inspect:on:` to inspect an object on an inspector.";
 //>>excludeEnd("ide");
@@ -512,7 +513,8 @@ return $recv($1)._yourself();
 $globals.HLInspectorModel.a$cls);
 
 
-$core.addClass("HLInspectorVariablesWidget", $globals.HLNavigationListWidget, ["announcer", "inspector", "list", "diveButton"], "Helios-Inspector");
+$core.addClass("HLInspectorVariablesWidget", $globals.HLNavigationListWidget, "Helios-Inspector");
+$core.setSlots($globals.HLInspectorVariablesWidget, ["announcer", "inspector", "list", "diveButton"]);
 $core.addMethod(
 $core.method({
 selector: "announcer",
@@ -913,7 +915,8 @@ $globals.HLInspectorVariablesWidget);
 
 
 
-$core.addClass("HLInspectorWidget", $globals.HLWidget, ["model", "variablesWidget", "displayWidget", "codeWidget"], "Helios-Inspector");
+$core.addClass("HLInspectorWidget", $globals.HLWidget, "Helios-Inspector");
+$core.setSlots($globals.HLInspectorWidget, ["model", "variablesWidget", "displayWidget", "codeWidget"]);
 $core.addMethod(
 $core.method({
 selector: "codeWidget",
@@ -1673,7 +1676,7 @@ $globals.HLInspectorWidget);
 
 
 
-$core.addClass("HLInspector", $globals.HLInspectorWidget, [], "Helios-Inspector");
+$core.addClass("HLInspector", $globals.HLInspectorWidget, "Helios-Inspector");
 $core.addMethod(
 $core.method({
 selector: "inspect:",

+ 14 - 8
src/Helios-KeyBindings.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "amber/web/Web", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-KeyBindings");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLBinding", $globals.Object, ["key", "label"], "Helios-KeyBindings");
+$core.addClass("HLBinding", $globals.Object, "Helios-KeyBindings");
+$core.setSlots($globals.HLBinding, ["key", "label"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBinding.comment="I am the abstract representation of a keybinding in Helios. My instances hold a key (integer value) and a label. \x0a\x0aBindings are built into a tree of keys, so pressing a key may result in more key choices (for example, to open a workspace, 'o' is pressed first then 'w' is pressed).\x0a\x0aBinding action handling and selection is handled by the `current` instance of `HLKeyBinder`.\x0a\x0aSubclasses implement specific behavior like evaluating actions or (sub-)grouping other bindings.";
 //>>excludeEnd("ide");
@@ -252,7 +252,8 @@ return $recv($1)._yourself();
 $globals.HLBinding.a$cls);
 
 
-$core.addClass("HLBindingAction", $globals.HLBinding, ["command"], "Helios-KeyBindings");
+$core.addClass("HLBindingAction", $globals.HLBinding, "Helios-KeyBindings");
+$core.setSlots($globals.HLBindingAction, ["command"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBindingAction.comment="My instances are the leafs of the binding tree. They evaluate actions through commands, instances of concrete subclasses of `HLCommand`.\x0a\x0aThe `#apply` methods is used to evaluate the `command`. If the command requires user input, an `inputWidget` will be displayed to the user.";
 //>>excludeEnd("ide");
@@ -497,7 +498,8 @@ $globals.HLBindingAction);
 
 
 
-$core.addClass("HLBindingGroup", $globals.HLBinding, ["bindings"], "Helios-KeyBindings");
+$core.addClass("HLBindingGroup", $globals.HLBinding, "Helios-KeyBindings");
+$core.setSlots($globals.HLBindingGroup, ["bindings"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBindingGroup.comment="My instances hold other bindings, either actions or groups, and do not have actions by themselves.\x0a\x0aChildren are accessed with `atKey:` and added with the `add*` methods.";
 //>>excludeEnd("ide");
@@ -851,7 +853,8 @@ $globals.HLBindingGroup);
 
 
 
-$core.addClass("HLBindingActionInputWidget", $globals.Widget, ["input", "callback", "status", "wrapper", "ghostText", "message", "inputCompletion", "defaultValue", "messageTag"], "Helios-KeyBindings");
+$core.addClass("HLBindingActionInputWidget", $globals.Widget, "Helios-KeyBindings");
+$core.setSlots($globals.HLBindingActionInputWidget, ["input", "callback", "status", "wrapper", "ghostText", "message", "inputCompletion", "defaultValue", "messageTag"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLBindingActionInputWidget.comment="My instances are built when a `HLBindingAction` that requires user input is applied.";
 //>>excludeEnd("ide");
@@ -1386,7 +1389,8 @@ $globals.HLBindingActionInputWidget);
 
 
 
-$core.addClass("HLKeyBinder", $globals.Object, ["modifierKey", "helper", "bindings", "selectedBinding"], "Helios-KeyBindings");
+$core.addClass("HLKeyBinder", $globals.Object, "Helios-KeyBindings");
+$core.setSlots($globals.HLKeyBinder, ["modifierKey", "helper", "bindings", "selectedBinding"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLKeyBinder.comment="My `current` instance holds keybindings for Helios actions and evaluate them.\x0a\x0aBindings can be nested by groups. The `bindings` instance variable holds the root of the key bindings tree.\x0a\x0aBindings are instances of a concrete subclass of `HLBinding`.\x0a\x0aI am always either in 'active' or 'inactive' state. In active state I capture key down events and my `helper` widget is displayed at the bottom of the window. My `selectedBinding`, if any, is displayed by the helper.\x0a\x0aBindings are evaluated through `applyBinding:`. If a binding is final (not a group of other bindings), evaluating it will result in deactivating the binder, and hiding the `helper` widget.";
 //>>excludeEnd("ide");
@@ -2088,7 +2092,8 @@ return self;
 $globals.HLKeyBinder.a$cls);
 
 
-$core.addClass("HLKeyBinderHelperWidget", $globals.HLWidget, ["keyBinder"], "Helios-KeyBindings");
+$core.addClass("HLKeyBinderHelperWidget", $globals.HLWidget, "Helios-KeyBindings");
+$core.setSlots($globals.HLKeyBinderHelperWidget, ["keyBinder"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLKeyBinderHelperWidget.comment="I am the widget responsible for displaying active keybindings in a bar at the bottom of the window. Each keybinding is an instance of `HLBinding`. \x0a\x0aRendering is done through a double dispatch, see `#renderSelectedBindingOn:`.";
 //>>excludeEnd("ide");
@@ -2678,7 +2683,8 @@ return $recv($1)._yourself();
 $globals.HLKeyBinderHelperWidget.a$cls);
 
 
-$core.addClass("HLRepeatedKeyDownHandler", $globals.Object, ["repeatInterval", "delay", "interval", "keyBindings", "widget", "keyDown"], "Helios-KeyBindings");
+$core.addClass("HLRepeatedKeyDownHandler", $globals.Object, "Helios-KeyBindings");
+$core.setSlots($globals.HLRepeatedKeyDownHandler, ["repeatInterval", "delay", "interval", "keyBindings", "widget", "keyDown"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLRepeatedKeyDownHandler.comment="I am responsible for handling repeated key down actions for widgets.\x0a\x0a##Usage\x0a\x0a    (self on: aWidget)\x0a        whileKeyDown: 38 do: aBlock;\x0a        whileKeyDown: 40 do: anotherBlock;\x0a        bindKeys\x0a\x0aI perform an action block on a key press, wait for 300 ms and then preform the same action block every `repeatInterval` milliseconds until the key is released.";
 //>>excludeEnd("ide");

+ 6 - 5
src/Helios-Layout.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "amber/web/Web", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Layout");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLContainer", $globals.HLWidget, ["splitter"], "Helios-Layout");
+$core.addClass("HLContainer", $globals.HLWidget, "Helios-Layout");
+$core.setSlots($globals.HLContainer, ["splitter"]);
 $core.addMethod(
 $core.method({
 selector: "renderOn:",
@@ -97,7 +97,8 @@ return $recv($1)._yourself();
 $globals.HLContainer.a$cls);
 
 
-$core.addClass("HLSplitter", $globals.Widget, ["firstWidget", "secondWidget", "firstPane", "secondPane", "splitter"], "Helios-Layout");
+$core.addClass("HLSplitter", $globals.Widget, "Helios-Layout");
+$core.setSlots($globals.HLSplitter, ["firstWidget", "secondWidget", "firstPane", "secondPane", "splitter"]);
 $core.addMethod(
 $core.method({
 selector: "cssClass",
@@ -366,7 +367,7 @@ return $recv($1)._yourself();
 $globals.HLSplitter.a$cls);
 
 
-$core.addClass("HLHorizontalSplitter", $globals.HLSplitter, [], "Helios-Layout");
+$core.addClass("HLHorizontalSplitter", $globals.HLSplitter, "Helios-Layout");
 $core.addMethod(
 $core.method({
 selector: "cssClass",
@@ -607,7 +608,7 @@ $globals.HLHorizontalSplitter);
 
 
 
-$core.addClass("HLVerticalSplitter", $globals.HLSplitter, [], "Helios-Layout");
+$core.addClass("HLVerticalSplitter", $globals.HLSplitter, "Helios-Layout");
 $core.addMethod(
 $core.method({
 selector: "cssClass",

+ 9 - 8
src/Helios-References.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-References");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLReferences", $globals.HLWidget, ["model", "sendersListWidget", "implementorsListWidget", "classReferencesListWidget", "regexpListWidget", "sourceCodeWidget"], "Helios-References");
+$core.addClass("HLReferences", $globals.HLWidget, "Helios-References");
+$core.setSlots($globals.HLReferences, ["model", "sendersListWidget", "implementorsListWidget", "classReferencesListWidget", "regexpListWidget", "sourceCodeWidget"]);
 $core.addMethod(
 $core.method({
 selector: "classReferencesListWidget",
@@ -376,7 +376,7 @@ return (100);
 $globals.HLReferences.a$cls);
 
 
-$core.addClass("HLReferencesListWidget", $globals.HLToolListWidget, [], "Helios-References");
+$core.addClass("HLReferencesListWidget", $globals.HLToolListWidget, "Helios-References");
 $core.addMethod(
 $core.method({
 selector: "activateListItem:",
@@ -669,7 +669,7 @@ return $recv($1)._yourself();
 $globals.HLReferencesListWidget.a$cls);
 
 
-$core.addClass("HLClassReferencesListWidget", $globals.HLReferencesListWidget, [], "Helios-References");
+$core.addClass("HLClassReferencesListWidget", $globals.HLReferencesListWidget, "Helios-References");
 $core.addMethod(
 $core.method({
 selector: "label",
@@ -716,7 +716,7 @@ $globals.HLClassReferencesListWidget);
 
 
 
-$core.addClass("HLImplementorsListWidget", $globals.HLReferencesListWidget, [], "Helios-References");
+$core.addClass("HLImplementorsListWidget", $globals.HLReferencesListWidget, "Helios-References");
 $core.addMethod(
 $core.method({
 selector: "label",
@@ -763,7 +763,7 @@ $globals.HLImplementorsListWidget);
 
 
 
-$core.addClass("HLRegexpListWidget", $globals.HLReferencesListWidget, [], "Helios-References");
+$core.addClass("HLRegexpListWidget", $globals.HLReferencesListWidget, "Helios-References");
 $core.addMethod(
 $core.method({
 selector: "label",
@@ -810,7 +810,7 @@ $globals.HLRegexpListWidget);
 
 
 
-$core.addClass("HLSendersListWidget", $globals.HLReferencesListWidget, [], "Helios-References");
+$core.addClass("HLSendersListWidget", $globals.HLReferencesListWidget, "Helios-References");
 $core.addMethod(
 $core.method({
 selector: "label",
@@ -857,7 +857,8 @@ $globals.HLSendersListWidget);
 
 
 
-$core.addClass("HLReferencesModel", $globals.HLToolModel, ["methodsCache", "classesAndMetaclassesCache"], "Helios-References");
+$core.addClass("HLReferencesModel", $globals.HLToolModel, "Helios-References");
+$core.setSlots($globals.HLReferencesModel, ["methodsCache", "classesAndMetaclassesCache"]);
 $core.addMethod(
 $core.method({
 selector: "allMethods",

+ 2 - 2
src/Helios-SUnit-Tests.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/SUnit"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-SUnit-Tests");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLSUnitModelTest", $globals.TestCase, ["model"], "Helios-SUnit-Tests");
+$core.addClass("HLSUnitModelTest", $globals.TestCase, "Helios-SUnit-Tests");
+$core.setSlots($globals.HLSUnitModelTest, ["model"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitModelTest.comment="Test cases for the functionality of  `HLSUnitModel`";
 //>>excludeEnd("ide");

+ 14 - 11
src/Helios-SUnit.js

@@ -1,10 +1,9 @@
 define(["amber/boot", "require", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-SUnit");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLMultiSelectToolListWidget", $globals.HLToolListWidget, [], "Helios-SUnit");
+$core.addClass("HLMultiSelectToolListWidget", $globals.HLToolListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLMultiSelectToolListWidget.comment="This is a list that handles multiple selection";
 //>>excludeEnd("ide");
@@ -246,7 +245,7 @@ $globals.HLMultiSelectToolListWidget);
 
 
 
-$core.addClass("HLSUnitClassesListWidget", $globals.HLMultiSelectToolListWidget, [], "Helios-SUnit");
+$core.addClass("HLSUnitClassesListWidget", $globals.HLMultiSelectToolListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitClassesListWidget.comment="I display a list of  classes (subclasses of `TestCase`).";
 //>>excludeEnd("ide");
@@ -689,7 +688,7 @@ $globals.HLSUnitClassesListWidget);
 
 
 
-$core.addClass("HLSUnitPackagesListWidget", $globals.HLMultiSelectToolListWidget, [], "Helios-SUnit");
+$core.addClass("HLSUnitPackagesListWidget", $globals.HLMultiSelectToolListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitPackagesListWidget.comment="I display a list of packages for which unit tests are associated (packages containing subclasses of `TestCase`).";
 //>>excludeEnd("ide");
@@ -1134,7 +1133,8 @@ $globals.HLSUnitPackagesListWidget);
 
 
 
-$core.addClass("HLSUnit", $globals.HLWidget, ["model", "packagesListWidget", "classesListWidget", "resultWidget", "failuresWidget", "errorsWidget"], "Helios-SUnit");
+$core.addClass("HLSUnit", $globals.HLWidget, "Helios-SUnit");
+$core.setSlots($globals.HLSUnit, ["model", "packagesListWidget", "classesListWidget", "resultWidget", "failuresWidget", "errorsWidget"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnit.comment="I am the main widget for running unit tests in Helios.\x0a\x0aI provide the ability to select set of tests to run per package, and a detailed result log with passed tests, failed tests and errors.";
 //>>excludeEnd("ide");
@@ -1538,7 +1538,8 @@ return (1000);
 $globals.HLSUnit.a$cls);
 
 
-$core.addClass("HLSUnitModel", $globals.HLModel, ["selectedPackages", "selectedClasses", "testResult", "currentSuite"], "Helios-SUnit");
+$core.addClass("HLSUnitModel", $globals.HLModel, "Helios-SUnit");
+$core.setSlots($globals.HLSUnitModel, ["selectedPackages", "selectedClasses", "testResult", "currentSuite"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitModel.comment="I am the model for running unit tests in Helios.\x0a\x0aI provide the ability to select set of tests to run per package, and a detailed result log with passed tests, failed tests and errors.";
 //>>excludeEnd("ide");
@@ -2133,7 +2134,7 @@ $globals.HLSUnitModel);
 
 
 
-$core.addClass("HLSUnitResultListWidget", $globals.HLToolListWidget, [], "Helios-SUnit");
+$core.addClass("HLSUnitResultListWidget", $globals.HLToolListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitResultListWidget.comment="I group the lists that display test results";
 //>>excludeEnd("ide");
@@ -2263,7 +2264,7 @@ $globals.HLSUnitResultListWidget);
 
 
 
-$core.addClass("HLSUnitErrorsListWidget", $globals.HLSUnitResultListWidget, [], "Helios-SUnit");
+$core.addClass("HLSUnitErrorsListWidget", $globals.HLSUnitResultListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitErrorsListWidget.comment="I display a list of tests that have errors";
 //>>excludeEnd("ide");
@@ -2310,7 +2311,7 @@ $globals.HLSUnitErrorsListWidget);
 
 
 
-$core.addClass("HLSUnitFailuresListWidget", $globals.HLSUnitResultListWidget, [], "Helios-SUnit");
+$core.addClass("HLSUnitFailuresListWidget", $globals.HLSUnitResultListWidget, "Helios-SUnit");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitFailuresListWidget.comment="I display a list of tests that have failures";
 //>>excludeEnd("ide");
@@ -2357,7 +2358,8 @@ $globals.HLSUnitFailuresListWidget);
 
 
 
-$core.addClass("HLSUnitResultStatus", $globals.HLWidget, ["model"], "Helios-SUnit");
+$core.addClass("HLSUnitResultStatus", $globals.HLWidget, "Helios-SUnit");
+$core.setSlots($globals.HLSUnitResultStatus, ["model"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitResultStatus.comment="I display the status of the previous test run\x0a\x0a1. How many tests where run.\x0a* How many tests passed.\x0a* How many tests failed.\x0a* How many tests resulted in an error.";
 //>>excludeEnd("ide");
@@ -2723,7 +2725,8 @@ $globals.HLSUnitResultStatus);
 
 
 
-$core.addClass("HLSUnitResults", $globals.HLWidget, ["model", "progressBarWidget", "resultStatusWidget"], "Helios-SUnit");
+$core.addClass("HLSUnitResults", $globals.HLWidget, "Helios-SUnit");
+$core.setSlots($globals.HLSUnitResults, ["model", "progressBarWidget", "resultStatusWidget"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLSUnitResults.comment="I am the widget that displays the test results for a previous test run in Helios.\x0a\x0aI display.\x0a\x0a1. The status of the tests.\x0a* Progress of the currently running test suite.";
 //>>excludeEnd("ide");

+ 3 - 3
src/Helios-Transcript.js

@@ -1,10 +1,10 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Transcript");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLTranscript", $globals.HLWidget, ["textarea"], "Helios-Transcript");
+$core.addClass("HLTranscript", $globals.HLWidget, "Helios-Transcript");
+$core.setSlots($globals.HLTranscript, ["textarea"]);
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLTranscript.comment="I am a widget responsible for displaying transcript contents.\x0a\x0a## Transcript API\x0a\x0a    Transcript \x0a        show: 'hello world';\x0a        cr;\x0a        show: anObject.\x0a\x0a    Transcript clear.\x0a\x0aSee the `Transcript` service class.";
 //>>excludeEnd("ide");
@@ -190,7 +190,7 @@ $globals.HLTranscript);
 
 
 
-$core.addClass("HLTranscriptHandler", $globals.Object, [], "Helios-Transcript");
+$core.addClass("HLTranscriptHandler", $globals.Object, "Helios-Transcript");
 //>>excludeStart("ide", pragmas.excludeIdeData);
 $globals.HLTranscriptHandler.comment="I handle transcript events, dispatching them to all instances of `HLTranscript`.\x0a\x0a## API\x0a\x0aUse the class-side method `#register:` to add transcript instances.";
 //>>excludeEnd("ide");

+ 1 - 2
src/Helios-Workspace-Tests.js

@@ -1,10 +1,9 @@
 define(["amber/boot", "require", "amber/core/SUnit"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Workspace-Tests");
-$pkg.innerEval = function (expr) { return eval(expr); };
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLCodeWidgetTest", $globals.TestCase, [], "Helios-Workspace-Tests");
+$core.addClass("HLCodeWidgetTest", $globals.TestCase, "Helios-Workspace-Tests");
 $core.addMethod(
 $core.method({
 selector: "testKeyMap",

+ 11 - 6
src/Helios-Workspace.js

@@ -1,7 +1,7 @@
 define(["amber/boot", "require", "amber/core/Kernel-Objects", "helios/Helios-Core"], function($boot,requirejs){"use strict";
 var $core=$boot.api,nil=$boot.nilAsValue,$nil=$boot.nilAsReceiver,$recv=$boot.asReceiver,$globals=$boot.globals;
 var $pkg = $core.addPackage("Helios-Workspace");
-$pkg.innerEval = function (expr) { return eval(expr); };
+$pkg.context = function () { return {codeMirrorLib:codeMirrorLib}; };
 $pkg.imports = ["codeMirrorLib=codemirror/lib/codemirror", "codemirror/addon/hint/show-hint", "codemirror/mode/smalltalk/smalltalk"];
 //>>excludeStart("imports", pragmas.excludeImports);
 var codeMirrorLib;
@@ -9,7 +9,8 @@ $pkg.isReady = new Promise(function (resolve, reject) { requirejs(["codemirror/l
 //>>excludeEnd("imports");
 $pkg.transport = {"type":"amd","amdNamespace":"helios"};
 
-$core.addClass("HLCodeModel", $globals.Object, ["announcer", "environment", "receiver"], "Helios-Workspace");
+$core.addClass("HLCodeModel", $globals.Object, "Helios-Workspace");
+$core.setSlots($globals.HLCodeModel, ["announcer", "environment", "receiver"]);
 $core.addMethod(
 $core.method({
 selector: "announcer",
@@ -259,7 +260,8 @@ return $recv($1)._yourself();
 $globals.HLCodeModel.a$cls);
 
 
-$core.addClass("HLCodeWidget", $globals.HLWidget, ["model", "code", "editor", "state"], "Helios-Workspace");
+$core.addClass("HLCodeWidget", $globals.HLWidget, "Helios-Workspace");
+$core.setSlots($globals.HLCodeWidget, ["model", "code", "editor", "state"]);
 $core.addMethod(
 $core.method({
 selector: "announcer",
@@ -1997,7 +1999,8 @@ return $recv($recv(anEditor)._at_("amberCodeWidget"))._variableHintFor_token_(an
 $globals.HLCodeWidget.a$cls);
 
 
-$core.addClass("HLNavigationCodeWidget", $globals.HLCodeWidget, ["methodContents"], "Helios-Workspace");
+$core.addClass("HLNavigationCodeWidget", $globals.HLCodeWidget, "Helios-Workspace");
+$core.setSlots($globals.HLNavigationCodeWidget, ["methodContents"]);
 $core.addMethod(
 $core.method({
 selector: "configureEditor",
@@ -2217,7 +2220,8 @@ return $recv($1)._yourself();
 $globals.HLNavigationCodeWidget.a$cls);
 
 
-$core.addClass("HLBrowserCodeWidget", $globals.HLNavigationCodeWidget, ["browserModel"], "Helios-Workspace");
+$core.addClass("HLBrowserCodeWidget", $globals.HLNavigationCodeWidget, "Helios-Workspace");
+$core.setSlots($globals.HLBrowserCodeWidget, ["browserModel"]);
 $core.addMethod(
 $core.method({
 selector: "browserModel",
@@ -3144,7 +3148,8 @@ return $recv($1)._yourself();
 $globals.HLBrowserCodeWidget.a$cls);
 
 
-$core.addClass("HLWorkspace", $globals.HLWidget, ["codeWidget", "transcript"], "Helios-Workspace");
+$core.addClass("HLWorkspace", $globals.HLWidget, "Helios-Workspace");
+$core.setSlots($globals.HLWorkspace, ["codeWidget", "transcript"]);
 $core.addMethod(
 $core.method({
 selector: "canHaveFocus",