From 29067685ae9cf68b89858f156434909e569b6e3b Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 3 Jul 2017 14:13:23 -0700 Subject: [PATCH] str --- pitfall/restructure/private/struct.rkt | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pitfall/restructure/private/struct.rkt b/pitfall/restructure/private/struct.rkt index 0999f656..2ff23de0 100644 --- a/pitfall/restructure/private/struct.rkt +++ b/pitfall/restructure/private/struct.rkt @@ -40,8 +40,8 @@ https://github.com/mbutterick/restructure/blob/master/src/Struct.coffee (super-make-object) (field [kv (mhasheq)] [pvt (mhasheq)]) - (public [_kv kv]) - (define (_kv) kv))) + + (define/override (dump) kv))) (define-subclass Streamcoder (Struct [fields (dictify)]) @@ -88,13 +88,12 @@ https://github.com/mbutterick/restructure/blob/master/src/Struct.coffee res)) - (define/override (size [val (mhash)] [parent #f] [include-pointers #t]) + (define/override (size [val #f] [parent #f] [include-pointers #t]) (define ctx (mhasheq 'parent parent 'val val 'pointerSize 0)) - (+ (for/sum ([(key type) (in-dict fields)] - #:when val) - (send type size (ref val key) ctx)) + (+ (for/sum ([(key type) (in-dict fields)]) + (send type size (and val (ref val key)) ctx)) (if include-pointers (· ctx pointerSize) 0))) (define/augride (encode stream val [parent #f])