]> gitweb.factorcode.org Git - factor.git/commitdiff
compiler.tree.propagation.info: undid a3be724f5a149cde60d8d6fd8e89723b35569a5f to...
authorBjörn Lindqvist <bjourne@gmail.com>
Sun, 30 Oct 2016 18:00:38 +0000 (19:00 +0100)
committerBjörn Lindqvist <bjourne@gmail.com>
Sun, 30 Oct 2016 18:00:38 +0000 (19:00 +0100)
basis/compiler/tree/propagation/info/info.factor

index a530f2e4aa9adec91e9b99cb437324be6ce5e56f..fc678e4f01a46d5c83dadb967d8665cd9cb07c2a 100644 (file)
@@ -118,7 +118,12 @@ UNION: fixed-length array byte-array string ;
     } ?at drop ;
 
 : wrap-interval ( interval class -- interval' )
-    class-interval 2dup interval-subset? [ drop ] [ nip ] if ;
+    {
+        { [ over empty-interval eq? ] [ drop ] }
+        { [ over full-interval eq? ] [ nip class-interval ] }
+        { [ 2dup class-interval interval-subset? not ] [ nip class-interval ] }
+        [ drop ]
+    } cond ;
 
 : init-interval ( info -- info )
     dup [ interval>> full-interval or ] [ class>> ] bi wrap-interval >>interval