|
@@ -1019,20 +1019,25 @@ var oldPackage;
|
|
|
function $ClassMoved(){return smalltalk.ClassMoved||(typeof ClassMoved=="undefined"?nil:ClassMoved)}
|
|
|
function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-var $1,$2;
|
|
|
+var $1,$2,$3,$4;
|
|
|
+$1=_st(_st(self)._package()).__eq(aPackage);
|
|
|
+if(smalltalk.assert($1)){
|
|
|
+$2=self;
|
|
|
+return $2;
|
|
|
+};
|
|
|
oldPackage=_st(self)._package();
|
|
|
_st(self)._basicAt_put_("pkg",aPackage);
|
|
|
_st(_st(oldPackage)._organization())._removeElement_(self);
|
|
|
_st(_st(aPackage)._organization())._addElement_(self);
|
|
|
-$1=_st($ClassMoved())._new();
|
|
|
-_st($1)._theClass_(self);
|
|
|
-_st($1)._oldPackage_(oldPackage);
|
|
|
-$2=_st($1)._yourself();
|
|
|
-_st(_st($SystemAnnouncer())._current())._announce_($2);
|
|
|
+$3=_st($ClassMoved())._new();
|
|
|
+_st($3)._theClass_(self);
|
|
|
+_st($3)._oldPackage_(oldPackage);
|
|
|
+$4=_st($3)._yourself();
|
|
|
+_st(_st($SystemAnnouncer())._current())._announce_($4);
|
|
|
return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage,oldPackage:oldPackage},smalltalk.Class)})},
|
|
|
args: ["aPackage"],
|
|
|
-source: "package: aPackage\x0a\x09| oldPackage |\x0a\x09oldPackage := self package.\x0a\x09\x0a\x09self basicAt: 'pkg' put: aPackage.\x0a\x09oldPackage organization removeElement: self.\x0a\x09aPackage organization addElement: self.\x0a\x0a\x09SystemAnnouncer current announce: (ClassMoved new\x0a\x09\x09theClass: self;\x0a\x09\x09oldPackage: oldPackage;\x0a\x09\x09yourself)",
|
|
|
-messageSends: ["package", "basicAt:put:", "removeElement:", "organization", "addElement:", "announce:", "theClass:", "new", "oldPackage:", "yourself", "current"],
|
|
|
+source: "package: aPackage\x0a\x09| oldPackage |\x0a\x09\x0a\x09self package = aPackage ifTrue: [ ^ self ].\x0a\x09\x0a\x09oldPackage := self package.\x0a\x09\x0a\x09self basicAt: 'pkg' put: aPackage.\x0a\x09oldPackage organization removeElement: self.\x0a\x09aPackage organization addElement: self.\x0a\x0a\x09SystemAnnouncer current announce: (ClassMoved new\x0a\x09\x09theClass: self;\x0a\x09\x09oldPackage: oldPackage;\x0a\x09\x09yourself)",
|
|
|
+messageSends: ["ifTrue:", "=", "package", "basicAt:put:", "removeElement:", "organization", "addElement:", "announce:", "theClass:", "new", "oldPackage:", "yourself", "current"],
|
|
|
referencedClasses: ["ClassMoved", "SystemAnnouncer"]
|
|
|
}),
|
|
|
smalltalk.Class);
|
|
@@ -1311,29 +1316,30 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "addSubclassOf:named:instanceVariableNames:package:",
|
|
|
category: 'class definition',
|
|
|
-fn: function (aClass,aString,aCollection,packageName){
|
|
|
+fn: function (aClass,className,aCollection,packageName){
|
|
|
var self=this;
|
|
|
var theClass;
|
|
|
function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2,$3,$4;
|
|
|
-theClass=_st(_st($Smalltalk())._current())._at_(aString);
|
|
|
+theClass=_st(_st($Smalltalk())._current())._at_(className);
|
|
|
$1=theClass;
|
|
|
if(($receiver = $1) == nil || $receiver == undefined){
|
|
|
$1;
|
|
|
} else {
|
|
|
+_st(theClass)._package_(_st(self)._createPackageNamed_(packageName));
|
|
|
$2=_st(_st(theClass)._superclass()).__eq_eq(aClass);
|
|
|
if(! smalltalk.assert($2)){
|
|
|
-$3=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(aString,aClass,aCollection,packageName);
|
|
|
+$3=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(className,aClass,aCollection,packageName);
|
|
|
return $3;
|
|
|
};
|
|
|
};
|
|
|
-$4=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,aString,aCollection,packageName);
|
|
|
+$4=_st(self)._basicAddSubclassOf_named_instanceVariableNames_package_(aClass,className,aCollection,packageName);
|
|
|
return $4;
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,aString:aString,aCollection:aCollection,packageName:packageName,theClass:theClass},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString", "aCollection", "packageName"],
|
|
|
-source: "addSubclassOf: aClass named: aString instanceVariableNames: aCollection package: packageName\x0a\x09| theClass |\x0a\x09\x0a\x09theClass := Smalltalk current at: aString.\x0a\x09\x0a\x09theClass ifNotNil: [\x0a\x09\x09theClass superclass == aClass ifFalse: [\x0a\x09\x09\x09^ self\x0a\x09\x09\x09\x09migrateClassNamed: aString\x0a\x09\x09\x09\x09superclass: aClass\x0a\x09\x09\x09\x09instanceVariableNames: aCollection\x0a\x09\x09\x09\x09package: packageName ] ].\x0a\x0a\x09^ self\x0a\x09\x09basicAddSubclassOf: aClass\x0a\x09\x09named: aString\x0a\x09\x09instanceVariableNames: aCollection\x0a\x09\x09package: packageName",
|
|
|
-messageSends: ["at:", "current", "ifNotNil:", "ifFalse:", "migrateClassNamed:superclass:instanceVariableNames:package:", "==", "superclass", "basicAddSubclassOf:named:instanceVariableNames:package:"],
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"addSubclassOf:named:instanceVariableNames:package:",{aClass:aClass,className:className,aCollection:aCollection,packageName:packageName,theClass:theClass},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "className", "aCollection", "packageName"],
|
|
|
+source: "addSubclassOf: aClass named: className instanceVariableNames: aCollection package: packageName\x0a\x09| theClass |\x0a\x09\x0a\x09theClass := Smalltalk current at: className.\x0a\x09\x0a\x09theClass ifNotNil: [\x0a\x09\x09theClass package: (self createPackageNamed: packageName).\x0a\x09\x09theClass superclass == aClass ifFalse: [\x0a\x09\x09\x09^ self\x0a\x09\x09\x09\x09migrateClassNamed: className\x0a\x09\x09\x09\x09superclass: aClass\x0a\x09\x09\x09\x09instanceVariableNames: aCollection\x0a\x09\x09\x09\x09package: packageName ] ].\x0a\x09\x09\x0a\x09\x09^ self\x0a\x09\x09\x09basicAddSubclassOf: aClass\x0a\x09\x09\x09named: className\x0a\x09\x09\x09instanceVariableNames: aCollection\x0a\x09\x09\x09package: packageName",
|
|
|
+messageSends: ["at:", "current", "ifNotNil:", "package:", "createPackageNamed:", "ifFalse:", "migrateClassNamed:superclass:instanceVariableNames:package:", "==", "superclass", "basicAddSubclassOf:named:instanceVariableNames:package:"],
|
|
|
referencedClasses: ["Smalltalk"]
|
|
|
}),
|
|
|
smalltalk.ClassBuilder);
|
|
@@ -1454,21 +1460,21 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "class:instanceVariableNames:",
|
|
|
category: 'class definition',
|
|
|
-fn: function (aClass,aString){
|
|
|
+fn: function (aClass,ivarNames){
|
|
|
var self=this;
|
|
|
function $ClassDefinitionChanged(){return smalltalk.ClassDefinitionChanged||(typeof ClassDefinitionChanged=="undefined"?nil:ClassDefinitionChanged)}
|
|
|
function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2;
|
|
|
-_st(self)._basicClass_instanceVariableNames_(aClass,aString);
|
|
|
+_st(self)._basicClass_instanceVariableNames_(aClass,ivarNames);
|
|
|
_st(self)._setupClass_(aClass);
|
|
|
$1=_st($ClassDefinitionChanged())._new();
|
|
|
_st($1)._theClass_(aClass);
|
|
|
$2=_st($1)._yourself();
|
|
|
_st(_st($SystemAnnouncer())._current())._announce_($2);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"class:instanceVariableNames:",{aClass:aClass,aString:aString},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString"],
|
|
|
-source: "class: aClass instanceVariableNames: aString\x0a\x09self basicClass: aClass instanceVariableNames: aString.\x0a\x09self setupClass: aClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassDefinitionChanged new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)",
|
|
|
+return self}, function($ctx1) {$ctx1.fill(self,"class:instanceVariableNames:",{aClass:aClass,ivarNames:ivarNames},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "ivarNames"],
|
|
|
+source: "class: aClass instanceVariableNames: ivarNames\x0a\x09self basicClass: aClass instanceVariableNames: ivarNames.\x0a\x09self setupClass: aClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassDefinitionChanged new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)",
|
|
|
messageSends: ["basicClass:instanceVariableNames:", "setupClass:", "announce:", "theClass:", "new", "yourself", "current"],
|
|
|
referencedClasses: ["ClassDefinitionChanged", "SystemAnnouncer"]
|
|
|
}),
|
|
@@ -1478,14 +1484,14 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "copyClass:named:",
|
|
|
category: 'copying',
|
|
|
-fn: function (aClass,aString){
|
|
|
+fn: function (aClass,className){
|
|
|
var self=this;
|
|
|
var newClass;
|
|
|
function $ClassAdded(){return smalltalk.ClassAdded||(typeof ClassAdded=="undefined"?nil:ClassAdded)}
|
|
|
function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2,$3;
|
|
|
-newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),aString,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
|
|
|
+newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(_st(aClass)._superclass(),className,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
|
|
|
_st(self)._copyClass_to_(aClass,newClass);
|
|
|
$1=_st($ClassAdded())._new();
|
|
|
_st($1)._theClass_(newClass);
|
|
@@ -1493,9 +1499,9 @@ $2=_st($1)._yourself();
|
|
|
_st(_st($SystemAnnouncer())._current())._announce_($2);
|
|
|
$3=newClass;
|
|
|
return $3;
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"copyClass:named:",{aClass:aClass,aString:aString,newClass:newClass},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString"],
|
|
|
-source: "copyClass: aClass named: aString\x0a\x09| newClass |\x0a\x0a\x09newClass := self\x0a\x09\x09addSubclassOf: aClass superclass\x0a\x09\x09named: aString\x0a\x09\x09instanceVariableNames: aClass instanceVariableNames\x0a\x09\x09package: aClass package name.\x0a\x0a\x09self copyClass: aClass to: newClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassAdded new\x0a\x09\x09\x09theClass: newClass;\x0a\x09\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"copyClass:named:",{aClass:aClass,className:className,newClass:newClass},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "className"],
|
|
|
+source: "copyClass: aClass named: className\x0a\x09| newClass |\x0a\x0a\x09newClass := self\x0a\x09\x09addSubclassOf: aClass superclass\x0a\x09\x09named: className\x0a\x09\x09instanceVariableNames: aClass instanceVariableNames\x0a\x09\x09package: aClass package name.\x0a\x0a\x09self copyClass: aClass to: newClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassAdded new\x0a\x09\x09\x09theClass: newClass;\x0a\x09\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "superclass", "instanceVariableNames", "name", "package", "copyClass:to:", "announce:", "theClass:", "new", "yourself", "current"],
|
|
|
referencedClasses: ["ClassAdded", "SystemAnnouncer"]
|
|
|
}),
|
|
@@ -1528,6 +1534,29 @@ referencedClasses: ["Compiler"]
|
|
|
}),
|
|
|
smalltalk.ClassBuilder);
|
|
|
|
|
|
+smalltalk.addMethod(
|
|
|
+smalltalk.method({
|
|
|
+selector: "createPackageNamed:",
|
|
|
+category: 'private',
|
|
|
+fn: function (aString){
|
|
|
+var self=this;
|
|
|
+function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
|
|
|
+function $Package(){return smalltalk.Package||(typeof Package=="undefined"?nil:Package)}
|
|
|
+return smalltalk.withContext(function($ctx1) {
|
|
|
+var $1;
|
|
|
+$1=_st($Package())._named_ifAbsent_(aString,(function(){
|
|
|
+return smalltalk.withContext(function($ctx2) {
|
|
|
+return _st(_st($Smalltalk())._current())._createPackage_(aString);
|
|
|
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}));
|
|
|
+return $1;
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"createPackageNamed:",{aString:aString},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aString"],
|
|
|
+source: "createPackageNamed: aString\x0a\x09^ Package named: aString ifAbsent: [\x0a\x09\x09Smalltalk current createPackage: aString ]",
|
|
|
+messageSends: ["named:ifAbsent:", "createPackage:", "current"],
|
|
|
+referencedClasses: ["Smalltalk", "Package"]
|
|
|
+}),
|
|
|
+smalltalk.ClassBuilder);
|
|
|
+
|
|
|
smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "installMethod:forClass:category:",
|
|
@@ -1577,12 +1606,13 @@ category: 'class migration',
|
|
|
fn: function (aClass,anotherClass){
|
|
|
var self=this;
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
-_st(console)._log_(_st(aClass)._name());
|
|
|
-_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
|
|
|
+var $1;
|
|
|
+$1=_st(self)._migrateClassNamed_superclass_instanceVariableNames_package_(_st(aClass)._name(),anotherClass,_st(aClass)._instanceVariableNames(),_st(_st(aClass)._package())._name());
|
|
|
+return $1;
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"migrateClass:superclass:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})},
|
|
|
args: ["aClass", "anotherClass"],
|
|
|
-source: "migrateClass: aClass superclass: anotherClass\x0a\x09console log: aClass name.\x0a\x09self\x0a\x09\x09migrateClassNamed: aClass name\x0a\x09\x09superclass: anotherClass\x0a\x09\x09instanceVariableNames: aClass instanceVariableNames\x0a\x09\x09package: aClass package name",
|
|
|
-messageSends: ["log:", "name", "migrateClassNamed:superclass:instanceVariableNames:package:", "instanceVariableNames", "package"],
|
|
|
+source: "migrateClass: aClass superclass: anotherClass\x0a\x09^ self\x0a\x09\x09migrateClassNamed: aClass name\x0a\x09\x09superclass: anotherClass\x0a\x09\x09instanceVariableNames: aClass instanceVariableNames\x0a\x09\x09package: aClass package name",
|
|
|
+messageSends: ["migrateClassNamed:superclass:instanceVariableNames:package:", "name", "instanceVariableNames", "package"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
|
smalltalk.ClassBuilder);
|
|
@@ -1591,7 +1621,7 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "migrateClassNamed:superclass:instanceVariableNames:package:",
|
|
|
category: 'class migration',
|
|
|
-fn: function (aString,aClass,aCollection,packageName){
|
|
|
+fn: function (className,aClass,aCollection,packageName){
|
|
|
var self=this;
|
|
|
var oldClass,newClass,tmp;
|
|
|
function $Smalltalk(){return smalltalk.Smalltalk||(typeof Smalltalk=="undefined"?nil:Smalltalk)}
|
|
@@ -1600,8 +1630,8 @@ function $ClassMigrated(){return smalltalk.ClassMigrated||(typeof ClassMigrated=
|
|
|
function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2,$3,$4,$5,$6,$7;
|
|
|
-tmp=_st("new*").__comma(aString);
|
|
|
-oldClass=_st(_st($Smalltalk())._current())._at_(aString);
|
|
|
+tmp=_st("new*").__comma(className);
|
|
|
+oldClass=_st(_st($Smalltalk())._current())._at_(className);
|
|
|
newClass=_st(self)._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName);
|
|
|
_st(self)._basicSwapClassNames_with_(oldClass,newClass);
|
|
|
_st((function(){
|
|
@@ -1617,7 +1647,7 @@ return _st(exception)._signal();
|
|
|
}, function($ctx2) {$ctx2.fillBlock({exception:exception},$ctx1)})}));
|
|
|
$3=self;
|
|
|
_st($3)._rawRenameClass_to_(oldClass,tmp);
|
|
|
-$4=_st($3)._rawRenameClass_to_(newClass,aString);
|
|
|
+$4=_st($3)._rawRenameClass_to_(newClass,className);
|
|
|
_st(_st(oldClass)._subclasses())._do_((function(each){
|
|
|
return smalltalk.withContext(function($ctx2) {
|
|
|
return _st(self)._migrateClass_superclass_(each,newClass);
|
|
@@ -1630,9 +1660,9 @@ $6=_st($5)._yourself();
|
|
|
_st(_st($SystemAnnouncer())._current())._announce_($6);
|
|
|
$7=newClass;
|
|
|
return $7;
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"migrateClassNamed:superclass:instanceVariableNames:package:",{aString:aString,aClass:aClass,aCollection:aCollection,packageName:packageName,oldClass:oldClass,newClass:newClass,tmp:tmp},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aString", "aClass", "aCollection", "packageName"],
|
|
|
-source: "migrateClassNamed: aString superclass: aClass instanceVariableNames: aCollection package: packageName\x0a\x09| oldClass newClass tmp |\x0a\x09\x0a\x09tmp := 'new*', aString.\x0a\x09oldClass := Smalltalk current at: aString.\x0a\x09\x0a\x09newClass := self\x0a\x09\x09addSubclassOf: aClass\x0a\x09\x09named: tmp\x0a\x09\x09instanceVariableNames: aCollection\x0a\x09\x09package: packageName.\x0a\x0a\x09self basicSwapClassNames: oldClass with: newClass.\x0a\x0a\x09[ self copyClass: oldClass to: newClass ]\x0a\x09\x09on: Error\x0a\x09\x09do: [ :exception |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09basicSwapClassNames: oldClass with: newClass;\x0a\x09\x09\x09\x09basicRemoveClass: newClass.\x0a\x09\x09\x09exception signal ].\x0a\x0a\x09self\x0a\x09\x09rawRenameClass: oldClass to: tmp;\x0a\x09\x09rawRenameClass: newClass to: aString.\x0a\x0a\x09oldClass subclasses do: [ :each |\x0a\x09\x09self migrateClass: each superclass: newClass ].\x0a\x0a\x09self basicRemoveClass: oldClass.\x0a\x09\x0a\x09SystemAnnouncer current announce: (ClassMigrated new\x0a\x09\x09theClass: newClass;\x0a\x09\x09oldClass: oldClass;\x0a\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"migrateClassNamed:superclass:instanceVariableNames:package:",{className:className,aClass:aClass,aCollection:aCollection,packageName:packageName,oldClass:oldClass,newClass:newClass,tmp:tmp},smalltalk.ClassBuilder)})},
|
|
|
+args: ["className", "aClass", "aCollection", "packageName"],
|
|
|
+source: "migrateClassNamed: className superclass: aClass instanceVariableNames: aCollection package: packageName\x0a\x09| oldClass newClass tmp |\x0a\x09\x0a\x09tmp := 'new*', className.\x0a\x09oldClass := Smalltalk current at: className.\x0a\x09\x0a\x09newClass := self\x0a\x09\x09addSubclassOf: aClass\x0a\x09\x09named: tmp\x0a\x09\x09instanceVariableNames: aCollection\x0a\x09\x09package: packageName.\x0a\x0a\x09self basicSwapClassNames: oldClass with: newClass.\x0a\x0a\x09[ self copyClass: oldClass to: newClass ]\x0a\x09\x09on: Error\x0a\x09\x09do: [ :exception |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09basicSwapClassNames: oldClass with: newClass;\x0a\x09\x09\x09\x09basicRemoveClass: newClass.\x0a\x09\x09\x09exception signal ].\x0a\x0a\x09self\x0a\x09\x09rawRenameClass: oldClass to: tmp;\x0a\x09\x09rawRenameClass: newClass to: className.\x0a\x0a\x09oldClass subclasses do: [ :each |\x0a\x09\x09self migrateClass: each superclass: newClass ].\x0a\x0a\x09self basicRemoveClass: oldClass.\x0a\x09\x0a\x09SystemAnnouncer current announce: (ClassMigrated new\x0a\x09\x09theClass: newClass;\x0a\x09\x09oldClass: oldClass;\x0a\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
messageSends: [",", "at:", "current", "addSubclassOf:named:instanceVariableNames:package:", "basicSwapClassNames:with:", "on:do:", "basicRemoveClass:", "signal", "copyClass:to:", "rawRenameClass:to:", "do:", "migrateClass:superclass:", "subclasses", "announce:", "theClass:", "new", "oldClass:", "yourself"],
|
|
|
referencedClasses: ["Smalltalk", "Error", "ClassMigrated", "SystemAnnouncer"]
|
|
|
}),
|
|
@@ -1660,20 +1690,20 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "renameClass:to:",
|
|
|
category: 'class migration',
|
|
|
-fn: function (aClass,aString){
|
|
|
+fn: function (aClass,className){
|
|
|
var self=this;
|
|
|
function $ClassRenamed(){return smalltalk.ClassRenamed||(typeof ClassRenamed=="undefined"?nil:ClassRenamed)}
|
|
|
function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)}
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2;
|
|
|
-_st(self)._basicRenameClass_to_(aClass,aString);
|
|
|
+_st(self)._basicRenameClass_to_(aClass,className);
|
|
|
$1=_st($ClassRenamed())._new();
|
|
|
_st($1)._theClass_(aClass);
|
|
|
$2=_st($1)._yourself();
|
|
|
_st(_st($SystemAnnouncer())._current())._announce_($2);
|
|
|
-return self}, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,aString:aString},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString"],
|
|
|
-source: "renameClass: aClass to: aString\x0a\x09self basicRenameClass: aClass to: aString.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassRenamed new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)",
|
|
|
+return self}, function($ctx1) {$ctx1.fill(self,"renameClass:to:",{aClass:aClass,className:className},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "className"],
|
|
|
+source: "renameClass: aClass to: className\x0a\x09self basicRenameClass: aClass to: className.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassRenamed new\x0a\x09\x09\x09theClass: aClass;\x0a\x09\x09\x09yourself)",
|
|
|
messageSends: ["basicRenameClass:to:", "announce:", "theClass:", "new", "yourself", "current"],
|
|
|
referencedClasses: ["ClassRenamed", "SystemAnnouncer"]
|
|
|
}),
|
|
@@ -1699,15 +1729,15 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "superclass:subclass:",
|
|
|
category: 'class definition',
|
|
|
-fn: function (aClass,aString){
|
|
|
+fn: function (aClass,className){
|
|
|
var self=this;
|
|
|
return smalltalk.withContext(function($ctx1) {
|
|
|
var $1;
|
|
|
-$1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,aString,"",nil);
|
|
|
+$1=_st(self)._superclass_subclass_instanceVariableNames_package_(aClass,className,"",nil);
|
|
|
return $1;
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,aString:aString},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString"],
|
|
|
-source: "superclass: aClass subclass: aString\x0a\x09^self superclass: aClass subclass: aString instanceVariableNames: '' package: nil",
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:",{aClass:aClass,className:className},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "className"],
|
|
|
+source: "superclass: aClass subclass: className\x0a\x09^self superclass: aClass subclass: className instanceVariableNames: '' package: nil",
|
|
|
messageSends: ["superclass:subclass:instanceVariableNames:package:"],
|
|
|
referencedClasses: []
|
|
|
}),
|
|
@@ -1717,7 +1747,7 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "superclass:subclass:instanceVariableNames:package:",
|
|
|
category: 'class definition',
|
|
|
-fn: function (aClass,aString,aString2,aString3){
|
|
|
+fn: function (aClass,className,ivarNames,packageName){
|
|
|
var self=this;
|
|
|
var newClass;
|
|
|
function $ClassAdded(){return smalltalk.ClassAdded||(typeof ClassAdded=="undefined"?nil:ClassAdded)}
|
|
@@ -1726,9 +1756,9 @@ return smalltalk.withContext(function($ctx1) {
|
|
|
var $1,$2,$3,$4,$6,$5,$7,$8,$9;
|
|
|
$1=self;
|
|
|
$2=aClass;
|
|
|
-$3=aString;
|
|
|
-$4=_st(self)._instanceVariableNamesFor_(aString2);
|
|
|
-$6=aString3;
|
|
|
+$3=className;
|
|
|
+$4=_st(self)._instanceVariableNamesFor_(ivarNames);
|
|
|
+$6=packageName;
|
|
|
if(($receiver = $6) == nil || $receiver == undefined){
|
|
|
$5="unclassified";
|
|
|
} else {
|
|
@@ -1742,9 +1772,9 @@ $8=_st($7)._yourself();
|
|
|
_st(_st($SystemAnnouncer())._current())._announce_($8);
|
|
|
$9=newClass;
|
|
|
return $9;
|
|
|
-}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:instanceVariableNames:package:",{aClass:aClass,aString:aString,aString2:aString2,aString3:aString3,newClass:newClass},smalltalk.ClassBuilder)})},
|
|
|
-args: ["aClass", "aString", "aString2", "aString3"],
|
|
|
-source: "superclass: aClass subclass: aString instanceVariableNames: aString2 package: aString3\x0a\x09| newClass |\x0a\x09\x0a\x09newClass := self addSubclassOf: aClass\x0a\x09\x09named: aString instanceVariableNames: (self instanceVariableNamesFor: aString2)\x0a\x09\x09package: (aString3 ifNil: ['unclassified']).\x0a\x09self setupClass: newClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassAdded new\x0a\x09\x09\x09theClass: newClass;\x0a\x09\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
+}, function($ctx1) {$ctx1.fill(self,"superclass:subclass:instanceVariableNames:package:",{aClass:aClass,className:className,ivarNames:ivarNames,packageName:packageName,newClass:newClass},smalltalk.ClassBuilder)})},
|
|
|
+args: ["aClass", "className", "ivarNames", "packageName"],
|
|
|
+source: "superclass: aClass subclass: className instanceVariableNames: ivarNames package: packageName\x0a\x09| newClass |\x0a\x09\x0a\x09newClass := self addSubclassOf: aClass\x0a\x09\x09named: className instanceVariableNames: (self instanceVariableNamesFor: ivarNames)\x0a\x09\x09package: (packageName ifNil: ['unclassified']).\x0a\x09self setupClass: newClass.\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (ClassAdded new\x0a\x09\x09\x09theClass: newClass;\x0a\x09\x09\x09yourself).\x0a\x09\x0a\x09^newClass",
|
|
|
messageSends: ["addSubclassOf:named:instanceVariableNames:package:", "instanceVariableNamesFor:", "ifNil:", "setupClass:", "announce:", "theClass:", "new", "yourself", "current"],
|
|
|
referencedClasses: ["ClassAdded", "SystemAnnouncer"]
|
|
|
}),
|