|
@@ -4116,22 +4116,29 @@ smalltalk.addMethod(
|
|
|
smalltalk.method({
|
|
|
selector: "removeClass:",
|
|
|
category: 'classes',
|
|
|
-fn: function (aClass) {
|
|
|
- var self = this;
|
|
|
- var $1;
|
|
|
- $1 = smalltalk.send(aClass, "_isMetaclass", []);
|
|
|
- if (smalltalk.assert($1)) {
|
|
|
- smalltalk.send(self, "_error_", [smalltalk.send(smalltalk.send(aClass, "_asString", []), "__comma", [" is a Metaclass and cannot be removed!"])]);
|
|
|
- }
|
|
|
- smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_methodDictionary", []), "_values", []), "_do_", [function (each) {return smalltalk.send(aClass, "_removeCompiledMethod_", [each]);}]);
|
|
|
- smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass, "_class", []), "_methodDictionary", []), "_values", []), "_do_", [function (each) {return smalltalk.send(smalltalk.send(aClass, "_class", []), "_removeCompiledMethod_", [each]);}]);
|
|
|
- smalltalk.send(self, "_basicDelete_", [smalltalk.send(aClass, "_name", [])]);
|
|
|
- return self;
|
|
|
-},
|
|
|
+fn: function (aClass){
|
|
|
+var self=this;
|
|
|
+var $1,$2,$3;
|
|
|
+$1=smalltalk.send(aClass,"_isMetaclass",[]);
|
|
|
+if(smalltalk.assert($1)){
|
|
|
+smalltalk.send(self,"_error_",[smalltalk.send(smalltalk.send(aClass,"_asString",[]),"__comma",[" is a Metaclass and cannot be removed!"])]);
|
|
|
+};
|
|
|
+smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
|
|
|
+return smalltalk.send(aClass,"_removeCompiledMethod_",[each]);
|
|
|
+})]);
|
|
|
+smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aClass,"_class",[]),"_methodDictionary",[]),"_values",[]),"_do_",[(function(each){
|
|
|
+return smalltalk.send(smalltalk.send(aClass,"_class",[]),"_removeCompiledMethod_",[each]);
|
|
|
+})]);
|
|
|
+smalltalk.send(self,"_basicDelete_",[smalltalk.send(aClass,"_name",[])]);
|
|
|
+$2=smalltalk.send((smalltalk.ClassRemoved || ClassRemoved),"_new",[]);
|
|
|
+smalltalk.send($2,"_theClass_",[aClass]);
|
|
|
+$3=smalltalk.send($2,"_yourself",[]);
|
|
|
+smalltalk.send(smalltalk.send((smalltalk.SystemAnnouncer || SystemAnnouncer),"_current",[]),"_announce_",[$3]);
|
|
|
+return self},
|
|
|
args: ["aClass"],
|
|
|
-source: "removeClass: aClass\x0a\x09aClass isMetaclass ifTrue: [self error: aClass asString, ' is a Metaclass and cannot be removed!'].\x0a\x09aClass methodDictionary values do: [:each |\x0a\x09\x09aClass removeCompiledMethod: each].\x0a\x09aClass class methodDictionary values do: [:each |\x0a\x09\x09aClass class removeCompiledMethod: each].\x0a\x09self basicDelete: aClass name",
|
|
|
-messageSends: ["ifTrue:", "error:", ",", "asString", "isMetaclass", "do:", "removeCompiledMethod:", "values", "methodDictionary", "class", "basicDelete:", "name"],
|
|
|
-referencedClasses: []
|
|
|
+source: "removeClass: aClass\x0a\x09aClass isMetaclass ifTrue: [self error: aClass asString, ' is a Metaclass and cannot be removed!'].\x0a \x0a\x09aClass methodDictionary values do: [:each |\x0a\x09\x09aClass removeCompiledMethod: each].\x0a \x0a\x09aClass class methodDictionary values do: [:each |\x0a\x09\x09aClass class removeCompiledMethod: each].\x0a \x0a\x09self basicDelete: aClass name.\x0a \x0a SystemAnnouncer current\x0a \x09announce: (ClassRemoved new\x0a \x09theClass: aClass;\x0a yourself)",
|
|
|
+messageSends: ["ifTrue:", "error:", ",", "asString", "isMetaclass", "do:", "removeCompiledMethod:", "values", "methodDictionary", "class", "basicDelete:", "name", "announce:", "theClass:", "new", "yourself", "current"],
|
|
|
+referencedClasses: ["ClassRemoved", "SystemAnnouncer"]
|
|
|
}),
|
|
|
smalltalk.Smalltalk);
|
|
|
|