github / semantic

Parsing, analyzing, and comparing source code across many languages
8.93k stars 453 forks source link

Exception tracking #666

Closed robrix closed 2 years ago

robrix commented 2 years ago

This PR copies exception tracking from membrane into semantic-analysis, transposing as necessary to reflect the differing domain abstractions. (This was intended to have been done at the same time as #659, but got overlooked.)

Note that some details necessarily differ slightly; our Dom abstraction is a fair bit different, and in particular their ddie (which throws an exception) takes a String, while ours takes a val (as of #664), making ours more expressive, but more subtle as well.

I'm likely to push the modular abstract interpretation stuff to a future PR.