~ chicken-core (chicken-5) a2ea74893661fd798594c5be9792448e1fedab54
commit a2ea74893661fd798594c5be9792448e1fedab54
Author: felix <felix@z.(none)>
AuthorDate: Sun Apr 3 09:14:11 2011 +0200
Commit: felix <felix@z.(none)>
CommitDate: Sun Apr 3 09:14:11 2011 +0200
enforcing adds blist entries for both cond.-tags
diff --git a/scrutinizer.scm b/scrutinizer.scm
index ed8418b4..c3eb0470 100755
--- a/scrutinizer.scm
+++ b/scrutinizer.scm
@@ -750,7 +750,6 @@
(alist-cons (cons var (car ctags)) pt blist)))
(a
(when enforces
- ;;XXX when ctags is set, add blist entries for both flows
(let ((ar (cond ((blist-type var flow) =>
(lambda (t)
(if (type<=? t argr)
@@ -760,8 +759,15 @@
((type<=? (cdr a) argr) (cdr a))
(else argr))))
(d " assuming: ~a -> ~a (flow: ~a)" var ar (car flow))
- (set! blist
- (alist-cons (cons var (car flow)) ar blist)))))))))
+ (set! blist
+ (alist-cons (cons var (car flow)) ar blist))
+ (when ctags
+ (set! blist
+ (alist-cons
+ (cons var (car ctags)) ar
+ (alist-cons
+ (cons var (cdr ctags)) ar
+ blist)))))))))))
subs
(cons fn (procedure-argument-types fn (sub1 len))))
r)))
Trap