Stacktrace unmunging will blindly use local symbols

Description

With CLJS-1154, the symbol used to call a function is extracted from source maps to use in lieu of a munged name. This leads to undesirable results if the symbol is simply a local.

For example, notice the use of f in call-me:

Where previously we would get:

we now get:

Environment

None

Attachments

2

Activity

Show:

Mike Fikes March 21, 2015 at 7:23 PM

Attaching a simpler patch that doesn't try to look for $ in unmunaged name. It does't appear to be necessary and, makes things more complex, and would cause a local symbol with a name like f$ to appear in the trace.

Mike Fikes March 21, 2015 at 4:36 PM

The attached patch takes a strategy of only replacing munged names if we can munge back to them.

It is a little more complicated in trying to deal with the possibility that, instead of a clean name like call-me, we had call-me$', in which case the unmanaged name would be used.

Below is what the patch would produce with the additional change call-me -> call-me$'. It successfully prevents replacing foo$bar$this_throws with the local symbol f.

Completed

Details

Assignee

Reporter

Affects versions

Priority

Created March 21, 2015 at 4:23 PM
Updated March 21, 2015 at 8:03 PM
Resolved March 21, 2015 at 8:03 PM