You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, when we have some expressionId in logs, sometimes we have no means to deduce which AST node is represented by it;
Most expression ids are not stored in file, by design - only those having metadata attached. Other ids are re-generated on every run
Even if we reproduce some issue and have application running, reading which part of code is represented by given expression Id is very hard.
Ad 2: a method accessible in web console should be enough. Current workaround is to attach a breakpoint in place like in the screenshot, then move some node (to trigger the breakpoint), and add a watch expression sourceRangeFromKey([...spanMapToIdMap(printWithSpans(module.root()).info).rangeToExpr.entries()].find(([, id]) => id === "<THE ID>")[0]) with substituted accordingly.
Ad 1: as the ids are stored in logs, the logs should also memorize what code snippet is represented by them, or replace those ids with line and character range.
The text was updated successfully, but these errors were encountered:
Currently, when we have some expressionId in logs, sometimes we have no means to deduce which AST node is represented by it;
Ad 2: a method accessible in web console should be enough. Current workaround is to attach a breakpoint in place like in the screenshot, then move some node (to trigger the breakpoint), and add a watch expression
sourceRangeFromKey([...spanMapToIdMap(printWithSpans(module.root()).info).rangeToExpr.entries()].find(([, id]) => id === "<THE ID>")[0])
with substituted accordingly.Ad 1: as the ids are stored in logs, the logs should also memorize what code snippet is represented by them, or replace those ids with line and character range.
The text was updated successfully, but these errors were encountered: