Utilize the offsets added in previous CLs.
While this doesn't by it self give anything that resembles
a good debugging experience, it should now be possible to
set *some* breakpoints and actually break on them.
Because of the way observatory works (and because of an
unfinished Script::GenerateLineNumberArray (for kernel))
the formatting of the code you try to load up and 'debug'
has to be quite specific (e.g. no indentation at all),
and even then it mostly doesn't work.
This is step #3 in introducing these things, next step(s) will be
fixing stuff like the above.
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2628693004 .
Added offsets to more nodes.
Added end offsets to some nodes.
Added functionnode debuggability flag.
This changes the dill format.
The new offsets et al. are read on the C++ side, but not used
for anything usefull yet.
This is step #2 in introducing these things, next step(s) will be
using it on the C++ side.
R=asgerf@google.com
Review-Url: https://codereview.chromium.org/2626613002 .
- The flow graph builder is only used to visit Statements and
Expressions so it does not need TreeVisitor as a base class. This
will make refactoring it easier.
- The TranslationHelper is bound to a Thread so we do not need
Thread::Current where we have a TranslationHelper.
- BlockExpression does not exist in Kernel any more, so it can be
removed from the C++ AST implementation.
BUG=
R=kustermann@google.com
Review-Url: https://codereview.chromium.org/2624513005 .
- For now include source uncompressed.
- When running from kernel, use token position 0
(i.e. dummy, but 'real' position) as start and end on functions
and classes to enable Observatory to run with the dill file.
- Debugging does not work, but one can browse the source in
Observatory.
R=kmillikin@google.com
Review-Url: https://codereview.chromium.org/2587673004 .
This is part of the following CL:
Roll Kernel to fix an async bug.
There was a bug in the translation of await in finally when there
was a return in the try block.
The new async/async* translation revealed a bug in the scoping of
labels. Labels from enclosing functions were visible in nested
functions. That bug is fixed here.
Review URL: https://chromereviews.googleplex.com/536237014 .
R=vegorov@google.com
Review URL: https://codereview.chromium.org/2515323002 .