Scopes: Add isStackFrame/isHidden bits and make 'kind' optional #147
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.
This PR is the result of presenting the "Scopes - missing bits" slides to TG4 and incorporating the feedback and follow-up discussion.
Specifically this PR changes the following:
OriginalScope.kind
optional. The free-form text can't really be used by consumers in algorithms that apply the scopes info to stack traces. As such it serves mostly as a user-facing label in debuggers/stack trace processors.OriginalScope.isStackFrame
andGeneratedRange.isStackFrame
to signify whether a scope/range corresponds to the semantic equivalent of a function call in the authored/generated language respectively. ForGeneratedRange.isStackFrame
we re-use the existingGeneratedRange.isScope
flag that is not required. This change makes the open PR Scopes: Re-purposeisScope
asisFunctionScope
for stack trace processing #114 obsolete.GeneratedRange.isHidden
flag to mark outlined functions that have aGeneratedRange.definition
. This allows debuggers to remove transpiler inserted functions from stack traces, while still enabling variable/values if the transpiler inserted function corresponds to actual original source code.