Kernel-Exceptions.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417
  1. smalltalk.addPackage('Kernel-Exceptions', {});
  2. smalltalk.addClass('Error', smalltalk.Object, ['messageText'], 'Kernel-Exceptions');
  3. smalltalk.addMethod(
  4. "_context",
  5. smalltalk.method({
  6. selector: "context",
  7. category: 'accessing',
  8. fn: function () {
  9. var self=this;
  10. return self.context;
  11. return self;},
  12. args: [],
  13. source: "context\x0a\x09<return self.context>",
  14. messageSends: [],
  15. referencedClasses: []
  16. }),
  17. smalltalk.Error);
  18. smalltalk.addMethod(
  19. "_isSmalltalkError",
  20. smalltalk.method({
  21. selector: "isSmalltalkError",
  22. category: 'testing',
  23. fn: function () {
  24. var self=this;
  25. return self.smalltalkError === true;
  26. return self;},
  27. args: [],
  28. source: "isSmalltalkError\x0a\x09<return self.smalltalkError === true>",
  29. messageSends: [],
  30. referencedClasses: []
  31. }),
  32. smalltalk.Error);
  33. smalltalk.addMethod(
  34. "_jsStack",
  35. smalltalk.method({
  36. selector: "jsStack",
  37. category: 'accessing',
  38. fn: function () {
  39. var self=this;
  40. return self.stack;
  41. return self;},
  42. args: [],
  43. source: "jsStack\x0a\x09<return self.stack>",
  44. messageSends: [],
  45. referencedClasses: []
  46. }),
  47. smalltalk.Error);
  48. smalltalk.addMethod(
  49. "_messageText",
  50. smalltalk.method({
  51. selector: "messageText",
  52. category: 'accessing',
  53. fn: function () {
  54. var self=this;
  55. return self['@messageText'];
  56. return self;},
  57. args: [],
  58. source: "messageText\x0a\x09^messageText",
  59. messageSends: [],
  60. referencedClasses: []
  61. }),
  62. smalltalk.Error);
  63. smalltalk.addMethod(
  64. "_messageText_",
  65. smalltalk.method({
  66. selector: "messageText:",
  67. category: 'accessing',
  68. fn: function (aString) {
  69. var self=this;
  70. (self['@messageText']=aString);
  71. return self;},
  72. args: ["aString"],
  73. source: "messageText: aString\x0a\x09messageText := aString",
  74. messageSends: [],
  75. referencedClasses: []
  76. }),
  77. smalltalk.Error);
  78. smalltalk.addMethod(
  79. "_signal",
  80. smalltalk.method({
  81. selector: "signal",
  82. category: 'signaling',
  83. fn: function () {
  84. var self=this;
  85. self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self);
  86. return self;},
  87. args: [],
  88. source: "signal\x0a\x09<self.context = smalltalk.getThisContext(); self.smalltalkError = true; throw(self)>",
  89. messageSends: [],
  90. referencedClasses: []
  91. }),
  92. smalltalk.Error);
  93. smalltalk.addMethod(
  94. "_signal_",
  95. smalltalk.method({
  96. selector: "signal:",
  97. category: 'signaling',
  98. fn: function (aString) {
  99. var self=this;
  100. smalltalk.send(self, "_messageText_", [aString]);
  101. smalltalk.send(self, "_signal", []);
  102. return self;},
  103. args: ["aString"],
  104. source: "signal: aString\x0a\x09self messageText: aString.\x0a\x09self signal",
  105. messageSends: ["messageText:", "signal"],
  106. referencedClasses: []
  107. }),
  108. smalltalk.Error);
  109. smalltalk.addMethod(
  110. "_signal",
  111. smalltalk.method({
  112. selector: "signal",
  113. category: 'instance creation',
  114. fn: function () {
  115. var self=this;
  116. return smalltalk.send(smalltalk.send(self, "_new", []), "_signal", []);
  117. return self;},
  118. args: [],
  119. source: "signal\x0a\x09^self new signal",
  120. messageSends: ["signal", "new"],
  121. referencedClasses: []
  122. }),
  123. smalltalk.Error.klass);
  124. smalltalk.addMethod(
  125. "_signal_",
  126. smalltalk.method({
  127. selector: "signal:",
  128. category: 'instance creation',
  129. fn: function (aString) {
  130. var self=this;
  131. return smalltalk.send(smalltalk.send(self, "_new", []), "_signal_", [aString]);
  132. return self;},
  133. args: ["aString"],
  134. source: "signal: aString\x0a\x09 ^self new\x0a\x09\x09signal: aString",
  135. messageSends: ["signal:", "new"],
  136. referencedClasses: []
  137. }),
  138. smalltalk.Error.klass);
  139. smalltalk.addClass('MessageNotUnderstood', smalltalk.Error, ['message', 'receiver'], 'Kernel-Exceptions');
  140. smalltalk.addMethod(
  141. "_message",
  142. smalltalk.method({
  143. selector: "message",
  144. category: 'accessing',
  145. fn: function () {
  146. var self=this;
  147. return self['@message'];
  148. return self;},
  149. args: [],
  150. source: "message\x0a\x09^message",
  151. messageSends: [],
  152. referencedClasses: []
  153. }),
  154. smalltalk.MessageNotUnderstood);
  155. smalltalk.addMethod(
  156. "_message_",
  157. smalltalk.method({
  158. selector: "message:",
  159. category: 'accessing',
  160. fn: function (aMessage) {
  161. var self=this;
  162. (self['@message']=aMessage);
  163. return self;},
  164. args: ["aMessage"],
  165. source: "message: aMessage\x0a\x09message := aMessage",
  166. messageSends: [],
  167. referencedClasses: []
  168. }),
  169. smalltalk.MessageNotUnderstood);
  170. smalltalk.addMethod(
  171. "_messageText",
  172. smalltalk.method({
  173. selector: "messageText",
  174. category: 'accessing',
  175. fn: function () {
  176. var self=this;
  177. return smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(self, "_receiver", []), "_asString", []), "__comma", [" does not understand #"]), "__comma", [smalltalk.send(smalltalk.send(self, "_message", []), "_selector", [])]);
  178. return self;},
  179. args: [],
  180. source: "messageText\x0a\x09^self receiver asString, ' does not understand #', self message selector",
  181. messageSends: [",", "asString", "receiver", "selector", "message"],
  182. referencedClasses: []
  183. }),
  184. smalltalk.MessageNotUnderstood);
  185. smalltalk.addMethod(
  186. "_receiver",
  187. smalltalk.method({
  188. selector: "receiver",
  189. category: 'accessing',
  190. fn: function () {
  191. var self=this;
  192. return self['@receiver'];
  193. return self;},
  194. args: [],
  195. source: "receiver\x0a\x09^receiver",
  196. messageSends: [],
  197. referencedClasses: []
  198. }),
  199. smalltalk.MessageNotUnderstood);
  200. smalltalk.addMethod(
  201. "_receiver_",
  202. smalltalk.method({
  203. selector: "receiver:",
  204. category: 'accessing',
  205. fn: function (anObject) {
  206. var self=this;
  207. (self['@receiver']=anObject);
  208. return self;},
  209. args: ["anObject"],
  210. source: "receiver: anObject\x0a\x09receiver := anObject",
  211. messageSends: [],
  212. referencedClasses: []
  213. }),
  214. smalltalk.MessageNotUnderstood);
  215. smalltalk.addClass('NonBooleanReceiver', smalltalk.Error, ['object'], 'Kernel-Exceptions');
  216. smalltalk.addMethod(
  217. "_object",
  218. smalltalk.method({
  219. selector: "object",
  220. category: 'accessing',
  221. fn: function () {
  222. var self=this;
  223. return self['@object'];
  224. return self;},
  225. args: [],
  226. source: "object\x0a\x09^ object",
  227. messageSends: [],
  228. referencedClasses: []
  229. }),
  230. smalltalk.NonBooleanReceiver);
  231. smalltalk.addMethod(
  232. "_object_",
  233. smalltalk.method({
  234. selector: "object:",
  235. category: 'accessing',
  236. fn: function (anObject) {
  237. var self=this;
  238. (self['@object']=anObject);
  239. return self;},
  240. args: ["anObject"],
  241. source: "object: anObject\x0a\x09object := anObject",
  242. messageSends: [],
  243. referencedClasses: []
  244. }),
  245. smalltalk.NonBooleanReceiver);
  246. smalltalk.addClass('ErrorHandler', smalltalk.Object, [], 'Kernel-Exceptions');
  247. smalltalk.addMethod(
  248. "_handleError_",
  249. smalltalk.method({
  250. selector: "handleError:",
  251. category: 'error handling',
  252. fn: function (anError) {
  253. var self=this;
  254. (($receiver = smalltalk.send(anError, "_context", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_logErrorContext_", [smalltalk.send(anError, "_context", [])]);})() : nil;
  255. smalltalk.send(self, "_logError_", [anError]);
  256. return self;},
  257. args: ["anError"],
  258. source: "handleError: anError\x0a\x09anError context ifNotNil: [self logErrorContext: anError context].\x0a\x09self logError: anError",
  259. messageSends: ["ifNotNil:", "context", "logErrorContext:", "logError:"],
  260. referencedClasses: []
  261. }),
  262. smalltalk.ErrorHandler);
  263. smalltalk.addMethod(
  264. "_log_",
  265. smalltalk.method({
  266. selector: "log:",
  267. category: 'private',
  268. fn: function (aString) {
  269. var self=this;
  270. smalltalk.send((typeof console == 'undefined' ? nil : console), "_log_", [aString]);
  271. return self;},
  272. args: ["aString"],
  273. source: "log: aString\x0a\x09console log: aString",
  274. messageSends: ["log:"],
  275. referencedClasses: []
  276. }),
  277. smalltalk.ErrorHandler);
  278. smalltalk.addMethod(
  279. "_logContext_",
  280. smalltalk.method({
  281. selector: "logContext:",
  282. category: 'private',
  283. fn: function (aContext) {
  284. var self=this;
  285. (($receiver = smalltalk.send(aContext, "_home", [])) != nil && $receiver != undefined) ? (function(){return smalltalk.send(self, "_logContext_", [smalltalk.send(aContext, "_home", [])]);})() : nil;
  286. smalltalk.send(self, "_log_", [smalltalk.send(smalltalk.send(smalltalk.send(smalltalk.send(aContext, "_receiver", []), "_asString", []), "__comma", [">>"]), "__comma", [smalltalk.send(aContext, "_selector", [])])]);
  287. return self;},
  288. args: ["aContext"],
  289. source: "logContext: aContext\x0a\x09aContext home ifNotNil: [\x0a\x09\x09self logContext: aContext home].\x0a\x09self log: aContext receiver asString, '>>', aContext selector",
  290. messageSends: ["ifNotNil:", "home", "logContext:", "log:", ",", "asString", "receiver", "selector"],
  291. referencedClasses: []
  292. }),
  293. smalltalk.ErrorHandler);
  294. smalltalk.addMethod(
  295. "_logError_",
  296. smalltalk.method({
  297. selector: "logError:",
  298. category: 'private',
  299. fn: function (anError) {
  300. var self=this;
  301. smalltalk.send(self, "_log_", [smalltalk.send(anError, "_messageText", [])]);
  302. return self;},
  303. args: ["anError"],
  304. source: "logError: anError\x0a\x09self log: anError messageText",
  305. messageSends: ["log:", "messageText"],
  306. referencedClasses: []
  307. }),
  308. smalltalk.ErrorHandler);
  309. smalltalk.addMethod(
  310. "_logErrorContext_",
  311. smalltalk.method({
  312. selector: "logErrorContext:",
  313. category: 'private',
  314. fn: function (aContext) {
  315. var self=this;
  316. (($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;
  317. return self;},
  318. args: ["aContext"],
  319. source: "logErrorContext: aContext\x0a\x09aContext ifNotNil: [\x0a\x09\x09aContext home ifNotNil: [\x0a\x09\x09\x09self logContext: aContext home]]",
  320. messageSends: ["ifNotNil:", "home", "logContext:"],
  321. referencedClasses: []
  322. }),
  323. smalltalk.ErrorHandler);
  324. smalltalk.ErrorHandler.klass.iVarNames = ['current'];
  325. smalltalk.addMethod(
  326. "_current",
  327. smalltalk.method({
  328. selector: "current",
  329. category: 'accessing',
  330. fn: function () {
  331. var self=this;
  332. return (($receiver = self['@current']) == nil || $receiver == undefined) ? (function(){return (self['@current']=smalltalk.send(self, "_new", []));})() : $receiver;
  333. return self;},
  334. args: [],
  335. source: "current\x0a\x09^current ifNil: [current := self new]",
  336. messageSends: ["ifNil:", "new"],
  337. referencedClasses: []
  338. }),
  339. smalltalk.ErrorHandler.klass);
  340. smalltalk.addMethod(
  341. "_initialize",
  342. smalltalk.method({
  343. selector: "initialize",
  344. category: 'initialization',
  345. fn: function () {
  346. var self=this;
  347. smalltalk.send(self, "_register", []);
  348. return self;},
  349. args: [],
  350. source: "initialize\x0a\x09self register",
  351. messageSends: ["register"],
  352. referencedClasses: []
  353. }),
  354. smalltalk.ErrorHandler.klass);
  355. smalltalk.addMethod(
  356. "_register",
  357. smalltalk.method({
  358. selector: "register",
  359. category: 'initialization',
  360. fn: function () {
  361. var self=this;
  362. smalltalk.send((smalltalk.ErrorHandler || ErrorHandler), "_setCurrent_", [smalltalk.send(self, "_new", [])]);
  363. return self;},
  364. args: [],
  365. source: "register\x0a\x09ErrorHandler setCurrent: self new",
  366. messageSends: ["setCurrent:", "new"],
  367. referencedClasses: ["ErrorHandler"]
  368. }),
  369. smalltalk.ErrorHandler.klass);
  370. smalltalk.addMethod(
  371. "_setCurrent_",
  372. smalltalk.method({
  373. selector: "setCurrent:",
  374. category: 'accessing',
  375. fn: function (anHandler) {
  376. var self=this;
  377. (self['@current']=anHandler);
  378. return self;},
  379. args: ["anHandler"],
  380. source: "setCurrent: anHandler\x0a\x09current := anHandler",
  381. messageSends: [],
  382. referencedClasses: []
  383. }),
  384. smalltalk.ErrorHandler.klass);