sjbarag / brs

An interpreter for the BrightScript language that runs on non-Roku platforms.
MIT License
114 stars 43 forks source link

feat(interp,exts): implement stack trace #593

Closed lkipke closed 3 years ago

lkipke commented 3 years ago

Summary

This implements an extension _brs_.getStackTrace, which, as you might expect, gets the stack trace.

Also, I cleaned up the README a little -- reorganized the extensions alphabetically.

lkipke commented 3 years ago

Great work @lkipke ! This is a very clean implementation, and is well documented as well. Now that component libraries landed (#590), would you mind checking _brs_.getStackTrace() from inside one of those? Everything should be fine, but it seems worth checking before this merges 😃

Yep, it all looks good!

      Array [
        "[Foo:Bar::init]",
    +   "<Component: roArray> =
    + [
    +     /Users/levi.kipke/Projects/brs/test/e2e/resources/component-library/source/main.brs:2:4
    +     /var/folders/sr/j_zsg28s4tqgc3g0kw74hs1rbz38fw/T/brs-pkgcomponentslibrary.zip2bz65m/components/Bar.brs:3:4
    +     /var/folders/sr/j_zsg28s4tqgc3g0kw74hs1rbz38fw/T/brs-pkgcomponentslibrary.zip2bz65m/components/Bar.brs:3:10
    +     /var/folders/sr/j_zsg28s4tqgc3g0kw74hs1rbz38fw/T/brs-pkgcomponentslibrary.zip2bz65m/source/util.brs:2:4
    +     /var/folders/sr/j_zsg28s4tqgc3g0kw74hs1rbz38fw/T/brs-pkgcomponentslibrary.zip2bz65m/source/util.brs:2:10
    + ]",
        "[Foo:util::someUtil]",