Skip to content

Commit 3dd4ba8

Browse files
committed
[haskell indexer facebookincubator#4] Refactor: pass options bundled
1 parent 8b95047 commit 3dd4ba8

2 files changed

Lines changed: 10 additions & 16 deletions

File tree

glean/lang/haskell/HieIndexer/Index.hs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -381,17 +381,15 @@ indexTypes unit typeArr = foldM go IntMap.empty (A.assocs typeArr)
381381

382382
indexHieFile
383383
:: Glean.Writer
384-
-> NonEmpty Text
385-
-> Maybe Text
386-
-> UnitName
384+
-> HieIndexerOptions
387385
-> FilePath
388386
-> HieFile
389387
-> IO ()
390-
indexHieFile writer srcPaths srcPrefix unit path hie = do
388+
indexHieFile writer HieIndexerOptions{..} path hie = do
391389
srcFile <- findSourceFile srcPaths (hie_module hie) (hie_hs_file hie)
392390
logInfo $ "Indexing: " <> path <> " (" <> srcFile <> ")"
393391
Glean.writeFacts writer $ Glean.withUnit (gleanUnit smod) $ do
394-
modfact <- mkModule smod unit
392+
modfact <- mkModule smod unitName
395393

396394
let offs = getLineOffsets (hie_hs_src hie)
397395
let hsFileFS = GHC.mkFastString $ hie_hs_file hie
@@ -403,7 +401,7 @@ indexHieFile writer srcPaths srcPrefix unit path hie = do
403401
Glean.makeFact_ @Hs.ModuleSource $
404402
Hs.ModuleSource_key modfact filefact
405403

406-
typeMap <- indexTypes unit (hie_types hie)
404+
typeMap <- indexTypes unitName (hie_types hie)
407405

408406
let toByteRange = srcRangeToByteRange fileLines (hie_hs_src hie)
409407
toByteSpan sp
@@ -451,7 +449,7 @@ indexHieFile writer srcPaths srcPrefix unit path hie = do
451449
-- But it does happen, so let's not crash.
452450
return Nothing
453451
Just m -> do
454-
mod <- if m == smod then return modfact else mkModule m unit
452+
mod <- if m == smod then return modfact else mkModule m unitName
455453
Just <$> mkName name mod (Hs.NameSort_external def)
456454

457455
sigMap <- produceDeclInfo filefact toByteSpan getName declInfo

glean/lang/haskell/HieIndexer/Main.hs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,10 @@ import Control.Monad.State (StateT, evalStateT, get, liftIO, put)
1515
import qualified Data.ByteString as BS
1616
import Data.Default
1717
import Data.IORef
18-
import Data.List.NonEmpty (NonEmpty)
1918
import qualified Data.List.NonEmpty as NonEmpty
2019
import qualified Data.Map as AMap
2120
import qualified Data.Set as Set
2221
import qualified Data.HashSet as HashSet
23-
import Data.Text (Text)
2422
import qualified Data.Text as Text
2523
import Options.Applicative
2624
import System.Directory
@@ -87,7 +85,7 @@ defaultMain cfg repo backend = do
8785

8886
Glean.withSender backend repo allPredicates def $ \sender -> do
8987
Glean.withWriter sender def $
90-
indexHieFiles paths (srcPaths cfg) (srcPrefix cfg) (unitName cfg)
88+
indexHieFiles paths cfg
9189

9290
predicates <-
9391
Glean.schemaInfo_predicateIds
@@ -119,22 +117,20 @@ outputMain cfg out schema_id backend = do
119117
paths <- getHieFilesIn (NonEmpty.toList (hiePaths cfg))
120118
((), batch) <-
121119
Glean.withBatchWriter backend schema_id Nothing def $
122-
indexHieFiles paths (srcPaths cfg) (srcPrefix cfg) (unitName cfg)
120+
indexHieFiles paths cfg
123121
BS.writeFile out (Thrift.Protocol.Compact.serializeCompact batch)
124122

125123
indexHieFiles
126124
:: HashSet.HashSet FilePath
127-
-> NonEmpty Text
128-
-> Maybe Text
129-
-> UnitName
125+
-> HieIndexerOptions
130126
-> Glean.Writer
131127
-> IO ()
132-
indexHieFiles paths srcs srcPrefix unitName writer =
128+
indexHieFiles paths opts writer =
133129
forM_ (HashSet.toList paths) $ \f -> do
134130
nc <- newIORef =<< makeNc
135131
runDbM nc $ do
136132
withHieFile f $ \h ->
137-
liftIO $ indexHieFile writer srcs srcPrefix unitName f h
133+
liftIO $ indexHieFile writer opts f h
138134

139135
{- | Recursively search for @.hie@ and @.hie-boot@ files in given directory
140136
avoiding loops due to symlinks

0 commit comments

Comments
 (0)