From 7ae54659d09aef5ced3544c650c80d7580a0dbb7 Mon Sep 17 00:00:00 2001 From: Eduardo Julian Date: Fri, 2 Jan 2015 03:29:32 -0400 Subject: Fixed a bug in pattern-matching when expanding sequential tests. --- src/lang/analyser.clj | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'src/lang/analyser.clj') diff --git a/src/lang/analyser.clj b/src/lang/analyser.clj index f45f44138..21117a7b7 100644 --- a/src/lang/analyser.clj +++ b/src/lang/analyser.clj @@ -535,6 +535,11 @@ ;; :let [_ (prn 'analyse-case '$base $base)] [registers mappings tree] (exec [=branches (map-m (fn [?branch] (match ?branch + [::&parser/case-branch [::&parser/ident ?name] ?body] + (exec [=body (with-locals {?name (annotated [::local $scope $base] [::&type/object "java.lang.Object" []])} + (analyse-form* ?body))] + (return [::&parser/case-branch [::&parser/ident ?name] =body])) + [::&parser/case-branch [::&parser/variant ?tag ?members] ?body] (exec [[_ locals+] (reduce-m (fn member-fold [[$local locals-map] ?member] (match ?member -- cgit v1.2.3