From f47f685af9b311ad5fd939581a1345802a6aa3f6 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Thu, 22 Nov 2018 19:31:46 -0700 Subject: [PATCH] schemify: fix srcloc marshaling Partly fix it, anyway. More is needed in general to reduce recording build-time paths in compiled code. --- racket/src/schemify/quoted.rkt | 1 + racket/src/schemify/serialize.rkt | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/racket/src/schemify/quoted.rkt b/racket/src/schemify/quoted.rkt index 142d4c9fe1..f02a86c69e 100644 --- a/racket/src/schemify/quoted.rkt +++ b/racket/src/schemify/quoted.rkt @@ -16,6 +16,7 @@ [(impersonator? q) #t] ; i.e., strip impersonators when serializaing [(path? q) #t] [(regexp? q) #t] + [(srcloc? q) #t] [(byte-regexp? q) #t] [(keyword? q) #t] [(hash? q) #t] diff --git a/racket/src/schemify/serialize.rkt b/racket/src/schemify/serialize.rkt index b1de1f3403..bfb401f04e 100644 --- a/racket/src/schemify/serialize.rkt +++ b/racket/src/schemify/serialize.rkt @@ -153,6 +153,13 @@ ',(path-convention-type q))] [(regexp? q) `(,(if (pregexp? q) 'pregexp 'regexp) ,(object-name q))] + [(srcloc? q) + `(#%app srcloc + ,(make-construct (srcloc-source q)) + ,(make-construct (srcloc-line q)) + ,(make-construct (srcloc-column q)) + ,(make-construct (srcloc-position q)) + ,(make-construct (srcloc-span q)))] [(byte-regexp? q) `(,(if (byte-pregexp? q) 'byte-pregexp 'byte-regexp) ,(object-name q))] [(keyword? q)