|  | @@ -1534,11 +1534,11 @@ selector: "asReceiver",
 | 
	
		
			
				|  |  |  protocol: "testing",
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  | -source: "asReceiver\x0a\x09#{#self -> '$self'. #super -> '$self'. #nil -> '$nil'}\x0a\x09\x09at: self name\x0a\x09\x09ifPresent: [ :newName | ^ self copy name: newName; yourself ]\x0a\x09\x09ifAbsent: [ ^ self ]",
 | 
	
		
			
				|  |  | +source: "asReceiver\x0a\x09self class receiverNames\x0a\x09\x09at: self name\x0a\x09\x09ifPresent: [ :newName | ^ self copy name: newName; yourself ]\x0a\x09\x09ifAbsent: [ ^ self ]",
 | 
	
		
			
				|  |  |  referencedClasses: [],
 | 
	
		
			
				|  |  |  //>>excludeEnd("ide");
 | 
	
		
			
				|  |  |  pragmas: [],
 | 
	
		
			
				|  |  | -messageSends: ["at:ifPresent:ifAbsent:", "name", "name:", "copy", "yourself"]
 | 
	
		
			
				|  |  | +messageSends: ["at:ifPresent:ifAbsent:", "receiverNames", "class", "name", "name:", "copy", "yourself"]
 | 
	
		
			
				|  |  |  }, function ($methodClass){ return function (){
 | 
	
		
			
				|  |  |  var self=this,$self=this;
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
	
		
			
				|  | @@ -1547,7 +1547,7 @@ return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  |  var $1;
 | 
	
		
			
				|  |  |  var $early={};
 | 
	
		
			
				|  |  |  try {
 | 
	
		
			
				|  |  | -$recv($globals.HashedCollection._newFromPairs_(["self","$self","super","$self","nil","$nil"]))._at_ifPresent_ifAbsent_($self._name(),(function(newName){
 | 
	
		
			
				|  |  | +$recv($recv($self._class())._receiverNames())._at_ifPresent_ifAbsent_($self._name(),(function(newName){
 | 
	
		
			
				|  |  |  //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  |  return $core.withContext(function($ctx2) {
 | 
	
		
			
				|  |  |  //>>excludeEnd("ctx");
 | 
	
	
		
			
				|  | @@ -1607,7 +1607,7 @@ return true;
 | 
	
		
			
				|  |  |  $globals.PseudoVar);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -$core.setSlots($globals.PseudoVar.a$cls, ["dictionary"]);
 | 
	
		
			
				|  |  | +$core.setSlots($globals.PseudoVar.a$cls, ["dictionary", "receiverNames"]);
 | 
	
		
			
				|  |  |  $core.addMethod(
 | 
	
		
			
				|  |  |  $core.method({
 | 
	
		
			
				|  |  |  selector: "dictionary",
 | 
	
	
		
			
				|  | @@ -1660,6 +1660,46 @@ return $1;
 | 
	
		
			
				|  |  |  }; }),
 | 
	
		
			
				|  |  |  $globals.PseudoVar.a$cls);
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +$core.addMethod(
 | 
	
		
			
				|  |  | +$core.method({
 | 
	
		
			
				|  |  | +selector: "receiverNames",
 | 
	
		
			
				|  |  | +protocol: "accessing",
 | 
	
		
			
				|  |  | +//>>excludeStart("ide", pragmas.excludeIdeData);
 | 
	
		
			
				|  |  | +args: [],
 | 
	
		
			
				|  |  | +source: "receiverNames\x0a\x09^ receiverNames ifNil: [ receiverNames := Dictionary new\x0a\x09\x09at: #self put: '$self';\x0a\x09\x09at: #super put: '$self';\x0a\x09\x09at: #nil put: '$nil';\x0a\x09\x09yourself ]",
 | 
	
		
			
				|  |  | +referencedClasses: ["Dictionary"],
 | 
	
		
			
				|  |  | +//>>excludeEnd("ide");
 | 
	
		
			
				|  |  | +pragmas: [],
 | 
	
		
			
				|  |  | +messageSends: ["ifNil:", "at:put:", "new", "yourself"]
 | 
	
		
			
				|  |  | +}, function ($methodClass){ return function (){
 | 
	
		
			
				|  |  | +var self=this,$self=this;
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +return $core.withContext(function($ctx1) {
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +var $1,$2,$receiver;
 | 
	
		
			
				|  |  | +$1=$self.receiverNames;
 | 
	
		
			
				|  |  | +if(($receiver = $1) == null || $receiver.a$nil){
 | 
	
		
			
				|  |  | +$2=$recv($globals.Dictionary)._new();
 | 
	
		
			
				|  |  | +$recv($2)._at_put_("self","$self");
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["at:put:"]=1;
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +$recv($2)._at_put_("super","$self");
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +$ctx1.sendIdx["at:put:"]=2;
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +$recv($2)._at_put_("nil","$nil");
 | 
	
		
			
				|  |  | +$self.receiverNames=$recv($2)._yourself();
 | 
	
		
			
				|  |  | +return $self.receiverNames;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +return $1;
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +//>>excludeStart("ctx", pragmas.excludeDebugContexts);
 | 
	
		
			
				|  |  | +}, function($ctx1) {$ctx1.fill(self,"receiverNames",{})});
 | 
	
		
			
				|  |  | +//>>excludeEnd("ctx");
 | 
	
		
			
				|  |  | +}; }),
 | 
	
		
			
				|  |  | +$globals.PseudoVar.a$cls);
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  $core.addClass("SuperVar", $globals.PseudoVar, [], "Compiler-Semantic");
 | 
	
		
			
				|  |  |  //>>excludeStart("ide", pragmas.excludeIdeData);
 |