Bill found us arguments.callee :D
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jun 2005 00:40:13 +0000 (00:40 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 28 Jun 2005 00:40:13 +0000 (00:40 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@936 dcc99617-32d9-48b4-a31d-7c20da2025e4

Evergreen/staff_client/chrome/content/evergreen/util/error.js

index feb72ef..e98c9b2 100644 (file)
@@ -18,6 +18,31 @@ function sdump(level,msg) {
        } catch(E) {}
 }
 
+function arg_dump(args,dump_these) {
+       var s = '*>*>*> Called function ';
+       try {
+               if (!dump_these)
+                       dump_these = {};
+               s += args.callee.toString().match(/\w+/g)[1] + ' : ';
+               for (var i = 0; i < args.length; i++)
+                       s += typeof(args[i]) + ' ';
+               s += '\n';
+               for (var i = 0; i < args.length; i++)
+                       if (dump_these[i]) {
+                               s += '\targ #' + i + ' = ';
+                               try {
+                                       s += js2JSON( args[i] );
+                               } catch(E) {
+                                       s += args[i];
+                               }
+                               s += '\n';
+                       }
+               return s;
+       } catch(E) {
+               return s + '\nDEBUG ME: ' + js2JSON(E) + '\n';
+       }
+}
+
 function handle_error(E) {
        var s = '';
        if (instanceOf(E,ex)) {