Ver código fonte

Helios speed improvements and announcement fixes

Nicolas Petton 12 anos atrás
pai
commit
07313b4ff0

+ 45 - 43
js/Helios-Announcements.deploy.js

@@ -1,4 +1,4 @@
-smalltalk.addPackage('Helios-Announcements', {});
+smalltalk.addPackage('Helios-Announcements');
 smalltalk.addClass('HLAnnouncement', smalltalk.Object, [], 'Helios-Announcements');
 
 
@@ -7,23 +7,24 @@ smalltalk.addMethod(
 "_code",
 smalltalk.method({
 selector: "code",
-fn: function () {
-    var self = this;
-    return self['@code'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@code"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"code",{}, smalltalk.HLCodeHandled)})},
+messageSends: []}),
 smalltalk.HLCodeHandled);
 
 smalltalk.addMethod(
 "_code_",
 smalltalk.method({
 selector: "code:",
-fn: function (aModel) {
-    var self = this;
-    self['@code'] = aModel;
-    return self;
-}
-}),
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@code"]=aModel;
+return self}, function($ctx1) {$ctx1.fill(self,"code:",{aModel:aModel}, smalltalk.HLCodeHandled)})},
+messageSends: []}),
 smalltalk.HLCodeHandled);
 
 
@@ -31,16 +32,16 @@ smalltalk.addMethod(
 "_on_",
 smalltalk.method({
 selector: "on:",
-fn: function (aCodeModel) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_code_", [aCodeModel]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-}
-}),
+fn: function (aCodeModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._code_(aCodeModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCodeModel:aCodeModel}, smalltalk.HLCodeHandled.klass)})},
+messageSends: ["code:", "new", "yourself"]}),
 smalltalk.HLCodeHandled.klass);
 
 
@@ -64,23 +65,24 @@ smalltalk.addMethod(
 "_item",
 smalltalk.method({
 selector: "item",
-fn: function () {
-    var self = this;
-    return self['@item'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@item"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"item",{}, smalltalk.HLItemSelected)})},
+messageSends: []}),
 smalltalk.HLItemSelected);
 
 smalltalk.addMethod(
 "_item_",
 smalltalk.method({
 selector: "item:",
-fn: function (anObject) {
-    var self = this;
-    self['@item'] = anObject;
-    return self;
-}
-}),
+fn: function (anObject){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@item"]=anObject;
+return self}, function($ctx1) {$ctx1.fill(self,"item:",{anObject:anObject}, smalltalk.HLItemSelected)})},
+messageSends: []}),
 smalltalk.HLItemSelected);
 
 
@@ -88,16 +90,16 @@ smalltalk.addMethod(
 "_on_",
 smalltalk.method({
 selector: "on:",
-fn: function (anItem) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_item_", [anItem]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-}
-}),
+fn: function (anItem){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._item_(anItem);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{anItem:anItem}, smalltalk.HLItemSelected.klass)})},
+messageSends: ["item:", "new", "yourself"]}),
 smalltalk.HLItemSelected.klass);
 
 

+ 39 - 37
js/Helios-Announcements.js

@@ -1,4 +1,4 @@
-smalltalk.addPackage('Helios-Announcements', {});
+smalltalk.addPackage('Helios-Announcements');
 smalltalk.addClass('HLAnnouncement', smalltalk.Object, [], 'Helios-Announcements');
 
 
@@ -8,10 +8,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "code",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@code'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@code"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"code",{}, smalltalk.HLCodeHandled)})},
 args: [],
 source: "code\x0a\x0a\x09^ code",
 messageSends: [],
@@ -24,11 +26,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "code:",
 category: 'accessing',
-fn: function (aModel) {
-    var self = this;
-    self['@code'] = aModel;
-    return self;
-},
+fn: function (aModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@code"]=aModel;
+return self}, function($ctx1) {$ctx1.fill(self,"code:",{aModel:aModel}, smalltalk.HLCodeHandled)})},
 args: ["aModel"],
 source: "code: aModel\x0a\x0a\x09code := aModel",
 messageSends: [],
@@ -42,15 +43,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "on:",
 category: 'actions',
-fn: function (aCodeModel) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_code_", [aCodeModel]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-},
+fn: function (aCodeModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._code_(aCodeModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{aCodeModel:aCodeModel}, smalltalk.HLCodeHandled.klass)})},
 args: ["aCodeModel"],
 source: "on: aCodeModel\x0a\x0a\x09^ self new \x0a    \x09code: aCodeModel;\x0a        yourself",
 messageSends: ["code:", "new", "yourself"],
@@ -80,10 +81,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "item",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@item'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@item"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"item",{}, smalltalk.HLItemSelected)})},
 args: [],
 source: "item\x0a\x09^ item",
 messageSends: [],
@@ -96,11 +99,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "item:",
 category: 'accessing',
-fn: function (anObject) {
-    var self = this;
-    self['@item'] = anObject;
-    return self;
-},
+fn: function (anObject){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@item"]=anObject;
+return self}, function($ctx1) {$ctx1.fill(self,"item:",{anObject:anObject}, smalltalk.HLItemSelected)})},
 args: ["anObject"],
 source: "item: anObject\x0a\x09item := anObject",
 messageSends: [],
@@ -114,15 +116,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "on:",
 category: 'instance creation',
-fn: function (anItem) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_item_", [anItem]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-},
+fn: function (anItem){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._item_(anItem);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{anItem:anItem}, smalltalk.HLItemSelected.klass)})},
 args: ["anItem"],
 source: "on: anItem\x0a\x09^ self new\x0a    \x09item: anItem;\x0a        yourself",
 messageSends: ["item:", "new", "yourself"],

Diferenças do arquivo suprimidas por serem muito extensas
+ 559 - 466
js/Helios-Browser.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 390 - 326
js/Helios-Browser.js


+ 177 - 181
js/Helios-Commands.deploy.js

@@ -1,66 +1,67 @@
-smalltalk.addPackage('Helios-Commands', {});
+smalltalk.addPackage('Helios-Commands');
 smalltalk.addClass('HLCommand', smalltalk.Object, [], 'Helios-Commands');
 smalltalk.addMethod(
 "_asBinding",
 smalltalk.method({
 selector: "asBinding",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(smalltalk.HLBindingAction || HLBindingAction, "_on_labelled_", [smalltalk.send(self, "_key", []), smalltalk.send(self, "_label", [])]), "_callback_", [function () {return smalltalk.send(self, "_execute", []);}]);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.HLBindingAction || HLBindingAction))._on_labelled_(_st(self)._key(),_st(self)._label()))._callback_((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._execute();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asBinding",{}, smalltalk.HLCommand)})},
+messageSends: ["callback:", "execute", "on:labelled:", "key", "label"]}),
 smalltalk.HLCommand);
 
 smalltalk.addMethod(
 "_documentation",
 smalltalk.method({
 selector: "documentation",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_documentation", []);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._documentation();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand)})},
+messageSends: ["documentation", "class"]}),
 smalltalk.HLCommand);
 
 smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCommand)})},
+messageSends: []}),
 smalltalk.HLCommand);
 
 smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_key", []);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._key();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand)})},
+messageSends: ["key", "class"]}),
 smalltalk.HLCommand);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_label", []);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._label();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand)})},
+messageSends: ["label", "class"]}),
 smalltalk.HLCommand);
 
 
@@ -68,44 +69,44 @@ smalltalk.addMethod(
 "_bindingGroup",
 smalltalk.method({
 selector: "bindingGroup",
-fn: function () {
-    var self = this;
-    return nil;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
 smalltalk.HLCommand.klass);
 
 smalltalk.addMethod(
 "_documentation",
 smalltalk.method({
 selector: "documentation",
-fn: function () {
-    var self = this;
-    return "";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
 smalltalk.HLCommand.klass);
 
 smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return nil;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
 smalltalk.HLCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand.klass)})},
+messageSends: []}),
 smalltalk.HLCommand.klass);
 
 
@@ -114,23 +115,24 @@ smalltalk.addMethod(
 "_model",
 smalltalk.method({
 selector: "model",
-fn: function () {
-    var self = this;
-    return self['@model'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@model"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"model",{}, smalltalk.HLBrowserCommand)})},
+messageSends: []}),
 smalltalk.HLBrowserCommand);
 
 smalltalk.addMethod(
 "_model_",
 smalltalk.method({
 selector: "model:",
-fn: function (aBrowserModel) {
-    var self = this;
-    self['@model'] = aBrowserModel;
-    return self;
-}
-}),
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@model"]=aBrowserModel;
+return self}, function($ctx1) {$ctx1.fill(self,"model:",{aBrowserModel:aBrowserModel}, smalltalk.HLBrowserCommand)})},
+messageSends: []}),
 smalltalk.HLBrowserCommand);
 
 
@@ -138,16 +140,16 @@ smalltalk.addMethod(
 "_on_",
 smalltalk.method({
 selector: "on:",
-fn: function (aBrowserModel) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_model_", [aBrowserModel]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-}
-}),
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel}, smalltalk.HLBrowserCommand.klass)})},
+messageSends: ["model:", "new", "yourself"]}),
 smalltalk.HLBrowserCommand.klass);
 
 
@@ -157,11 +159,11 @@ smalltalk.addMethod(
 "_bindingGroup",
 smalltalk.method({
 selector: "bindingGroup",
-fn: function () {
-    var self = this;
-    return "Go to";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLGoToCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToCommand.klass);
 
 
@@ -170,12 +172,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedClass_(_st(_st(self)._model())._selectedClass());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToClassesCommand)})},
+messageSends: ["selectedClass:", "selectedClass", "model"]}),
 smalltalk.HLGoToClassesCommand);
 
 
@@ -183,22 +184,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 67;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToClassesCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Classes";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToClassesCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToClassesCommand.klass);
 
 
@@ -207,12 +208,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedMethod_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedMethod", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedMethod_(_st(_st(self)._model())._selectedMethod());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToMethodsCommand)})},
+messageSends: ["selectedMethod:", "selectedMethod", "model"]}),
 smalltalk.HLGoToMethodsCommand);
 
 
@@ -220,22 +220,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 77;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToMethodsCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Methods";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToMethodsCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToMethodsCommand.klass);
 
 
@@ -244,12 +244,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedPackage_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedPackage", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedPackage_(_st(_st(self)._model())._selectedPackage());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToPackagesCommand)})},
+messageSends: ["selectedPackage:", "selectedPackage", "model"]}),
 smalltalk.HLGoToPackagesCommand);
 
 
@@ -257,22 +256,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 80;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToPackagesCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Packages";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToPackagesCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToPackagesCommand.klass);
 
 
@@ -281,12 +280,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedProtocol_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedProtocol", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedProtocol_(_st(_st(self)._model())._selectedProtocol());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToProtocolsCommand)})},
+messageSends: ["selectedProtocol:", "selectedProtocol", "model"]}),
 smalltalk.HLGoToProtocolsCommand);
 
 
@@ -294,22 +292,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 84;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToProtocolsCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Protocols";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToProtocolsCommand.klass)})},
+messageSends: []}),
 smalltalk.HLGoToProtocolsCommand.klass);
 
 
@@ -319,11 +317,11 @@ smalltalk.addMethod(
 "_bindingGroup",
 smalltalk.method({
 selector: "bindingGroup",
-fn: function () {
-    var self = this;
-    return "Toggle";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLToggleCommand.klass)})},
+messageSends: []}),
 smalltalk.HLToggleCommand.klass);
 
 
@@ -332,12 +330,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [false]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLToggleClassSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
 smalltalk.HLToggleClassSideCommand);
 
 
@@ -345,22 +342,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 67;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
 smalltalk.HLToggleClassSideCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Class side";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLToggleClassSideCommand.klass)})},
+messageSends: []}),
 smalltalk.HLToggleClassSideCommand.klass);
 
 
@@ -369,12 +366,11 @@ smalltalk.addMethod(
 "_execute",
 smalltalk.method({
 selector: "execute",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [true]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLToggleInstanceSideCommand)})},
+messageSends: ["showInstance:", "model"]}),
 smalltalk.HLToggleInstanceSideCommand);
 
 
@@ -382,22 +378,22 @@ smalltalk.addMethod(
 "_key",
 smalltalk.method({
 selector: "key",
-fn: function () {
-    var self = this;
-    return 73;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
 smalltalk.HLToggleInstanceSideCommand.klass);
 
 smalltalk.addMethod(
 "_label",
 smalltalk.method({
 selector: "label",
-fn: function () {
-    var self = this;
-    return "Instance side";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLToggleInstanceSideCommand.klass)})},
+messageSends: []}),
 smalltalk.HLToggleInstanceSideCommand.klass);
 
 

+ 145 - 149
js/Helios-Commands.js

@@ -1,16 +1,18 @@
-smalltalk.addPackage('Helios-Commands', {});
+smalltalk.addPackage('Helios-Commands');
 smalltalk.addClass('HLCommand', smalltalk.Object, [], 'Helios-Commands');
 smalltalk.addMethod(
 "_asBinding",
 smalltalk.method({
 selector: "asBinding",
 category: 'converting',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(smalltalk.HLBindingAction || HLBindingAction, "_on_labelled_", [smalltalk.send(self, "_key", []), smalltalk.send(self, "_label", [])]), "_callback_", [function () {return smalltalk.send(self, "_execute", []);}]);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.HLBindingAction || HLBindingAction))._on_labelled_(_st(self)._key(),_st(self)._label()))._callback_((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._execute();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"asBinding",{}, smalltalk.HLCommand)})},
 args: [],
 source: "asBinding\x0a\x09^ (HLBindingAction on: self key labelled: self label)\x0a    \x09callback: [ self execute ]",
 messageSends: ["callback:", "execute", "on:labelled:", "key", "label"],
@@ -23,12 +25,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "documentation",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_documentation", []);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._documentation();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand)})},
 args: [],
 source: "documentation\x0a\x09^ self class documentation",
 messageSends: ["documentation", "class"],
@@ -41,10 +43,9 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLCommand)})},
 args: [],
 source: "execute\x0a\x09",
 messageSends: [],
@@ -57,12 +58,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_key", []);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._key();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand)})},
 args: [],
 source: "key\x0a\x09^ self class key",
 messageSends: ["key", "class"],
@@ -75,12 +76,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_class", []), "_label", []);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st(self)._class())._label();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand)})},
 args: [],
 source: "label\x0a\x09^ self class label",
 messageSends: ["label", "class"],
@@ -94,10 +95,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "bindingGroup",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return nil;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLCommand.klass)})},
 args: [],
 source: "bindingGroup\x0a\x09^ nil",
 messageSends: [],
@@ -110,10 +111,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "documentation",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"documentation",{}, smalltalk.HLCommand.klass)})},
 args: [],
 source: "documentation\x0a\x09^ ''",
 messageSends: [],
@@ -126,10 +127,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return nil;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return nil;
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLCommand.klass)})},
 args: [],
 source: "key\x0a\x09^ nil",
 messageSends: [],
@@ -142,10 +143,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ ''",
 messageSends: [],
@@ -160,10 +161,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "model",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@model'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@model"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"model",{}, smalltalk.HLBrowserCommand)})},
 args: [],
 source: "model\x0a\x09^ model",
 messageSends: [],
@@ -176,11 +179,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "model:",
 category: 'accessing',
-fn: function (aBrowserModel) {
-    var self = this;
-    self['@model'] = aBrowserModel;
-    return self;
-},
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@model"]=aBrowserModel;
+return self}, function($ctx1) {$ctx1.fill(self,"model:",{aBrowserModel:aBrowserModel}, smalltalk.HLBrowserCommand)})},
 args: ["aBrowserModel"],
 source: "model: aBrowserModel\x0a\x09model := aBrowserModel",
 messageSends: [],
@@ -194,15 +196,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "on:",
 category: 'instance creation',
-fn: function (aBrowserModel) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_model_", [aBrowserModel]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-},
+fn: function (aBrowserModel){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._model_(aBrowserModel);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"on:",{aBrowserModel:aBrowserModel}, smalltalk.HLBrowserCommand.klass)})},
 args: ["aBrowserModel"],
 source: "on: aBrowserModel\x0a\x09^ self new\x0a    \x09model: aBrowserModel;\x0a        yourself",
 messageSends: ["model:", "new", "yourself"],
@@ -218,10 +220,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "bindingGroup",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Go to";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Go to";
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLGoToCommand.klass)})},
 args: [],
 source: "bindingGroup\x0a\x09^ 'Go to'",
 messageSends: [],
@@ -236,11 +238,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedClass", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedClass_(_st(_st(self)._model())._selectedClass());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToClassesCommand)})},
 args: [],
 source: "execute\x0a\x09self model selectedClass: self model selectedClass",
 messageSends: ["selectedClass:", "selectedClass", "model"],
@@ -254,10 +255,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 67;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToClassesCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
 messageSends: [],
@@ -270,10 +271,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Classes";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Classes";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToClassesCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Classes'",
 messageSends: [],
@@ -288,11 +289,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedMethod_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedMethod", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedMethod_(_st(_st(self)._model())._selectedMethod());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToMethodsCommand)})},
 args: [],
 source: "execute\x0a\x09self model selectedMethod: self model selectedMethod",
 messageSends: ["selectedMethod:", "selectedMethod", "model"],
@@ -306,10 +306,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 77;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (77);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToMethodsCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22m\x22\x0a    \x0a\x09^ 77",
 messageSends: [],
@@ -322,10 +322,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Methods";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Methods";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToMethodsCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Methods'",
 messageSends: [],
@@ -340,11 +340,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedPackage_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedPackage", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedPackage_(_st(_st(self)._model())._selectedPackage());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToPackagesCommand)})},
 args: [],
 source: "execute\x0a\x09self model selectedPackage: self model selectedPackage",
 messageSends: ["selectedPackage:", "selectedPackage", "model"],
@@ -358,10 +357,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 80;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (80);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToPackagesCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 80",
 messageSends: [],
@@ -374,10 +373,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Packages";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Packages";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToPackagesCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Packages'",
 messageSends: [],
@@ -392,11 +391,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_selectedProtocol_", [smalltalk.send(smalltalk.send(self, "_model", []), "_selectedProtocol", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._selectedProtocol_(_st(_st(self)._model())._selectedProtocol());
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLGoToProtocolsCommand)})},
 args: [],
 source: "execute\x0a\x09self model selectedProtocol: self model selectedProtocol",
 messageSends: ["selectedProtocol:", "selectedProtocol", "model"],
@@ -410,10 +408,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 84;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (84);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLGoToProtocolsCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22p\x22\x0a    \x0a\x09^ 84",
 messageSends: [],
@@ -426,10 +424,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Protocols";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Protocols";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLGoToProtocolsCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Protocols'",
 messageSends: [],
@@ -445,10 +443,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "bindingGroup",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Toggle";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Toggle";
+}, function($ctx1) {$ctx1.fill(self,"bindingGroup",{}, smalltalk.HLToggleCommand.klass)})},
 args: [],
 source: "bindingGroup\x0a\x09^ 'Toggle'",
 messageSends: [],
@@ -463,11 +461,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [false]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(false);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLToggleClassSideCommand)})},
 args: [],
 source: "execute\x0a\x09self model showInstance: false",
 messageSends: ["showInstance:", "model"],
@@ -481,10 +478,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 67;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (67);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLToggleClassSideCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22c\x22\x0a    \x0a\x09^ 67",
 messageSends: [],
@@ -497,10 +494,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Class side";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Class side";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLToggleClassSideCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Class side'",
 messageSends: [],
@@ -515,11 +512,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "execute",
 category: 'executing',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self, "_model", []), "_showInstance_", [true]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._model())._showInstance_(true);
+return self}, function($ctx1) {$ctx1.fill(self,"execute",{}, smalltalk.HLToggleInstanceSideCommand)})},
 args: [],
 source: "execute\x0a\x09self model showInstance: true",
 messageSends: ["showInstance:", "model"],
@@ -533,10 +529,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "key",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return 73;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return (73);
+}, function($ctx1) {$ctx1.fill(self,"key",{}, smalltalk.HLToggleInstanceSideCommand.klass)})},
 args: [],
 source: "key\x0a\x09\x22i\x22\x0a    \x0a\x09^ 73",
 messageSends: [],
@@ -549,10 +545,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "label",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "Instance side";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "Instance side";
+}, function($ctx1) {$ctx1.fill(self,"label",{}, smalltalk.HLToggleInstanceSideCommand.klass)})},
 args: [],
 source: "label\x0a\x09^ 'Instance side'",
 messageSends: [],

Diferenças do arquivo suprimidas por serem muito extensas
+ 453 - 393
js/Helios-Core.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 369 - 313
js/Helios-Core.js


+ 62 - 65
js/Helios-Environments.deploy.js

@@ -1,29 +1,29 @@
-smalltalk.addPackage('Helios-Environments', {});
+smalltalk.addPackage('Helios-Environments');
 smalltalk.addClass('HLEnvironment', smalltalk.Object, [], 'Helios-Environments');
 smalltalk.addMethod(
 "_eval_on_",
 smalltalk.method({
 selector: "eval:on:",
-fn: function (someCode, aReceiver) {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(self, "_subclassResponsibility", []);
-    return $1;
-}
-}),
+fn: function (someCode,aReceiver){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._subclassResponsibility();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver}, smalltalk.HLEnvironment)})},
+messageSends: ["subclassResponsibility"]}),
 smalltalk.HLEnvironment);
 
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
 selector: "packages",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(self, "_subclassResponsibility", []);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._subclassResponsibility();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLEnvironment)})},
+messageSends: ["subclassResponsibility"]}),
 smalltalk.HLEnvironment);
 
 
@@ -33,37 +33,38 @@ smalltalk.addMethod(
 "_eval_on_",
 smalltalk.method({
 selector: "eval:on:",
-fn: function (someCode, aReceiver) {
-    var self = this;
-    var $1, $2;
-    var $early = {};
-    try {
-        var compiler;
-        compiler = smalltalk.send(smalltalk.Compiler || Compiler, "_new", []);
-        smalltalk.send(function () {return smalltalk.send(compiler, "_parseExpression_", [someCode]);}, "_on_do_", [smalltalk.Error || Error, function (ex) {$1 = smalltalk.send(window, "_alert_", [smalltalk.send(ex, "_messageText", [])]);throw $early = [$1];}]);
-        $2 = smalltalk.send(smalltalk.send(smalltalk.send(compiler, "_eval_", [smalltalk.send(compiler, "_compile_forClass_", [smalltalk.send(smalltalk.send("doIt ^[", "__comma", [someCode]), "__comma", ["] value"]), smalltalk.DoIt || DoIt])]), "_fn", []), "_applyTo_arguments_", [aReceiver, []]);
-        return $2;
-    } catch (e) {
-        if (e === $early) {
-            return e[0];
-        }
-        throw e;
-    }
+fn: function (someCode,aReceiver){
+var self=this;
+var compiler;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+var $early={};
+try {
+compiler=_st((smalltalk.Compiler || Compiler))._new();
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(compiler)._parseExpression_(someCode);
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_((smalltalk.Error || Error),(function(ex){
+return smalltalk.withContext(function($ctx2) {
$1=_st(window)._alert_(_st(ex)._messageText());
+throw $early=[$1];
+}, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
+$2=_st(_st(_st(compiler)._eval_(_st(compiler)._compile_forClass_(_st(_st("doIt ^[").__comma(someCode)).__comma("] value"),(smalltalk.DoIt || DoIt))))._fn())._applyTo_arguments_(aReceiver,[]);
+return $2;
 }
-}),
+catch(e) {if(e===$early)return e[0]; throw e}
+}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver,compiler:compiler}, smalltalk.HLLocalEnvironment)})},
+messageSends: ["new", "on:do:", "alert:", "messageText", "parseExpression:", "applyTo:arguments:", "fn", "eval:", "compile:forClass:", ","]}),
 smalltalk.HLLocalEnvironment);
 
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
 selector: "packages",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_packages", []);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._packages();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLLocalEnvironment)})},
+messageSends: ["packages", "current"]}),
 smalltalk.HLLocalEnvironment);
 
 
@@ -73,23 +74,21 @@ smalltalk.addMethod(
 "_eval_on_",
 smalltalk.method({
 selector: "eval:on:",
-fn: function (someCode, aReceiver) {
-    var self = this;
-    smalltalk.send(self, "_notYetImplemented", []);
-    return self;
-}
-}),
+fn: function (someCode,aReceiver){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._notYetImplemented();
+return self}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver}, smalltalk.HLRemoteEnvironment)})},
+messageSends: ["notYetImplemented"]}),
 smalltalk.HLRemoteEnvironment);
 
 smalltalk.addMethod(
 "_packages",
 smalltalk.method({
 selector: "packages",
-fn: function () {
-    var self = this;
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLRemoteEnvironment)})},
+messageSends: []}),
 smalltalk.HLRemoteEnvironment);
 
 
@@ -99,33 +98,31 @@ smalltalk.addMethod(
 "_doesNotUnderstand_",
 smalltalk.method({
 selector: "doesNotUnderstand:",
-fn: function (aMessage) {
-    var self = this;
-    return self;
-}
-}),
+fn: function (aMessage){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"doesNotUnderstand:",{aMessage:aMessage}, smalltalk.HLRemoteObject)})},
+messageSends: []}),
 smalltalk.HLRemoteObject);
 
 smalltalk.addMethod(
 "_inspectOn_",
 smalltalk.method({
 selector: "inspectOn:",
-fn: function (anInspector) {
-    var self = this;
-    return self;
-}
-}),
+fn: function (anInspector){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector}, smalltalk.HLRemoteObject)})},
+messageSends: []}),
 smalltalk.HLRemoteObject);
 
 smalltalk.addMethod(
 "_printString",
 smalltalk.method({
 selector: "printString",
-fn: function () {
-    var self = this;
-    return "this is a remote object";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "this is a remote object";
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.HLRemoteObject)})},
+messageSends: []}),
 smalltalk.HLRemoteObject);
 
 

+ 54 - 57
js/Helios-Environments.js

@@ -1,4 +1,4 @@
-smalltalk.addPackage('Helios-Environments', {});
+smalltalk.addPackage('Helios-Environments');
 smalltalk.addClass('HLEnvironment', smalltalk.Object, [], 'Helios-Environments');
 smalltalk.HLEnvironment.comment="Abstract class defining common behavior for local and remote environments"
 smalltalk.addMethod(
@@ -6,12 +6,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "eval:on:",
 category: 'actions',
-fn: function (someCode, aReceiver) {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(self, "_subclassResponsibility", []);
-    return $1;
-},
+fn: function (someCode,aReceiver){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._subclassResponsibility();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver}, smalltalk.HLEnvironment)})},
 args: ["someCode", "aReceiver"],
 source: "eval: someCode on: aReceiver\x0a\x0a\x09^ self subclassResponsibility",
 messageSends: ["subclassResponsibility"],
@@ -24,12 +24,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "packages",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(self, "_subclassResponsibility", []);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(self)._subclassResponsibility();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLEnvironment)})},
 args: [],
 source: "packages\x0a\x0a\x09^ self subclassResponsibility",
 messageSends: ["subclassResponsibility"],
@@ -45,23 +45,24 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "eval:on:",
 category: 'actions',
-fn: function (someCode, aReceiver) {
-    var self = this;
-    var $1, $2;
-    var $early = {};
-    try {
-        var compiler;
-        compiler = smalltalk.send(smalltalk.Compiler || Compiler, "_new", []);
-        smalltalk.send(function () {return smalltalk.send(compiler, "_parseExpression_", [someCode]);}, "_on_do_", [smalltalk.Error || Error, function (ex) {$1 = smalltalk.send(window, "_alert_", [smalltalk.send(ex, "_messageText", [])]);throw $early = [$1];}]);
-        $2 = smalltalk.send(smalltalk.send(smalltalk.send(compiler, "_eval_", [smalltalk.send(compiler, "_compile_forClass_", [smalltalk.send(smalltalk.send("doIt ^[", "__comma", [someCode]), "__comma", ["] value"]), smalltalk.DoIt || DoIt])]), "_fn", []), "_applyTo_arguments_", [aReceiver, []]);
-        return $2;
-    } catch (e) {
-        if (e === $early) {
-            return e[0];
-        }
-        throw e;
-    }
-},
+fn: function (someCode,aReceiver){
+var self=this;
+var compiler;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+var $early={};
+try {
+compiler=_st((smalltalk.Compiler || Compiler))._new();
+_st((function(){
+return smalltalk.withContext(function($ctx2) {
return _st(compiler)._parseExpression_(someCode);
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}))._on_do_((smalltalk.Error || Error),(function(ex){
+return smalltalk.withContext(function($ctx2) {
$1=_st(window)._alert_(_st(ex)._messageText());
+throw $early=[$1];
+}, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1)})}));
+$2=_st(_st(_st(compiler)._eval_(_st(compiler)._compile_forClass_(_st(_st("doIt ^[").__comma(someCode)).__comma("] value"),(smalltalk.DoIt || DoIt))))._fn())._applyTo_arguments_(aReceiver,[]);
+return $2;
+}
+catch(e) {if(e===$early)return e[0]; throw e}
+}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver,compiler:compiler}, smalltalk.HLLocalEnvironment)})},
 args: ["someCode", "aReceiver"],
 source: "eval: someCode on: aReceiver\x0a\x09| compiler  |\x0a\x09compiler := Compiler new.\x0a\x09[compiler parseExpression: someCode] on: Error do: [:ex |\x0a\x09\x09^window alert: ex messageText].\x0a\x09^(compiler eval: (compiler compile: 'doIt ^[', someCode, '] value' forClass: DoIt)) fn applyTo: aReceiver arguments: #()",
 messageSends: ["new", "on:do:", "alert:", "messageText", "parseExpression:", "applyTo:arguments:", "fn", "eval:", "compile:forClass:", ","],
@@ -74,12 +75,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "packages",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(smalltalk.Smalltalk || Smalltalk, "_current", []), "_packages", []);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._packages();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLLocalEnvironment)})},
 args: [],
 source: "packages\x0a\x0a\x09^ Smalltalk current packages",
 messageSends: ["packages", "current"],
@@ -95,11 +96,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "eval:on:",
 category: 'actions',
-fn: function (someCode, aReceiver) {
-    var self = this;
-    smalltalk.send(self, "_notYetImplemented", []);
-    return self;
-},
+fn: function (someCode,aReceiver){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._notYetImplemented();
+return self}, function($ctx1) {$ctx1.fill(self,"eval:on:",{someCode:someCode,aReceiver:aReceiver}, smalltalk.HLRemoteEnvironment)})},
 args: ["someCode", "aReceiver"],
 source: "eval: someCode on: aReceiver\x0a\x0a\x09\x22Note for future self and friends:\x0a    whatever way this compilation happens on the other side, \x0a    it should return a proxy to the remote resulting object\x22\x0a    \x0a    self notYetImplemented",
 messageSends: ["notYetImplemented"],
@@ -112,10 +112,9 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "packages",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"packages",{}, smalltalk.HLRemoteEnvironment)})},
 args: [],
 source: "packages\x0a\x09\x22Answer the remote environment's packages\x22\x0a  \x0a\x09\x22to-do\x22\x0a    \x0a    \x22Note for future self and friends:\x0a    the problem with remote stuff is that the answers shouldn't be expected to be\x0a    received in a syncrhonous fashion. Everything network is asyc, so you *are going to deal with callbacks* here\x22",
 messageSends: [],
@@ -132,10 +131,9 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "doesNotUnderstand:",
 category: 'actions',
-fn: function (aMessage) {
-    var self = this;
-    return self;
-},
+fn: function (aMessage){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"doesNotUnderstand:",{aMessage:aMessage}, smalltalk.HLRemoteObject)})},
 args: ["aMessage"],
 source: "doesNotUnderstand: aMessage\x0a\x0a\x09\x22to-do\x0a\x0a\x09aham, blah blah\x0a\x0a\x09super doesNotUnderstand: aMessage\x22",
 messageSends: [],
@@ -148,10 +146,9 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "inspectOn:",
 category: 'actions',
-fn: function (anInspector) {
-    var self = this;
-    return self;
-},
+fn: function (anInspector){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"inspectOn:",{anInspector:anInspector}, smalltalk.HLRemoteObject)})},
 args: ["anInspector"],
 source: "inspectOn: anInspector\x0a\x0a\x09\x22to-do\x22\x0a\x0a\x09\x22this is a source of so much fun...\x22\x0a",
 messageSends: [],
@@ -164,10 +161,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "printString",
 category: 'actions',
-fn: function () {
-    var self = this;
-    return "this is a remote object";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "this is a remote object";
+}, function($ctx1) {$ctx1.fill(self,"printString",{}, smalltalk.HLRemoteObject)})},
 args: [],
 source: "printString\x0a\x09^ 'this is a remote object'",
 messageSends: [],

Diferenças do arquivo suprimidas por serem muito extensas
+ 387 - 394
js/Helios-Inspector.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 334 - 340
js/Helios-Inspector.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 440 - 404
js/Helios-KeyBindings.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 354 - 315
js/Helios-KeyBindings.js


+ 216 - 203
js/Helios-Layout.deploy.js

@@ -1,42 +1,44 @@
-smalltalk.addPackage('Helios-Layout', {});
+smalltalk.addPackage('Helios-Layout');
 smalltalk.addClass('HLContainer', smalltalk.Widget, ['splitter'], 'Helios-Layout');
 smalltalk.addMethod(
 "_renderOn_",
 smalltalk.method({
 selector: "renderOn:",
-fn: function (html) {
-    var self = this;
-    var $1, $2;
-    $1 = smalltalk.send(html, "_div", []);
-    smalltalk.send($1, "_id_", ["container"]);
-    $2 = smalltalk.send($1, "_with_", [smalltalk.send(self, "_splitter", [])]);
-    smalltalk.send(smalltalk.send(window, "_jQuery_", [window]), "_bind_do_", ["resize", function () {return smalltalk.send(smalltalk.send(self, "_splitter", []), "_resize", []);}]);
-    return self;
-}
-}),
+fn: function (html){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=_st(html)._div();
+_st($1)._id_("container");
+$2=_st($1)._with_(_st(self)._splitter());
+_st(_st(window)._jQuery_(window))._bind_do_("resize",(function(){
+return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._splitter())._resize();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLContainer)})},
+messageSends: ["id:", "div", "with:", "splitter", "bind:do:", "resize", "jQuery:"]}),
 smalltalk.HLContainer);
 
 smalltalk.addMethod(
 "_splitter",
 smalltalk.method({
 selector: "splitter",
-fn: function () {
-    var self = this;
-    return self['@splitter'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@splitter"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"splitter",{}, smalltalk.HLContainer)})},
+messageSends: []}),
 smalltalk.HLContainer);
 
 smalltalk.addMethod(
 "_splitter_",
 smalltalk.method({
 selector: "splitter:",
-fn: function (aSplitter) {
-    var self = this;
-    self['@splitter'] = aSplitter;
-    return self;
-}
-}),
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@splitter"]=aSplitter;
+return self}, function($ctx1) {$ctx1.fill(self,"splitter:",{aSplitter:aSplitter}, smalltalk.HLContainer)})},
+messageSends: []}),
 smalltalk.HLContainer);
 
 
@@ -44,16 +46,16 @@ smalltalk.addMethod(
 "_with_",
 smalltalk.method({
 selector: "with:",
-fn: function (aSplitter) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_splitter_", [aSplitter]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-}
-}),
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._splitter_(aSplitter);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"with:",{aSplitter:aSplitter}, smalltalk.HLContainer.klass)})},
+messageSends: ["splitter:", "new", "yourself"]}),
 smalltalk.HLContainer.klass);
 
 
@@ -62,127 +64,140 @@ smalltalk.addMethod(
 "_cssClass",
 smalltalk.method({
 selector: "cssClass",
-fn: function () {
-    var self = this;
-    return "splitter";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "splitter";
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_firstWidget",
 smalltalk.method({
 selector: "firstWidget",
-fn: function () {
-    var self = this;
-    return self['@firstWidget'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@firstWidget"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"firstWidget",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_firstWidget_",
 smalltalk.method({
 selector: "firstWidget:",
-fn: function (aWidget) {
-    var self = this;
-    self['@firstWidget'] = aWidget;
-    return self;
-}
-}),
+fn: function (aWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@firstWidget"]=aWidget;
+return self}, function($ctx1) {$ctx1.fill(self,"firstWidget:",{aWidget:aWidget}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_isHeliosSplitter",
 smalltalk.method({
 selector: "isHeliosSplitter",
-fn: function () {
-    var self = this;
-    return true;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return true;
+}, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_panesCssClass",
 smalltalk.method({
 selector: "panesCssClass",
-fn: function () {
-    var self = this;
-    return "panes";
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "panes";
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_renderOn_",
 smalltalk.method({
 selector: "renderOn:",
-fn: function (html) {
-    var self = this;
-    var $1, $3, $4, $5, $6, $2, $7;
-    $1 = smalltalk.send(html, "_div", []);
-    smalltalk.send($1, "_class_", [smalltalk.send(self, "_panesCssClass", [])]);
-    $2 = smalltalk.send($1, "_with_", [function () {$3 = smalltalk.send(html, "_div", []);smalltalk.send($3, "_class_", ["pane"]);$4 = smalltalk.send($3, "_with_", [smalltalk.send(self, "_firstWidget", [])]);self['@firstPane'] = $4;self['@firstPane'];self['@splitter'] = smalltalk.send(smalltalk.send(html, "_div", []), "_class_", [smalltalk.send(self, "_cssClass", [])]);self['@splitter'];$5 = smalltalk.send(html, "_div", []);smalltalk.send($5, "_class_", ["pane"]);$6 = smalltalk.send($5, "_with_", [smalltalk.send(self, "_secondWidget", [])]);self['@secondPane'] = $6;return self['@secondPane'];}]);
-    smalltalk.send(self, "_setupSplitter", []);
-    $7 = smalltalk.send(self, "_resize", []);
-    return self;
-}
-}),
+fn: function (html){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$3,$4,$5,$6,$2,$7,$8;
+$1=_st(html)._div();
+_st($1)._class_(_st(self)._panesCssClass());
+$2=_st($1)._with_((function(){
+return smalltalk.withContext(function($ctx2) {
$3=_st(html)._div();
+_st($3)._class_("pane");
+$4=_st($3)._with_(_st(self)._firstWidget());
+self["@firstPane"]=$4;
+self["@firstPane"];
+self["@splitter"]=_st(_st(html)._div())._class_(_st(self)._cssClass());
+self["@splitter"];
+$5=_st(html)._div();
+_st($5)._class_("pane");
+$6=_st($5)._with_(_st(self)._secondWidget());
+self["@secondPane"]=$6;
+return self["@secondPane"];
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+$7=self;
+_st($7)._setupSplitter();
+$8=_st($7)._resize();
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLSplitter)})},
+messageSends: ["class:", "panesCssClass", "div", "with:", "firstWidget", "cssClass", "secondWidget", "setupSplitter", "resize"]}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_resize",
 smalltalk.method({
 selector: "resize",
-fn: function () {
-    var self = this;
-    var $1, $2;
-    $1 = smalltalk.send(smalltalk.send(self, "_firstWidget", []), "_isHeliosSplitter", []);
-    if (smalltalk.assert($1)) {
-        smalltalk.send(smalltalk.send(self, "_firstWidget", []), "_resize", []);
-    }
-    $2 = smalltalk.send(smalltalk.send(self, "_secondWidget", []), "_isHeliosSplitter", []);
-    if (smalltalk.assert($2)) {
-        smalltalk.send(smalltalk.send(self, "_secondWidget", []), "_resize", []);
-    }
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=_st(_st(self)._firstWidget())._isHeliosSplitter();
+if(smalltalk.assert($1)){
+_st(_st(self)._firstWidget())._resize();
+};
+$2=_st(_st(self)._secondWidget())._isHeliosSplitter();
+if(smalltalk.assert($2)){
+_st(_st(self)._secondWidget())._resize();
+};
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLSplitter)})},
+messageSends: ["ifTrue:", "resize", "firstWidget", "isHeliosSplitter", "secondWidget"]}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_secondWidget",
 smalltalk.method({
 selector: "secondWidget",
-fn: function () {
-    var self = this;
-    return self['@secondWidget'];
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@secondWidget"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"secondWidget",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_secondWidget_",
 smalltalk.method({
 selector: "secondWidget:",
-fn: function (aWidget) {
-    var self = this;
-    self['@secondWidget'] = aWidget;
-    return self;
-}
-}),
+fn: function (aWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@secondWidget"]=aWidget;
+return self}, function($ctx1) {$ctx1.fill(self,"secondWidget:",{aWidget:aWidget}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 smalltalk.addMethod(
 "_setupSplitter",
 smalltalk.method({
 selector: "setupSplitter",
-fn: function () {
-    var self = this;
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLSplitter)})},
+messageSends: []}),
 smalltalk.HLSplitter);
 
 
@@ -190,17 +205,17 @@ smalltalk.addMethod(
 "_with_with_",
 smalltalk.method({
 selector: "with:with:",
-fn: function (aWidget, anotherWidget) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_firstWidget_", [aWidget]);
-    smalltalk.send($2, "_secondWidget_", [anotherWidget]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-}
-}),
+fn: function (aWidget,anotherWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._firstWidget_(aWidget);
+_st($2)._secondWidget_(anotherWidget);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"with:with:",{aWidget:aWidget,anotherWidget:anotherWidget}, smalltalk.HLSplitter.klass)})},
+messageSends: ["firstWidget:", "new", "secondWidget:", "yourself"]}),
 smalltalk.HLSplitter.klass);
 
 
@@ -209,80 +224,79 @@ smalltalk.addMethod(
 "_cssClass",
 smalltalk.method({
 selector: "cssClass",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_cssClass", [], smalltalk.HLSplitter), "__comma", [" horizontal"]);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" horizontal");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLHorizontalSplitter)})},
+messageSends: [",", "cssClass"]}),
 smalltalk.HLHorizontalSplitter);
 
 smalltalk.addMethod(
 "_panesCssClass",
 smalltalk.method({
 selector: "panesCssClass",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_panesCssClass", [], smalltalk.HLSplitter), "__comma", [" horizontal"]);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" horizontal");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLHorizontalSplitter)})},
+messageSends: [",", "panesCssClass"]}),
 smalltalk.HLHorizontalSplitter);
 
 smalltalk.addMethod(
 "_resize",
 smalltalk.method({
 selector: "resize",
-fn: function () {
-    var self = this;
-    smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_offset", []), "_top", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._top());
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLHorizontalSplitter)})},
+messageSends: ["resize:", "top", "offset", "asJQuery"]}),
 smalltalk.HLHorizontalSplitter);
 
 smalltalk.addMethod(
 "_resize_",
 smalltalk.method({
 selector: "resize:",
-fn: function (anInteger) {
-    var self = this;
-    var container;
-    var position;
-    container = smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_parent", []);
-    position = smalltalk.send(anInteger, "__minus", [smalltalk.send(smalltalk.send(container, "_offset", []), "_top", [])]);
-    smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_height_", [smalltalk.send(smalltalk.send(position, "_min_", [smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [100])]), "_max_", [100])]);
-    smalltalk.send(smalltalk.send(self['@secondPane'], "_asJQuery", []), "_height_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [position]), "_min_", [smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [100])]), "_max_", [100]), "__minus", [6])]);
-    smalltalk.send(self, "_resize", [], smalltalk.HLSplitter);
-    return self;
-}
-}),
+fn: function (anInteger){
+var self=this;
+var container,position;
+return smalltalk.withContext(function($ctx1) { 
container=_st(_st(self["@firstPane"])._asJQuery())._parent();
+position=_st(anInteger).__minus(_st(_st(container)._offset())._top());
+_st(_st(self["@firstPane"])._asJQuery())._height_(_st(_st(position)._min_(_st(_st(container)._height()).__minus((100))))._max_((100)));
+_st(_st(self["@secondPane"])._asJQuery())._height_(_st(_st(_st(_st(_st(container)._height()).__minus(position))._min_(_st(_st(container)._height()).__minus((100))))._max_((100))).__minus((6)));
+smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
+return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position}, smalltalk.HLHorizontalSplitter)})},
+messageSends: ["parent", "asJQuery", "-", "top", "offset", "height:", "max:", "min:", "height", "resize"]}),
 smalltalk.HLHorizontalSplitter);
 
 smalltalk.addMethod(
 "_setupSplitter",
 smalltalk.method({
 selector: "setupSplitter",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_draggable_", [smalltalk.HashedCollection._fromPairs_([smalltalk.send("axis", "__minus_gt", ["y"]), smalltalk.send("containment", "__minus_gt", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_parent", [])]), smalltalk.send("helper", "__minus_gt", ["clone"]), smalltalk.send("start", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_startResizing_", [smalltalk.send(ui, "_helper", [])]);}]), smalltalk.send("drag", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(ui, "_offset", []), "_top", [])]);}])])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("y"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._resize_(_st(_st(ui)._offset())._top());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
+return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLHorizontalSplitter)})},
+messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "top", "offset"]}),
 smalltalk.HLHorizontalSplitter);
 
 smalltalk.addMethod(
 "_startResizing_",
 smalltalk.method({
 selector: "startResizing:",
-fn: function (aSplitter) {
-    var self = this;
-    smalltalk.send(aSplitter, "_width_", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_width", [])]);
-    return self;
-}
-}),
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(aSplitter)._width_(_st(_st(self["@splitter"])._asJQuery())._width());
+return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter}, smalltalk.HLHorizontalSplitter)})},
+messageSends: ["width:", "width", "asJQuery"]}),
 smalltalk.HLHorizontalSplitter);
 
 
@@ -292,80 +306,79 @@ smalltalk.addMethod(
 "_cssClass",
 smalltalk.method({
 selector: "cssClass",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_cssClass", [], smalltalk.HLSplitter), "__comma", [" vertical"]);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" vertical");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLVerticalSplitter)})},
+messageSends: [",", "cssClass"]}),
 smalltalk.HLVerticalSplitter);
 
 smalltalk.addMethod(
 "_panesCssClass",
 smalltalk.method({
 selector: "panesCssClass",
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_panesCssClass", [], smalltalk.HLSplitter), "__comma", [" vertical"]);
-    return $1;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" vertical");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLVerticalSplitter)})},
+messageSends: [",", "panesCssClass"]}),
 smalltalk.HLVerticalSplitter);
 
 smalltalk.addMethod(
 "_resize",
 smalltalk.method({
 selector: "resize",
-fn: function () {
-    var self = this;
-    smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_offset", []), "_left", [])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._left());
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLVerticalSplitter)})},
+messageSends: ["resize:", "left", "offset", "asJQuery"]}),
 smalltalk.HLVerticalSplitter);
 
 smalltalk.addMethod(
 "_resize_",
 smalltalk.method({
 selector: "resize:",
-fn: function (anInteger) {
-    var self = this;
-    var container;
-    var position;
-    container = smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_parent", []);
-    position = smalltalk.send(anInteger, "__minus", [smalltalk.send(smalltalk.send(container, "_offset", []), "_left", [])]);
-    smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_width_", [smalltalk.send(smalltalk.send(position, "_min_", [smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [100])]), "_max_", [100])]);
-    smalltalk.send(smalltalk.send(self['@secondPane'], "_asJQuery", []), "_width_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [position]), "_min_", [smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [100])]), "_max_", [100]), "__minus", [6])]);
-    smalltalk.send(self, "_resize", [], smalltalk.HLSplitter);
-    return self;
-}
-}),
+fn: function (anInteger){
+var self=this;
+var container,position;
+return smalltalk.withContext(function($ctx1) { 
container=_st(_st(self["@firstPane"])._asJQuery())._parent();
+position=_st(anInteger).__minus(_st(_st(container)._offset())._left());
+_st(_st(self["@firstPane"])._asJQuery())._width_(_st(_st(position)._min_(_st(_st(container)._width()).__minus((100))))._max_((100)));
+_st(_st(self["@secondPane"])._asJQuery())._width_(_st(_st(_st(_st(_st(container)._width()).__minus(position))._min_(_st(_st(container)._width()).__minus((100))))._max_((100))).__minus((6)));
+smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
+return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position}, smalltalk.HLVerticalSplitter)})},
+messageSends: ["parent", "asJQuery", "-", "left", "offset", "width:", "max:", "min:", "width", "resize"]}),
 smalltalk.HLVerticalSplitter);
 
 smalltalk.addMethod(
 "_setupSplitter",
 smalltalk.method({
 selector: "setupSplitter",
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_draggable_", [smalltalk.HashedCollection._fromPairs_([smalltalk.send("axis", "__minus_gt", ["x"]), smalltalk.send("containment", "__minus_gt", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_parent", [])]), smalltalk.send("helper", "__minus_gt", ["clone"]), smalltalk.send("start", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_startResizing_", [smalltalk.send(ui, "_helper", [])]);}]), smalltalk.send("drag", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(ui, "_offset", []), "_left", [])]);}])])]);
-    return self;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("x"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._resize_(_st(_st(ui)._offset())._left());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
+return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLVerticalSplitter)})},
+messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "left", "offset"]}),
 smalltalk.HLVerticalSplitter);
 
 smalltalk.addMethod(
 "_startResizing_",
 smalltalk.method({
 selector: "startResizing:",
-fn: function (aSplitter) {
-    var self = this;
-    smalltalk.send(aSplitter, "_height_", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_height", [])]);
-    return self;
-}
-}),
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(aSplitter)._height_(_st(_st(self["@splitter"])._asJQuery())._height());
+return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter}, smalltalk.HLVerticalSplitter)})},
+messageSends: ["height:", "height", "asJQuery"]}),
 smalltalk.HLVerticalSplitter);
 
 
@@ -374,10 +387,10 @@ smalltalk.addMethod(
 "_isHeliosSplitter",
 smalltalk.method({
 selector: "isHeliosSplitter",
-fn: function () {
-    var self = this;
-    return false;
-}
-}),
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return false;
+}, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{}, smalltalk.Object)})},
+messageSends: []}),
 smalltalk.Object);
 

+ 188 - 175
js/Helios-Layout.js

@@ -1,19 +1,20 @@
-smalltalk.addPackage('Helios-Layout', {});
+smalltalk.addPackage('Helios-Layout');
 smalltalk.addClass('HLContainer', smalltalk.Widget, ['splitter'], 'Helios-Layout');
 smalltalk.addMethod(
 "_renderOn_",
 smalltalk.method({
 selector: "renderOn:",
 category: 'rendering',
-fn: function (html) {
-    var self = this;
-    var $1, $2;
-    $1 = smalltalk.send(html, "_div", []);
-    smalltalk.send($1, "_id_", ["container"]);
-    $2 = smalltalk.send($1, "_with_", [smalltalk.send(self, "_splitter", [])]);
-    smalltalk.send(smalltalk.send(window, "_jQuery_", [window]), "_bind_do_", ["resize", function () {return smalltalk.send(smalltalk.send(self, "_splitter", []), "_resize", []);}]);
-    return self;
-},
+fn: function (html){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=_st(html)._div();
+_st($1)._id_("container");
+$2=_st($1)._with_(_st(self)._splitter());
+_st(_st(window)._jQuery_(window))._bind_do_("resize",(function(){
+return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._splitter())._resize();
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLContainer)})},
 args: ["html"],
 source: "renderOn: html\x0a\x09html div \x0a    \x09id: 'container'; \x0a        with: self splitter.\x0a        \x0a   (window jQuery: window) bind: 'resize' do: [ self splitter resize ]",
 messageSends: ["id:", "div", "with:", "splitter", "bind:do:", "resize", "jQuery:"],
@@ -26,10 +27,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "splitter",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@splitter'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@splitter"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"splitter",{}, smalltalk.HLContainer)})},
 args: [],
 source: "splitter\x0a\x09^ splitter",
 messageSends: [],
@@ -42,11 +45,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "splitter:",
 category: 'accessing',
-fn: function (aSplitter) {
-    var self = this;
-    self['@splitter'] = aSplitter;
-    return self;
-},
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@splitter"]=aSplitter;
+return self}, function($ctx1) {$ctx1.fill(self,"splitter:",{aSplitter:aSplitter}, smalltalk.HLContainer)})},
 args: ["aSplitter"],
 source: "splitter: aSplitter\x0a\x09splitter := aSplitter",
 messageSends: [],
@@ -60,15 +62,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "with:",
 category: 'instance creation',
-fn: function (aSplitter) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_splitter_", [aSplitter]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-},
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._splitter_(aSplitter);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"with:",{aSplitter:aSplitter}, smalltalk.HLContainer.klass)})},
 args: ["aSplitter"],
 source: "with: aSplitter\x0a\x09^ self new \x0a    \x09splitter: aSplitter; \x0a        yourself",
 messageSends: ["splitter:", "new", "yourself"],
@@ -83,10 +85,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "cssClass",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return "splitter";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "splitter";
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "cssClass\x0a\x09^ 'splitter'",
 messageSends: [],
@@ -99,10 +101,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "firstWidget",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@firstWidget'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@firstWidget"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"firstWidget",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "firstWidget\x0a\x09^ firstWidget",
 messageSends: [],
@@ -115,11 +119,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "firstWidget:",
 category: 'accessing',
-fn: function (aWidget) {
-    var self = this;
-    self['@firstWidget'] = aWidget;
-    return self;
-},
+fn: function (aWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@firstWidget"]=aWidget;
+return self}, function($ctx1) {$ctx1.fill(self,"firstWidget:",{aWidget:aWidget}, smalltalk.HLSplitter)})},
 args: ["aWidget"],
 source: "firstWidget: aWidget\x0a\x09firstWidget := aWidget",
 messageSends: [],
@@ -132,10 +135,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "isHeliosSplitter",
 category: 'testing',
-fn: function () {
-    var self = this;
-    return true;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return true;
+}, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "isHeliosSplitter\x0a\x09^ true",
 messageSends: [],
@@ -148,10 +151,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "panesCssClass",
 category: 'rendering',
-fn: function () {
-    var self = this;
-    return "panes";
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return "panes";
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "panesCssClass\x0a\x09^ 'panes'",
 messageSends: [],
@@ -164,16 +167,29 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "renderOn:",
 category: 'rendering',
-fn: function (html) {
-    var self = this;
-    var $1, $3, $4, $5, $6, $2, $7;
-    $1 = smalltalk.send(html, "_div", []);
-    smalltalk.send($1, "_class_", [smalltalk.send(self, "_panesCssClass", [])]);
-    $2 = smalltalk.send($1, "_with_", [function () {$3 = smalltalk.send(html, "_div", []);smalltalk.send($3, "_class_", ["pane"]);$4 = smalltalk.send($3, "_with_", [smalltalk.send(self, "_firstWidget", [])]);self['@firstPane'] = $4;self['@firstPane'];self['@splitter'] = smalltalk.send(smalltalk.send(html, "_div", []), "_class_", [smalltalk.send(self, "_cssClass", [])]);self['@splitter'];$5 = smalltalk.send(html, "_div", []);smalltalk.send($5, "_class_", ["pane"]);$6 = smalltalk.send($5, "_with_", [smalltalk.send(self, "_secondWidget", [])]);self['@secondPane'] = $6;return self['@secondPane'];}]);
-    smalltalk.send(self, "_setupSplitter", []);
-    $7 = smalltalk.send(self, "_resize", []);
-    return self;
-},
+fn: function (html){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$3,$4,$5,$6,$2,$7,$8;
+$1=_st(html)._div();
+_st($1)._class_(_st(self)._panesCssClass());
+$2=_st($1)._with_((function(){
+return smalltalk.withContext(function($ctx2) {
$3=_st(html)._div();
+_st($3)._class_("pane");
+$4=_st($3)._with_(_st(self)._firstWidget());
+self["@firstPane"]=$4;
+self["@firstPane"];
+self["@splitter"]=_st(_st(html)._div())._class_(_st(self)._cssClass());
+self["@splitter"];
+$5=_st(html)._div();
+_st($5)._class_("pane");
+$6=_st($5)._with_(_st(self)._secondWidget());
+self["@secondPane"]=$6;
+return self["@secondPane"];
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
+$7=self;
+_st($7)._setupSplitter();
+$8=_st($7)._resize();
+return self}, function($ctx1) {$ctx1.fill(self,"renderOn:",{html:html}, smalltalk.HLSplitter)})},
 args: ["html"],
 source: "renderOn: html\x0a\x09html div class: self panesCssClass; with: [\x0a\x09\x09firstPane := html div class: 'pane'; with: self firstWidget.\x0a    \x09splitter := html div class: self cssClass.\x0a    \x09secondPane := html div class: 'pane'; with: self secondWidget ].\x0a        \x0a\x09self \x0a    \x09setupSplitter;\x0a        resize",
 messageSends: ["class:", "panesCssClass", "div", "with:", "firstWidget", "cssClass", "secondWidget", "setupSplitter", "resize"],
@@ -186,19 +202,18 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "resize",
 category: 'rendering',
-fn: function () {
-    var self = this;
-    var $1, $2;
-    $1 = smalltalk.send(smalltalk.send(self, "_firstWidget", []), "_isHeliosSplitter", []);
-    if (smalltalk.assert($1)) {
-        smalltalk.send(smalltalk.send(self, "_firstWidget", []), "_resize", []);
-    }
-    $2 = smalltalk.send(smalltalk.send(self, "_secondWidget", []), "_isHeliosSplitter", []);
-    if (smalltalk.assert($2)) {
-        smalltalk.send(smalltalk.send(self, "_secondWidget", []), "_resize", []);
-    }
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1,$2;
+$1=_st(_st(self)._firstWidget())._isHeliosSplitter();
+if(smalltalk.assert($1)){
+_st(_st(self)._firstWidget())._resize();
+};
+$2=_st(_st(self)._secondWidget())._isHeliosSplitter();
+if(smalltalk.assert($2)){
+_st(_st(self)._secondWidget())._resize();
+};
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "resize\x0a\x09self firstWidget isHeliosSplitter ifTrue: [ self firstWidget resize ].\x0a    self secondWidget isHeliosSplitter ifTrue: [ self secondWidget resize ]",
 messageSends: ["ifTrue:", "resize", "firstWidget", "isHeliosSplitter", "secondWidget"],
@@ -211,10 +226,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "secondWidget",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    return self['@secondWidget'];
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=self["@secondWidget"];
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"secondWidget",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "secondWidget\x0a\x09^ secondWidget",
 messageSends: [],
@@ -227,11 +244,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "secondWidget:",
 category: 'accessing',
-fn: function (aWidget) {
-    var self = this;
-    self['@secondWidget'] = aWidget;
-    return self;
-},
+fn: function (aWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
self["@secondWidget"]=aWidget;
+return self}, function($ctx1) {$ctx1.fill(self,"secondWidget:",{aWidget:aWidget}, smalltalk.HLSplitter)})},
 args: ["aWidget"],
 source: "secondWidget: aWidget\x0a\x09secondWidget := aWidget",
 messageSends: [],
@@ -244,10 +260,9 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "setupSplitter",
 category: 'rendering',
-fn: function () {
-    var self = this;
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLSplitter)})},
 args: [],
 source: "setupSplitter",
 messageSends: [],
@@ -261,16 +276,16 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "with:with:",
 category: 'instance creation',
-fn: function (aWidget, anotherWidget) {
-    var self = this;
-    var $2, $3, $1;
-    $2 = smalltalk.send(self, "_new", []);
-    smalltalk.send($2, "_firstWidget_", [aWidget]);
-    smalltalk.send($2, "_secondWidget_", [anotherWidget]);
-    $3 = smalltalk.send($2, "_yourself", []);
-    $1 = $3;
-    return $1;
-},
+fn: function (aWidget,anotherWidget){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1;
+$2=_st(self)._new();
+_st($2)._firstWidget_(aWidget);
+_st($2)._secondWidget_(anotherWidget);
+$3=_st($2)._yourself();
+$1=$3;
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"with:with:",{aWidget:aWidget,anotherWidget:anotherWidget}, smalltalk.HLSplitter.klass)})},
 args: ["aWidget", "anotherWidget"],
 source: "with: aWidget with: anotherWidget\x0a\x09^ self new\x0a    \x09\x09firstWidget: aWidget;\x0a            secondWidget: anotherWidget;\x0a            yourself",
 messageSends: ["firstWidget:", "new", "secondWidget:", "yourself"],
@@ -285,12 +300,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "cssClass",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_cssClass", [], smalltalk.HLSplitter), "__comma", [" horizontal"]);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" horizontal");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLHorizontalSplitter)})},
 args: [],
 source: "cssClass\x0a\x09^ super cssClass, ' horizontal'",
 messageSends: [",", "cssClass"],
@@ -303,12 +318,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "panesCssClass",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_panesCssClass", [], smalltalk.HLSplitter), "__comma", [" horizontal"]);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" horizontal");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLHorizontalSplitter)})},
 args: [],
 source: "panesCssClass\x0a\x09^ super panesCssClass, ' horizontal'",
 messageSends: [",", "panesCssClass"],
@@ -321,11 +336,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "resize",
 category: 'actions',
-fn: function () {
-    var self = this;
-    smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_offset", []), "_top", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._top());
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLHorizontalSplitter)})},
 args: [],
 source: "resize\x0a\x09self resize: splitter asJQuery offset top",
 messageSends: ["resize:", "top", "offset", "asJQuery"],
@@ -338,17 +352,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "resize:",
 category: 'actions',
-fn: function (anInteger) {
-    var self = this;
-    var container;
-    var position;
-    container = smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_parent", []);
-    position = smalltalk.send(anInteger, "__minus", [smalltalk.send(smalltalk.send(container, "_offset", []), "_top", [])]);
-    smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_height_", [smalltalk.send(smalltalk.send(position, "_min_", [smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [100])]), "_max_", [100])]);
-    smalltalk.send(smalltalk.send(self['@secondPane'], "_asJQuery", []), "_height_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [position]), "_min_", [smalltalk.send(smalltalk.send(container, "_height", []), "__minus", [100])]), "_max_", [100]), "__minus", [6])]);
-    smalltalk.send(self, "_resize", [], smalltalk.HLSplitter);
-    return self;
-},
+fn: function (anInteger){
+var self=this;
+var container,position;
+return smalltalk.withContext(function($ctx1) { 
container=_st(_st(self["@firstPane"])._asJQuery())._parent();
+position=_st(anInteger).__minus(_st(_st(container)._offset())._top());
+_st(_st(self["@firstPane"])._asJQuery())._height_(_st(_st(position)._min_(_st(_st(container)._height()).__minus((100))))._max_((100)));
+_st(_st(self["@secondPane"])._asJQuery())._height_(_st(_st(_st(_st(_st(container)._height()).__minus(position))._min_(_st(_st(container)._height()).__minus((100))))._max_((100))).__minus((6)));
+smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
+return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position}, smalltalk.HLHorizontalSplitter)})},
 args: ["anInteger"],
 source: "resize: anInteger\x0a\x09| container position |\x0a    \x0a    container := firstPane asJQuery parent.\x0a    position := anInteger - container offset top.\x0a    \x0a\x09firstPane asJQuery height: ((position min: container height - 100) max: 100).\x0a    secondPane asJQuery height: (((container height - position) min: container height - 100) max: 100) - 6.\x0a    \x0a    super resize",
 messageSends: ["parent", "asJQuery", "-", "top", "offset", "height:", "max:", "min:", "height", "resize"],
@@ -361,11 +373,14 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "setupSplitter",
 category: 'rendering',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_draggable_", [smalltalk.HashedCollection._fromPairs_([smalltalk.send("axis", "__minus_gt", ["y"]), smalltalk.send("containment", "__minus_gt", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_parent", [])]), smalltalk.send("helper", "__minus_gt", ["clone"]), smalltalk.send("start", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_startResizing_", [smalltalk.send(ui, "_helper", [])]);}]), smalltalk.send("drag", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(ui, "_offset", []), "_top", [])]);}])])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("y"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._resize_(_st(_st(ui)._offset())._top());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
+return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLHorizontalSplitter)})},
 args: [],
 source: "setupSplitter\x0a\x09splitter asJQuery draggable: #{ \x0a    \x09'axis' -> 'y'. \x0a        'containment' -> splitter asJQuery parent.\x0a        'helper' -> 'clone'.\x0a        'start' -> [ :e :ui | self startResizing: ui helper ].\x0a        'drag' -> [ :e :ui | self resize: ui offset top ] }",
 messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "top", "offset"],
@@ -378,11 +393,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "startResizing:",
 category: 'actions',
-fn: function (aSplitter) {
-    var self = this;
-    smalltalk.send(aSplitter, "_width_", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_width", [])]);
-    return self;
-},
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(aSplitter)._width_(_st(_st(self["@splitter"])._asJQuery())._width());
+return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter}, smalltalk.HLHorizontalSplitter)})},
 args: ["aSplitter"],
 source: "startResizing: aSplitter\x0a\x09aSplitter width: splitter asJQuery width",
 messageSends: ["width:", "width", "asJQuery"],
@@ -398,12 +412,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "cssClass",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_cssClass", [], smalltalk.HLSplitter), "__comma", [" vertical"]);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._cssClass.apply(_st(self), [])).__comma(" vertical");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"cssClass",{}, smalltalk.HLVerticalSplitter)})},
 args: [],
 source: "cssClass\x0a\x09^ super cssClass, ' vertical'",
 messageSends: [",", "cssClass"],
@@ -416,12 +430,12 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "panesCssClass",
 category: 'accessing',
-fn: function () {
-    var self = this;
-    var $1;
-    $1 = smalltalk.send(smalltalk.send(self, "_panesCssClass", [], smalltalk.HLSplitter), "__comma", [" vertical"]);
-    return $1;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
var $1;
+$1=_st(smalltalk.HLSplitter.fn.prototype._panesCssClass.apply(_st(self), [])).__comma(" vertical");
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"panesCssClass",{}, smalltalk.HLVerticalSplitter)})},
 args: [],
 source: "panesCssClass\x0a\x09^ super panesCssClass, ' vertical'",
 messageSends: [",", "panesCssClass"],
@@ -434,11 +448,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "resize",
 category: 'actions',
-fn: function () {
-    var self = this;
-    smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_offset", []), "_left", [])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(self)._resize_(_st(_st(_st(self["@splitter"])._asJQuery())._offset())._left());
+return self}, function($ctx1) {$ctx1.fill(self,"resize",{}, smalltalk.HLVerticalSplitter)})},
 args: [],
 source: "resize\x0a\x09self resize: splitter asJQuery offset left",
 messageSends: ["resize:", "left", "offset", "asJQuery"],
@@ -451,17 +464,15 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "resize:",
 category: 'actions',
-fn: function (anInteger) {
-    var self = this;
-    var container;
-    var position;
-    container = smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_parent", []);
-    position = smalltalk.send(anInteger, "__minus", [smalltalk.send(smalltalk.send(container, "_offset", []), "_left", [])]);
-    smalltalk.send(smalltalk.send(self['@firstPane'], "_asJQuery", []), "_width_", [smalltalk.send(smalltalk.send(position, "_min_", [smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [100])]), "_max_", [100])]);
-    smalltalk.send(smalltalk.send(self['@secondPane'], "_asJQuery", []), "_width_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [position]), "_min_", [smalltalk.send(smalltalk.send(container, "_width", []), "__minus", [100])]), "_max_", [100]), "__minus", [6])]);
-    smalltalk.send(self, "_resize", [], smalltalk.HLSplitter);
-    return self;
-},
+fn: function (anInteger){
+var self=this;
+var container,position;
+return smalltalk.withContext(function($ctx1) { 
container=_st(_st(self["@firstPane"])._asJQuery())._parent();
+position=_st(anInteger).__minus(_st(_st(container)._offset())._left());
+_st(_st(self["@firstPane"])._asJQuery())._width_(_st(_st(position)._min_(_st(_st(container)._width()).__minus((100))))._max_((100)));
+_st(_st(self["@secondPane"])._asJQuery())._width_(_st(_st(_st(_st(_st(container)._width()).__minus(position))._min_(_st(_st(container)._width()).__minus((100))))._max_((100))).__minus((6)));
+smalltalk.HLSplitter.fn.prototype._resize.apply(_st(self), []);
+return self}, function($ctx1) {$ctx1.fill(self,"resize:",{anInteger:anInteger,container:container,position:position}, smalltalk.HLVerticalSplitter)})},
 args: ["anInteger"],
 source: "resize: anInteger\x0a\x09| container position |\x0a    \x0a    container := firstPane asJQuery parent.\x0a    position := anInteger - container offset left.\x0a    \x0a\x09firstPane asJQuery width: ((position min: container width - 100) max: 100).\x0a    secondPane asJQuery width: (((container width - position) min: container width - 100) max: 100) - 6.\x0a    \x0a    super resize",
 messageSends: ["parent", "asJQuery", "-", "left", "offset", "width:", "max:", "min:", "width", "resize"],
@@ -474,11 +485,14 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "setupSplitter",
 category: 'rendering',
-fn: function () {
-    var self = this;
-    smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_draggable_", [smalltalk.HashedCollection._fromPairs_([smalltalk.send("axis", "__minus_gt", ["x"]), smalltalk.send("containment", "__minus_gt", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_parent", [])]), smalltalk.send("helper", "__minus_gt", ["clone"]), smalltalk.send("start", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_startResizing_", [smalltalk.send(ui, "_helper", [])]);}]), smalltalk.send("drag", "__minus_gt", [function (e, ui) {return smalltalk.send(self, "_resize_", [smalltalk.send(smalltalk.send(ui, "_offset", []), "_left", [])]);}])])]);
-    return self;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(_st(self["@splitter"])._asJQuery())._draggable_(smalltalk.HashedCollection._fromPairs_([_st("axis").__minus_gt("x"),_st("containment").__minus_gt(_st(_st(self["@splitter"])._asJQuery())._parent()),_st("helper").__minus_gt("clone"),_st("start").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._startResizing_(_st(ui)._helper());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})})),_st("drag").__minus_gt((function(e,ui){
+return smalltalk.withContext(function($ctx2) {
return _st(self)._resize_(_st(_st(ui)._offset())._left());
+}, function($ctx2) {$ctx2.fillBlock({e:e,ui:ui},$ctx1)})}))]));
+return self}, function($ctx1) {$ctx1.fill(self,"setupSplitter",{}, smalltalk.HLVerticalSplitter)})},
 args: [],
 source: "setupSplitter\x0a\x09splitter asJQuery draggable: #{ \x0a    \x09'axis' -> 'x'. \x0a        'containment' -> splitter asJQuery parent.\x0a        'helper' -> 'clone'.\x0a        'start' -> [ :e :ui | self startResizing: ui helper ].\x0a        'drag' -> [ :e :ui | self resize: ui offset left ] }",
 messageSends: ["draggable:", "->", "parent", "asJQuery", "startResizing:", "helper", "resize:", "left", "offset"],
@@ -491,11 +505,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "startResizing:",
 category: 'actions',
-fn: function (aSplitter) {
-    var self = this;
-    smalltalk.send(aSplitter, "_height_", [smalltalk.send(smalltalk.send(self['@splitter'], "_asJQuery", []), "_height", [])]);
-    return self;
-},
+fn: function (aSplitter){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
_st(aSplitter)._height_(_st(_st(self["@splitter"])._asJQuery())._height());
+return self}, function($ctx1) {$ctx1.fill(self,"startResizing:",{aSplitter:aSplitter}, smalltalk.HLVerticalSplitter)})},
 args: ["aSplitter"],
 source: "startResizing: aSplitter\x0a\x09aSplitter height: splitter asJQuery height",
 messageSends: ["height:", "height", "asJQuery"],
@@ -510,10 +523,10 @@ smalltalk.addMethod(
 smalltalk.method({
 selector: "isHeliosSplitter",
 category: '*Helios-Layout',
-fn: function () {
-    var self = this;
-    return false;
-},
+fn: function (){
+var self=this;
+return smalltalk.withContext(function($ctx1) { 
return false;
+}, function($ctx1) {$ctx1.fill(self,"isHeliosSplitter",{}, smalltalk.Object)})},
 args: [],
 source: "isHeliosSplitter\x0a\x09^ false",
 messageSends: [],

Diferenças do arquivo suprimidas por serem muito extensas
+ 355 - 361
js/Helios-Workspace.deploy.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 333 - 338
js/Helios-Workspace.js


+ 36 - 33
st/Helios-Browser.st

@@ -143,7 +143,7 @@ getChildrenOf: aClass
 
 getRootClassesOf: aCollection
 	^ aCollection select: [ :each |
-    	(each allSuperclasses intersection: aCollection) isEmpty ]
+    		(aCollection includes: each superclass) not ]
 !
 
 iconForItem: aClass
@@ -174,7 +174,6 @@ observeModel
 !
 
 selectItem: aClass
-	super selectItem: aClass.
     self model selectedClass: aClass
 !
 
@@ -185,7 +184,10 @@ showInstance: aBoolean
 !HLClassesListWidget methodsFor: 'reactions'!
 
 onClassSelected: aClass
-	self focus
+	self selectedItem: aClass.
+	aClass ifNil: [ ^ self ].
+    
+    self focus
 !
 
 onPackageSelected: aPackage
@@ -252,8 +254,8 @@ renderItem: aClass level: anInteger on: html
 
 renderItem: aClass on: html
 	super renderItem: aClass on: html.
-    	(self getChildrenOf: aClass) do: [ :each |
-    		self renderItem: each level: 1 on: html ]
+    (self getChildrenOf: aClass) do: [ :each |
+    	self renderItem: each level: 1 on: html ]
 !
 
 renderItemLabel: aClass level: anInteger on: html
@@ -336,7 +338,6 @@ observeModel
 !
 
 selectItem: aCompiledMethod
-	super selectItem: aCompiledMethod.
    	self model selectedMethod: aCompiledMethod
 ! !
 
@@ -356,7 +357,10 @@ initialize
 !HLMethodsListWidget methodsFor: 'reactions'!
 
 onMethodSelected: aMethod
-	self focus
+	self selectedItem: aMethod.
+	aMethod ifNil: [ ^ self ].
+    
+    self focus
 !
 
 onProtocolSelected: aString
@@ -426,13 +430,13 @@ observeModel
 !
 
 selectItem: aPackage
-	super selectItem: aPackage.
-    self model selectedPackage: aPackage
+	self model selectedPackage: aPackage
 ! !
 
 !HLPackagesListWidget methodsFor: 'reactions'!
 
 onPackageSelected: aPackage
+	self selectedItem: aPackage.
 	self focus
 ! !
 
@@ -476,7 +480,7 @@ selectedItem
 !HLProtocolsListWidget methodsFor: 'actions'!
 
 observeModel
-	self model announcer on: HLClassSelected do: [ :ann |
+    self model announcer on: HLClassSelected do: [ :ann |
     	self onClassSelected: ann item ].
     self model announcer on: HLShowInstanceToggled do: [ :ann |
     	self onClassSelected: self model selectedClass ].
@@ -485,7 +489,6 @@ observeModel
 !
 
 selectItem: aString
-	super selectItem: aString.
     self model selectedProtocol: aString
 ! !
 
@@ -505,7 +508,10 @@ onClassSelected: aClass
 !
 
 onProtocolSelected: aString
-	self focus
+	self selectedItem: aString.
+	aString ifNil: [ ^ self ].
+    
+    self focus
 ! !
 
 !HLProtocolsListWidget methodsFor: 'rendering'!
@@ -549,19 +555,16 @@ selectedClass
 !
 
 selectedClass: aClass
-	selectedClass = aClass ifFalse: [
-		aClass 
-    		ifNil: [ selectedClass := nil ]
-      		ifNotNil: [
-				self showInstance 
-    				ifTrue: [ selectedClass := aClass theNonMetaClass ]
-      				ifFalse: [ selectedClass := aClass theMetaClass ] ].
+	selectedClass = aClass ifTrue: [ ^ self ].
     
-   		self 
-    		selectedMethod: nil;
-       	 	selectedProtocol: nil ].
-        
-   self announcer announce: (HLClassSelected on: self selectedClass)
+	aClass 
+   		ifNil: [ selectedClass := nil ]
+    	ifNotNil: [
+			self showInstance 
+   				ifTrue: [ selectedClass := aClass theNonMetaClass ]
+     			ifFalse: [ selectedClass := aClass theMetaClass ] ].
+	self selectedProtocol: nil.
+	self announcer announce: (HLClassSelected on: self selectedClass)
 !
 
 selectedMethod
@@ -569,9 +572,9 @@ selectedMethod
 !
 
 selectedMethod: aCompiledMethod
-	selectedMethod = aCompiledMethod ifFalse: [
-		selectedMethod := aCompiledMethod ].
-    
+	selectedMethod = aCompiledMethod ifTrue: [ ^ self ].
+
+	selectedMethod := aCompiledMethod.    
     self announcer announce: (HLMethodSelected on: aCompiledMethod)
 !
 
@@ -580,10 +583,10 @@ selectedPackage
 !
 
 selectedPackage: aPackage
-	selectedPackage = aPackage ifFalse: [
-		selectedPackage := aPackage.
-    	self selectedClass: nil ].
+	selectedPackage = aPackage ifTrue: [ ^ self ].
     
+	selectedPackage := aPackage.
+	self selectedClass: nil.
     self announcer announce: (HLPackageSelected on: aPackage)
 !
 
@@ -592,10 +595,10 @@ selectedProtocol
 !
 
 selectedProtocol: aString
-	selectedProtocol = aString ifFalse: [
-      	selectedProtocol := aString.
-    	self selectedMethod: nil ].
+	selectedProtocol = aString ifTrue: [ ^ self ].
     
+	selectedProtocol := aString.
+    self selectedMethod: nil.
     self announcer announce: (HLProtocolSelected on: aString)
 !
 

+ 7 - 1
st/Helios-Core.st

@@ -187,6 +187,12 @@ items: aCollection
 	items := aCollection
 !
 
+positionOf: aListItem
+	<
+    	return aListItem.parent().children().get().indexOf(aListItem.get(0)) + 1
+	>
+!
+
 selectedItem
 	^ selectedItem
 !
@@ -206,7 +212,7 @@ activateListItem: aListItem
     
 	(aListItem get: 0) ifNil: [ ^self ].
 
-	<position = aListItem.parent().children().get().indexOf(aListItem.get(0)) + 1>.
+	position := self positionOf: aListItem.
 
     parent := aListItem parent.
 	parent children removeClass: 'active'.

+ 6 - 2
st/Helios-KeyBindings.st

@@ -268,6 +268,10 @@ HLWidget subclass: #HLKeyBinderHelper
 
 !HLKeyBinderHelper methodsFor: 'accessing'!
 
+cssClass
+	^ 'key_helper'
+!
+
 keyBinder
 	^ keyBinder
 !
@@ -283,7 +287,7 @@ selectedBinding
 !HLKeyBinderHelper methodsFor: 'actions'!
 
 hide
-	rootDiv asJQuery remove
+	('.', self cssClass) asJQuery remove
 !
 
 show
@@ -315,7 +319,7 @@ renderBindingOn: html
 !
 
 renderContentOn: html
-	html div class: 'key_helper'; with: [
+	html div class: self cssClass; with: [
       	self 
         	renderSelectionOn:html;
           	renderBindingOn: html ]

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff