lang: funcs, parser: Add improved panic magic

This is a newer implementation of the panic magic. I kept the old commit
in for posterity and to show the difference. The two versions are
identical to the end-user with one exception: the newer version doesn't
include a useless panic resource in the graph when there is no panic. In
this version, the panic function returns false and the if statement it's
the condition of, doesn't produce the resource within. On error, we
still consume the function in the if expression, and doing so causes
everything to shutdown.

The other benefit is that the implementation is much cleaner and doesn't
need the interpolate hack.
This commit is contained in:
James Shubin
2023-11-28 14:19:41 -05:00
parent 2cbce963b7
commit 9c0bde0b29
7 changed files with 41 additions and 82 deletions

View File

@@ -12,7 +12,6 @@ test "test" {
}
# this is what we're simulating:
#$_panic1 = panic("whatever1") # this is a function
#_panic $_panic1 {} # this is a resource
#$_panic2 = panic("whatever2")
#_panic $_panic2 {}
#if panic("whatever1") { # this is a function (and an if statement)
# _panic "panic" {} # this is a resource
#}