I tried this out on in chrome and I get the expected stack trace there. Is this a bug? On May 6, 2016 3:39 PM, "Vivin Suresh Paliath" <vivin.pali...@gmail.com> wrote:
> I have the following code: > > *var f = (function() {* > * return function foo() {* > * try {* > * throw new Error();* > * } catch(e) {* > * print(e.stack);* > * }* > * }* > *})();* > > > When I call the function, I get the following stacktrace as expected > (mostly; I was expecting *foo* instead of *f$foo*). > > *Error* > * at f$foo (<shell>:1)* > * at <program> (<shell>:1)* > > > However, if I dynamically construct the function as follows: > > *var f = new Function([], "return function foo() { try { throw new > Error(); } catch(e) { print(e.stack); } }")()* > > > I get: > > > *Error* > * at <anonymous> (<function>:2)* > * at <program> (<shell>:1)* > > > Is there a reason for this discrepancy? Isn't the second version > effectively the same as the first? Also, why is it *f$foo* instead of > *foo* in the first case? > > I am running jdk8u92. > > Thanks! > > -- > Ruin untold; > And thine own sadness, > Sing in the grass, > When eve has forgot, that no more hear common things that gleam and pass; > But seek alone to lip, sad Rose of love and ruin untold; > And thine own mother > Can know it as I know > More than another > What makes your own sadness, > Set in her eyes. > > map{@n=split//;$j.=$n[0]x$n[1]}split/:/,"01:11:02". > ":11:01:11:02:13:01:11:01:11:01:13:02:12:01:13:01". > ":11:04:11:06:12:04:11:01:12:01:13:02:12:01:14:01". > ":13:01:11:03:12:01:11:04:12:02:11:01:11:01:13:02". > ":11:03:11:06:11:01:11:05:12:02:11:01:11:01:13:02". > ":11:02:12:01:12:04:11:06:12:01:11:04:12:04:11:01". > ":12:03:12:01:12:01:11:01:12:01:12:02:11:01:11:01". > ":13:02:11:01:02:11:01:12:02";map{print chr unpack" > i",pack"B32",$_}$j=~m/.{8}/g >