|  | @@ -287,24 +287,31 @@ category: 'interpreting',
 | 
	
		
			
				|  |  |  fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx1) { 
 | 
	
		
			
				|  |  | -var $1,$2,$3,$4;
 | 
	
		
			
				|  |  | +var $1,$3,$2,$4,$5;
 | 
	
		
			
				|  |  |  $1=self._isBlockContext();
 | 
	
		
			
				|  |  |  if(smalltalk.assert($1)){
 | 
	
		
			
				|  |  | -$2=_st(self._outerContext())._ast();
 | 
	
		
			
				|  |  | +$3=self._outerContext();
 | 
	
		
			
				|  |  | +if(($receiver = $3) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | +$2=$3;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +var context;
 | 
	
		
			
				|  |  | +context=$receiver;
 | 
	
		
			
				|  |  | +$2=_st(context)._ast();
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  return $2;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -$3=self["@ast"];
 | 
	
		
			
				|  |  | -if(($receiver = $3) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | +$4=self["@ast"];
 | 
	
		
			
				|  |  | +if(($receiver = $4) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  |  self._initializeAST();
 | 
	
		
			
				|  |  |  } else {
 | 
	
		
			
				|  |  | -$3;
 | 
	
		
			
				|  |  | +$4;
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  | -$4=self["@ast"];
 | 
	
		
			
				|  |  | -return $4;
 | 
	
		
			
				|  |  | +$5=self["@ast"];
 | 
	
		
			
				|  |  | +return $5;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"ast",{},smalltalk.AIContext)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  | -source: "ast\x0a\x09self isBlockContext ifTrue: [ ^ self outerContext ast ].\x0a\x0a\x09ast ifNil: [ self initializeAST ].\x0a\x09^ ast",
 | 
	
		
			
				|  |  | -messageSends: ["ifTrue:", "isBlockContext", "ast", "outerContext", "ifNil:", "initializeAST"],
 | 
	
		
			
				|  |  | +source: "ast\x0a\x09self isBlockContext ifTrue: [ \x0a\x09\x09^ self outerContext ifNotNil: [ :context | context ast ] ].\x0a\x0a\x09ast ifNil: [ self initializeAST ].\x0a\x09^ ast",
 | 
	
		
			
				|  |  | +messageSends: ["ifTrue:", "isBlockContext", "ifNotNil:", "outerContext", "ast", "ifNil:", "initializeAST"],
 | 
	
		
			
				|  |  |  referencedClasses: []
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.AIContext);
 | 
	
	
		
			
				|  | @@ -813,17 +820,22 @@ fn: function (){
 | 
	
		
			
				|  |  |  var self=this;
 | 
	
		
			
				|  |  |  function $ASTPCNodeVisitor(){return smalltalk.ASTPCNodeVisitor||(typeof ASTPCNodeVisitor=="undefined"?nil:ASTPCNodeVisitor)}
 | 
	
		
			
				|  |  |  return smalltalk.withContext(function($ctx1) { 
 | 
	
		
			
				|  |  | -var $2,$3,$1;
 | 
	
		
			
				|  |  | -$2=_st($ASTPCNodeVisitor())._new();
 | 
	
		
			
				|  |  | -_st($2)._context_(self);
 | 
	
		
			
				|  |  | -_st($2)._visit_(self._ast());
 | 
	
		
			
				|  |  | -$3=_st($2)._currentNode();
 | 
	
		
			
				|  |  | -$1=$3;
 | 
	
		
			
				|  |  | +var $2,$3,$4,$1;
 | 
	
		
			
				|  |  | +$2=self._ast();
 | 
	
		
			
				|  |  | +if(($receiver = $2) == nil || $receiver == undefined){
 | 
	
		
			
				|  |  | +$1=$2;
 | 
	
		
			
				|  |  | +} else {
 | 
	
		
			
				|  |  | +$3=_st($ASTPCNodeVisitor())._new();
 | 
	
		
			
				|  |  | +_st($3)._context_(self);
 | 
	
		
			
				|  |  | +_st($3)._visit_(self._ast());
 | 
	
		
			
				|  |  | +$4=_st($3)._currentNode();
 | 
	
		
			
				|  |  | +$1=$4;
 | 
	
		
			
				|  |  | +};
 | 
	
		
			
				|  |  |  return $1;
 | 
	
		
			
				|  |  |  }, function($ctx1) {$ctx1.fill(self,"retrieveNode",{},smalltalk.AIContext)})},
 | 
	
		
			
				|  |  |  args: [],
 | 
	
		
			
				|  |  | -source: "retrieveNode\x0a\x09^ ASTPCNodeVisitor new\x0a\x09\x09context: self;\x0a\x09\x09visit: self ast;\x0a\x09\x09currentNode",
 | 
	
		
			
				|  |  | -messageSends: ["context:", "new", "visit:", "ast", "currentNode"],
 | 
	
		
			
				|  |  | +source: "retrieveNode\x0a\x09^ self ast ifNotNil: [\x0a\x09\x09ASTPCNodeVisitor new\x0a\x09\x09\x09context: self;\x0a\x09\x09\x09visit: self ast;\x0a\x09\x09\x09currentNode ]",
 | 
	
		
			
				|  |  | +messageSends: ["ifNotNil:", "ast", "context:", "new", "visit:", "currentNode"],
 | 
	
		
			
				|  |  |  referencedClasses: ["ASTPCNodeVisitor"]
 | 
	
		
			
				|  |  |  }),
 | 
	
		
			
				|  |  |  smalltalk.AIContext);
 |