From 5fe49ed9f7ac7089301e867e55bfedefcba230dd Mon Sep 17 00:00:00 2001 From: "kr.angelov" Date: Wed, 2 Nov 2011 11:44:59 +0000 Subject: Now the compiler maintains more precise information for the source locations of the different definitions. There is a --tags option which generates a list of all identifiers with their source locations. --- src/compiler/GF/Compile/GetGrammar.hs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src/compiler/GF/Compile/GetGrammar.hs') diff --git a/src/compiler/GF/Compile/GetGrammar.hs b/src/compiler/GF/Compile/GetGrammar.hs index c7fea11b0..339f28578 100644 --- a/src/compiler/GF/Compile/GetGrammar.hs +++ b/src/compiler/GF/Compile/GetGrammar.hs @@ -41,9 +41,12 @@ getSourceModule opts file0 = ioe $ let location = file++":"++show l++":"++show c return (Bad (location++": "++msg)) Right mo -> do removeTemp tmp - return (Ok (addOptionsToModule opts mo)) + return (Ok (addOptionsToModule opts (setSrcPath file0 mo))) `catch` (return . Bad . show) +setSrcPath :: FilePath -> SourceModule -> SourceModule +setSrcPath fpath = mapSourceModule (\m -> m{msrc=fpath}) + addOptionsToModule :: Options -> SourceModule -> SourceModule addOptionsToModule opts = mapSourceModule (\m -> m { flags = flags m `addOptions` opts }) -- cgit v1.2.3