| 
					
				 | 
			
			
				@@ -33,7 +33,7 @@ function $MethodAdded(){return smalltalk.MethodAdded||(typeof MethodAdded=="unde 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $MethodModified(){return smalltalk.MethodModified||(typeof MethodModified=="undefined"?nil:MethodModified)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$1,$4,$5,$6,$7,$8,$9,$10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$3,$1,$4,$5,$6,$7,$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 oldMethod=_st(self._methodDictionary())._at_ifAbsent_(_st(aMethod)._selector(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return nil; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -43,26 +43,24 @@ $3=_st(aMethod)._protocol(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["protocol"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($2)._includes_($3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(! smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=self._organization(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(aMethod)._protocol(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($4)._addElement_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._organization())._addElement_(_st(aMethod)._protocol()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._basicAddCompiledMethod_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=oldMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(($receiver = $6) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($MethodAdded())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=oldMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = $4) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st($MethodAdded())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["new"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($7)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($5)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["method:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=_st($7)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st($5)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["yourself"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-announcement=$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+announcement=$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st($MethodModified())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($9)._oldMethod_(oldMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($9)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st($9)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-announcement=$10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st($MethodModified())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($7)._oldMethod_(oldMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($7)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st($7)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+announcement=$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(_st($SystemAnnouncer())._current())._announce_(announcement); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"addCompiledMethod:",{aMethod:aMethod,oldMethod:oldMethod,announcement:announcement},smalltalk.Behavior)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -81,23 +79,20 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$4,$3,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 result=_st(self._instanceVariableNames())._copy(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["superclass"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($4)._allInstanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._addAll_($3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(result)._addAll_(_st(self._superclass())._allInstanceVariableNames()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"allInstanceVariableNames",{result:result},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "allInstanceVariableNames\x0a\x09| result |\x0a\x09result := self instanceVariableNames copy.\x0a\x09self superclass ifNotNil: [\x0a\x09\x09result addAll: self superclass allInstanceVariableNames].\x0a\x09^result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "allInstanceVariableNames\x0a\x09| result |\x0a\x09result := self instanceVariableNames copy.\x0a\x09self superclass ifNotNil: [\x0a\x09\x09result addAll: self superclass allInstanceVariableNames ].\x0a\x09^ result", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["copy", "instanceVariableNames", "ifNotNil:", "superclass", "addAll:", "allInstanceVariableNames"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,18 +105,15 @@ category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$4,$5,$6,$7,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$3,$4,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._allSuperclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=self._selectors(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["selectors"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($2)._inject_into_($3,(function(acc,each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=acc; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st(each)._selectors(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._addAll_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($4)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(acc)._addAll_(_st(each)._selectors()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st(acc)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({acc:acc,each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"allSelectors",{},smalltalk.Behavior)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -140,7 +132,7 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var subclasses,index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 subclasses=self._subclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["subclasses"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 index=(1); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -149,14 +141,12 @@ return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(index).__gt(_st(subclasses)._size()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}))._whileFalse_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=subclasses; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(_st(subclasses)._at_(index))._subclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._addAll_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(subclasses)._addAll_(_st(_st(subclasses)._at_(index))._subclasses()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 index=_st(index).__plus((1)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return index; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=subclasses; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=subclasses; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"allSubclasses",{subclasses:subclasses,index:index},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "allSubclasses\x0a\x09\x22Answer an collection of the receiver's and the receiver's descendent's subclasses. \x22\x0a\x0a\x09| subclasses index |\x0a\x09\x0a\x09subclasses := self subclasses.\x0a\x09index := 1.\x0a\x09[ index > subclasses size ]\x0a\x09\x09whileFalse: [ subclasses addAll: (subclasses at: index) subclasses.\x0a\x09\x09\x09index := index + 1 ].\x0a\x0a\x09^ subclasses", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -192,7 +182,7 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$5,$6,$4,$7,$9,$8,$10,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$5,$4,$6,$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["superclass"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == nil || $receiver == null){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,16 +191,12 @@ return $2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=$OrderedCollection(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["superclass"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($5)._with_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=_st($9)._allSuperclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($7)._addAll_($8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st($4)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=$10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($OrderedCollection())._with_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._addAll_(_st(self._superclass())._allSuperclasses()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st($4)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"allSuperclasses",{},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -275,7 +261,7 @@ category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aSelector){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $3,$2,$4,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $3,$2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st(_st(_st(self._methodDictionary())._keys())._includes_(_st(aSelector)._asString()))._or_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=self._superclass(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -283,14 +269,13 @@ $ctx2.sendIdx["superclass"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st($3)._notNil(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st($2)._and_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($4)._canUnderstand_(aSelector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self._superclass())._canUnderstand_(aSelector); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"canUnderstand:",{aSelector:aSelector},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aSelector"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "canUnderstand: aSelector\x0a\x09^(self methodDictionary keys includes: aSelector asString) or: [\x0a\x09\x09self superclass notNil and: [self superclass canUnderstand: aSelector]]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "canUnderstand: aSelector\x0a\x09^ (self methodDictionary keys includes: aSelector asString) or: [\x0a\x09\x09self superclass notNil and: [ self superclass canUnderstand: aSelector ]]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["or:", "includes:", "keys", "methodDictionary", "asString", "and:", "notNil", "superclass", "canUnderstand:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -313,7 +298,7 @@ $1=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"comment",{},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "comment\x0a\x09^(self basicAt: 'comment') ifNil: ['']", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "comment\x0a\x09^ (self basicAt: 'comment') ifNil: [ '' ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifNil:", "basicAt:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -358,7 +343,7 @@ $1=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"commentStamp",{},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "commentStamp\x0a\x09^ClassCommentReader new\x0a\x09class: self;\x0a\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "commentStamp\x0a\x09^ ClassCommentReader new\x0a\x09class: self;\x0a\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["class:", "new", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ClassCommentReader"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -376,7 +361,7 @@ $1=self._commentStamp(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"commentStamp:prior:",{aStamp:aStamp,prior:prior},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aStamp", "prior"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "commentStamp: aStamp prior: prior\x0a\x09\x09^self commentStamp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "commentStamp: aStamp prior: prior\x0a\x09\x09^ self commentStamp", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["commentStamp"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -481,7 +466,7 @@ category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$4,$5,$3,$6,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$4,$3,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["superclass"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $1) == nil || $receiver == null){ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -489,14 +474,12 @@ return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=aClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["superclass"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($4).__eq_eq($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(aClass).__eq_eq($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st($3)._or_((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=self._superclass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($6)._inheritsFrom_(aClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self._superclass())._inheritsFrom_(aClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"inheritsFrom:",{aClass:aClass},smalltalk.Behavior)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -682,7 +665,7 @@ $1=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"methodsFor:",{aString:aString},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "methodsFor: aString\x0a\x09^ClassCategoryReader new\x0a\x09\x09class: self category: aString;\x0a\x09\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "methodsFor: aString\x0a\x09^ ClassCategoryReader new\x0a\x09\x09class: self category: aString;\x0a\x09\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["class:category:", "new", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ClassCategoryReader"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -700,7 +683,7 @@ $1=self._methodsFor_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"methodsFor:stamp:",{aString:aString,aStamp:aStamp},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString", "aStamp"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "methodsFor: aString stamp: aStamp\x0a\x09\x22Added for compatibility, right now ignores stamp.\x22\x0a\x09^self methodsFor: aString", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "methodsFor: aString stamp: aStamp\x0a\x09\x22Added for compatibility, right now ignores stamp.\x22\x0a\x09^ self methodsFor: aString", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["methodsFor:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -755,7 +738,7 @@ $1=_st(self._basicNew())._initialize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"new",{},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "new\x0a\x09^self basicNew initialize", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "new\x0a\x09^ self basicNew initialize", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["initialize", "basicNew"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -787,7 +770,7 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $OrderedCollection(){return smalltalk.OrderedCollection||(typeof OrderedCollection=="undefined"?nil:OrderedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st(_st(self._ownProtocols())._inject_into_(_st($OrderedCollection())._new(),(function(acc,each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(acc).__comma(self._methodsInProtocol_(each)); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -795,8 +778,7 @@ return _st(acc).__comma(self._methodsInProtocol_(each)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st(a)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["selector"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(b)._selector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($2).__lt_eq($3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($2).__lt_eq(_st(b)._selector()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"ownMethods",{},smalltalk.Behavior)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -856,10 +838,9 @@ var methodsByCategory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $HashedCollection(){return smalltalk.HashedCollection||(typeof HashedCollection=="undefined"?nil:HashedCollection)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $Array(){return smalltalk.Array||(typeof Array=="undefined"?nil:Array)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 methodsByCategory=_st($HashedCollection())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["new"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(self._methodDictionary())._values())._do_((function(m){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st(self._methodDictionary())._values())._do_((function(m){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(_st(methodsByCategory)._at_ifAbsentPut_(_st(m)._category(),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -867,13 +848,13 @@ return _st($Array())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,2)})})))._add_(m); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({m:m},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["do:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st(self._protocols())._do_((function(category){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(self._protocols())._do_((function(category){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(aBlock)._value_value_(category,_st(methodsByCategory)._at_(category)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({category:category},$ctx1,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"protocolsDo:",{aBlock:aBlock,methodsByCategory:methodsByCategory},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBlock"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "protocolsDo: aBlock\x0a\x09\x22Execute aBlock for each method category with\x0a\x09its collection of methods in the sort order of category name.\x22\x0a\x0a\x09| methodsByCategory |\x0a\x09methodsByCategory := HashedCollection new.\x0a\x09self methodDictionary values do: [:m |\x0a\x09\x09(methodsByCategory at: m category ifAbsentPut: [Array new])\x0a\x09\x09\x09add: m].\x0a\x09self protocols do: [:category |\x0a\x09\x09aBlock value: category value: (methodsByCategory at: category)]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "protocolsDo: aBlock\x0a\x09\x22Execute aBlock for each method category with\x0a\x09its collection of methods in the sort order of category name.\x22\x0a\x0a\x09| methodsByCategory |\x0a\x09methodsByCategory := HashedCollection new.\x0a\x09self methodDictionary values do: [ :m |\x0a\x09\x09(methodsByCategory at: m category ifAbsentPut: [ Array new ])\x0a\x09\x09\x09add: m ].\x0a\x09self protocols do: [ :category |\x0a\x09\x09aBlock value: category value: (methodsByCategory at: category) ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["new", "do:", "values", "methodDictionary", "add:", "at:ifAbsentPut:", "category", "protocols", "value:value:", "at:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["HashedCollection", "Array"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -923,7 +904,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $MethodRemoved(){return smalltalk.MethodRemoved||(typeof MethodRemoved=="undefined"?nil:MethodRemoved)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3,$4,$5,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._basicRemoveCompiledMethod_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self._methods())._detect_ifNone_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -934,14 +915,12 @@ $ctx2.sendIdx["protocol"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st($1).__eq($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})}),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=self._organization(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st(aMethod)._protocol(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($3)._removeElement_($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(self._organization())._removeElement_(_st(aMethod)._protocol()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st($MethodRemoved())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($5)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st($SystemAnnouncer())._current())._announce_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($MethodRemoved())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._method_(aMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($3)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st($SystemAnnouncer())._current())._announce_($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"removeCompiledMethod:",{aMethod:aMethod},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aMethod"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "removeCompiledMethod: aMethod\x0a\x09self basicRemoveCompiledMethod: aMethod.\x0a\x09\x0a\x09self methods\x0a\x09\x09detect: [ :each | each protocol = aMethod protocol ]\x0a\x09\x09ifNone: [ self organization removeElement: aMethod protocol ].\x0a\x09\x0a\x09SystemAnnouncer current\x0a\x09\x09announce: (MethodRemoved new\x0a\x09\x09\x09method: aMethod;\x0a\x09\x09\x09yourself)", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1050,7 +1029,7 @@ $1=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"withAllSubclasses",{},smalltalk.Behavior)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "withAllSubclasses\x0a\x09^(Array with: self) addAll: self allSubclasses; yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "withAllSubclasses\x0a\x09^ (Array with: self) addAll: self allSubclasses; yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["addAll:", "with:", "allSubclasses", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["Array"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1085,19 +1064,18 @@ category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._package(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["package"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 if(($receiver = $2) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1="Unclassified"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=self._package(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st($3)._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self._package())._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"category",{},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "category\x0a\x09^self package ifNil: ['Unclassified'] ifNotNil: [self package name]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "category\x0a\x09^ self package ifNil: [ 'Unclassified' ] ifNotNil: [ self package name ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifNil:ifNotNil:", "package", "name"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1111,28 +1089,26 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$5,$6,$4,$7,$8,$9,$12,$11,$13,$10,$14,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $3,$4,$2,$5,$6,$7,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($String())._streamContents_((function(stream){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._nextPutAll_(_st(self._superclass())._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_(_st(self._superclass())._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._nextPutAll_(" subclass: #"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_(" subclass: #"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._nextPutAll_(self._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_(self._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st($String())._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($String())._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["lf"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($String())._tab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($String())._tab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["tab"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($5).__comma($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($3).__comma($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($3)._nextPutAll_($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($2)._nextPutAll_("instanceVariableNames: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st(stream)._nextPutAll_("instanceVariableNames: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self._instanceVariableNames())._do_separatedBy_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(stream)._nextPutAll_(each); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1142,21 +1118,16 @@ return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(stream)._nextPutAll_(" "); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx3.sendIdx["nextPutAll:"]=7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx3) {$ctx3.fillBlock({},$ctx2,3)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=_st($String())._lf(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11="'".__comma($12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=_st($String())._tab(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st($11).__comma($13); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st("'".__comma(_st($String())._lf())).__comma(_st($String())._tab()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx[","]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($9)._nextPutAll_($10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($8)._nextPutAll_("package: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_("package: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($8)._nextPutAll_(self._category()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_(self._category()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=10; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14=_st($8)._nextPutAll_("'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $14; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st(stream)._nextPutAll_("'"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $7; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({stream:stream},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"definition",{},smalltalk.Class)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1177,7 +1148,7 @@ return smalltalk.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"isClass",{},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "isClass\x0a\x09^true", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "isClass\x0a\x09^ true", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1211,7 +1182,7 @@ var oldPackage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $ClassMoved(){return smalltalk.ClassMoved||(typeof ClassMoved=="undefined"?nil:ClassMoved)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$1,$3,$4,$5,$6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1,$3,$4,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=self._package(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["package"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($2).__eq(aPackage); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1223,13 +1194,12 @@ self._basicAt_put_("pkg",aPackage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $3=_st(oldPackage)._organization(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["organization"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($3)._removeElement_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st(aPackage)._organization(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($4)._addElement_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st($ClassMoved())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._theClass_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._oldPackage_(oldPackage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($5)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st($SystemAnnouncer())._current())._announce_($6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st(aPackage)._organization())._addElement_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($ClassMoved())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._theClass_(self); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._oldPackage_(oldPackage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st($4)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st($SystemAnnouncer())._current())._announce_($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"package:",{aPackage:aPackage,oldPackage:oldPackage},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aPackage"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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)", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1283,7 +1253,7 @@ $1=self._subclass_instanceVariableNames_package_(aString,anotherString,nil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:",{aString:aString,anotherString:anotherString},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString", "anotherString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "subclass: aString instanceVariableNames: anotherString\x0a\x09\x22Kept for compatibility.\x22\x0a\x09^self subclass: aString instanceVariableNames: anotherString package: nil", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "subclass: aString instanceVariableNames: anotherString\x0a\x09\x22Kept for compatibility.\x22\x0a\x09^ self subclass: aString instanceVariableNames: anotherString package: nil", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["subclass:instanceVariableNames:package:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1302,7 +1272,7 @@ $1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:category:",{aString:aString,aString2:aString2,aString3:aString3},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString", "aString2", "aString3"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "subclass: aString instanceVariableNames: aString2 category: aString3\x0a\x09\x22Kept for compatibility.\x22\x0a\x09self deprecatedAPI.\x0a\x09^self subclass: aString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "subclass: aString instanceVariableNames: aString2 category: aString3\x0a\x09\x22Kept for compatibility.\x22\x0a\x09self deprecatedAPI.\x0a\x09^ self subclass: aString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["deprecatedAPI", "subclass:instanceVariableNames:package:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1320,7 +1290,7 @@ $1=self._subclass_instanceVariableNames_package_(aString,aString2,aString3); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:classVariableNames:poolDictionaries:category:",{aString:aString,aString2:aString2,classVars:classVars,pools:pools,aString3:aString3},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString", "aString2", "classVars", "pools", "aString3"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "subclass: aString instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3\x0a\x09\x22Just ignore class variables and pools. Added for compatibility.\x22\x0a\x09^self subclass: aString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "subclass: aString instanceVariableNames: aString2 classVariableNames: classVars poolDictionaries: pools category: aString3\x0a\x09\x22Just ignore class variables and pools. Added for compatibility.\x22\x0a\x09^ self subclass: aString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["subclass:instanceVariableNames:package:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1339,7 +1309,7 @@ $1=_st(_st($ClassBuilder())._new())._superclass_subclass_instanceVariableNames_p 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"subclass:instanceVariableNames:package:",{aString:aString,aString2:aString2,aString3:aString3},smalltalk.Class)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString", "aString2", "aString3"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "subclass: aString instanceVariableNames: aString2 package: aString3\x0a\x09^ClassBuilder new\x0a\x09\x09superclass: self subclass: aString asString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "subclass: aString instanceVariableNames: aString2 package: aString3\x0a\x09^ ClassBuilder new\x0a\x09\x09superclass: self subclass: aString asString instanceVariableNames: aString2 package: aString3", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["superclass:subclass:instanceVariableNames:package:", "new", "asString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ClassBuilder"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1372,9 +1342,8 @@ category: 'converting', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2="smalltalk.".__comma(_st(self._instanceClass())._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st($2).__comma(".klass"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st("smalltalk.".__comma(_st(self._instanceClass())._name())).__comma(".klass"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"asJavascript",{},smalltalk.Metaclass)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1393,15 +1362,14 @@ fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $String(){return smalltalk.String||(typeof String=="undefined"?nil:String)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($String())._streamContents_((function(stream){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($2)._nextPutAll_(self._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(stream)._nextPutAll_(self._asString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($2)._nextPutAll_(" instanceVariableNames: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(stream)._nextPutAll_(" instanceVariableNames: '"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["nextPutAll:"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self._instanceVariableNames())._do_separatedBy_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(stream)._nextPutAll_(each); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1465,7 +1433,7 @@ return smalltalk.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"isMetaclass",{},smalltalk.Metaclass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "isMetaclass\x0a\x09^true", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "isMetaclass\x0a\x09^ true", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1478,11 +1446,10 @@ category: 'printing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aStream){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=aStream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._nextPutAll_(_st(self._instanceClass())._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(aStream)._nextPutAll_(_st(self._instanceClass())._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["nextPutAll:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._nextPutAll_(" class"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(aStream)._nextPutAll_(" class"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"printOn:",{aStream:aStream},smalltalk.Metaclass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aStream"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 source: "printOn: aStream\x0a\x09aStream\x0a\x09\x09nextPutAll: self instanceClass name;\x0a\x09\x09nextPutAll: ' class'", 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1636,7 +1603,7 @@ self._error_(_st(_st(aClass)._name()).__comma(" is not a metaclass")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aClass)._basicAt_put_("iVarNames",aCollection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"basicClass:instanceVariables:",{aClass:aClass,aCollection:aCollection},smalltalk.ClassBuilder)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aClass", "aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "basicClass: aClass instanceVariables: aCollection\x0a\x0a\x09aClass isMetaclass ifFalse: [self error: aClass name, ' is not a metaclass'].\x0a\x09aClass basicAt: 'iVarNames' put: aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "basicClass: aClass instanceVariables: aCollection\x0a\x0a\x09aClass isMetaclass ifFalse: [ self error: aClass name, ' is not a metaclass' ].\x0a\x09aClass basicAt: 'iVarNames' put: aCollection", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["ifFalse:", "isMetaclass", "error:", ",", "name", "basicAt:put:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1743,7 +1710,7 @@ $3=newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 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", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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:", "current", "theClass:", "new", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["SystemAnnouncer", "ClassAdded"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1757,42 +1724,37 @@ fn: function (aClass,anotherClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $Compiler(){return smalltalk.Compiler||(typeof Compiler=="undefined"?nil:Compiler)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $3,$2,$4,$5,$6,$7,$1,$8,$10,$9,$14,$13,$12,$15,$16,$17,$18,$11; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1,$3,$4,$5,$6,$8,$7,$11,$10,$9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(anotherClass)._comment_(_st(aClass)._comment()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st(aClass)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(aClass)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["methodDictionary"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($3)._values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st($2)._values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["values"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st($2)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st($Compiler())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($Compiler())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["new"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(each)._source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st(each)._source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["source"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=anotherClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st(each)._category(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=_st(each)._category(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["category"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($4)._install_forClass_category_($5,$6,$7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($3)._install_forClass_category_($4,anotherClass,$5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["install:forClass:category:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,1)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["do:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=_st(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=_st($10)._instanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._basicClass_instanceVariables_($8,$9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14=_st(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st($8)._instanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._basicClass_instanceVariables_($6,$7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=_st(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=_st($14)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=_st($13)._values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=_st($12)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=_st($11)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=_st($10)._values(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($9)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$15=_st($Compiler())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$16=_st(each)._source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$17=_st(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$18=_st(each)._category(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($15)._install_forClass_category_($16,$17,$18); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st(_st($Compiler())._new())._install_forClass_category_(_st(each)._source(),_st(anotherClass)._class(),_st(each)._category()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._setupClass_(anotherClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass},smalltalk.ClassBuilder)})}, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1833,15 +1795,13 @@ category: 'method definition', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aCompiledMethod,aBehavior,aString){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aCompiledMethod)._category_(aString); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(aBehavior)._addCompiledMethod_(aCompiledMethod); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._setupClass_(aBehavior); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=aCompiledMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return aCompiledMethod; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"installMethod:forClass:category:",{aCompiledMethod:aCompiledMethod,aBehavior:aBehavior,aString:aString},smalltalk.ClassBuilder)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aCompiledMethod", "aBehavior", "aString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "installMethod: aCompiledMethod forClass: aBehavior category: aString\x0a\x09aCompiledMethod category: aString.\x0a\x09aBehavior addCompiledMethod: aCompiledMethod.\x0a\x09self setupClass: aBehavior.\x0a\x09^aCompiledMethod", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "installMethod: aCompiledMethod forClass: aBehavior category: aString\x0a\x09aCompiledMethod category: aString.\x0a\x09aBehavior addCompiledMethod: aCompiledMethod.\x0a\x09self setupClass: aBehavior.\x0a\x09^ aCompiledMethod", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["category:", "addCompiledMethod:", "setupClass:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1862,7 +1822,7 @@ return _st(each)._isEmpty(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"instanceVariableNamesFor:",{aString:aString},smalltalk.ClassBuilder)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aString"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "instanceVariableNamesFor: aString\x0a\x09^(aString tokenize: ' ') reject: [ :each | each isEmpty ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "instanceVariableNamesFor: aString\x0a\x09^ (aString tokenize: ' ') reject: [ :each | each isEmpty ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["reject:", "tokenize:", "isEmpty"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1875,13 +1835,10 @@ category: 'class migration', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aClass,anotherClass){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $2,$3,$4,$5,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $2,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $2=_st(aClass)._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["name"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=anotherClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st(aClass)._instanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(_st(aClass)._package())._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=self._migrateClassNamed_superclass_instanceVariableNames_package_($2,$3,$4,$5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._migrateClassNamed_superclass_instanceVariableNames_package_($2,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"], 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1903,14 +1860,14 @@ function $Error(){return smalltalk.Error||(typeof Error=="undefined"?nil:Error)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $ClassMigrated(){return smalltalk.ClassMigrated||(typeof ClassMigrated=="undefined"?nil:ClassMigrated)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3,$4,$5,$6,$8,$7,$9,$10,$11,$12,$13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4,$5,$6,$7,$8,$9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 tmp="new*".__comma(className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=_st($Smalltalk())._current(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["current"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 oldClass=_st($1)._at_(className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 newClass=self._addSubclassOf_named_instanceVariableNames_package_(aClass,tmp,aCollection,packageName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self._basicSwapClassNames_with_(oldClass,newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._basicSwapClassNames_with_(oldClass,newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["basicSwapClassNames:with:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st((function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1918,35 +1875,33 @@ return self._copyClass_to_(oldClass,newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)})}))._on_do_($Error(),(function(exception){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._basicSwapClassNames_with_(oldClass,newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=self._basicRemoveClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=self._basicRemoveClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["basicRemoveClass:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(exception)._signal(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({exception:exception},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._rawRenameClass_to_(oldClass,tmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["rawRenameClass:to:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=self._rawRenameClass_to_(newClass,className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st(oldClass)._subclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=(function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=self._rawRenameClass_to_(newClass,className); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st(oldClass)._subclasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=(function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self._migrateClass_superclass_(each,newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)})}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8="Recompiling ".__comma(_st(newClass)._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($8).__comma("..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$6=_st("Recompiling ".__comma(_st(newClass)._name())).__comma("..."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx[","]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($5)._do_displayingProgress_($6,$7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=self._basicRemoveClass_(oldClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=_st($SystemAnnouncer())._current(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=_st($ClassMigrated())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($11)._theClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($11)._oldClass_(oldClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=_st($11)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($10)._announce_($12); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $13; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($4)._do_displayingProgress_($5,$6); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._basicRemoveClass_(oldClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=_st($ClassMigrated())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($7)._theClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($7)._oldClass_(oldClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=_st($7)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st($SystemAnnouncer())._current())._announce_($8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $9; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 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 \x0a\x09\x09do: [ :each | self migrateClass: each superclass: newClass ]\x0a\x09\x09displayingProgress: 'Recompiling ', newClass name, '...'.\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", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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 \x0a\x09\x09do: [ :each | self migrateClass: each superclass: newClass ]\x0a\x09\x09displayingProgress: 'Recompiling ', newClass name, '...'.\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:", "copyClass:to:", "basicRemoveClass:", "signal", "rawRenameClass:to:", "do:displayingProgress:", "subclasses", "migrateClass:superclass:", "name", "announce:", "theClass:", "new", "oldClass:", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["Smalltalk", "Error", "SystemAnnouncer", "ClassMigrated"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2022,7 +1977,7 @@ $1=self._superclass_subclass_instanceVariableNames_package_(aClass,className,"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 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", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "superclass: aClass subclass: className\x0a\x09^ self superclass: aClass subclass: className instanceVariableNames: '' package: nil", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["superclass:subclass:instanceVariableNames:package:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2038,27 +1993,24 @@ var newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $SystemAnnouncer(){return smalltalk.SystemAnnouncer||(typeof SystemAnnouncer=="undefined"?nil:SystemAnnouncer)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function $ClassAdded(){return smalltalk.ClassAdded||(typeof ClassAdded=="undefined"?nil:ClassAdded)} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$3,$5,$4,$6,$7,$8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=aClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=className; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=self._instanceVariableNamesFor_(ivarNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=packageName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(($receiver = $5) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4="unclassified"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$2,$3,$4,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._instanceVariableNamesFor_(ivarNames); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(($receiver = packageName) == nil || $receiver == null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2="unclassified"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=packageName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-newClass=self._addSubclassOf_named_instanceVariableNames_package_($1,$2,$3,$4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+newClass=self._addSubclassOf_named_instanceVariableNames_package_(aClass,className,$1,$2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 self._setupClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st($ClassAdded())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($6)._theClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=_st($6)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st(_st($SystemAnnouncer())._current())._announce_($7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $8; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st($ClassAdded())._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($3)._theClass_(newClass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$4=_st($3)._yourself(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st($SystemAnnouncer())._current())._announce_($4); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$5=newClass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 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", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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:", "current", "theClass:", "new", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["SystemAnnouncer", "ClassAdded"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2139,7 +2091,7 @@ return self._compileMethod_(chunk); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(_st($ClassBuilder())._new())._setupClass_(self["@class"]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCategoryReader)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aChunkParser"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09[chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty] whileFalse: [\x0a\x09\x09self compileMethod: chunk].\x0a\x09ClassBuilder new setupClass: class", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09[ chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ] whileFalse: [\x0a\x09\x09self compileMethod: chunk ].\x0a\x09ClassBuilder new setupClass: class", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["whileFalse:", "nextChunk", "isEmpty", "compileMethod:", "setupClass:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ClassBuilder"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2197,7 +2149,7 @@ self._setComment_(chunk); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},smalltalk.ClassCommentReader)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aChunkParser"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ifFalse: [\x0a\x09\x09self setComment: chunk].", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ifFalse: [\x0a\x09\x09self setComment: chunk ].", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["nextChunk", "ifFalse:", "isEmpty", "setComment:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2251,7 +2203,7 @@ return _st($ClassSorterNode())._on_classes_level_(each,others,_st(self._level()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,4)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"getNodesFrom:",{aCollection:aCollection,children:children,others:others},smalltalk.ClassSorterNode)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "getNodesFrom: aCollection\x0a\x09| children others |\x0a\x09children := #().\x0a\x09others := #().\x0a\x09aCollection do: [:each |\x0a\x09\x09(each superclass = self theClass)\x0a\x09\x09\x09ifTrue: [children add: each]\x0a\x09\x09\x09ifFalse: [others add: each]].\x0a\x09nodes:= children collect: [:each |\x0a\x09\x09ClassSorterNode on: each classes: others level: self level + 1]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "getNodesFrom: aCollection\x0a\x09| children others |\x0a\x09children := #().\x0a\x09others := #().\x0a\x09aCollection do: [ :each |\x0a\x09\x09(each superclass = self theClass)\x0a\x09\x09\x09ifTrue: [ children add: each ]\x0a\x09\x09\x09ifFalse: [ others add: each ]].\x0a\x09nodes:= children collect: [ :each |\x0a\x09\x09ClassSorterNode on: each classes: others level: self level + 1 ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["do:", "ifTrue:ifFalse:", "=", "superclass", "theClass", "add:", "collect:", "on:classes:level:", "+", "level"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["ClassSorterNode"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2269,7 +2221,7 @@ $1=self["@level"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"level",{},smalltalk.ClassSorterNode)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "level\x0a\x09^level", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "level\x0a\x09^ level", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2303,7 +2255,7 @@ $1=self["@nodes"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"nodes",{},smalltalk.ClassSorterNode)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "nodes\x0a\x09^nodes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "nodes\x0a\x09^ nodes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2321,7 +2273,7 @@ $1=self["@theClass"]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"theClass",{},smalltalk.ClassSorterNode)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "theClass\x0a\x09^theClass", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "theClass\x0a\x09^ theClass", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2350,27 +2302,24 @@ category: 'visiting', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aCollection){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) {  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$2,$4,$3,$6,$5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=aCollection; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=self._theClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$3,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=self._theClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["theClass"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._add_($2); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(aCollection)._add_($1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(_st(self._nodes())._sorted_((function(a,b){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$4=_st(a)._theClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=_st(a)._theClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["theClass"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$3=_st($4)._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($3)._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["name"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$6=_st(b)._theClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$5=_st($6)._name(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return _st($3).__lt_eq($5); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return _st($2).__lt_eq(_st(_st(b)._theClass())._name()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({a:a,b:b},$ctx1,1)})})))._do_((function(aNode){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return _st(aNode)._traverseClassesWith_(aCollection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({aNode:aNode},$ctx1,2)})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, function($ctx1) {$ctx1.fill(self,"traverseClassesWith:",{aCollection:aCollection},smalltalk.ClassSorterNode)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aCollection"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "traverseClassesWith: aCollection\x0a\x09\x22sort classes alphabetically Issue #143\x22\x0a\x0a\x09aCollection add: self theClass.\x0a\x09(self nodes sorted: [:a :b | a theClass name <= b theClass name ]) do: [:aNode |\x0a\x09\x09aNode traverseClassesWith: aCollection ].", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "traverseClassesWith: aCollection\x0a\x09\x22sort classes alphabetically Issue #143\x22\x0a\x0a\x09aCollection add: self theClass.\x0a\x09(self nodes sorted: [ :a :b | a theClass name <= b theClass name ]) do: [ :aNode |\x0a\x09\x09aNode traverseClassesWith: aCollection ].", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["add:", "theClass", "do:", "sorted:", "nodes", "<=", "name", "traverseClassesWith:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2394,7 +2343,7 @@ $1=$3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"on:classes:level:",{aClass:aClass,aCollection:aCollection,anInteger:anInteger},smalltalk.ClassSorterNode.klass)})}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aClass", "aCollection", "anInteger"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "on: aClass classes: aCollection level: anInteger\x0a\x09^self new\x0a\x09\x09theClass: aClass;\x0a\x09\x09level: anInteger;\x0a\x09\x09getNodesFrom: aCollection;\x0a\x09\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "on: aClass classes: aCollection level: anInteger\x0a\x09^ self new\x0a\x09\x09theClass: aClass;\x0a\x09\x09level: anInteger;\x0a\x09\x09getNodesFrom: aCollection;\x0a\x09\x09yourself", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: ["theClass:", "new", "level:", "getNodesFrom:", "yourself"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 |