|
@@ -829,7 +829,7 @@ return $recv(compiler)._parseExpression_(aString);
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return $core.withContext(function($ctx2) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
-throw $early=[self._alert_($recv(ex)._messageText())];
|
|
|
+throw $early=[$recv($globals.Terminal)._alert_($recv(ex)._messageText())];
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
}, function($ctx2) {$ctx2.fillBlock({ex:ex},$ctx1,2)});
|
|
|
//>>excludeEnd("ctx");
|
|
@@ -843,8 +843,8 @@ catch(e) {if(e===$early)return e[0]; throw e}
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: ["aString"],
|
|
|
-source: "eval: aString\x0a\x09| compiler |\x0a\x09compiler := Compiler new.\x0a\x09[ compiler parseExpression: aString ] on: Error do: [ :ex |\x0a\x09\x09^ self alert: ex messageText ].\x0a\x09^ compiler evaluateExpression: aString on: self receiver",
|
|
|
-referencedClasses: ["Compiler", "Error"],
|
|
|
+source: "eval: aString\x0a\x09| compiler |\x0a\x09compiler := Compiler new.\x0a\x09[ compiler parseExpression: aString ] on: Error do: [ :ex |\x0a\x09\x09^ Terminal alert: ex messageText ].\x0a\x09^ compiler evaluateExpression: aString on: self receiver",
|
|
|
+referencedClasses: ["Compiler", "Error", "Terminal"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["new", "on:do:", "parseExpression:", "alert:", "messageText", "evaluateExpression:on:", "receiver"]
|
|
|
}),
|
|
@@ -2858,7 +2858,7 @@ var className;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
var $1;
|
|
|
-className=self._prompt_("New class");
|
|
|
+className=$recv($globals.Terminal)._prompt_("New class");
|
|
|
$1=$recv($recv(className)._notNil())._and_((function(){
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -2881,8 +2881,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "addNewClass\x0a\x09| className |\x0a\x09className := self prompt: 'New class'.\x0a\x09(className notNil and: [ className notEmpty ]) ifTrue: [\x0a\x09\x09Object subclass: className instanceVariableNames: '' package: self selectedPackage.\x0a\x09\x09\x09self\x0a\x09\x09\x09resetClassesList;\x0a\x09\x09\x09updateClassesList.\x0a\x09\x09self selectClass: (Smalltalk globals at: className) ]",
|
|
|
-referencedClasses: ["Object", "Smalltalk"],
|
|
|
+source: "addNewClass\x0a\x09| className |\x0a\x09className := Terminal prompt: 'New class'.\x0a\x09(className notNil and: [ className notEmpty ]) ifTrue: [\x0a\x09\x09Object subclass: className instanceVariableNames: '' package: self selectedPackage.\x0a\x09\x09\x09self\x0a\x09\x09\x09resetClassesList;\x0a\x09\x09\x09updateClassesList.\x0a\x09\x09self selectClass: (Smalltalk globals at: className) ]",
|
|
|
+referencedClasses: ["Terminal", "Object", "Smalltalk"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["prompt:", "ifTrue:", "and:", "notNil", "notEmpty", "subclass:instanceVariableNames:package:", "selectedPackage", "resetClassesList", "updateClassesList", "selectClass:", "at:", "globals"]
|
|
|
}),
|
|
@@ -2899,7 +2899,7 @@ var newProtocol;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
var $1;
|
|
|
-newProtocol=self._prompt_("New method protocol");
|
|
|
+newProtocol=$recv($globals.Terminal)._prompt_("New method protocol");
|
|
|
$1=$recv($recv(newProtocol)._notNil())._and_((function(){
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -2920,8 +2920,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "addNewProtocol\x0a\x09| newProtocol |\x0a\x09\x0a\x09newProtocol := self prompt: 'New method protocol'.\x0a\x09\x0a\x09(newProtocol notNil and: [ newProtocol notEmpty ]) ifTrue: [\x0a\x09\x09selectedMethod protocol: newProtocol.\x0a\x09\x09self setMethodProtocol: newProtocol ]",
|
|
|
-referencedClasses: [],
|
|
|
+source: "addNewProtocol\x0a\x09| newProtocol |\x0a\x09\x0a\x09newProtocol := Terminal prompt: 'New method protocol'.\x0a\x09\x0a\x09(newProtocol notNil and: [ newProtocol notEmpty ]) ifTrue: [\x0a\x09\x09selectedMethod protocol: newProtocol.\x0a\x09\x09self setMethodProtocol: newProtocol ]",
|
|
|
+referencedClasses: ["Terminal"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["prompt:", "ifTrue:", "and:", "notNil", "notEmpty", "protocol:", "setMethodProtocol:"]
|
|
|
}),
|
|
@@ -2957,7 +2957,7 @@ return $core.withContext(function($ctx1) {
|
|
|
var $1;
|
|
|
$1=self["@unsavedChanges"];
|
|
|
if($core.assert($1)){
|
|
|
-return self._confirm_("Cancel changes?");
|
|
|
+return $recv($globals.Terminal)._confirm_("Cancel changes?");
|
|
|
} else {
|
|
|
return true;
|
|
|
};
|
|
@@ -2967,8 +2967,8 @@ return true;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "cancelChanges\x0a\x09^ unsavedChanges\x0a\x09ifTrue: [ self confirm: 'Cancel changes?' ]\x0a\x09ifFalse: [ true ]",
|
|
|
-referencedClasses: [],
|
|
|
+source: "cancelChanges\x0a\x09^ unsavedChanges\x0a\x09ifTrue: [ Terminal confirm: 'Cancel changes?' ]\x0a\x09ifFalse: [ true ]",
|
|
|
+referencedClasses: ["Terminal"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["ifTrue:ifFalse:", "confirm:"]
|
|
|
}),
|
|
@@ -3392,7 +3392,7 @@ $3=$recv($4).__comma($recv($recv(node)._position())._asString());
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
//>>excludeEnd("ctx");
|
|
|
-return self._alert_($3);
|
|
|
+return $recv($globals.Terminal)._alert_($3);
|
|
|
};
|
|
|
package_=$recv(aClass)._packageOfProtocol_(self["@selectedProtocol"]);
|
|
|
compiledSource=$recv(compiler)._compileNode_forClass_package_(node,aClass,package_);
|
|
@@ -3407,7 +3407,7 @@ $8=$recv("Declare '".__comma(each)).__comma("' as instance variable?");
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
$ctx2.sendIdx[","]=4;
|
|
|
//>>excludeEnd("ctx");
|
|
|
-$7=self._confirm_($8);
|
|
|
+$7=$recv($globals.Terminal)._confirm_($8);
|
|
|
if($core.assert($7)){
|
|
|
self._addInstanceVariableNamed_toClass_(each,aClass);
|
|
|
throw $early=[self._compileMethodDefinitionFor_(aClass)];
|
|
@@ -3429,8 +3429,8 @@ catch(e) {if(e===$early)return e[0]; throw e}
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: ["aClass"],
|
|
|
-source: "compileMethodDefinitionFor: aClass\x0a\x09| compiler package method compiledSource source node |\x0a\x09source := sourceArea val.\x0a\x09selectedProtocol ifNil: [ selectedProtocol := selectedMethod protocol ].\x0a\x09compiler := Compiler new.\x0a\x09compiler source: source.\x0a\x09node := compiler parse: source.\x0a\x09node isParseFailure ifTrue: [\x0a\x09^ self alert: 'PARSE ERROR: ', node reason, ', position: ', node position asString ].\x0a\x09package := aClass packageOfProtocol: selectedProtocol.\x0a\x09compiledSource := compiler compileNode: node forClass: aClass package: package.\x0a\x09method := compiler eval: compiledSource forPackage: package.\x0a\x09compiler unknownVariables do: [ :each |\x0a\x09\x09\x22Do not try to redeclare javascript's objects\x22\x0a\x09\x09(Smalltalk existsJsGlobal: each) ifFalse: [\x0a\x09\x09(self confirm: 'Declare ''', each, ''' as instance variable?') ifTrue: [\x0a\x09\x09\x09self addInstanceVariableNamed: each toClass: aClass.\x0a\x09\x09\x09^ self compileMethodDefinitionFor: aClass ]] ].\x0a\x09ClassBuilder new installMethod: method forClass: aClass protocol: selectedProtocol.\x0a\x09self updateMethodsList.\x0a\x09self selectMethod: method",
|
|
|
-referencedClasses: ["Compiler", "Smalltalk", "ClassBuilder"],
|
|
|
+source: "compileMethodDefinitionFor: aClass\x0a\x09| compiler package method compiledSource source node |\x0a\x09source := sourceArea val.\x0a\x09selectedProtocol ifNil: [ selectedProtocol := selectedMethod protocol ].\x0a\x09compiler := Compiler new.\x0a\x09compiler source: source.\x0a\x09node := compiler parse: source.\x0a\x09node isParseFailure ifTrue: [\x0a\x09^ Terminal alert: 'PARSE ERROR: ', node reason, ', position: ', node position asString ].\x0a\x09package := aClass packageOfProtocol: selectedProtocol.\x0a\x09compiledSource := compiler compileNode: node forClass: aClass package: package.\x0a\x09method := compiler eval: compiledSource forPackage: package.\x0a\x09compiler unknownVariables do: [ :each |\x0a\x09\x09\x22Do not try to redeclare javascript's objects\x22\x0a\x09\x09(Smalltalk existsJsGlobal: each) ifFalse: [\x0a\x09\x09(Terminal confirm: 'Declare ''', each, ''' as instance variable?') ifTrue: [\x0a\x09\x09\x09self addInstanceVariableNamed: each toClass: aClass.\x0a\x09\x09\x09^ self compileMethodDefinitionFor: aClass ]] ].\x0a\x09ClassBuilder new installMethod: method forClass: aClass protocol: selectedProtocol.\x0a\x09self updateMethodsList.\x0a\x09self selectMethod: method",
|
|
|
+referencedClasses: ["Compiler", "Terminal", "Smalltalk", "ClassBuilder"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["val", "ifNil:", "protocol", "new", "source:", "parse:", "ifTrue:", "isParseFailure", "alert:", ",", "reason", "asString", "position", "packageOfProtocol:", "compileNode:forClass:package:", "eval:forPackage:", "do:", "unknownVariables", "ifFalse:", "existsJsGlobal:", "confirm:", "addInstanceVariableNamed:toClass:", "compileMethodDefinitionFor:", "installMethod:forClass:protocol:", "updateMethodsList", "selectMethod:"]
|
|
|
}),
|
|
@@ -3447,7 +3447,7 @@ var className;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
var $1;
|
|
|
-className=self._prompt_("Copy class");
|
|
|
+className=$recv($globals.Terminal)._prompt_("Copy class");
|
|
|
$1=$recv($recv(className)._notNil())._and_((function(){
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -3470,8 +3470,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "copyClass\x0a\x09| className |\x0a\x09className := self prompt: 'Copy class'.\x0a\x09(className notNil and: [ className notEmpty ]) ifTrue: [\x0a\x09\x09ClassBuilder new copyClass: self selectedClass named: className.\x0a\x09\x09\x09self\x0a\x09\x09\x09resetClassesList;\x0a\x09\x09\x09updateClassesList.\x0a\x09\x09self selectClass: (Smalltalk globals at: className) ]",
|
|
|
-referencedClasses: ["ClassBuilder", "Smalltalk"],
|
|
|
+source: "copyClass\x0a\x09| className |\x0a\x09className := Terminal prompt: 'Copy class'.\x0a\x09(className notNil and: [ className notEmpty ]) ifTrue: [\x0a\x09\x09ClassBuilder new copyClass: self selectedClass named: className.\x0a\x09\x09\x09self\x0a\x09\x09\x09resetClassesList;\x0a\x09\x09\x09updateClassesList.\x0a\x09\x09self selectClass: (Smalltalk globals at: className) ]",
|
|
|
+referencedClasses: ["Terminal", "ClassBuilder", "Smalltalk"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["prompt:", "ifTrue:", "and:", "notNil", "notEmpty", "copyClass:named:", "new", "selectedClass", "resetClassesList", "updateClassesList", "selectClass:", "at:", "globals"]
|
|
|
}),
|
|
@@ -3968,7 +3968,7 @@ $2=$recv("Do you really want to remove ".__comma($recv(self["@selectedClass"])._
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
//>>excludeEnd("ctx");
|
|
|
-$1=self._confirm_($2);
|
|
|
+$1=$recv($globals.Terminal)._confirm_($2);
|
|
|
if($core.assert($1)){
|
|
|
$recv($globals.Smalltalk)._removeClass_(self["@selectedClass"]);
|
|
|
self._resetClassesList();
|
|
@@ -3981,8 +3981,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "removeClass\x0a\x09(self confirm: 'Do you really want to remove ', selectedClass name, '?')\x0a\x09ifTrue: [\x0a\x09\x09Smalltalk removeClass: selectedClass.\x0a\x09\x09self resetClassesList.\x0a\x09\x09self selectClass: nil ]",
|
|
|
-referencedClasses: ["Smalltalk"],
|
|
|
+source: "removeClass\x0a\x09(Terminal confirm: 'Do you really want to remove ', selectedClass name, '?')\x0a\x09ifTrue: [\x0a\x09\x09Smalltalk removeClass: selectedClass.\x0a\x09\x09self resetClassesList.\x0a\x09\x09self selectClass: nil ]",
|
|
|
+referencedClasses: ["Terminal", "Smalltalk"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["ifTrue:", "confirm:", ",", "name", "removeClass:", "resetClassesList", "selectClass:"]
|
|
|
}),
|
|
@@ -4004,7 +4004,7 @@ $3=$recv("Do you really want to remove #".__comma($recv(self["@selectedMethod"])
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
//>>excludeEnd("ctx");
|
|
|
-$2=self._confirm_($3);
|
|
|
+$2=$recv($globals.Terminal)._confirm_($3);
|
|
|
if($core.assert($2)){
|
|
|
$4=$recv(self["@selectedTab"]).__eq("instance");
|
|
|
if($core.assert($4)){
|
|
@@ -4025,8 +4025,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "removeMethod\x0a\x09self cancelChanges ifTrue: [\x0a\x09(self confirm: 'Do you really want to remove #', selectedMethod selector, '?')\x0a\x09\x09ifTrue: [\x0a\x09\x09selectedTab = #instance\x0a\x09\x09\x09ifTrue: [ selectedClass removeCompiledMethod: selectedMethod ]\x0a\x09\x09\x09ifFalse: [ selectedClass class removeCompiledMethod: selectedMethod ].\x0a\x09\x09self selectMethod: nil ]]",
|
|
|
-referencedClasses: [],
|
|
|
+source: "removeMethod\x0a\x09self cancelChanges ifTrue: [\x0a\x09(Terminal confirm: 'Do you really want to remove #', selectedMethod selector, '?')\x0a\x09\x09ifTrue: [\x0a\x09\x09selectedTab = #instance\x0a\x09\x09\x09ifTrue: [ selectedClass removeCompiledMethod: selectedMethod ]\x0a\x09\x09\x09ifFalse: [ selectedClass class removeCompiledMethod: selectedMethod ].\x0a\x09\x09self selectMethod: nil ]]",
|
|
|
+referencedClasses: ["Terminal"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["ifTrue:", "cancelChanges", "confirm:", ",", "selector", "ifTrue:ifFalse:", "=", "removeCompiledMethod:", "class", "selectMethod:"]
|
|
|
}),
|
|
@@ -4046,7 +4046,7 @@ $2=$recv("Do you really want to remove the whole package ".__comma(self["@select
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
$ctx1.sendIdx[","]=1;
|
|
|
//>>excludeEnd("ctx");
|
|
|
-$1=self._confirm_($2);
|
|
|
+$1=$recv($globals.Terminal)._confirm_($2);
|
|
|
if($core.assert($1)){
|
|
|
$recv($globals.Smalltalk)._removePackage_(self["@selectedPackage"]);
|
|
|
self._updateCategoriesList();
|
|
@@ -4058,8 +4058,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "removePackage\x0a\x0a\x09(self confirm: 'Do you really want to remove the whole package ', selectedPackage, ' with all its classes?')\x0a\x09ifTrue: [\x0a\x09\x09Smalltalk removePackage: selectedPackage.\x0a\x09\x09self updateCategoriesList ]",
|
|
|
-referencedClasses: ["Smalltalk"],
|
|
|
+source: "removePackage\x0a\x0a\x09(Terminal confirm: 'Do you really want to remove the whole package ', selectedPackage, ' with all its classes?')\x0a\x09ifTrue: [\x0a\x09\x09Smalltalk removePackage: selectedPackage.\x0a\x09\x09self updateCategoriesList ]",
|
|
|
+referencedClasses: ["Terminal", "Smalltalk"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["ifTrue:", "confirm:", ",", "removePackage:", "updateCategoriesList"]
|
|
|
}),
|
|
@@ -4076,7 +4076,7 @@ var newName;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
var $1;
|
|
|
-newName=self._prompt_("Rename class ".__comma($recv(self["@selectedClass"])._name()));
|
|
|
+newName=$recv($globals.Terminal)._prompt_("Rename class ".__comma($recv(self["@selectedClass"])._name()));
|
|
|
$1=$recv($recv(newName)._notNil())._and_((function(){
|
|
|
//>>excludeStart("ctx", pragmas.excludeDebugContexts);
|
|
|
return $core.withContext(function($ctx2) {
|
|
@@ -4098,8 +4098,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "renameClass\x0a\x09| newName |\x0a\x09newName := self prompt: 'Rename class ', selectedClass name.\x0a\x09(newName notNil and: [ newName notEmpty ]) ifTrue: [\x0a\x09selectedClass rename: newName.\x0a\x09self\x0a\x09\x09updateClassesList;\x0a\x09\x09updateSourceAndButtons ]",
|
|
|
-referencedClasses: [],
|
|
|
+source: "renameClass\x0a\x09| newName |\x0a\x09newName := Terminal prompt: 'Rename class ', selectedClass name.\x0a\x09(newName notNil and: [ newName notEmpty ]) ifTrue: [\x0a\x09selectedClass rename: newName.\x0a\x09self\x0a\x09\x09updateClassesList;\x0a\x09\x09updateSourceAndButtons ]",
|
|
|
+referencedClasses: ["Terminal"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["prompt:", ",", "name", "ifTrue:", "and:", "notNil", "notEmpty", "rename:", "updateClassesList", "updateSourceAndButtons"]
|
|
|
}),
|
|
@@ -4116,7 +4116,7 @@ var newName;
|
|
|
return $core.withContext(function($ctx1) {
|
|
|
//>>excludeEnd("ctx");
|
|
|
var $1,$2,$receiver;
|
|
|
-newName=self._prompt_("Rename package ".__comma(self["@selectedPackage"]));
|
|
|
+newName=$recv($globals.Terminal)._prompt_("Rename package ".__comma(self["@selectedPackage"]));
|
|
|
$1=newName;
|
|
|
if(($receiver = $1) == null || $receiver.isNil){
|
|
|
$1;
|
|
@@ -4134,8 +4134,8 @@ return self;
|
|
|
},
|
|
|
//>>excludeStart("ide", pragmas.excludeIdeData);
|
|
|
args: [],
|
|
|
-source: "renamePackage\x0a\x0a\x09| newName |\x0a\x09newName := self prompt: 'Rename package ', selectedPackage.\x0a\x09newName ifNotNil: [\x0a\x09newName notEmpty ifTrue: [\x0a\x09Smalltalk renamePackage: selectedPackage to: newName.\x0a\x09self updateCategoriesList ]]",
|
|
|
-referencedClasses: ["Smalltalk"],
|
|
|
+source: "renamePackage\x0a\x0a\x09| newName |\x0a\x09newName := Terminal prompt: 'Rename package ', selectedPackage.\x0a\x09newName ifNotNil: [\x0a\x09newName notEmpty ifTrue: [\x0a\x09Smalltalk renamePackage: selectedPackage to: newName.\x0a\x09self updateCategoriesList ]]",
|
|
|
+referencedClasses: ["Terminal", "Smalltalk"],
|
|
|
//>>excludeEnd("ide");
|
|
|
messageSends: ["prompt:", ",", "ifNotNil:", "ifTrue:", "notEmpty", "renamePackage:to:", "updateCategoriesList"]
|
|
|
}),
|