From ad4be04fc1cdb7601bf26b4397f13fc3000023d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stanis=C5=82aw=20Barzowski?= Date: Fri, 8 Sep 2017 18:17:38 -0400 Subject: [PATCH] Fix desugaring of assertions --- desugarer.go | 4 ++++ testdata/assert2.golden | 1 + testdata/assert2.input | 1 + testdata/assert3.golden | 1 + testdata/assert3.input | 1 + testdata/equals.golden | 1 + testdata/equals.input | 1 + 7 files changed, 10 insertions(+) create mode 100644 testdata/assert2.golden create mode 100644 testdata/assert2.input create mode 100644 testdata/assert3.golden create mode 100644 testdata/assert3.input create mode 100644 testdata/equals.golden create mode 100644 testdata/equals.input diff --git a/desugarer.go b/desugarer.go index 3f1453f..c3c92f6 100644 --- a/desugarer.go +++ b/desugarer.go @@ -349,6 +349,10 @@ func desugar(astPtr *ast.Node, objLevel int) (err error) { BranchTrue: node.Rest, BranchFalse: &ast.Error{Expr: node.Message}, } + err = desugar(astPtr, objLevel) + if err != nil { + return err + } case *ast.Binary: // some operators get replaced by stdlib functions diff --git a/testdata/assert2.golden b/testdata/assert2.golden new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/testdata/assert2.golden @@ -0,0 +1 @@ +true diff --git a/testdata/assert2.input b/testdata/assert2.input new file mode 100644 index 0000000..c74d1ac --- /dev/null +++ b/testdata/assert2.input @@ -0,0 +1 @@ +assert 42 == 42; true diff --git a/testdata/assert3.golden b/testdata/assert3.golden new file mode 100644 index 0000000..57b9b74 --- /dev/null +++ b/testdata/assert3.golden @@ -0,0 +1 @@ +RUNTIME ERROR: Assertion failed diff --git a/testdata/assert3.input b/testdata/assert3.input new file mode 100644 index 0000000..98aeb87 --- /dev/null +++ b/testdata/assert3.input @@ -0,0 +1 @@ +assert 42 != 42; 42 diff --git a/testdata/equals.golden b/testdata/equals.golden new file mode 100644 index 0000000..27ba77d --- /dev/null +++ b/testdata/equals.golden @@ -0,0 +1 @@ +true diff --git a/testdata/equals.input b/testdata/equals.input new file mode 100644 index 0000000..dc52ba1 --- /dev/null +++ b/testdata/equals.input @@ -0,0 +1 @@ +42 == 42