Browse Source

- Helios: Use the environment's doIt receiver for doIts.

Nicolas Petton 10 years ago
parent
commit
82f833e004
4 changed files with 28 additions and 6 deletions
  1. 4 5
      js/Helios-Workspace.js
  2. 19 0
      js/Kernel-Infrastructure.js
  3. 1 1
      st/Helios-Workspace.st
  4. 4 0
      st/Kernel-Infrastructure.st

+ 4 - 5
js/Helios-Workspace.js

@@ -33,16 +33,15 @@ selector: "defaultReceiver",
 category: 'defaults',
 fn: function (){
 var self=this;
-function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
 return smalltalk.withContext(function($ctx1) { 
 var $1;
-$1=_st($DoIt())._new();
+$1=_st(self._environment())._doItReceiver();
 return $1;
 }, function($ctx1) {$ctx1.fill(self,"defaultReceiver",{},smalltalk.HLCodeModel)})},
 args: [],
-source: "defaultReceiver\x0a\x09^ DoIt new",
-messageSends: ["new"],
-referencedClasses: ["DoIt"]
+source: "defaultReceiver\x0a\x09^ self environment doItReceiver",
+messageSends: ["doItReceiver", "environment"],
+referencedClasses: []
 }),
 smalltalk.HLCodeModel);
 

+ 19 - 0
js/Kernel-Infrastructure.js

@@ -421,6 +421,25 @@ referencedClasses: ["Smalltalk", "ClassBuilder"]
 }),
 smalltalk.Environment);
 
+smalltalk.addMethod(
+smalltalk.method({
+selector: "doItReceiver",
+category: 'accessing',
+fn: function (){
+var self=this;
+function $DoIt(){return smalltalk.DoIt||(typeof DoIt=="undefined"?nil:DoIt)}
+return smalltalk.withContext(function($ctx1) { 
+var $1;
+$1=_st($DoIt())._new();
+return $1;
+}, function($ctx1) {$ctx1.fill(self,"doItReceiver",{},smalltalk.Environment)})},
+args: [],
+source: "doItReceiver\x0a\x09^ DoIt new",
+messageSends: ["new"],
+referencedClasses: ["DoIt"]
+}),
+smalltalk.Environment);
+
 smalltalk.addMethod(
 smalltalk.method({
 selector: "eval:on:",

+ 1 - 1
st/Helios-Workspace.st

@@ -39,7 +39,7 @@ inspect: anObject
 !HLCodeModel methodsFor: 'defaults'!
 
 defaultReceiver
-	^ DoIt new
+	^ self environment doItReceiver
 ! !
 
 !HLCodeModel class methodsFor: 'actions'!

+ 4 - 0
st/Kernel-Infrastructure.st

@@ -106,6 +106,10 @@ classes
 	^ Smalltalk current classes
 !
 
+doItReceiver
+	^ DoIt new
+!
+
 packages
 	^ Smalltalk current packages
 !