[clean up SourceCode data type
John Meacham <john@repetae.net>**20090825012723
 Ignore-this: 368d9f1973cabacf01d0b9d4f01b11d0
] hunk ./src/Ho/Build.hs 1
+{-# LANGUAGE RecordWildCards #-}
hunk ./src/Ho/Build.hs 184
-            let sc (Right mod) = SourceParsed hash ds mod fn mho
-                sc (Left lbs) = SourceRaw hash ds m lbs fn mho
+            let sc (Right mod) = SourceParsed sinfo mod
+                sc (Left lbs) = SourceRaw sinfo lbs
+                sinfo = SI { sourceHash = hash, sourceDeps = ds, sourceFP = fn, sourceHoName = mho, sourceModName = m }
hunk ./src/Ho/Build.hs 225
+    | CompProcessed [SourceCode]
hunk ./src/Ho/Build.hs 232
+data SourceInfo = SI {
+    sourceHash :: SourceHash,
+    sourceDeps :: [Module],
+    sourceFP :: FilePath,
+    sourceModName :: Module,
+    sourceHoName :: FilePath
+    }
+
hunk ./src/Ho/Build.hs 241
-    = SourceParsed { sourceHash :: SourceHash, sourceDeps :: [Module]
-                   , sourceModule :: HsModule, sourceFP :: FilePath, sourceHoName :: FilePath }
-    | SourceRaw    { sourceHash :: SourceHash, sourceDeps :: [Module]
-                   , sourceModName :: Module, sourceLBS :: LBS.ByteString, sourceFP :: FilePath, sourceHoName :: FilePath }
+    = SourceParsed     { sourceInfo :: !SourceInfo, sourceModule :: HsModule }
+    | SourceRaw        { sourceInfo :: !SourceInfo, sourceLBS :: LBS.ByteString }
+    | SourceProcessed  { sourceInfo :: !SourceInfo, sourceLBS :: LBS.ByteString }
+
hunk ./src/Ho/Build.hs 246
-sourceIdent SourceParsed { sourceModule = m } = show $ hsModuleName m
-sourceIdent SourceRaw { sourceModName = fp } = show fp
+sourceIdent sp = show . sourceModName $ sourceInfo sp
hunk ./src/Ho/Build.hs 271
-    providesModules SourceParsed { sourceModule = mod } = [hsModuleName mod]
-    providesModules SourceRaw    { sourceModName = n } = [n]
+    providesModules sp = [sourceModName (sourceInfo sp)]
hunk ./src/Ho/Build.hs 288
-        foundMods = [ ((m,Left (sourceHash sc)),fs (sourceHash sc)) | (m,Found sc) <- Map.toList (modEncountered done)]
+        foundMods = [ ((m,Left (sourceHash $ sourceInfo sc)),fs (sourceHash $ sourceInfo sc)) | (m,Found sc) <- Map.toList (modEncountered done)]
hunk ./src/Ho/Build.hs 295
-        sources = Map.fromList [ (m,sourceHash sc) | (m,Found sc) <- Map.toList (modEncountered done)]
+        sources = Map.fromList [ (m,sourceHash $ sourceInfo sc) | (m,Found sc) <- Map.toList (modEncountered done)]
hunk ./src/Ho/Build.hs 529
-                            SourceParsed { sourceHash = h,sourceModule = mod } -> return (h,mod)
-                            SourceRaw { sourceHash = h,sourceLBS = lbs, sourceFP = fp } -> do
-                                mod <- parseHsSource fp lbs
-                                return (h,mod)
+                            SourceParsed { sourceInfo = SI { .. }, .. } -> return (sourceHash,sourceModule)
+                            SourceRaw { sourceInfo = SI { .. }, .. } -> do
+                                mod <- parseHsSource sourceFP sourceLBS
+                                return (sourceHash,mod)
hunk ./src/Ho/Build.hs 536
-                        writeIORef ref (CompTcCollected ctc' (CompTCed ((htc,tidata,modules,map sourceHoName sc))))
+                        writeIORef ref (CompTcCollected ctc' (CompTCed ((htc,tidata,modules,map (sourceHoName . sourceInfo) sc))))