diff --git a/semantic.cabal b/semantic.cabal index 7d8a91c71..533a8efe0 100644 --- a/semantic.cabal +++ b/semantic.cabal @@ -83,7 +83,6 @@ library , Data.Language , Data.Map.Monoidal , Data.Mergeable - , Data.Options , Data.Patch , Data.Project , Data.Range @@ -251,7 +250,7 @@ library if flag(release) ghc-options: -Wall -Werror -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -O1 -j else - ghc-options: -Wall -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -O0 -j + ghc-options: -Wall -Werror -Wmissing-export-lists -Wcompat -Wincomplete-record-updates -Wincomplete-uni-patterns -Wredundant-constraints -fno-warn-name-shadowing -O0 -j ghc-prof-options: -fprof-auto executable semantic diff --git a/src/Control/Abstract/Hole.hs b/src/Control/Abstract/Hole.hs index 04ada8531..d1636c726 100644 --- a/src/Control/Abstract/Hole.hs +++ b/src/Control/Abstract/Hole.hs @@ -1,4 +1,8 @@ -module Control.Abstract.Hole where +module Control.Abstract.Hole + ( AbstractHole (..) + , Hole (..) + , toMaybe + ) where class AbstractHole a where hole :: a diff --git a/src/Control/Abstract/Primitive.hs b/src/Control/Abstract/Primitive.hs index 969a87a1b..49c45a633 100644 --- a/src/Control/Abstract/Primitive.hs +++ b/src/Control/Abstract/Primitive.hs @@ -1,4 +1,11 @@ -module Control.Abstract.Primitive where +module Control.Abstract.Primitive + ( define + , defineClass + , defineNamespace + , builtInPrint + , builtInExport + , lambda + ) where import Control.Abstract.Context import Control.Abstract.Environment diff --git a/src/Data/AST.hs b/src/Data/AST.hs index 38af9fc15..79e0e8c62 100644 --- a/src/Data/AST.hs +++ b/src/Data/AST.hs @@ -1,5 +1,10 @@ {-# LANGUAGE DataKinds #-} -module Data.AST where +module Data.AST + ( Node (..) + , AST + , Location + , nodeLocation + ) where import Data.Range import Data.Record diff --git a/src/Data/Abstract/Address.hs b/src/Data/Abstract/Address.hs index cb87676fb..b9205a51a 100644 --- a/src/Data/Abstract/Address.hs +++ b/src/Data/Abstract/Address.hs @@ -1,5 +1,11 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, TypeFamilies #-} -module Data.Abstract.Address where +module Data.Abstract.Address + ( Precise (..) + , Located (..) + , Latest (..) + , All (..) + , Monovariant (..) + ) where import Data.Abstract.Module (ModuleInfo) import Data.Abstract.Name diff --git a/src/Data/Abstract/Cache.hs b/src/Data/Abstract/Cache.hs index 78bd3ab25..0696016b7 100644 --- a/src/Data/Abstract/Cache.hs +++ b/src/Data/Abstract/Cache.hs @@ -1,5 +1,13 @@ {-# LANGUAGE ConstraintKinds, GeneralizedNewtypeDeriving, TypeFamilies #-} -module Data.Abstract.Cache where +module Data.Abstract.Cache + ( Cache + , Cached (..) + , Cacheable + , cacheLookup + , cacheSet + , cacheInsert + , cacheKeys + ) where import Data.Abstract.Configuration import Data.Abstract.Heap diff --git a/src/Data/Abstract/Configuration.hs b/src/Data/Abstract/Configuration.hs index 0d2f89471..7c5ca44ee 100644 --- a/src/Data/Abstract/Configuration.hs +++ b/src/Data/Abstract/Configuration.hs @@ -1,4 +1,4 @@ -module Data.Abstract.Configuration where +module Data.Abstract.Configuration ( Configuration (..) ) where import Data.Abstract.Environment import Data.Abstract.Heap diff --git a/src/Data/Abstract/Declarations.hs b/src/Data/Abstract/Declarations.hs index b304f146b..494db37e0 100644 --- a/src/Data/Abstract/Declarations.hs +++ b/src/Data/Abstract/Declarations.hs @@ -1,5 +1,8 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, UndecidableInstances #-} -module Data.Abstract.Declarations where +module Data.Abstract.Declarations + ( Declarations (..) + , Declarations1 (..) + ) where import Data.Abstract.Name import Data.Sum diff --git a/src/Data/Abstract/FreeVariables.hs b/src/Data/Abstract/FreeVariables.hs index 80a96e2e8..0010904e2 100644 --- a/src/Data/Abstract/FreeVariables.hs +++ b/src/Data/Abstract/FreeVariables.hs @@ -1,5 +1,8 @@ {-# LANGUAGE DefaultSignatures, GeneralizedNewtypeDeriving, UndecidableInstances #-} -module Data.Abstract.FreeVariables where +module Data.Abstract.FreeVariables + ( FreeVariables (..) + , FreeVariables1 (..) + ) where import Data.Abstract.Name import Data.Sum diff --git a/src/Data/Abstract/Heap.hs b/src/Data/Abstract/Heap.hs index 6fbd7cc19..956be461f 100644 --- a/src/Data/Abstract/Heap.hs +++ b/src/Data/Abstract/Heap.hs @@ -1,5 +1,13 @@ {-# LANGUAGE GeneralizedNewtypeDeriving #-} -module Data.Abstract.Heap where +module Data.Abstract.Heap + ( Heap + , heapLookup + , heapLookupAll + , heapInsert + , heapInit + , heapSize + , heapRestrict + ) where import Data.Abstract.Live import qualified Data.Map.Monoidal as Monoidal diff --git a/src/Data/Abstract/Live.hs b/src/Data/Abstract/Live.hs index af922f17f..b7140ecda 100644 --- a/src/Data/Abstract/Live.hs +++ b/src/Data/Abstract/Live.hs @@ -1,5 +1,15 @@ {-# LANGUAGE DataKinds, GeneralizedNewtypeDeriving, TypeFamilies, TypeOperators #-} -module Data.Abstract.Live where +module Data.Abstract.Live + ( Live (..) + , fromAddresses + , liveSingleton + , liveInsert + , liveDelete + , liveDifference + , liveMember + , liveSplit + , liveMap + ) where import Data.Set as Set import Prologue diff --git a/src/Data/Abstract/Package.hs b/src/Data/Abstract/Package.hs index 38136f0c9..529599b16 100644 --- a/src/Data/Abstract/Package.hs +++ b/src/Data/Abstract/Package.hs @@ -1,4 +1,9 @@ -module Data.Abstract.Package where +module Data.Abstract.Package + ( Package (..) + , PackageInfo (..) + , PackageName + , Data.Abstract.Package.fromModules + ) where import Data.Abstract.Module import Data.Abstract.ModuleTable as ModuleTable diff --git a/src/Data/Abstract/Path.hs b/src/Data/Abstract/Path.hs index 54faa28c1..47b96ec2b 100644 --- a/src/Data/Abstract/Path.hs +++ b/src/Data/Abstract/Path.hs @@ -1,4 +1,8 @@ -module Data.Abstract.Path where +module Data.Abstract.Path + ( dropRelativePrefix + , joinPaths + , stripQuotes + ) where import Prologue import qualified Data.Text as T diff --git a/src/Data/Abstract/Ref.hs b/src/Data/Abstract/Ref.hs index 96e38ae79..72cad84f9 100644 --- a/src/Data/Abstract/Ref.hs +++ b/src/Data/Abstract/Ref.hs @@ -1,5 +1,8 @@ {-# LANGUAGE GADTs #-} -module Data.Abstract.Ref where +module Data.Abstract.Ref + ( ValueRef (..) + , Ref (..) + ) where import Data.Abstract.Name diff --git a/src/Data/Abstract/Value/Abstract.hs b/src/Data/Abstract/Value/Abstract.hs index 3a4561fc4..f8376dab9 100644 --- a/src/Data/Abstract/Value/Abstract.hs +++ b/src/Data/Abstract/Value/Abstract.hs @@ -1,5 +1,5 @@ {-# LANGUAGE GADTs, UndecidableInstances #-} -module Data.Abstract.Value.Abstract where +module Data.Abstract.Value.Abstract ( Abstract (..) ) where import Control.Abstract import Data.Abstract.Environment as Env diff --git a/src/Data/Abstract/Value/Concrete.hs b/src/Data/Abstract/Value/Concrete.hs index 394037f81..605e51d5a 100644 --- a/src/Data/Abstract/Value/Concrete.hs +++ b/src/Data/Abstract/Value/Concrete.hs @@ -1,5 +1,12 @@ {-# LANGUAGE GADTs, RankNTypes, TypeOperators, UndecidableInstances, LambdaCase #-} -module Data.Abstract.Value.Concrete where +module Data.Abstract.Value.Concrete + ( Value (..) + , ValueError (..) + , ClosureBody (..) + , runValueError + , runValueErrorWith + , throwValueError + ) where import Control.Abstract import Data.Abstract.Environment (Environment, Bindings) diff --git a/src/Data/Graph/Vertex.hs b/src/Data/Graph/Vertex.hs index c42071cd9..98d997e81 100644 --- a/src/Data/Graph/Vertex.hs +++ b/src/Data/Graph/Vertex.hs @@ -6,14 +6,14 @@ module Data.Graph.Vertex , vertexToType ) where -import Prologue hiding (packageName) +import Prologue import Data.Aeson import qualified Data.Text as T import Data.Abstract.Module (ModuleInfo (..)) import Data.Abstract.Name -import Data.Abstract.Package (PackageInfo (..)) +import Data.Abstract.Package hiding (Package (Package)) -- | A vertex of some specific type. data Vertex @@ -23,7 +23,7 @@ data Vertex deriving (Eq, Ord, Show, Generic, Hashable) packageVertex :: PackageInfo -> Vertex -packageVertex = Package . formatName . packageName +packageVertex = Package . formatName . Data.Abstract.Package.packageName moduleVertex :: ModuleInfo -> Vertex moduleVertex = Module . T.pack . modulePath diff --git a/src/Data/Language.hs b/src/Data/Language.hs index 1b2e4586e..58f6c21f0 100644 --- a/src/Data/Language.hs +++ b/src/Data/Language.hs @@ -1,5 +1,12 @@ {-# LANGUAGE DeriveAnyClass, DeriveGeneric, LambdaCase #-} -module Data.Language where +module Data.Language + ( Language (..) + , ensureLanguage + , extensionsForLanguage + , knownLanguage + , languageForFilePath + , languageForType + ) where import Data.Aeson import Data.Char (toUpper) diff --git a/src/Data/Mergeable.hs b/src/Data/Mergeable.hs index d9b5c63fe..9dbcef29b 100644 --- a/src/Data/Mergeable.hs +++ b/src/Data/Mergeable.hs @@ -1,5 +1,5 @@ {-# LANGUAGE DefaultSignatures, TypeOperators, UndecidableInstances #-} -module Data.Mergeable where +module Data.Mergeable ( Mergeable (..) ) where import Control.Applicative import Data.Functor.Identity diff --git a/src/Data/Options.hs b/src/Data/Options.hs deleted file mode 100644 index fe942341c..000000000 --- a/src/Data/Options.hs +++ /dev/null @@ -1 +0,0 @@ -module Data.Options where diff --git a/src/Data/Record.hs b/src/Data/Record.hs index 60902815f..761c2473c 100644 --- a/src/Data/Record.hs +++ b/src/Data/Record.hs @@ -1,5 +1,10 @@ {-# LANGUAGE ConstraintKinds, DataKinds, GADTs, KindSignatures, MultiParamTypeClasses, TypeFamilies, TypeOperators, UndecidableInstances #-} -module Data.Record where +module Data.Record + ( Record (..) + , HasField (..) + , rhead + , rtail + ) where import Data.Aeson import Data.JSON.Fields diff --git a/src/Data/SplitDiff.hs b/src/Data/SplitDiff.hs index 3bf57d28f..0c040f3bd 100644 --- a/src/Data/SplitDiff.hs +++ b/src/Data/SplitDiff.hs @@ -1,4 +1,7 @@ -module Data.SplitDiff where +module Data.SplitDiff + ( SplitPatch (..) + , getRange + ) where import Control.Monad.Free import Data.Range @@ -20,6 +23,3 @@ getRange diff = getField $ case diff of -- | A diff with only one side’s annotations. type SplitDiff syntax ann = Free (TermF syntax ann) (SplitPatch (Term syntax ann)) - -unSplit :: Functor syntax => SplitDiff syntax ann -> Term syntax ann -unSplit = iter Term . fmap splitTerm diff --git a/src/Data/Syntax.hs b/src/Data/Syntax.hs index eef603e55..ac65c1498 100644 --- a/src/Data/Syntax.hs +++ b/src/Data/Syntax.hs @@ -1,5 +1,5 @@ {-# LANGUAGE AllowAmbiguousTypes, DeriveAnyClass, GADTs, TypeOperators, MultiParamTypeClasses, UndecidableInstances, ScopedTypeVariables, KindSignatures, RankNTypes, ConstraintKinds, GeneralizedNewtypeDeriving, DerivingStrategies #-} -{-# OPTIONS_GHC -Wno-redundant-constraints -fno-warn-orphans #-} -- For HasCallStack +{-# OPTIONS_GHC -Wno-missing-export-lists -Wno-redundant-constraints -fno-warn-orphans #-} -- For HasCallStack module Data.Syntax where import Data.Abstract.Evaluatable diff --git a/src/Data/Syntax/Comment.hs b/src/Data/Syntax/Comment.hs index ce7854c59..3cddf53c6 100644 --- a/src/Data/Syntax/Comment.hs +++ b/src/Data/Syntax/Comment.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, MultiParamTypeClasses #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Comment where import Data.Abstract.Evaluatable diff --git a/src/Data/Syntax/Declaration.hs b/src/Data/Syntax/Declaration.hs index 8d0b52b2a..d0c752015 100644 --- a/src/Data/Syntax/Declaration.hs +++ b/src/Data/Syntax/Declaration.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, MultiParamTypeClasses, ScopedTypeVariables, UndecidableInstances #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Declaration where import qualified Data.Abstract.Environment as Env diff --git a/src/Data/Syntax/Directive.hs b/src/Data/Syntax/Directive.hs index 9fe5df02a..fdee4066d 100644 --- a/src/Data/Syntax/Directive.hs +++ b/src/Data/Syntax/Directive.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, MultiParamTypeClasses, ScopedTypeVariables, UndecidableInstances #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Directive where import Data.Abstract.Evaluatable diff --git a/src/Data/Syntax/Expression.hs b/src/Data/Syntax/Expression.hs index aa042a0b4..35ac5b408 100644 --- a/src/Data/Syntax/Expression.hs +++ b/src/Data/Syntax/Expression.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, MultiParamTypeClasses, ScopedTypeVariables, UndecidableInstances, DuplicateRecordFields #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Expression where import Data.Abstract.Evaluatable hiding (Member) diff --git a/src/Data/Syntax/Literal.hs b/src/Data/Syntax/Literal.hs index 386d8c9cb..93a19a7ba 100644 --- a/src/Data/Syntax/Literal.hs +++ b/src/Data/Syntax/Literal.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, ViewPatterns, ScopedTypeVariables, DuplicateRecordFields #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Literal where import Data.Abstract.Evaluatable diff --git a/src/Data/Syntax/Statement.hs b/src/Data/Syntax/Statement.hs index 859a3a4d4..8813b79be 100644 --- a/src/Data/Syntax/Statement.hs +++ b/src/Data/Syntax/Statement.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, ScopedTypeVariables, UndecidableInstances, ViewPatterns, DuplicateRecordFields #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Statement where import Data.Abstract.Evaluatable diff --git a/src/Data/Syntax/Type.hs b/src/Data/Syntax/Type.hs index fd1230229..882277e64 100644 --- a/src/Data/Syntax/Type.hs +++ b/src/Data/Syntax/Type.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DataKinds, DeriveAnyClass, DeriveGeneric, MultiParamTypeClasses, UndecidableInstances #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Data.Syntax.Type where import Data.Abstract.Evaluatable diff --git a/src/Diffing/Algorithm.hs b/src/Diffing/Algorithm.hs index db0af7633..bf82e1d0c 100644 --- a/src/Diffing/Algorithm.hs +++ b/src/Diffing/Algorithm.hs @@ -1,5 +1,18 @@ {-# LANGUAGE DefaultSignatures, GADTs, TypeOperators, UndecidableInstances #-} -module Diffing.Algorithm where +module Diffing.Algorithm + ( AlgorithmF (..) + , Algorithm + , Diffable (..) + , Equivalence (..) + , diff + , diffThese + , diffMaybe + , linearly + , byReplacing + , comparableTerms + , equivalentTerms + , algorithmForTerms + ) where import Control.Monad.Free.Freer import Data.Diff diff --git a/src/Language/Go/Grammar.hs b/src/Language/Go/Grammar.hs index a82ed955c..685bbe253 100644 --- a/src/Language/Go/Grammar.hs +++ b/src/Language/Go/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Go.Grammar where import Language.Haskell.TH diff --git a/src/Language/Go/Syntax.hs b/src/Language/Go/Syntax.hs index 3b217449c..b2a18ea52 100644 --- a/src/Language/Go/Syntax.hs +++ b/src/Language/Go/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Go.Syntax where import Data.Abstract.Evaluatable diff --git a/src/Language/Go/Type.hs b/src/Language/Go/Type.hs index e035737fb..167d769e0 100644 --- a/src/Language/Go/Type.hs +++ b/src/Language/Go/Type.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Go.Type where import Prologue diff --git a/src/Language/Haskell/Grammar.hs b/src/Language/Haskell/Grammar.hs index 070d6bb3b..70074358b 100644 --- a/src/Language/Haskell/Grammar.hs +++ b/src/Language/Haskell/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Haskell.Grammar where import Language.Haskell.TH diff --git a/src/Language/Haskell/Syntax.hs b/src/Language/Haskell/Syntax.hs index 50b78fb11..05d668d68 100644 --- a/src/Language/Haskell/Syntax.hs +++ b/src/Language/Haskell/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Haskell.Syntax where import Data.Abstract.Evaluatable diff --git a/src/Language/JSON/Grammar.hs b/src/Language/JSON/Grammar.hs index 06b708cd3..17ee6f341 100644 --- a/src/Language/JSON/Grammar.hs +++ b/src/Language/JSON/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.JSON.Grammar where import Language.Haskell.TH diff --git a/src/Language/Java/Grammar.hs b/src/Language/Java/Grammar.hs index 8d49da5e0..40eb06164 100644 --- a/src/Language/Java/Grammar.hs +++ b/src/Language/Java/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Java.Grammar where import Language.Haskell.TH diff --git a/src/Language/Java/Syntax.hs b/src/Language/Java/Syntax.hs index 8ffac8839..655551fd7 100644 --- a/src/Language/Java/Syntax.hs +++ b/src/Language/Java/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Java.Syntax where import Data.Abstract.Evaluatable diff --git a/src/Language/Markdown/Syntax.hs b/src/Language/Markdown/Syntax.hs index ad0c76db7..bad66af9e 100644 --- a/src/Language/Markdown/Syntax.hs +++ b/src/Language/Markdown/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Markdown.Syntax where import Prologue hiding (Text) diff --git a/src/Language/PHP/Grammar.hs b/src/Language/PHP/Grammar.hs index 9c01dbdbe..75bca0580 100644 --- a/src/Language/PHP/Grammar.hs +++ b/src/Language/PHP/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.PHP.Grammar where import Language.Haskell.TH diff --git a/src/Language/PHP/Syntax.hs b/src/Language/PHP/Syntax.hs index 38acf5460..24e3de0b1 100644 --- a/src/Language/PHP/Syntax.hs +++ b/src/Language/PHP/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.PHP.Syntax where import Data.Abstract.Evaluatable diff --git a/src/Language/Python/Grammar.hs b/src/Language/Python/Grammar.hs index 6d22bc7bd..ed55fc12a 100644 --- a/src/Language/Python/Grammar.hs +++ b/src/Language/Python/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Python.Grammar where import Language.Haskell.TH diff --git a/src/Language/Python/Syntax.hs b/src/Language/Python/Syntax.hs index bb07c37f0..ec2739144 100644 --- a/src/Language/Python/Syntax.hs +++ b/src/Language/Python/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Python.Syntax where import Data.Abstract.Environment as Env diff --git a/src/Language/Ruby/Grammar.hs b/src/Language/Ruby/Grammar.hs index df4a5d1e6..440c3e163 100644 --- a/src/Language/Ruby/Grammar.hs +++ b/src/Language/Ruby/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Ruby.Grammar where import Language.Haskell.TH diff --git a/src/Language/Ruby/Syntax.hs b/src/Language/Ruby/Syntax.hs index a3fbc2480..a8d2c75df 100644 --- a/src/Language/Ruby/Syntax.hs +++ b/src/Language/Ruby/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, DuplicateRecordFields, TupleSections #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.Ruby.Syntax where import Control.Monad (unless) diff --git a/src/Language/TypeScript/Grammar.hs b/src/Language/TypeScript/Grammar.hs index 5a1224981..385fbaf79 100644 --- a/src/Language/TypeScript/Grammar.hs +++ b/src/Language/TypeScript/Grammar.hs @@ -1,4 +1,5 @@ {-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.TypeScript.Grammar where import Language.Haskell.TH diff --git a/src/Language/TypeScript/Syntax.hs b/src/Language/TypeScript/Syntax.hs index ca4a201dc..b6a9fd3a4 100644 --- a/src/Language/TypeScript/Syntax.hs +++ b/src/Language/TypeScript/Syntax.hs @@ -1,4 +1,5 @@ {-# LANGUAGE DeriveAnyClass, DuplicateRecordFields #-} +{-# OPTIONS_GHC -Wno-missing-export-lists #-} module Language.TypeScript.Syntax where import qualified Data.Abstract.Environment as Env diff --git a/src/Semantic/AST.hs b/src/Semantic/AST.hs index 20d40566a..4c5333a15 100644 --- a/src/Semantic/AST.hs +++ b/src/Semantic/AST.hs @@ -1,5 +1,11 @@ {-# LANGUAGE GADTs, RankNTypes #-} -module Semantic.AST where +module Semantic.AST + ( SomeAST (..) + , withSomeAST + , astParseBlob + , ASTFormat (..) + , runASTParse + ) where import Data.AST import Data.Blob diff --git a/src/Semantic/Config.hs b/src/Semantic/Config.hs index a65c71c6b..704248dfe 100644 --- a/src/Semantic/Config.hs +++ b/src/Semantic/Config.hs @@ -1,6 +1,17 @@ {-# LANGUAGE LambdaCase #-} -module Semantic.Config where +module Semantic.Config + ( Config (..) + , defaultConfig + , Options (..) + , defaultOptions + , debugOptions + , lookupStatsAddr + , withHaystackFromConfig + , withLoggerFromConfig + , withStatterFromConfig + , withTelemetry + ) where import Network.BSD import Network.HTTP.Client.TLS diff --git a/src/Semantic/Diff.hs b/src/Semantic/Diff.hs index 9e597f7bb..eb34fa5d6 100644 --- a/src/Semantic/Diff.hs +++ b/src/Semantic/Diff.hs @@ -1,5 +1,11 @@ {-# LANGUAGE ConstraintKinds, GADTs, RankNTypes, ScopedTypeVariables #-} -module Semantic.Diff where +module Semantic.Diff + ( runDiff + , runRubyDiff + , runTypeScriptDiff + , runJSONDiff + , diffBlobTOCPairs + ) where import Analysis.ConstructorName (ConstructorName) import Analysis.Declaration (HasDeclaration, declarationAlgebra) diff --git a/src/Semantic/Env.hs b/src/Semantic/Env.hs index f01e88a8b..6dc30aa38 100644 --- a/src/Semantic/Env.hs +++ b/src/Semantic/Env.hs @@ -1,4 +1,7 @@ -module Semantic.Env where +module Semantic.Env + ( envLookupInt + , envLookupString + ) where import Control.Monad.IO.Class import Prologue diff --git a/src/Semantic/Graph.hs b/src/Semantic/Graph.hs index 130f28f25..cfa79e06a 100644 --- a/src/Semantic/Graph.hs +++ b/src/Semantic/Graph.hs @@ -35,7 +35,7 @@ import qualified Data.Abstract.ModuleTable as ModuleTable import Data.Abstract.Package as Package import Data.Abstract.Value.Abstract import Data.Abstract.Value.Type -import Data.Abstract.Value.Concrete (Value, ValueError (..), runValueErrorWith) +import Data.Abstract.Value.Concrete (Value,ValueError (..), runValueErrorWith) import Data.Graph import Data.Project import Data.Record diff --git a/src/Semantic/Parse.hs b/src/Semantic/Parse.hs index d8e2791ec..bb0184c40 100644 --- a/src/Semantic/Parse.hs +++ b/src/Semantic/Parse.hs @@ -1,5 +1,10 @@ {-# LANGUAGE GADTs, RankNTypes #-} -module Semantic.Parse where +module Semantic.Parse + ( runParse + , runRubyParse + , runTypeScriptParse + , runJSONParse + ) where import Analysis.ConstructorName (ConstructorName) import Analysis.Declaration (HasDeclaration, declarationAlgebra) diff --git a/src/Semantic/Resolution.hs b/src/Semantic/Resolution.hs index 62ed86246..a014ce2d9 100644 --- a/src/Semantic/Resolution.hs +++ b/src/Semantic/Resolution.hs @@ -1,5 +1,10 @@ {-# LANGUAGE ConstraintKinds, GADTs, KindSignatures, ScopedTypeVariables, TypeOperators, UndecidableInstances #-} -module Semantic.Resolution where +module Semantic.Resolution + ( Resolution (..) + , nodeJSResolutionMap + , resolutionMap + , runResolution + ) where import Control.Monad.Effect import Data.Aeson diff --git a/src/Semantic/Telemetry/Haystack.hs b/src/Semantic/Telemetry/Haystack.hs index 86706f636..463eed18e 100644 --- a/src/Semantic/Telemetry/Haystack.hs +++ b/src/Semantic/Telemetry/Haystack.hs @@ -1,4 +1,10 @@ -module Semantic.Telemetry.Haystack where +module Semantic.Telemetry.Haystack + ( HaystackClient (..) + , ErrorReport (..) + , ErrorLogger + , haystackClient + , reportError + ) where import Control.Exception import Crypto.Hash diff --git a/src/Semantic/Telemetry/Log.hs b/src/Semantic/Telemetry/Log.hs index 8a116e017..ce826266d 100644 --- a/src/Semantic/Telemetry/Log.hs +++ b/src/Semantic/Telemetry/Log.hs @@ -1,4 +1,12 @@ -module Semantic.Telemetry.Log where +module Semantic.Telemetry.Log + ( Level (..) + , LogOptions (..) + , Message (..) + , LogFormatter + , logfmtFormatter + , terminalFormatter + , writeLogMessage + ) where import Control.Monad.IO.Class import Data.Error (withSGRCode) diff --git a/src/Semantic/Util.hs b/src/Semantic/Util.hs index 9d13fe90c..93118a934 100644 --- a/src/Semantic/Util.hs +++ b/src/Semantic/Util.hs @@ -1,5 +1,5 @@ {-# LANGUAGE GeneralizedNewtypeDeriving, TypeFamilies, TypeOperators #-} -{-# OPTIONS_GHC -Wno-missing-signatures #-} +{-# OPTIONS_GHC -Wno-missing-signatures -Wno-missing-export-lists #-} module Semantic.Util where import Prelude hiding (readFile) diff --git a/src/Semantic/Version.hs b/src/Semantic/Version.hs index 0a836d905..782cbc1f8 100644 --- a/src/Semantic/Version.hs +++ b/src/Semantic/Version.hs @@ -1,6 +1,9 @@ {-# OPTIONS_GHC -fforce-recomp #-} -- So that gitHash is correct. {-# LANGUAGE TemplateHaskell #-} -module Semantic.Version where +module Semantic.Version + ( buildSHA + , buildVersion + ) where import Data.Version (showVersion) import Development.GitRev