| 
					
				 | 
			
			
				@@ -3379,7 +3379,7 @@ var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var $1,$3,$2,$4,$5,$6,$7,$9,$8,$11,$10,$13,$14,$12; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var $1,$3,$2,$4,$5,$6,$7,$8,$10,$9,$12,$11,$14,$15,$13,$16,$17,$18,$19; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $recv(anotherClass)._comment_($recv(aClass)._comment()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $1=$recv(aClass)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3422,38 +3422,57 @@ $ctx2.sendIdx["install:forClass:protocol:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["valuesDo:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$7=$recv(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$7=$recv(aClass)._traitComposition(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["traitComposition"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$recv(anotherClass)._setTraitComposition_($7); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["setTraitComposition:"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$8=$recv(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$9=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$10=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$8=$recv($9)._instanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-self._basicClass_instanceVariables_($7,$8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$11=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$9=$recv($10)._instanceVariableNames(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+self._basicClass_instanceVariables_($8,$9); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$12=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.sendIdx["class"]=3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$10=$recv($11)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$recv($10)._valuesDo_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$11=$recv($12)._methodDictionary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$recv($11)._valuesDo_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return $core.withContext(function($ctx2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$13=$recv(each)._methodClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$14=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$14=$recv(each)._methodClass(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$15=$recv(aClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx2.sendIdx["class"]=4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$12=$recv($13).__eq($14); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if($core.assert($12)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $recv($recv($globals.Compiler)._new())._install_forClass_protocol_($recv(each)._source(),$recv(anotherClass)._class(),$recv(each)._protocol()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$13=$recv($14).__eq($15); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if($core.assert($13)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$16=$recv($globals.Compiler)._new(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$17=$recv(each)._source(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$18=$recv(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx2.sendIdx["class"]=5; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $recv($16)._install_forClass_protocol_($17,$18,$recv(each)._protocol()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx2) {$ctx2.fillBlock({each:each},$ctx1,3)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$19=$recv(anotherClass)._class(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.sendIdx["class"]=6; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+//>>excludeEnd("ctx"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$recv($19)._setTraitComposition_($recv($recv(aClass)._class())._traitComposition()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ctx", pragmas.excludeDebugContexts); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, function($ctx1) {$ctx1.fill(self,"copyClass:to:",{aClass:aClass,anotherClass:anotherClass},$globals.ClassBuilder)}); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3461,10 +3480,10 @@ return self; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeStart("ide", pragmas.excludeIdeData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aClass", "anotherClass"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "copyClass: aClass to: anotherClass\x0a\x0a\x09anotherClass comment: aClass comment.\x0a\x0a\x09aClass methodDictionary valuesDo: [ :each |\x0a\x09\x09each methodClass = aClass ifTrue: [\x0a\x09\x09\x09Compiler new install: each source forClass: anotherClass protocol: each protocol ] ].\x0a\x0a\x09self basicClass: anotherClass class instanceVariables: aClass class instanceVariableNames.\x0a\x0a\x09aClass class methodDictionary valuesDo: [ :each |\x0a\x09\x09each methodClass = aClass class ifTrue: [\x0a\x09\x09\x09Compiler new install: each source forClass: anotherClass class protocol: each protocol ] ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "copyClass: aClass to: anotherClass\x0a\x0a\x09anotherClass comment: aClass comment.\x0a\x0a\x09aClass methodDictionary valuesDo: [ :each |\x0a\x09\x09each methodClass = aClass ifTrue: [\x0a\x09\x09\x09Compiler new install: each source forClass: anotherClass protocol: each protocol ] ].\x0a\x09anotherClass setTraitComposition: aClass traitComposition.\x0a\x0a\x09self basicClass: anotherClass class instanceVariables: aClass class instanceVariableNames.\x0a\x0a\x09aClass class methodDictionary valuesDo: [ :each |\x0a\x09\x09each methodClass = aClass class ifTrue: [\x0a\x09\x09\x09Compiler new install: each source forClass: anotherClass class protocol: each protocol ] ].\x0a\x09anotherClass class setTraitComposition: aClass class traitComposition", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["Compiler"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 //>>excludeEnd("ide"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["comment:", "comment", "valuesDo:", "methodDictionary", "ifTrue:", "=", "methodClass", "install:forClass:protocol:", "new", "source", "protocol", "basicClass:instanceVariables:", "class", "instanceVariableNames"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["comment:", "comment", "valuesDo:", "methodDictionary", "ifTrue:", "=", "methodClass", "install:forClass:protocol:", "new", "source", "protocol", "setTraitComposition:", "traitComposition", "basicClass:instanceVariables:", "class", "instanceVariableNames"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $globals.ClassBuilder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |