This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
boolean isEval() — Returns whether or not the associated function is compiled via a call to eval().
I take this to mean that the eval stack frame should be marked isEval.
Regarding the "parent" relationship, in my mind the "outer" script is considered the "parent" and the "inner" script (eval'd code) is the "child". The reasoning loosely is that you get closer and closer to the actual source as you go down the depth of the StackFrame tree branch. I'm willing to change the model a bit if you have a better idea, though.
I appreciate you locking down the behavior with tests 👍
Please let me know if you have other questions, and I promise I'll be quicker to respond.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Work in progress fix for #32. I'm opening the PR early to check the approach and ask some questions 😄
So far I have hacked in basic v8 support and tested on Chrome 58. I'll do the other engines and eval tests when i'm happy with the approach.
A few questions about
setEvalOrigin
. Given this program:eval
in index.js orwillThrow
in<anonymous>
?isEval
flag?The logic in the PR so far is a simple delta from master which has
willThrow
/index.js
as the parent.Description
Expose inner line and column information for stack frames inside
eval
code.Motivation and Context
See #32.
How Has This Been Tested?
So far: one unit test on a stack frame from Chrome 58.
Types of changes
Checklist:
node_modules/.bin/jscs -c .jscsrc error-stack-parser.js
passes without errorsnpm test
passes without errors