amber/js/Kernel-Exceptions.js in resin-0.3.1 vs amber/js/Kernel-Exceptions.js in resin-0.4.0

- old
+ new

@@ -1,34 +1,49 @@ smalltalk.addPackage('Kernel-Exceptions', {}); smalltalk.addClass('Error', smalltalk.Object, ['messageText'], 'Kernel-Exceptions'); +smalltalk.Error.comment="From the ANSI standard:\x0a\x0aThis protocol describes the behavior of instances of class `Error`. \x0aThese are used to represent error conditions that prevent the normal continuation of processing. \x0aActual error exceptions used by an application may be subclasses of this class.\x0aAs `Error` is explicitly specified to be subclassable, conforming implementations must implement its behavior in a non-fragile manner." smalltalk.addMethod( "_context", smalltalk.method({ selector: "context", category: 'accessing', fn: function (){ var self=this; -return self.context; -; -return self}, +return smalltalk.withContext(function($ctx1) { return self.context; +return self}, function($ctx1) {$ctx1.fill(self,"context",{}, smalltalk.Error)})}, args: [], source: "context\x0a\x09<return self.context>", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( +"_initialize", +smalltalk.method({ +selector: "initialize", +category: 'initialization', +fn: function (){ +var self=this; +return smalltalk.withContext(function($ctx1) { _st(self)._messageText_(_st("Errorclass: ").__comma(_st(_st(self)._class())._name())); +return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.Error)})}, +args: [], +source: "initialize\x0a\x09self messageText: 'Errorclass: ', (self class name).", +messageSends: ["messageText:", ",", "name", "class"], +referencedClasses: [] +}), +smalltalk.Error); + +smalltalk.addMethod( "_isSmalltalkError", smalltalk.method({ selector: "isSmalltalkError", category: 'testing', fn: function (){ var self=this; -return self.smalltalkError === true; -; -return self}, +return smalltalk.withContext(function($ctx1) { return self.smalltalkError === true; +return self}, function($ctx1) {$ctx1.fill(self,"isSmalltalkError",{}, smalltalk.Error)})}, args: [], source: "isSmalltalkError\x0a\x09<return self.smalltalkError === true>", messageSends: [], referencedClasses: [] }), @@ -39,13 +54,12 @@ smalltalk.method({ selector: "jsStack", category: 'accessing', fn: function (){ var self=this; -return self.stack; -; -return self}, +return smalltalk.withContext(function($ctx1) { return self.stack; +return self}, function($ctx1) {$ctx1.fill(self,"jsStack",{}, smalltalk.Error)})}, args: [], source: "jsStack\x0a\x09<return self.stack>", messageSends: [], referencedClasses: [] }), @@ -56,12 +70,14 @@ smalltalk.method({ selector: "messageText", category: 'accessing', fn: function (){ var self=this; -return self["@messageText"]; -}, +return smalltalk.withContext(function($ctx1) { var $1; +$1=self["@messageText"]; +return $1; +}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.Error)})}, args: [], source: "messageText\x0a\x09^messageText", messageSends: [], referencedClasses: [] }), @@ -72,12 +88,12 @@ smalltalk.method({ selector: "messageText:", category: 'accessing', fn: function (aString){ var self=this; -self["@messageText"]=aString; -return self}, +return smalltalk.withContext(function($ctx1) { self["@messageText"]=aString; +return self}, function($ctx1) {$ctx1.fill(self,"messageText:",{aString:aString}, smalltalk.Error)})}, args: ["aString"], source: "messageText: aString\x0a\x09messageText := aString", messageSends: [], referencedClasses: [] }), @@ -88,13 +104,12 @@ smalltalk.method({ selector: "signal", category: 'signaling', fn: function (){ var self=this; -self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self); -; -return self}, +return smalltalk.withContext(function($ctx1) { self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self); +return self}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error)})}, args: [], source: "signal\x0a\x09<self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self)>", messageSends: [], referencedClasses: [] }), @@ -105,13 +120,13 @@ smalltalk.method({ selector: "signal:", category: 'signaling', fn: function (aString){ var self=this; -smalltalk.send(self,"_messageText_",[aString]); -smalltalk.send(self,"_signal",[]); -return self}, +return smalltalk.withContext(function($ctx1) { _st(self)._messageText_(aString); +_st(self)._signal(); +return self}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error)})}, args: ["aString"], source: "signal: aString\x0a\x09self messageText: aString.\x0a\x09self signal", messageSends: ["messageText:", "signal"], referencedClasses: [] }), @@ -123,14 +138,14 @@ smalltalk.method({ selector: "signal", category: 'instance creation', fn: function (){ var self=this; -var $1; -$1=smalltalk.send(smalltalk.send(self,"_new",[]),"_signal",[]); +return smalltalk.withContext(function($ctx1) { var $1; +$1=_st(_st(self)._new())._signal(); return $1; -}, +}, function($ctx1) {$ctx1.fill(self,"signal",{}, smalltalk.Error.klass)})}, args: [], source: "signal\x0a\x09^self new signal", messageSends: ["signal", "new"], referencedClasses: [] }), @@ -141,32 +156,148 @@ smalltalk.method({ selector: "signal:", category: 'instance creation', fn: function (aString){ var self=this; -var $1; -$1=smalltalk.send(smalltalk.send(self,"_new",[]),"_signal_",[aString]); +return smalltalk.withContext(function($ctx1) { var $1; +$1=_st(_st(self)._new())._signal_(aString); return $1; -}, +}, function($ctx1) {$ctx1.fill(self,"signal:",{aString:aString}, smalltalk.Error.klass)})}, args: ["aString"], source: "signal: aString\x0a\x09 ^self new\x0a\x09\x09signal: aString", messageSends: ["signal:", "new"], referencedClasses: [] }), smalltalk.Error.klass); +smalltalk.addClass('JavaScriptException', smalltalk.Error, ['exception'], 'Kernel-Exceptions'); +smalltalk.JavaScriptException.comment="A JavaScriptException is thrown when a non-Smalltalk exception occurs while in the Smalltalk stack.\x0aSee `boot.js` `inContext()` and `BlockClosure >> on:do:`" +smalltalk.addMethod( +"_context_", +smalltalk.method({ +selector: "context:", +category: 'accessing', +fn: function (aMethodContext){ +var self=this; +return smalltalk.withContext(function($ctx1) { self.context = aMethodContext; +return self}, function($ctx1) {$ctx1.fill(self,"context:",{aMethodContext:aMethodContext}, smalltalk.JavaScriptException)})}, +args: ["aMethodContext"], +source: "context: aMethodContext\x0a\x09\x22Set the context from the outside.\x0a See boot.js `inContext()` exception handling\x22\x0a \x0a <self.context = aMethodContext>", +messageSends: [], +referencedClasses: [] +}), +smalltalk.JavaScriptException); + +smalltalk.addMethod( +"_exception", +smalltalk.method({ +selector: "exception", +category: 'accessing', +fn: function (){ +var self=this; +return smalltalk.withContext(function($ctx1) { var $1; +$1=self["@exception"]; +return $1; +}, function($ctx1) {$ctx1.fill(self,"exception",{}, smalltalk.JavaScriptException)})}, +args: [], +source: "exception\x0a\x09^ exception", +messageSends: [], +referencedClasses: [] +}), +smalltalk.JavaScriptException); + +smalltalk.addMethod( +"_exception_", +smalltalk.method({ +selector: "exception:", +category: 'accessing', +fn: function (anException){ +var self=this; +return smalltalk.withContext(function($ctx1) { self["@exception"]=anException; +return self}, function($ctx1) {$ctx1.fill(self,"exception:",{anException:anException}, smalltalk.JavaScriptException)})}, +args: ["anException"], +source: "exception: anException\x0a\x09exception := anException", +messageSends: [], +referencedClasses: [] +}), +smalltalk.JavaScriptException); + +smalltalk.addMethod( +"_messageText", +smalltalk.method({ +selector: "messageText", +category: 'accessing', +fn: function (){ +var self=this; +return smalltalk.withContext(function($ctx1) { return 'JavaScript exception: ' + self["@exception"].toString(); +return self}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.JavaScriptException)})}, +args: [], +source: "messageText\x0a\x09<return 'JavaScript exception: ' + self[\x22@exception\x22].toString()>", +messageSends: [], +referencedClasses: [] +}), +smalltalk.JavaScriptException); + + +smalltalk.addMethod( +"_on_", +smalltalk.method({ +selector: "on:", +category: 'instance creation', +fn: function (anException){ +var self=this; +return smalltalk.withContext(function($ctx1) { var $2,$3,$1; +$2=_st(self)._new(); +_st($2)._exception_(anException); +$3=_st($2)._yourself(); +$1=$3; +return $1; +}, function($ctx1) {$ctx1.fill(self,"on:",{anException:anException}, smalltalk.JavaScriptException.klass)})}, +args: ["anException"], +source: "on: anException\x0a\x09^ self new\x0a \x09exception: anException;\x0a yourself", +messageSends: ["exception:", "new", "yourself"], +referencedClasses: [] +}), +smalltalk.JavaScriptException.klass); + +smalltalk.addMethod( +"_on_context_", +smalltalk.method({ +selector: "on:context:", +category: 'instance creation', +fn: function (anException,aMethodContext){ +var self=this; +return smalltalk.withContext(function($ctx1) { var $2,$3,$1; +$2=_st(self)._new(); +_st($2)._exception_(anException); +_st($2)._context_(aMethodContext); +$3=_st($2)._yourself(); +$1=$3; +return $1; +}, function($ctx1) {$ctx1.fill(self,"on:context:",{anException:anException,aMethodContext:aMethodContext}, smalltalk.JavaScriptException.klass)})}, +args: ["anException", "aMethodContext"], +source: "on: anException context: aMethodContext\x0a\x09^ self new\x0a \x09exception: anException;\x0a context: aMethodContext;\x0a yourself", +messageSends: ["exception:", "new", "context:", "yourself"], +referencedClasses: [] +}), +smalltalk.JavaScriptException.klass); + + smalltalk.addClass('MessageNotUnderstood', smalltalk.Error, ['message', 'receiver'], 'Kernel-Exceptions'); +smalltalk.MessageNotUnderstood.comment="This exception is provided to support `Object>>doesNotUnderstand:`." smalltalk.addMethod( "_message", smalltalk.method({ selector: "message", category: 'accessing', fn: function (){ var self=this; -return self["@message"]; -}, +return smalltalk.withContext(function($ctx1) { var $1; +$1=self["@message"]; +return $1; +}, function($ctx1) {$ctx1.fill(self,"message",{}, smalltalk.MessageNotUnderstood)})}, args: [], source: "message\x0a\x09^message", messageSends: [], referencedClasses: [] }), @@ -177,12 +308,12 @@ smalltalk.method({ selector: "message:", category: 'accessing', fn: function (aMessage){ var self=this; -self["@message"]=aMessage; -return self}, +return smalltalk.withContext(function($ctx1) { self["@message"]=aMessage; +return self}, function($ctx1) {$ctx1.fill(self,"message:",{aMessage:aMessage}, smalltalk.MessageNotUnderstood)})}, args: ["aMessage"], source: "message: aMessage\x0a\x09message := aMessage", messageSends: [], referencedClasses: [] }), @@ -193,14 +324,14 @@ smalltalk.method({ selector: "messageText", category: 'accessing', fn: function (){ var self=this; -var $1; -$1=smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self,"_receiver",[]),"_asString",[]),"__comma",[" does not understand #"]),"__comma",[smalltalk.send(smalltalk.send(self,"_message",[]),"_selector",[])]); +return smalltalk.withContext(function($ctx1) { var $1; +$1=_st(_st(_st(_st(self)._receiver())._asString()).__comma(" does not understand #")).__comma(_st(_st(self)._message())._selector()); return $1; -}, +}, function($ctx1) {$ctx1.fill(self,"messageText",{}, smalltalk.MessageNotUnderstood)})}, args: [], source: "messageText\x0a\x09^self receiver asString, ' does not understand #', self message selector", messageSends: [",", "selector", "message", "asString", "receiver"], referencedClasses: [] }), @@ -211,12 +342,14 @@ smalltalk.method({ selector: "receiver", category: 'accessing', fn: function (){ var self=this; -return self["@receiver"]; -}, +return smalltalk.withContext(function($ctx1) { var $1; +$1=self["@receiver"]; +return $1; +}, function($ctx1) {$ctx1.fill(self,"receiver",{}, smalltalk.MessageNotUnderstood)})}, args: [], source: "receiver\x0a\x09^receiver", messageSends: [], referencedClasses: [] }), @@ -227,31 +360,34 @@ smalltalk.method({ selector: "receiver:", category: 'accessing', fn: function (anObject){ var self=this; -self["@receiver"]=anObject; -return self}, +return smalltalk.withContext(function($ctx1) { self["@receiver"]=anObject; +return self}, function($ctx1) {$ctx1.fill(self,"receiver:",{anObject:anObject}, smalltalk.MessageNotUnderstood)})}, args: ["anObject"], source: "receiver: anObject\x0a\x09receiver := anObject", messageSends: [], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addClass('NonBooleanReceiver', smalltalk.Error, ['object'], 'Kernel-Exceptions'); +smalltalk.NonBooleanReceiver.comment="NonBooleanReceiver exceptions may be thrown when executing inlined methods such as `#ifTrue:` with a non boolean receiver." smalltalk.addMethod( "_object", smalltalk.method({ selector: "object", category: 'accessing', fn: function (){ var self=this; -return self["@object"]; -}, +return smalltalk.withContext(function($ctx1) { var $1; +$1=self["@object"]; +return $1; +}, function($ctx1) {$ctx1.fill(self,"object",{}, smalltalk.NonBooleanReceiver)})}, args: [], source: "object\x0a\x09^ object", messageSends: [], referencedClasses: [] }), @@ -262,38 +398,39 @@ smalltalk.method({ selector: "object:", category: 'accessing', fn: function (anObject){ var self=this; -self["@object"]=anObject; -return self}, +return smalltalk.withContext(function($ctx1) { self["@object"]=anObject; +return self}, function($ctx1) {$ctx1.fill(self,"object:",{anObject:anObject}, smalltalk.NonBooleanReceiver)})}, args: ["anObject"], source: "object: anObject\x0a\x09object := anObject", messageSends: [], referencedClasses: [] }), smalltalk.NonBooleanReceiver); smalltalk.addClass('ErrorHandler', smalltalk.Object, [], 'Kernel-Exceptions'); +smalltalk.ErrorHandler.comment="ErrorHandler is used to manage Smalltalk errors. \x0aSee `boot.js` `handleError()` function.\x0a\x0aSubclasses of `ErrorHandler` can register themselves as the current handler with\x0a`ErrorHandler class >> register`.\x0a\x0aSubclasses may override `#handleError:` to perform an action on the thrown exception.\x0aThe default behavior is to log the error and the context stack to the JavaScript console." smalltalk.addMethod( "_handleError_", smalltalk.method({ selector: "handleError:", category: 'error handling', fn: function (anError){ var self=this; -var $1; -$1=smalltalk.send(anError,"_context",[]); +return smalltalk.withContext(function($ctx1) { var $1; +$1=_st(anError)._context(); if(($receiver = $1) == nil || $receiver == undefined){ $1; } else { -smalltalk.send(self,"_logErrorContext_",[smalltalk.send(anError,"_context",[])]); +_st(self)._logErrorContext_(_st(anError)._context()); }; -smalltalk.send(self,"_logError_",[anError]); -return self}, +_st(self)._logError_(anError); +return self}, function($ctx1) {$ctx1.fill(self,"handleError:",{anError:anError}, smalltalk.ErrorHandler)})}, args: ["anError"], source: "handleError: anError\x0a\x09anError context ifNotNil: [self logErrorContext: anError context].\x0a\x09self logError: anError", messageSends: ["ifNotNil:", "logErrorContext:", "context", "logError:"], referencedClasses: [] }), @@ -304,12 +441,12 @@ smalltalk.method({ selector: "log:", category: 'private', fn: function (aString){ var self=this; -smalltalk.send(console,"_log_",[aString]); -return self}, +return smalltalk.withContext(function($ctx1) { _st(console)._log_(aString); +return self}, function($ctx1) {$ctx1.fill(self,"log:",{aString:aString}, smalltalk.ErrorHandler)})}, args: ["aString"], source: "log: aString\x0a\x09console log: aString", messageSends: ["log:"], referencedClasses: [] }), @@ -320,22 +457,22 @@ smalltalk.method({ selector: "logContext:", category: 'private', fn: function (aContext){ var self=this; -var $1; -$1=smalltalk.send(aContext,"_home",[]); +return smalltalk.withContext(function($ctx1) { var $1; +$1=_st(aContext)._home(); if(($receiver = $1) == nil || $receiver == undefined){ $1; } else { -smalltalk.send(self,"_logContext_",[smalltalk.send(aContext,"_home",[])]); +_st(self)._logContext_(_st(aContext)._home()); }; -smalltalk.send(self,"_log_",[smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aContext,"_receiver",[]),"_asString",[]),"__comma",[">>"]),"__comma",[smalltalk.send(aContext,"_selector",[])])]); -return self}, +_st(self)._log_(_st(_st(_st(_st(aContext)._receiver())._asString()).__comma(">>")).__comma(_st(_st(aContext)._selector())._asString())); +return self}, function($ctx1) {$ctx1.fill(self,"logContext:",{aContext:aContext}, smalltalk.ErrorHandler)})}, args: ["aContext"], -source: "logContext: aContext\x0a\x09aContext home ifNotNil: [\x0a\x09\x09self logContext: aContext home].\x0a\x09self log: aContext receiver asString, '>>', aContext selector", -messageSends: ["ifNotNil:", "logContext:", "home", "log:", ",", "selector", "asString", "receiver"], +source: "logContext: aContext\x0a\x09aContext home ifNotNil: [\x0a\x09\x09self logContext: aContext home].\x0a\x09self log: aContext receiver asString, '>>', aContext selector asString", +messageSends: ["ifNotNil:", "logContext:", "home", "log:", ",", "asString", "selector", "receiver"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.addMethod( @@ -343,12 +480,12 @@ smalltalk.method({ selector: "logError:", category: 'private', fn: function (anError){ var self=this; -smalltalk.send(self,"_log_",[smalltalk.send(anError,"_messageText",[])]); -return self}, +return smalltalk.withContext(function($ctx1) { _st(self)._log_(_st(anError)._messageText()); +return self}, function($ctx1) {$ctx1.fill(self,"logError:",{anError:anError}, smalltalk.ErrorHandler)})}, args: ["anError"], source: "logError: anError\x0a\x09self log: anError messageText", messageSends: ["log:", "messageText"], referencedClasses: [] }), @@ -359,22 +496,22 @@ smalltalk.method({ selector: "logErrorContext:", category: 'private', fn: function (aContext){ var self=this; -var $1; -if(($receiver = aContext) == nil || $receiver == undefined){ -aContext; +return smalltalk.withContext(function($ctx1) { var $1,$3,$2; +$1=aContext; +$2=(function(){ +return smalltalk.withContext(function($ctx2) { $3=_st(aContext)._home(); +if(($receiver = $3) == nil || $receiver == undefined){ +return $3; } else { -$1=smalltalk.send(aContext,"_home",[]); -if(($receiver = $1) == nil || $receiver == undefined){ -$1; -} else { -smalltalk.send(self,"_logContext_",[smalltalk.send(aContext,"_home",[])]); +return _st(self)._logContext_(_st(aContext)._home()); }; -}; -return self}, +}, function($ctx2) {$ctx2.fillBlock({},$ctx1)})}); +_st($1)._ifNotNil_($2); +return self}, function($ctx1) {$ctx1.fill(self,"logErrorContext:",{aContext:aContext}, smalltalk.ErrorHandler)})}, args: ["aContext"], source: "logErrorContext: aContext\x0a\x09aContext ifNotNil: [\x0a\x09\x09aContext home ifNotNil: [\x0a\x09\x09\x09self logContext: aContext home]]", messageSends: ["ifNotNil:", "logContext:", "home"], referencedClasses: [] }), @@ -387,19 +524,20 @@ smalltalk.method({ selector: "current", category: 'accessing', fn: function (){ var self=this; -var $1; -if(($receiver = self["@current"]) == nil || $receiver == undefined){ -self["@current"]=smalltalk.send(self,"_new",[]); +return smalltalk.withContext(function($ctx1) { var $2,$1; +$2=self["@current"]; +if(($receiver = $2) == nil || $receiver == undefined){ +self["@current"]=_st(self)._new(); $1=self["@current"]; } else { -$1=self["@current"]; +$1=$2; }; return $1; -}, +}, function($ctx1) {$ctx1.fill(self,"current",{}, smalltalk.ErrorHandler.klass)})}, args: [], source: "current\x0a\x09^current ifNil: [current := self new]", messageSends: ["ifNil:", "new"], referencedClasses: [] }), @@ -410,12 +548,12 @@ smalltalk.method({ selector: "initialize", category: 'initialization', fn: function (){ var self=this; -smalltalk.send(self,"_register",[]); -return self}, +return smalltalk.withContext(function($ctx1) { _st(self)._register(); +return self}, function($ctx1) {$ctx1.fill(self,"initialize",{}, smalltalk.ErrorHandler.klass)})}, args: [], source: "initialize\x0a\x09self register", messageSends: ["register"], referencedClasses: [] }), @@ -426,12 +564,12 @@ smalltalk.method({ selector: "register", category: 'initialization', fn: function (){ var self=this; -smalltalk.send((smalltalk.ErrorHandler || ErrorHandler),"_setCurrent_",[smalltalk.send(self,"_new",[])]); -return self}, +return smalltalk.withContext(function($ctx1) { _st((smalltalk.ErrorHandler || ErrorHandler))._setCurrent_(_st(self)._new()); +return self}, function($ctx1) {$ctx1.fill(self,"register",{}, smalltalk.ErrorHandler.klass)})}, args: [], source: "register\x0a\x09ErrorHandler setCurrent: self new", messageSends: ["setCurrent:", "new"], referencedClasses: ["ErrorHandler"] }), @@ -442,11 +580,11 @@ smalltalk.method({ selector: "setCurrent:", category: 'accessing', fn: function (anHandler){ var self=this; -self["@current"]=anHandler; -return self}, +return smalltalk.withContext(function($ctx1) { self["@current"]=anHandler; +return self}, function($ctx1) {$ctx1.fill(self,"setCurrent:",{anHandler:anHandler}, smalltalk.ErrorHandler.klass)})}, args: ["anHandler"], source: "setCurrent: anHandler\x0a\x09current := anHandler", messageSends: [], referencedClasses: [] }),