smalltalk.addPackage('Kernel-Exceptions', {}); smalltalk.addClass('Error', smalltalk.Object, ['messageText'], 'Kernel-Exceptions'); smalltalk.addMethod( "_context", smalltalk.method({ selector: "context", category: 'accessing', fn: function (){ var self=this; return self.context; return self;}, args: [], source: "context\x0a\x09", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_isSmalltalkError", smalltalk.method({ selector: "isSmalltalkError", category: 'testing', fn: function (){ var self=this; return self.smalltalkError === true; return self;}, args: [], source: "isSmalltalkError\x0a\x09", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_jsStack", smalltalk.method({ selector: "jsStack", category: 'accessing', fn: function (){ var self=this; return self.stack; return self;}, args: [], source: "jsStack\x0a\x09", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_messageText", smalltalk.method({ selector: "messageText", category: 'accessing', fn: function (){ var self=this; return self['@messageText']; return self;}, args: [], source: "messageText\x0a\x09^messageText", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_messageText_", smalltalk.method({ selector: "messageText:", category: 'accessing', fn: function (aString){ var self=this; (self['@messageText']=aString); return self;}, args: ["aString"], source: "messageText: aString\x0a\x09messageText := aString", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_signal", smalltalk.method({ selector: "signal", category: 'signaling', fn: function (){ var self=this; self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self); return self;}, args: [], source: "signal\x0a\x09", messageSends: [], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_signal_", smalltalk.method({ selector: "signal:", category: 'signaling', fn: function (aString){ var self=this; smalltalk.send(self, "_messageText_", [aString]); smalltalk.send(self, "_signal", []); return self;}, args: ["aString"], source: "signal: aString\x0a\x09self messageText: aString.\x0a\x09self signal", messageSends: ["messageText:", "signal"], referencedClasses: [] }), smalltalk.Error); smalltalk.addMethod( "_signal", smalltalk.method({ selector: "signal", category: 'instance creation', fn: function (){ var self=this; return smalltalk.send(smalltalk.send(self, "_new", []), "_signal", []); return self;}, args: [], source: "signal\x0a\x09^self new signal", messageSends: ["signal", "new"], referencedClasses: [] }), smalltalk.Error.klass); smalltalk.addMethod( "_signal_", smalltalk.method({ selector: "signal:", category: 'instance creation', fn: function (aString){ var self=this; return smalltalk.send(smalltalk.send(self, "_new", []), "_signal_", [aString]); return self;}, args: ["aString"], source: "signal: aString\x0a\x09 ^self new\x0a\x09\x09signal: aString", messageSends: ["signal:", "new"], referencedClasses: [] }), smalltalk.Error.klass); smalltalk.addClass('MessageNotUnderstood', smalltalk.Error, ['message', 'receiver'], 'Kernel-Exceptions'); smalltalk.addMethod( "_message", smalltalk.method({ selector: "message", category: 'accessing', fn: function (){ var self=this; return self['@message']; return self;}, args: [], source: "message\x0a\x09^message", messageSends: [], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addMethod( "_message_", smalltalk.method({ selector: "message:", category: 'accessing', fn: function (aMessage){ var self=this; (self['@message']=aMessage); return self;}, args: ["aMessage"], source: "message: aMessage\x0a\x09message := aMessage", messageSends: [], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addMethod( "_messageText", smalltalk.method({ selector: "messageText", category: 'accessing', fn: function (){ var self=this; return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_asString", []), "__comma", [" does not understand #"]), "__comma", [smalltalk.send(smalltalk.send(self, "_message", []), "_selector", [])]); return self;}, args: [], source: "messageText\x0a\x09^self receiver asString, ' does not understand #', self message selector", messageSends: [",", "asString", "receiver", "selector", "message"], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addMethod( "_receiver", smalltalk.method({ selector: "receiver", category: 'accessing', fn: function (){ var self=this; return self['@receiver']; return self;}, args: [], source: "receiver\x0a\x09^receiver", messageSends: [], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addMethod( "_receiver_", smalltalk.method({ selector: "receiver:", category: 'accessing', fn: function (anObject){ var self=this; (self['@receiver']=anObject); return self;}, args: ["anObject"], source: "receiver: anObject\x0a\x09receiver := anObject", messageSends: [], referencedClasses: [] }), smalltalk.MessageNotUnderstood); smalltalk.addClass('ErrorHandler', smalltalk.Object, [], 'Kernel-Exceptions'); smalltalk.addMethod( "_handleError_", smalltalk.method({ selector: "handleError:", category: 'error handling', fn: function (anError){ var self=this; (($receiver = smalltalk.send(anError, "_context", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_logErrorContext_", [smalltalk.send(anError, "_context", [])]);})() : nil; smalltalk.send(self, "_logError_", [anError]); return self;}, args: ["anError"], source: "handleError: anError\x0a\x09anError context ifNotNil: [self logErrorContext: anError context].\x0a\x09self logError: anError", messageSends: ["ifNotNil:", "context", "logErrorContext:", "logError:"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.addMethod( "_log_", smalltalk.method({ selector: "log:", category: 'private', fn: function (aString){ var self=this; smalltalk.send((typeof console == 'undefined' ? nil : console), "_log_", [aString]); return self;}, args: ["aString"], source: "log: aString\x0a\x09console log: aString", messageSends: ["log:"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.addMethod( "_logContext_", smalltalk.method({ selector: "logContext:", category: 'private', fn: function (aContext){ var self=this; (($receiver = smalltalk.send(aContext, "_home", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_logContext_", [smalltalk.send(aContext, "_home", [])]);})() : nil; smalltalk.send(self, "_log_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aContext, "_receiver", []), "_asString", []), "__comma", [">>"]), "__comma", [smalltalk.send(aContext, "_selector", [])])]); return self;}, 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:", "home", "logContext:", "log:", ",", "asString", "receiver", "selector"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.addMethod( "_logError_", smalltalk.method({ selector: "logError:", category: 'private', fn: function (anError){ var self=this; smalltalk.send(self, "_log_", [smalltalk.send(anError, "_messageText", [])]); return self;}, args: ["anError"], source: "logError: anError\x0a\x09self log: anError messageText", messageSends: ["log:", "messageText"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.addMethod( "_logErrorContext_", smalltalk.method({ selector: "logErrorContext:", category: 'private', fn: function (aContext){ var self=this; (($receiver = aContext) != nil && $receiver != undefined) ? (function(){return (($receiver = smalltalk.send(aContext, "_home", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_logContext_", [smalltalk.send(aContext, "_home", [])]);})() : nil;})() : nil; return self;}, args: ["aContext"], source: "logErrorContext: aContext\x0a\x09aContext ifNotNil: [\x0a\x09\x09aContext home ifNotNil: [\x0a\x09\x09\x09self logContext: aContext home]]", messageSends: ["ifNotNil:", "home", "logContext:"], referencedClasses: [] }), smalltalk.ErrorHandler); smalltalk.ErrorHandler.klass.iVarNames = ['current']; smalltalk.addMethod( "_current", smalltalk.method({ selector: "current", category: 'accessing', fn: function (){ var self=this; return (($receiver = self['@current']) == nil || $receiver == undefined) ? (function(){return (self['@current']=smalltalk.send(self, "_new", []));})() : $receiver; return self;}, args: [], source: "current\x0a\x09^current ifNil: [current := self new]", messageSends: ["ifNil:", "new"], referencedClasses: [] }), smalltalk.ErrorHandler.klass); smalltalk.addMethod( "_initialize", smalltalk.method({ selector: "initialize", category: 'initialization', fn: function (){ var self=this; smalltalk.send(self, "_register", []); return self;}, args: [], source: "initialize\x0a\x09self register", messageSends: ["register"], referencedClasses: [] }), smalltalk.ErrorHandler.klass); smalltalk.addMethod( "_register", smalltalk.method({ selector: "register", category: 'initialization', fn: function (){ var self=this; smalltalk.send((smalltalk.ErrorHandler || ErrorHandler), "_setCurrent_", [smalltalk.send(self, "_new", [])]); return self;}, args: [], source: "register\x0a\x09ErrorHandler setCurrent: self new", messageSends: ["setCurrent:", "new"], referencedClasses: ["ErrorHandler"] }), smalltalk.ErrorHandler.klass); smalltalk.addMethod( "_setCurrent_", smalltalk.method({ selector: "setCurrent:", category: 'accessing', fn: function (anHandler){ var self=this; (self['@current']=anHandler); return self;}, args: ["anHandler"], source: "setCurrent: anHandler\x0a\x09current := anHandler", messageSends: [], referencedClasses: [] }), smalltalk.ErrorHandler.klass);