| 
														
															@@ -1,4 +1,4 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-smalltalk.addPackage('Compiler-Interpreter', {}); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+smalltalk.addPackage('Compiler-Interpreter'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addClass('AIContext', smalltalk.NodeVisitor, ['outerContext', 'pc', 'locals', 'method'], 'Compiler-Interpreter'); 
														 | 
														
														 | 
														
															 smalltalk.addClass('AIContext', smalltalk.NodeVisitor, ['outerContext', 'pc', 'locals', 'method'], 'Compiler-Interpreter'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.AIContext.comment="AIContext is like a `MethodContext`, used by the `ASTInterpreter`.\x0aUnlike a `MethodContext`, it is not read-only.\x0a\x0aWhen debugging, `AIContext` instances are created by copying the current `MethodContext` (thisContext)" 
														 | 
														
														 | 
														
															 smalltalk.AIContext.comment="AIContext is like a `MethodContext`, used by the `ASTInterpreter`.\x0aUnlike a `MethodContext`, it is not read-only.\x0a\x0aWhen debugging, `AIContext` instances are created by copying the current `MethodContext` (thisContext)" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addMethod( 
														 | 
														
														 | 
														
															 smalltalk.addMethod( 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -21,9 +21,9 @@ _st(self)._outerContext_(_st(_st(self)._class())._fromMethodContext_(_st(aMethod 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){ 
														 | 
														
														 | 
														
															 _st(_st(aMethodContext)._locals())._keysAndValuesDo_((function(key,value){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._locals())._at_put_(key,value); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._locals())._at_put_(key,value); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({key:key,value:value},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"initializeFromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aMethodContext"], 
														 | 
														
														 | 
														
															 args: ["aMethodContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "initializeFromMethodContext: aMethodContext\x0a\x09self pc: aMethodContext pc.\x0a    self receiver: aMethodContext receiver.\x0a    self method: aMethodContext method.\x0a    aMethodContext outerContext ifNotNil: [\x0a\x09\x09self outerContext: (self class fromMethodContext: aMethodContext outerContext) ].\x0a    aMethodContext locals keysAndValuesDo: [ :key :value |\x0a    \x09self locals at: key put: value ]\x0a    ", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "initializeFromMethodContext: aMethodContext\x0a\x09self pc: aMethodContext pc.\x0a\x09self receiver: aMethodContext receiver.\x0a\x09self method: aMethodContext method.\x0a\x09aMethodContext outerContext ifNotNil: [\x0a\x09\x09self outerContext: (self class fromMethodContext: aMethodContext outerContext) ].\x0a\x09aMethodContext locals keysAndValuesDo: [ :key :value |\x0a\x09\x09self locals at: key put: value ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["pc:", "pc", "receiver:", "receiver", "method:", "method", "ifNotNil:", "outerContext:", "fromMethodContext:", "outerContext", "class", "keysAndValuesDo:", "at:put:", "locals"], 
														 | 
														
														 | 
														
															 messageSends: ["pc:", "pc", "receiver:", "receiver", "method:", "method", "ifNotNil:", "outerContext:", "fromMethodContext:", "outerContext", "class", "keysAndValuesDo:", "at:put:", "locals"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -41,7 +41,7 @@ $1=_st(_st(self)._locals())._at_ifAbsent_(aString,(function(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return nil; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return nil; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"localAt:",{aString:aString},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aString"], 
														 | 
														
														 | 
														
															 args: ["aString"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "localAt: aString\x0a\x09^ self locals at: aString ifAbsent: [ nil ]", 
														 | 
														
														 | 
														
															 source: "localAt: aString\x0a\x09^ self locals at: aString ifAbsent: [ nil ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["at:ifAbsent:", "locals"], 
														 | 
														
														 | 
														
															 messageSends: ["at:ifAbsent:", "locals"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -57,7 +57,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aString,anObject){ 
														 | 
														
														 | 
														
															 fn: function (aString,anObject){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._locals())._at_put_(aString,anObject); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._locals())._at_put_(aString,anObject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"localAt:put:",{aString:aString,anObject:anObject},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aString", "anObject"], 
														 | 
														
														 | 
														
															 args: ["aString", "anObject"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "localAt: aString put: anObject\x0a\x09self locals at: aString put: anObject", 
														 | 
														
														 | 
														
															 source: "localAt: aString put: anObject\x0a\x09self locals at: aString put: anObject", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["at:put:", "locals"], 
														 | 
														
														 | 
														
															 messageSends: ["at:put:", "locals"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -81,7 +81,7 @@ $1=self["@locals"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$2; 
														 | 
														
														 | 
														
															 $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"locals",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"locals",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "locals\x0a\x09^ locals ifNil: [ locals := Dictionary new ]", 
														 | 
														
														 | 
														
															 source: "locals\x0a\x09^ locals ifNil: [ locals := Dictionary new ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNil:", "new"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNil:", "new"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -99,7 +99,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@method"]; 
														 | 
														
														 | 
														
															 $1=self["@method"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "method\x0a\x09^ method", 
														 | 
														
														 | 
														
															 source: "method\x0a\x09^ method", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -115,7 +115,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aCompiledMethod){ 
														 | 
														
														 | 
														
															 fn: function (aCompiledMethod){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@method"]=aCompiledMethod; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"method:",{aCompiledMethod:aCompiledMethod},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aCompiledMethod"], 
														 | 
														
														 | 
														
															 args: ["aCompiledMethod"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod", 
														 | 
														
														 | 
														
															 source: "method: aCompiledMethod\x0a\x09method := aCompiledMethod", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -133,7 +133,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@outerContext"]; 
														 | 
														
														 | 
														
															 $1=self["@outerContext"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"outerContext",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"outerContext",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "outerContext\x0a\x09^ outerContext", 
														 | 
														
														 | 
														
															 source: "outerContext\x0a\x09^ outerContext", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -149,7 +149,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (anAIContext){ 
														 | 
														
														 | 
														
															 fn: function (anAIContext){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@outerContext"]=anAIContext; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@outerContext"]=anAIContext; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"outerContext:",{anAIContext:anAIContext},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anAIContext"], 
														 | 
														
														 | 
														
															 args: ["anAIContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "outerContext: anAIContext\x0a\x09outerContext := anAIContext", 
														 | 
														
														 | 
														
															 source: "outerContext: anAIContext\x0a\x09outerContext := anAIContext", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -173,7 +173,7 @@ $1=self["@pc"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$2; 
														 | 
														
														 | 
														
															 $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"pc",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"pc",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "pc\x0a\x09^ pc ifNil: [ pc := 0 ]", 
														 | 
														
														 | 
														
															 source: "pc\x0a\x09^ pc ifNil: [ pc := 0 ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNil:"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNil:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -189,7 +189,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (anInteger){ 
														 | 
														
														 | 
														
															 fn: function (anInteger){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@pc"]=anInteger; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@pc"]=anInteger; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"pc:",{anInteger:anInteger},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInteger"], 
														 | 
														
														 | 
														
															 args: ["anInteger"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "pc: anInteger\x0a\x09pc := anInteger", 
														 | 
														
														 | 
														
															 source: "pc: anInteger\x0a\x09pc := anInteger", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -207,7 +207,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(self)._localAt_("self"); 
														 | 
														
														 | 
														
															 $1=_st(self)._localAt_("self"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"receiver",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "receiver\x0a\x09^ self localAt: 'self'", 
														 | 
														
														 | 
														
															 source: "receiver\x0a\x09^ self localAt: 'self'", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["localAt:"], 
														 | 
														
														 | 
														
															 messageSends: ["localAt:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -223,7 +223,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (anObject){ 
														 | 
														
														 | 
														
															 fn: function (anObject){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._localAt_put_("self",anObject); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._localAt_put_("self",anObject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anObject"], 
														 | 
														
														 | 
														
															 args: ["anObject"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "receiver: anObject\x0a\x09self localAt: 'self' put: anObject", 
														 | 
														
														 | 
														
															 source: "receiver: anObject\x0a\x09self localAt: 'self' put: anObject", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["localAt:put:"], 
														 | 
														
														 | 
														
															 messageSends: ["localAt:put:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -246,9 +246,9 @@ $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(_st(self)._method())._selector(); 
														 | 
														
														 | 
														
															 $1=_st(_st(self)._method())._selector(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"selector",{}, smalltalk.AIContext)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"selector",{},smalltalk.AIContext)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "selector\x0a\x09^ self metod\x0a    \x09ifNotNil: [ self method selector ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "selector\x0a\x09^ self metod\x0a\x09\x09ifNotNil: [ self method selector ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNotNil:", "selector", "method", "metod"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNotNil:", "selector", "method", "metod"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -268,9 +268,9 @@ _st($2)._initializeFromMethodContext_(aMethodContext); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $3=_st($2)._yourself(); 
														 | 
														
														 | 
														
															 $3=_st($2)._yourself(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$3; 
														 | 
														
														 | 
														
															 $1=$3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext}, smalltalk.AIContext.klass)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"fromMethodContext:",{aMethodContext:aMethodContext},smalltalk.AIContext.klass)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aMethodContext"], 
														 | 
														
														 | 
														
															 args: ["aMethodContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "fromMethodContext: aMethodContext\x0a\x09^ self new\x0a    \x09initializeFromMethodContext: aMethodContext;\x0a        yourself", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "fromMethodContext: aMethodContext\x0a\x09^ self new\x0a\x09\x09initializeFromMethodContext: aMethodContext;\x0a\x09\x09yourself", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["initializeFromMethodContext:", "new", "yourself"], 
														 | 
														
														 | 
														
															 messageSends: ["initializeFromMethodContext:", "new", "yourself"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -292,9 +292,9 @@ ast=_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._parse_(_st(_st(self 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast); 
														 | 
														
														 | 
														
															 _st(_st((smalltalk.SemanticAnalyzer || SemanticAnalyzer))._on_(_st(_st(_st(self)._context())._receiver())._class()))._visit_(ast); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=ast; 
														 | 
														
														 | 
														
															 $1=ast; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"buildAST",{ast:ast},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "buildAST\x0a\x09\x22Build the AST tree from the method source code.\x0a    The AST is annotated with a SemanticAnalyzer, \x0a    to know the semantics and bindings of each node needed for later debugging\x22\x0a    \x0a    | ast |\x0a    \x0a    ast := Smalltalk current parse: self method source.\x0a    (SemanticAnalyzer on: self context receiver class)\x0a    \x09visit: ast.    \x0a    \x0a    ^ ast", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "buildAST\x0a\x09\x22Build the AST tree from the method source code.\x0a\x09The AST is annotated with a SemanticAnalyzer,\x0a\x09to know the semantics and bindings of each node needed for later debugging\x22\x0a\x09\x0a\x09| ast |\x0a\x09\x0a\x09ast := Smalltalk current parse: self method source.\x0a\x09(SemanticAnalyzer on: self context receiver class)\x0a\x09\x09visit: ast.\x0a\x09\x0a\x09^ ast", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["parse:", "source", "method", "current", "visit:", "on:", "class", "receiver", "context"], 
														 | 
														
														 | 
														
															 messageSends: ["parse:", "source", "method", "current", "visit:", "on:", "class", "receiver", "context"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["Smalltalk", "SemanticAnalyzer"] 
														 | 
														
														 | 
														
															 referencedClasses: ["Smalltalk", "SemanticAnalyzer"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -310,7 +310,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@context"]; 
														 | 
														
														 | 
														
															 $1=self["@context"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "context\x0a\x09^ context", 
														 | 
														
														 | 
														
															 source: "context\x0a\x09^ context", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -326,7 +326,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aContext){ 
														 | 
														
														 | 
														
															 fn: function (aContext){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@context"]=_st((smalltalk.AIContext || AIContext))._new(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@context"]=_st((smalltalk.AIContext || AIContext))._new(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"context:",{aContext:aContext},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aContext"], 
														 | 
														
														 | 
														
															 args: ["aContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "context: aContext\x0a\x09context := AIContext new.", 
														 | 
														
														 | 
														
															 source: "context: aContext\x0a\x09context := AIContext new.", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["new"], 
														 | 
														
														 | 
														
															 messageSends: ["new"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -344,7 +344,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=(smalltalk.ASTSteppingInterpreter || ASTSteppingInterpreter); 
														 | 
														
														 | 
														
															 $1=(smalltalk.ASTSteppingInterpreter || ASTSteppingInterpreter); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"defaultInterpreterClass",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "defaultInterpreterClass\x0a\x09^ ASTSteppingInterpreter", 
														 | 
														
														 | 
														
															 source: "defaultInterpreterClass\x0a\x09^ ASTSteppingInterpreter", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -360,7 +360,7 @@ category: 'initialization', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(_st(self)._interpreter())._interpret_(_st(_st(_st(self)._buildAST())._nodes())._first()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"initializeInterpreter",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "initializeInterpreter\x0a\x09self interpreter interpret: self buildAST nodes first", 
														 | 
														
														 | 
														
															 source: "initializeInterpreter\x0a\x09self interpreter interpret: self buildAST nodes first", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:", "first", "nodes", "buildAST", "interpreter"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -377,9 +377,9 @@ fn: function (aMethodContext){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._context_(_st((smalltalk.AIContext || AIContext))._fromMethodContext_(aMethodContext)); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._context_(_st((smalltalk.AIContext || AIContext))._fromMethodContext_(aMethodContext)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(self)._initializeInterpreter(); 
														 | 
														
														 | 
														
															 _st(self)._initializeInterpreter(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"initializeWithContext:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aMethodContext"], 
														 | 
														
														 | 
														
															 args: ["aMethodContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "initializeWithContext: aMethodContext\x0a\x09\x22TODO: do we need to handle block contexts?\x22\x0a    \x0a    self context: (AIContext fromMethodContext: aMethodContext).\x0a    self initializeInterpreter", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "initializeWithContext: aMethodContext\x0a\x09\x22TODO: do we need to handle block contexts?\x22\x0a\x09\x0a\x09self context: (AIContext fromMethodContext: aMethodContext).\x0a\x09self initializeInterpreter", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"], 
														 | 
														
														 | 
														
															 messageSends: ["context:", "fromMethodContext:", "initializeInterpreter"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["AIContext"] 
														 | 
														
														 | 
														
															 referencedClasses: ["AIContext"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -401,7 +401,7 @@ $1=self["@interpreter"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$2; 
														 | 
														
														 | 
														
															 $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter\x0a\x09^ interpreter ifNil: [ interpreter := self defaultInterpreterClass new ]", 
														 | 
														
														 | 
														
															 source: "interpreter\x0a\x09^ interpreter ifNil: [ interpreter := self defaultInterpreterClass new ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNil:", "new", "defaultInterpreterClass"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNil:", "new", "defaultInterpreterClass"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -417,7 +417,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (anInterpreter){ 
														 | 
														
														 | 
														
															 fn: function (anInterpreter){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@interpreter"]=anInterpreter; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@interpreter"]=anInterpreter; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpreter:",{anInterpreter:anInterpreter},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter\x0a\x09interpreter := anInterpreter", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter\x0a\x09interpreter := anInterpreter", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -435,7 +435,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(_st(self)._context())._method(); 
														 | 
														
														 | 
														
															 $1=_st(_st(self)._context())._method(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"method",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"method",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "method\x0a\x09^ self context method", 
														 | 
														
														 | 
														
															 source: "method\x0a\x09^ self context method", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["method", "context"], 
														 | 
														
														 | 
														
															 messageSends: ["method", "context"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -451,7 +451,7 @@ category: 'stepping', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"restart",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"restart",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "restart\x0a\x09self shouldBeImplemented", 
														 | 
														
														 | 
														
															 source: "restart\x0a\x09self shouldBeImplemented", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
														
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -467,7 +467,7 @@ category: 'stepping', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"resume",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"resume",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "resume\x0a\x09self shouldBeImplemented", 
														 | 
														
														 | 
														
															 source: "resume\x0a\x09self shouldBeImplemented", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
														
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -492,9 +492,9 @@ return smalltalk.withContext(function($ctx3) {
return _st(_st(_st(self)._interpr 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
_st(_st(self)._interpreter())._step(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
_st(_st(self)._interpreter())._step(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return _st(self)._step(); 
														 | 
														
														 | 
														
															 return _st(self)._step(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "step\x0a\x09\x22The ASTSteppingInterpreter stops at each node interpretation. \x0a    One step will interpret nodes until:\x0a    - we get at the end\x0a    - the next node is a stepping node (send, assignment, etc.)\x22\x0a    \x0a\x09[ (self interpreter nextNode notNil and: [ self interpreter nextNode stopOnStepping ])\x0a\x09\x09or: [ self interpreter atEnd not ] ] \x0a \x09\x09\x09whileFalse: [\x0a\x09\x09\x09\x09self interpreter step. \x0a                self step ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "step\x0a\x09\x22The ASTSteppingInterpreter stops at each node interpretation.\x0a\x09One step will interpret nodes until:\x0a\x09- we get at the end\x0a\x09- the next node is a stepping node (send, assignment, etc.)\x22\x0a\x09\x0a\x09[ (self interpreter nextNode notNil and: [ self interpreter nextNode stopOnStepping ])\x0a\x09\x09or: [ self interpreter atEnd not ] ]\x0a\x09\x09\x09whileFalse: [\x0a\x09\x09\x09\x09self interpreter step.\x0a\x09\x09\x09\x09self step ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["whileFalse:", "step", "interpreter", "or:", "not", "atEnd", "and:", "stopOnStepping", "nextNode", "notNil"], 
														 | 
														
														 | 
														
															 messageSends: ["whileFalse:", "step", "interpreter", "or:", "not", "atEnd", "and:", "stopOnStepping", "nextNode", "notNil"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -508,7 +508,7 @@ category: 'stepping', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._shouldBeImplemented(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"stepInto",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "stepInto\x0a\x09self shouldBeImplemented", 
														 | 
														
														 | 
														
															 source: "stepInto\x0a\x09self shouldBeImplemented", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
														
														 | 
														
															 messageSends: ["shouldBeImplemented"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -524,7 +524,7 @@ category: 'stepping', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._step(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._step(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{}, smalltalk.ASTDebugger)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"stepOver",{},smalltalk.ASTDebugger)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "stepOver\x0a\x09self step", 
														 | 
														
														 | 
														
															 source: "stepOver\x0a\x09self step", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["step"], 
														 | 
														
														 | 
														
															 messageSends: ["step"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -546,9 +546,9 @@ _st($2)._initializeWithContext_(aMethodContext); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $3=_st($2)._yourself(); 
														 | 
														
														 | 
														
															 $3=_st($2)._yourself(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$3; 
														 | 
														
														 | 
														
															 $1=$3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.ASTDebugger.klass)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext},smalltalk.ASTDebugger.klass)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aMethodContext"], 
														 | 
														
														 | 
														
															 args: ["aMethodContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "context: aMethodContext\x0a\x09^ self new\x0a    \x09initializeWithContext: aMethodContext;\x0a        yourself", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "context: aMethodContext\x0a\x09^ self new\x0a\x09\x09initializeWithContext: aMethodContext;\x0a\x09\x09yourself", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["initializeWithContext:", "new", "yourself"], 
														 | 
														
														 | 
														
															 messageSends: ["initializeWithContext:", "new", "yourself"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -556,7 +556,7 @@ smalltalk.ASTDebugger.klass); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addClass('ASTInterpreter', smalltalk.Object, ['currentNode', 'context', 'shouldReturn', 'result'], 'Compiler-Interpreter'); 
														 | 
														
														 | 
														
															 smalltalk.addClass('ASTInterpreter', smalltalk.Object, ['currentNode', 'context', 'shouldReturn', 'result'], 'Compiler-Interpreter'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-smalltalk.ASTInterpreter.comment="ASTIntepreter is like a `NodeVisitor`, interpreting nodes one after each other.\x0aIt is built using Continuation Passing Style for stepping purposes.\x0a\x0aUsage example:\x0a\x0a    | ast interpreter |\x0a    ast := Smalltalk current parse: 'foo 1+2+4'.\x0a    (SemanticAnalyzer on: Object) visit: ast.\x0a\x0a    ASTInterpreter new\x0a        interpret: ast nodes first;\x0a        result \x22Answers 7\x22" 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+smalltalk.ASTInterpreter.comment="ASTIntepreter is like a `NodeVisitor`, interpreting nodes one after each other.\x0aIt is built using Continuation Passing Style for stepping purposes.\x0a\x0aUsage example:\x0a\x0a\x09| ast interpreter |\x0a\x09ast := Smalltalk current parse: 'foo 1+2+4'.\x0a\x09(SemanticAnalyzer on: Object) visit: ast.\x0a\x0a\x09ASTInterpreter new\x0a\x09\x09interpret: ast nodes first;\x0a\x09\x09result \x22Answers 7\x22" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addMethod( 
														 | 
														
														 | 
														
															 smalltalk.addMethod( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 "_assign_to_", 
														 | 
														
														 | 
														
															 "_assign_to_", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.method({ 
														 | 
														
														 | 
														
															 smalltalk.method({ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -572,9 +572,9 @@ $1=_st(_st(_st(self)._context())._receiver())._instVarAt_put_(_st(aNode)._value( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(_st(self)._context())._localAt_put_(_st(aNode)._value(),anObject); 
														 | 
														
														 | 
														
															 $1=_st(_st(self)._context())._localAt_put_(_st(aNode)._value(),anObject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"assign:to:",{aNode:aNode,anObject:anObject},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "anObject"], 
														 | 
														
														 | 
														
															 args: ["aNode", "anObject"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "assign: aNode to: anObject\x0a\x09^ aNode binding isInstanceVar \x0a    \x09ifTrue: [ self context receiver instVarAt: aNode value put: anObject ]\x0a      \x09ifFalse: [ self context localAt: aNode value put: anObject ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "assign: aNode to: anObject\x0a\x09^ aNode binding isInstanceVar\x0a\x09\x09ifTrue: [ self context receiver instVarAt: aNode value put: anObject ]\x0a\x09\x09ifFalse: [ self context localAt: aNode value put: anObject ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifTrue:ifFalse:", "instVarAt:put:", "value", "receiver", "context", "localAt:put:", "isInstanceVar", "binding"], 
														 | 
														
														 | 
														
															 messageSends: ["ifTrue:ifFalse:", "instVarAt:put:", "value", "receiver", "context", "localAt:put:", "isInstanceVar", "binding"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -596,7 +596,7 @@ $1=self["@context"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$2; 
														 | 
														
														 | 
														
															 $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"context",{},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "context\x0a\x09^ context ifNil: [ context := AIContext new ]", 
														 | 
														
														 | 
														
															 source: "context\x0a\x09^ context ifNil: [ context := AIContext new ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNil:", "new"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNil:", "new"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -612,7 +612,7 @@ category: 'accessing', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (anAIContext){ 
														 | 
														
														 | 
														
															 fn: function (anAIContext){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@context"]=anAIContext; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@context"]=anAIContext; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"context:",{anAIContext:anAIContext},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anAIContext"], 
														 | 
														
														 | 
														
															 args: ["anAIContext"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "context: anAIContext\x0a\x09context := anAIContext", 
														 | 
														
														 | 
														
															 source: "context: anAIContext\x0a\x09context := anAIContext", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -629,9 +629,9 @@ fn: function (aBlock,anObject){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@result"]=anObject; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(aBlock)._value_(anObject); 
														 | 
														
														 | 
														
															 _st(aBlock)._value_(anObject); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"continue:value:",{aBlock:aBlock,anObject:anObject},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aBlock", "anObject"], 
														 | 
														
														 | 
														
															 args: ["aBlock", "anObject"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "continue: aBlock value: anObject\x0a\x09result := anObject.\x0a    aBlock value: anObject", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "continue: aBlock value: anObject\x0a\x09result := anObject.\x0a\x09aBlock value: anObject", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["value:"], 
														 | 
														
														 | 
														
															 messageSends: ["value:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -647,7 +647,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@currentNode"]; 
														 | 
														
														 | 
														
															 $1=self["@currentNode"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"currentNode",{}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"currentNode",{},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "currentNode\x0a\x09^ currentNode", 
														 | 
														
														 | 
														
															 source: "currentNode\x0a\x09^ currentNode", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -680,9 +680,9 @@ return $2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 function_=_st(_st((smalltalk.Compiler || Compiler))._new())._eval_(source); 
														 | 
														
														 | 
														
															 function_=_st(_st((smalltalk.Compiler || Compiler))._new())._eval_(source); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $3=_st(function_)._valueWithPossibleArguments_(_st(_st(_st(self)._context())._locals())._values()); 
														 | 
														
														 | 
														
															 $3=_st(function_)._valueWithPossibleArguments_(_st(_st(_st(self)._context())._locals())._values()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $3; 
														 | 
														
														 | 
														
															 return $3; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString,source:source,function_:function_}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"eval:",{aString:aString,source:source,function_:function_},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aString"], 
														 | 
														
														 | 
														
															 args: ["aString"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "eval: aString\x0a\x09\x22Evaluate aString as JS source inside an JS function. \x0a    aString is not sandboxed.\x22\x0a    \x0a    | source function |\x0a    \x0a    source := String streamContents: [ :str |\x0a    \x09str nextPutAll: '(function('.\x0a        self context locals keys \x0a        \x09do: [ :each | str nextPutAll: each ]\x0a          \x09separatedBy: [ str nextPutAll: ',' ].\x0a        str \x0a        \x09nextPutAll: '){ return (function() {';\x0a        \x09nextPutAll: aString;\x0a            nextPutAll: '})() })' ].\x0a            \x0a\x09function := Compiler new eval: source.\x0a    \x0a\x09^ function valueWithPossibleArguments: self context locals values", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "eval: aString\x0a\x09\x22Evaluate aString as JS source inside an JS function.\x0a\x09aString is not sandboxed.\x22\x0a\x09\x0a\x09| source function |\x0a\x09\x0a\x09source := String streamContents: [ :str |\x0a\x09\x09str nextPutAll: '(function('.\x0a\x09\x09self context locals keys\x0a\x09\x09\x09do: [ :each | str nextPutAll: each ]\x0a\x09\x09\x09separatedBy: [ str nextPutAll: ',' ].\x0a\x09\x09str\x0a\x09\x09\x09nextPutAll: '){ return (function() {';\x0a\x09\x09\x09nextPutAll: aString;\x0a\x09\x09\x09nextPutAll: '})() })' ].\x0a\x09\x09\x09\x0a\x09function := Compiler new eval: source.\x0a\x09\x0a\x09^ function valueWithPossibleArguments: self context locals values", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["streamContents:", "nextPutAll:", "do:separatedBy:", "keys", "locals", "context", "eval:", "new", "valueWithPossibleArguments:", "values"], 
														 | 
														
														 | 
														
															 messageSends: ["streamContents:", "nextPutAll:", "do:separatedBy:", "keys", "locals", "context", "eval:", "new", "valueWithPossibleArguments:", "values"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["String", "Compiler"] 
														 | 
														
														 | 
														
															 referencedClasses: ["String", "Compiler"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -697,9 +697,9 @@ fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
smalltalk.Object.fn.prototype._initialize.apply(_st(self), []); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 self["@shouldReturn"]=false; 
														 | 
														
														 | 
														
															 self["@shouldReturn"]=false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "initialize\x0a\x09super initialize.\x0a    shouldReturn := false", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "initialize\x0a\x09super initialize.\x0a\x09shouldReturn := false", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["initialize"], 
														 | 
														
														 | 
														
															 messageSends: ["initialize"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -717,9 +717,9 @@ _st(self)._interpret_continue_(aNode,(function(value){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
self["@result"]=value; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
self["@result"]=value; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return self["@result"]; 
														 | 
														
														 | 
														
															 return self["@result"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpret:",{aNode:aNode},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode"], 
														 | 
														
														 | 
														
															 args: ["aNode"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpret: aNode\x0a\x09shouldReturn := false.\x0a    self interpret: aNode continue: [ :value |\x0a    \x09result := value ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpret: aNode\x0a\x09shouldReturn := false.\x0a\x09self interpret: aNode continue: [ :value |\x0a\x09\x09result := value ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -748,9 +748,9 @@ return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 } else { 
														 | 
														
														 | 
														
															 } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(self)._continue_value_(aBlock,aNode); 
														 | 
														
														 | 
														
															 _st(self)._continue_value_(aBlock,aNode); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpret: aNode continue: aBlock\x0a\x09shouldReturn ifTrue: [ ^ self ].\x0a\x0a\x09aNode isNode \x0a    \x09ifTrue: [ \x09\x0a        \x09currentNode := aNode.\x0a            self interpretNode: aNode continue: [ :value |\x0a  \x09\x09\x09\x09self continue: aBlock value: value ] ]\x0a        ifFalse: [ self continue: aBlock value: aNode ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpret: aNode continue: aBlock\x0a\x09shouldReturn ifTrue: [ ^ self ].\x0a\x0a\x09aNode isNode\x0a\x09\x09ifTrue: [\x0a\x09\x09\x09currentNode := aNode.\x0a\x09\x09\x09self interpretNode: aNode continue: [ :value |\x0a\x09\x09\x09\x09self continue: aBlock value: value ] ]\x0a\x09\x09ifFalse: [ self continue: aBlock value: aNode ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifTrue:", "ifTrue:ifFalse:", "interpretNode:continue:", "continue:value:", "isNode"], 
														 | 
														
														 | 
														
															 messageSends: ["ifTrue:", "ifTrue:ifFalse:", "interpretNode:continue:", "continue:value:", "isNode"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -764,9 +764,9 @@ category: 'private', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aCollection,aBlock){ 
														 | 
														
														 | 
														
															 fn: function (aCollection,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st((smalltalk.OrderedCollection || OrderedCollection))._new()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_result_(aCollection,aBlock,_st((smalltalk.OrderedCollection || OrderedCollection))._new()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:",{aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aCollection", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aCollection", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretAll: aCollection continue: aBlock\x0a\x09self \x0a    \x09interpretAll: aCollection \x0a        continue: aBlock \x0a        result: OrderedCollection new", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretAll: aCollection continue: aBlock\x0a\x09self\x0a\x09\x09interpretAll: aCollection\x0a\x09\x09continue: aBlock\x0a\x09\x09result: OrderedCollection new", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAll:continue:result:", "new"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAll:continue:result:", "new"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["OrderedCollection"] 
														 | 
														
														 | 
														
															 referencedClasses: ["OrderedCollection"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -788,9 +788,9 @@ _st(self)._interpret_continue_(_st(nodes)._first(),(function(value){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value])); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._interpretAll_continue_result_(_st(nodes)._allButFirst(),aBlock,_st(aCollection).__comma([value])); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretAll:continue:result:",{nodes:nodes,aBlock:aBlock,aCollection:aCollection},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["nodes", "aBlock", "aCollection"], 
														 | 
														
														 | 
														
															 args: ["nodes", "aBlock", "aCollection"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretAll: nodes continue: aBlock result: aCollection\x0a\x09nodes isEmpty \x0a    \x09ifTrue: [ self continue: aBlock value: aCollection ]\x0a    \x09ifFalse: [\x0a    \x09\x09self interpret: nodes first continue: [:value |\x0a    \x09\x09\x09self \x0a                \x09interpretAll: nodes allButFirst \x0a                    continue: aBlock\x0a  \x09\x09\x09\x09\x09result: aCollection, { value } ] ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretAll: nodes continue: aBlock result: aCollection\x0a\x09nodes isEmpty\x0a\x09\x09ifTrue: [ self continue: aBlock value: aCollection ]\x0a\x09\x09ifFalse: [\x0a\x09\x09\x09self interpret: nodes first continue: [:value |\x0a\x09\x09\x09\x09self\x0a\x09\x09\x09\x09\x09interpretAll: nodes allButFirst\x0a\x09\x09\x09\x09\x09continue: aBlock\x0a\x09\x09\x09\x09\x09result: aCollection, { value } ] ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifTrue:ifFalse:", "continue:value:", "interpret:continue:", "first", "interpretAll:continue:result:", "allButFirst", ",", "isEmpty"], 
														 | 
														
														 | 
														
															 messageSends: ["ifTrue:ifFalse:", "continue:value:", "interpret:continue:", "first", "interpretAll:continue:result:", "allButFirst", ",", "isEmpty"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -806,9 +806,9 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){ 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpret_continue_(_st(aNode)._right(),(function(value){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value)); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(self)._assign_to_(_st(aNode)._left(),value)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretAssignmentNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretAssignmentNode: aNode continue: aBlock\x0a\x09self interpret: aNode right continue: [ :value |\x0a    \x09self \x0a        \x09continue: aBlock\x0a            value: (self assign: aNode left to: value) ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretAssignmentNode: aNode continue: aBlock\x0a\x09self interpret: aNode right continue: [ :value |\x0a\x09\x09self\x0a\x09\x09\x09continue: aBlock\x0a\x09\x09\x09value: (self assign: aNode left to: value) ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:", "right", "continue:value:", "assign:to:", "left"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -828,9 +828,9 @@ _st($1)._interpret_(_st(_st(aNode)._nodes())._first()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $2=_st($1)._result(); 
														 | 
														
														 | 
														
															 $2=_st($1)._result(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $2; 
														 | 
														
														 | 
														
															 return $2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretBlockNode: aNode continue: aBlock\x0a\x09\x22TODO: Context should be set\x22\x0a    \x0a    self \x0a    \x09continue: aBlock \x0a        value: [ self interpret: aNode nodes first; result ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretBlockNode: aNode continue: aBlock\x0a\x09\x22TODO: Context should be set\x22\x0a\x09\x0a\x09self\x0a\x09\x09continue: aBlock\x0a\x09\x09value: [ self interpret: aNode nodes first; result ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "interpret:", "first", "nodes", "result"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "interpret:", "first", "nodes", "result"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -844,7 +844,7 @@ category: 'interpreting', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
														
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretSequenceNode_continue_(aNode,aBlock); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretSequenceNode_continue_(aNode,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretBlockSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpretBlockSequenceNode: aNode continue: aBlock\x0a\x09self interpretSequenceNode: aNode continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpretBlockSequenceNode: aNode continue: aBlock\x0a\x09self interpretSequenceNode: aNode continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretSequenceNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretSequenceNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -869,9 +869,9 @@ return smalltalk.withContext(function($ctx4) {
return _st(self)._continue_value_ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx4) {$ctx4.fillBlock({val:val},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretCascadeNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretCascadeNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretCascadeNode: aNode continue: aBlock\x0a\x09\x22TODO: Handle super sends\x22\x0a\x09\x0a    self interpret: aNode receiver continue: [ :receiver |\x0a\x09\x09\x22Only interpret the receiver once\x22\x0a        aNode nodes do: [ :each | each receiver: receiver ].\x0a  \x0a    \x09self \x0a        \x09interpretAll: aNode nodes allButLast\x0a    \x09\x09continue: [\x0a              \x09self \x0a                \x09interpret: aNode nodes last\x0a                \x09continue: [ :val | self continue: aBlock value: val ] ] ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretCascadeNode: aNode continue: aBlock\x0a\x09\x22TODO: Handle super sends\x22\x0a\x09\x0a\x09self interpret: aNode receiver continue: [ :receiver |\x0a\x09\x09\x22Only interpret the receiver once\x22\x0a\x09\x09aNode nodes do: [ :each | each receiver: receiver ].\x0a\x0a\x09\x09self\x0a\x09\x09\x09interpretAll: aNode nodes allButLast\x0a\x09\x09\x09continue: [\x0a\x09\x09\x09\x09self\x0a\x09\x09\x09\x09\x09interpret: aNode nodes last\x0a\x09\x09\x09\x09\x09continue: [ :val | self continue: aBlock value: val ] ] ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:", "receiver", "do:", "receiver:", "nodes", "interpretAll:continue:", "allButLast", "last", "continue:value:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:", "receiver", "do:", "receiver:", "nodes", "interpretAll:continue:", "allButLast", "last", "continue:value:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -885,7 +885,7 @@ category: 'interpreting', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
														
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(aNode)._value())); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(_st((smalltalk.Smalltalk || Smalltalk))._current())._at_(_st(aNode)._value())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretClassReferenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpretClassReferenceNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: (Smalltalk current at: aNode value)", 
														 | 
														
														 | 
														
															 source: "interpretClassReferenceNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: (Smalltalk current at: aNode value)", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "at:", "value", "current"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "at:", "value", "current"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -903,9 +903,9 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,array); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,array); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicArrayNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretDynamicArrayNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a    \x09self \x0a        \x09continue: aBlock\x0a\x09\x09\x09value: array ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretDynamicArrayNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a\x09\x09self\x0a\x09\x09\x09continue: aBlock\x0a\x09\x09\x09value: array ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -927,9 +927,9 @@ return smalltalk.withContext(function($ctx3) {
return _st(hashedCollection)._add 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({each:each},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return _st(self)._continue_value_(aBlock,hashedCollection); 
														 | 
														
														 | 
														
															 return _st(self)._continue_value_(aBlock,hashedCollection); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array,hashedCollection:hashedCollection},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicDictionaryNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretDynamicDictionaryNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretDynamicDictionaryNode: aNode continue: aBlock\x0a    self interpretAll: aNode nodes continue: [ :array | | hashedCollection |\x0a    \x09hashedCollection := HashedCollection new.\x0a        array do: [ :each | hashedCollection add: each ].\x0a        self \x09\x0a        \x09continue: aBlock\x0a            value: hashedCollection ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretDynamicDictionaryNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array | | hashedCollection |\x0a\x09\x09hashedCollection := HashedCollection new.\x0a\x09\x09array do: [ :each | hashedCollection add: each ].\x0a\x09\x09self\x0a\x09\x09\x09continue: aBlock\x0a\x09\x09\x09value: hashedCollection ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "new", "do:", "add:", "continue:value:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "new", "do:", "add:", "continue:value:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["HashedCollection"] 
														 | 
														
														 | 
														
															 referencedClasses: ["HashedCollection"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -944,7 +944,7 @@ fn: function (aNode,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
self["@shouldReturn"]=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source())); 
														 | 
														
														 | 
														
															 _st(self)._continue_value_(aBlock,_st(self)._eval_(_st(aNode)._source())); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretJSStatementNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpretJSStatementNode: aNode continue: aBlock\x0a\x09shouldReturn := true.\x0a\x09self continue: aBlock value: (self eval: aNode source)", 
														 | 
														
														 | 
														
															 source: "interpretJSStatementNode: aNode continue: aBlock\x0a\x09shouldReturn := true.\x0a\x09self continue: aBlock value: (self eval: aNode source)", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "eval:", "source"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "eval:", "source"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -962,9 +962,9 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._first()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._first()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretMethodNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretMethodNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a    \x09self continue: aBlock value: array first ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretMethodNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a\x09\x09self continue: aBlock value: array first ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "first"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -978,9 +978,9 @@ category: 'interpreting', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
														
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(aNode)._interpreter_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(aNode)._interpreter_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretNode: aNode continue: aBlock\x0a    aNode interpreter: self continue: aBlock", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretNode: aNode continue: aBlock\x0a\x09aNode interpreter: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpreter:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpreter:continue:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -998,9 +998,9 @@ return smalltalk.withContext(function($ctx2) {
self["@shouldReturn"]=true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 self["@shouldReturn"]; 
														 | 
														
														 | 
														
															 self["@shouldReturn"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return _st(self)._continue_value_(aBlock,value); 
														 | 
														
														 | 
														
															 return _st(self)._continue_value_(aBlock,value); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({value:value},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretReturnNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretReturnNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretReturnNode: aNode continue: aBlock\x0a    self interpret: aNode nodes first continue: [ :value |\x0a    \x09shouldReturn := true.\x0a\x09\x09self continue: aBlock value: value ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretReturnNode: aNode continue: aBlock\x0a\x09self interpret: aNode nodes first continue: [ :value |\x0a\x09\x09shouldReturn := true.\x0a\x09\x09self continue: aBlock value: value ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:", "first", "nodes", "continue:value:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:", "first", "nodes", "continue:value:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1021,9 +1021,9 @@ return _st(self)._continue_value_(aBlock,_st(message)._sendTo_(receiver)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx4) {$ctx4.fillBlock({message:message},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx3) {$ctx3.fillBlock({args:args},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({receiver:receiver},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretSendNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretSendNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretSendNode: aNode continue: aBlock\x0a\x09\x22TODO: Handle super sends\x22\x0a    \x0a    self interpret: aNode receiver continue: [ :receiver |\x0a    \x09self interpretAll: aNode arguments continue: [ :args |\x0a    \x09\x09self \x0a            \x09messageFromSendNode: aNode \x0a                arguments: args\x0a                do: [ :message |\x0a        \x09\x09\x09self context pc: self context pc + 1.\x0a        \x09\x09\x09self \x0a            \x09\x09\x09continue: aBlock \x0a                \x09\x09value: (message sendTo: receiver) ] ] ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretSendNode: aNode continue: aBlock\x0a\x09\x22TODO: Handle super sends\x22\x0a\x09\x0a\x09self interpret: aNode receiver continue: [ :receiver |\x0a\x09\x09self interpretAll: aNode arguments continue: [ :args |\x0a\x09\x09\x09self\x0a\x09\x09\x09\x09messageFromSendNode: aNode\x0a\x09\x09\x09\x09arguments: args\x0a\x09\x09\x09\x09do: [ :message |\x0a\x09\x09\x09\x09\x09self context pc: self context pc + 1.\x0a\x09\x09\x09\x09\x09self\x0a\x09\x09\x09\x09\x09\x09continue: aBlock\x0a\x09\x09\x09\x09\x09\x09value: (message sendTo: receiver) ] ] ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:", "receiver", "interpretAll:continue:", "arguments", "messageFromSendNode:arguments:do:", "pc:", "+", "pc", "context", "continue:value:", "sendTo:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:", "receiver", "interpretAll:continue:", "arguments", "messageFromSendNode:arguments:do:", "pc:", "+", "pc", "context", "continue:value:", "sendTo:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1039,9 +1039,9 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._interpretAll_continue_(_st(aNode)._nodes(),(function(array){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._last()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(self)._continue_value_(aBlock,_st(array)._last()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({array:array},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretSequenceNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretSequenceNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a    \x09self continue: aBlock value: array last ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretSequenceNode: aNode continue: aBlock\x0a\x09self interpretAll: aNode nodes continue: [ :array |\x0a\x09\x09self continue: aBlock value: array last ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAll:continue:", "nodes", "continue:value:", "last"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1055,7 +1055,7 @@ category: 'interpreting', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
														
														 | 
														
															 fn: function (aNode,aBlock){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(aNode)._value()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self)._continue_value_(aBlock,_st(aNode)._value()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretValueNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpretValueNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: aNode value", 
														 | 
														
														 | 
														
															 source: "interpretValueNode: aNode continue: aBlock\x0a\x09self continue: aBlock value: aNode value", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "value"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "value"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1080,9 +1080,9 @@ $3=_st(_st(_st(self)._context())._receiver())._instVarAt_(_st(aNode)._value()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $3=_st(_st(self)._context())._localAt_(_st(aNode)._value()); 
														 | 
														
														 | 
														
															 $3=_st(_st(self)._context())._localAt_(_st(aNode)._value()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st($1)._continue_value_($2,$3); 
														 | 
														
														 | 
														
															 _st($1)._continue_value_($2,$3); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpretVariableNode:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpretVariableNode:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpretVariableNode: aNode continue: aBlock\x0a    self \x0a    \x09continue: aBlock\x0a        value: (aNode binding isInstanceVar\x0a\x09\x09\x09ifTrue: [ self context receiver instVarAt: aNode value ]\x0a\x09\x09\x09ifFalse: [ self context localAt: aNode value ])", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpretVariableNode: aNode continue: aBlock\x0a\x09self\x0a\x09\x09continue: aBlock\x0a\x09\x09value: (aNode binding isInstanceVar\x0a\x09\x09\x09ifTrue: [ self context receiver instVarAt: aNode value ]\x0a\x09\x09\x09ifFalse: [ self context localAt: aNode value ])", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "ifTrue:ifFalse:", "instVarAt:", "value", "receiver", "context", "localAt:", "isInstanceVar", "binding"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "ifTrue:ifFalse:", "instVarAt:", "value", "receiver", "context", "localAt:", "isInstanceVar", "binding"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1101,9 +1101,9 @@ _st($1)._selector_(_st(aSendNode)._selector()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st($1)._arguments_(aCollection); 
														 | 
														
														 | 
														
															 _st($1)._arguments_(aCollection); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $2=_st($1)._yourself(); 
														 | 
														
														 | 
														
															 $2=_st($1)._yourself(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 _st(self)._continue_value_(aBlock,$2); 
														 | 
														
														 | 
														
															 _st(self)._continue_value_(aBlock,$2); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"messageFromSendNode:arguments:do:",{aSendNode:aSendNode,aCollection:aCollection,aBlock:aBlock}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"messageFromSendNode:arguments:do:",{aSendNode:aSendNode,aCollection:aCollection,aBlock:aBlock},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aSendNode", "aCollection", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aSendNode", "aCollection", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "messageFromSendNode: aSendNode arguments: aCollection do: aBlock\x0a    self \x0a        continue: aBlock\x0a        value: (Message new\x0a    \x09\x09selector: aSendNode selector;\x0a        \x09arguments: aCollection;\x0a        \x09yourself)", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "messageFromSendNode: aSendNode arguments: aCollection do: aBlock\x0a\x09self\x0a\x09\x09continue: aBlock\x0a\x09\x09value: (Message new\x0a\x09\x09\x09selector: aSendNode selector;\x0a\x09\x09\x09arguments: aCollection;\x0a\x09\x09\x09yourself)", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["continue:value:", "selector:", "selector", "new", "arguments:", "yourself"], 
														 | 
														
														 | 
														
															 messageSends: ["continue:value:", "selector:", "selector", "new", "arguments:", "yourself"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: ["Message"] 
														 | 
														
														 | 
														
															 referencedClasses: ["Message"] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1119,7 +1119,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@result"]; 
														 | 
														
														 | 
														
															 $1=self["@result"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"result",{}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"result",{},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "result\x0a\x09^ result", 
														 | 
														
														 | 
														
															 source: "result\x0a\x09^ result", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1142,7 +1142,7 @@ $1=false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=$2; 
														 | 
														
														 | 
														
															 $1=$2; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }; 
														 | 
														
														 | 
														
															 }; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"shouldReturn",{}, smalltalk.ASTInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"shouldReturn",{},smalltalk.ASTInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "shouldReturn\x0a\x09^ shouldReturn ifNil: [ false ]", 
														 | 
														
														 | 
														
															 source: "shouldReturn\x0a\x09^ shouldReturn ifNil: [ false ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["ifNil:"], 
														 | 
														
														 | 
														
															 messageSends: ["ifNil:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1153,7 +1153,7 @@ smalltalk.ASTInterpreter); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addClass('ASTSteppingInterpreter', smalltalk.ASTInterpreter, ['continuation', 'nextNode'], 'Compiler-Interpreter'); 
														 | 
														
														 | 
														
															 smalltalk.addClass('ASTSteppingInterpreter', smalltalk.ASTInterpreter, ['continuation', 'nextNode'], 'Compiler-Interpreter'); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-smalltalk.ASTSteppingInterpreter.comment="ASTSteppingInterpreter is an interpreter with stepping capabilities.\x0aUse `#step` to actually interpret the next node.\x0a\x0aUsage example:\x0a\x0a    | ast interpreter |\x0a    ast := Smalltalk current parse: 'foo 1+2+4'.\x0a    (SemanticAnalyzer on: Object) visit: ast.\x0a\x0a    interpreter := ASTSteppingInterpreter new\x0a        interpret: ast nodes first;\x0a        yourself.\x0a        \x0a    debugger step; step.\x0a    debugger step; step.\x0a    debugger result.\x22Answers 1\x22\x0a    debugger step.\x0a    debugger result. \x22Answers 3\x22\x0a    debugger step.\x0a    debugger result. \x22Answers 7\x22\x0a    " 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+smalltalk.ASTSteppingInterpreter.comment="ASTSteppingInterpreter is an interpreter with stepping capabilities.\x0aUse `#step` to actually interpret the next node.\x0a\x0aUsage example:\x0a\x0a\x09| ast interpreter |\x0a\x09ast := Smalltalk current parse: 'foo 1+2+4'.\x0a\x09(SemanticAnalyzer on: Object) visit: ast.\x0a\x0a\x09interpreter := ASTSteppingInterpreter new\x0a\x09\x09interpret: ast nodes first;\x0a\x09\x09yourself.\x0a\x09\x09\x0a\x09debugger step; step.\x0a\x09debugger step; step.\x0a\x09debugger result.\x22Answers 1\x22\x0a\x09debugger step.\x0a\x09debugger result. \x22Answers 3\x22\x0a\x09debugger step.\x0a\x09debugger result. \x22Answers 7\x22" 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.addMethod( 
														 | 
														
														 | 
														
															 smalltalk.addMethod( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 "_atEnd", 
														 | 
														
														 | 
														
															 "_atEnd", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 smalltalk.method({ 
														 | 
														
														 | 
														
															 smalltalk.method({ 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1166,7 +1166,7 @@ $1=_st(_st(self)._shouldReturn())._or_((function(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode()); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return _st(_st(self)._nextNode()).__eq_eq(_st(self)._currentNode()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})})); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"atEnd",{}, smalltalk.ASTSteppingInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"atEnd",{},smalltalk.ASTSteppingInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "atEnd\x0a\x09^ self shouldReturn or: [ self nextNode == self currentNode ]", 
														 | 
														
														 | 
														
															 source: "atEnd\x0a\x09^ self shouldReturn or: [ self nextNode == self currentNode ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["or:", "==", "currentNode", "nextNode", "shouldReturn"], 
														 | 
														
														 | 
														
															 messageSends: ["or:", "==", "currentNode", "nextNode", "shouldReturn"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1184,9 +1184,9 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
smalltalk.ASTInterpreter.fn.prototype._initialize.apply(_st(self), []); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 self["@continuation"]=(function(){ 
														 | 
														
														 | 
														
															 self["@continuation"]=(function(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ASTSteppingInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"initialize",{},smalltalk.ASTSteppingInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "initialize\x0a\x09super initialize.\x0a    continuation := [  ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "initialize\x0a\x09super initialize.\x0a\x09continuation := []", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["initialize"], 
														 | 
														
														 | 
														
															 messageSends: ["initialize"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1203,9 +1203,9 @@ return smalltalk.withContext(function($ctx1) { 
self["@nextNode"]=aNode; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 self["@continuation"]=(function(){ 
														 | 
														
														 | 
														
															 self["@continuation"]=(function(){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx2) {
return smalltalk.ASTInterpreter.fn.prototype._interpret_continue_.apply(_st(self), [aNode,aBlock]); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}); 
														 | 
														
														 | 
														
															 }, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock}, smalltalk.ASTSteppingInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"interpret:continue:",{aNode:aNode,aBlock:aBlock},smalltalk.ASTSteppingInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["aNode", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-source: "interpret: aNode continue: aBlock\x0a\x09nextNode := aNode.\x0a\x09continuation := [ \x0a    \x09super interpret: aNode continue: aBlock ]", 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+source: "interpret: aNode continue: aBlock\x0a\x09nextNode := aNode.\x0a\x09continuation := [\x0a\x09\x09super interpret: aNode continue: aBlock ]", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpret:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpret:continue:"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 referencedClasses: [] 
														 | 
														
														 | 
														
															 referencedClasses: [] 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 }), 
														 | 
														
														 | 
														
															 }), 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1221,7 +1221,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=self["@nextNode"]; 
														 | 
														
														 | 
														
															 $1=self["@nextNode"]; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"nextNode",{}, smalltalk.ASTSteppingInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"nextNode",{},smalltalk.ASTSteppingInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "nextNode\x0a\x09^ nextNode", 
														 | 
														
														 | 
														
															 source: "nextNode\x0a\x09^ nextNode", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1237,7 +1237,7 @@ category: 'stepping', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self["@continuation"])._value(); 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
_st(self["@continuation"])._value(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-return self}, function($ctx1) {$ctx1.fill(self,"step",{}, smalltalk.ASTSteppingInterpreter)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+return self}, function($ctx1) {$ctx1.fill(self,"step",{},smalltalk.ASTSteppingInterpreter)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "step\x0a\x09continuation value", 
														 | 
														
														 | 
														
															 source: "step\x0a\x09continuation value", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["value"], 
														 | 
														
														 | 
														
															 messageSends: ["value"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1257,7 +1257,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.Node)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.Node)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1273,7 +1273,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return false; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return false; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.Node)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.Node)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ false", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ false", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1291,7 +1291,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretAssignmentNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.AssignmentNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.AssignmentNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretAssignmentNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretAssignmentNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretAssignmentNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretAssignmentNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1307,7 +1307,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.AssignmentNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.AssignmentNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1325,7 +1325,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretBlockNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretBlockNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretBlockNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretBlockNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretBlockNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1341,7 +1341,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.BlockNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.BlockNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1359,7 +1359,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretCascadeNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.CascadeNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.CascadeNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretCascadeNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretCascadeNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretCascadeNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretCascadeNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1377,7 +1377,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretDynamicArrayNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicArrayNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicArrayNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretDynamicArrayNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretDynamicArrayNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretDynamicArrayNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretDynamicArrayNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1393,7 +1393,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicArrayNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicArrayNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1411,7 +1411,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretDynamicDictionaryNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.DynamicDictionaryNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.DynamicDictionaryNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretDynamicDictionaryNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretDynamicDictionaryNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretDynamicDictionaryNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretDynamicDictionaryNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1427,7 +1427,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.DynamicDictionaryNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.DynamicDictionaryNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1445,7 +1445,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretJSStatementNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.JSStatementNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.JSStatementNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretJSStatementNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretJSStatementNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretJSStatementNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretJSStatementNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1461,7 +1461,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.JSStatementNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.JSStatementNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1479,7 +1479,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretMethodNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.MethodNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.MethodNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretMethodNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretMethodNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretMethodNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretMethodNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1497,7 +1497,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretReturnNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ReturnNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ReturnNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretReturnNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretReturnNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretReturnNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretReturnNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1515,7 +1515,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretSendNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SendNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SendNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretSendNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretSendNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretSendNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretSendNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1531,7 +1531,7 @@ category: '*Compiler-Interpreter', 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fn: function (){ 
														 | 
														
														 | 
														
															 fn: function (){ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 var self=this; 
														 | 
														
														 | 
														
															 var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
return true; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{}, smalltalk.SendNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"isSteppingNode",{},smalltalk.SendNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: [], 
														 | 
														
														 | 
														
															 args: [], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
														
														 | 
														
															 source: "isSteppingNode\x0a\x09^ true", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: [], 
														 | 
														
														 | 
														
															 messageSends: [], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1549,7 +1549,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretSequenceNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.SequenceNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.SequenceNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretSequenceNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretSequenceNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretSequenceNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretSequenceNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1567,7 +1567,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretBlockSequenceNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.BlockSequenceNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.BlockSequenceNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretBlockSequenceNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretBlockSequenceNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretBlockSequenceNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretBlockSequenceNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1585,7 +1585,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretValueNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ValueNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ValueNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretValueNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretValueNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretValueNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretValueNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1603,7 +1603,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretVariableNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.VariableNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.VariableNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretVariableNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretVariableNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretVariableNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretVariableNode:continue:"], 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1621,7 +1621,7 @@ var self=this; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
														
														 | 
														
															 return smalltalk.withContext(function($ctx1) { 
var $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock); 
														 | 
														
														 | 
														
															 $1=_st(anInterpreter)._interpretClassReferenceNode_continue_(self,aBlock); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 return $1; 
														 | 
														
														 | 
														
															 return $1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock}, smalltalk.ClassReferenceNode)})}, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+}, function($ctx1) {$ctx1.fill(self,"interpreter:continue:",{anInterpreter:anInterpreter,aBlock:aBlock},smalltalk.ClassReferenceNode)})}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
														
														 | 
														
															 args: ["anInterpreter", "aBlock"], 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretClassReferenceNode: self continue: aBlock", 
														 | 
														
														 | 
														
															 source: "interpreter: anInterpreter continue: aBlock\x0a\x09^ anInterpreter interpretClassReferenceNode: self continue: aBlock", 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 messageSends: ["interpretClassReferenceNode:continue:"], 
														 | 
														
														 | 
														
															 messageSends: ["interpretClassReferenceNode:continue:"], 
														 |