Safe Haskell | None |
---|---|
Language | Haskell98 |
Synopsis
- realTargets :: Maybe HscEnv -> Config -> [FilePath] -> IO [FilePath]
- getInterfaceDynFlags :: Maybe HscEnv -> Config -> IO DynFlags
- getTargetInfos :: Maybe HscEnv -> Config -> [FilePath] -> IO ([TargetInfo], HscEnv)
- runLiquidGhc :: Maybe HscEnv -> Config -> Ghc a -> IO a
- pprintCBs :: [CoreBind] -> Doc
- extractSpecComments :: ApiAnns -> [(SourcePos, String)]
- extractSpecQuotes' :: (a -> Module) -> (a -> [Annotation]) -> a -> [BPspec]
- makeLogicMap :: IO LogicMap
- classCons :: Maybe [ClsInst] -> [Id]
- derivedVars :: Config -> MGIModGuts -> [Var]
- importVars :: CoreProgram -> [Id]
- makeGhcSrc :: Config -> FilePath -> TypecheckedModule -> ModSummary -> Ghc GhcSrc
- allImports :: [LImportDecl GhcRn] -> HashSet Symbol
- qualifiedImports :: [LImportDecl GhcRn] -> QImports
- modSummaryHsFile :: ModSummary -> FilePath
- makeFamInstEnv :: [FamInst] -> ([TyCon], [(Symbol, DataCon)])
- findAndParseSpecFiles :: GhcMonadLike m => Config -> HashSet FilePath -> ModSummary -> [Module] -> m [(ModName, BareSpec)]
- parseSpecFile :: FilePath -> IO (ModName, BareSpec)
- noTerm :: BareSpec -> BareSpec
- clearSpec :: BareSpec -> BareSpec
- checkFilePragmas :: GhcMonadLike m => [Located String] -> m ()
- keepRawTokenStream :: ModSummary -> ModSummary
- ignoreInline :: ParsedModule -> ParsedModule
- lookupTyThings :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> m [(Name, Maybe TyThing)]
- availableTyCons :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> [AvailInfo] -> m [TyCon]
- availableVars :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> [AvailInfo] -> m [Var]
- updLiftedSpec :: BareSpec -> Maybe BareSpec -> BareSpec
- loadDependenciesOf :: GhcMonad m => ModuleName -> m ()
Determine the build-order for target files
realTargets :: Maybe HscEnv -> Config -> [FilePath] -> IO [FilePath] #
realTargets mE cfg targets
uses configureGhcTargets
to
return a list of files
- i1, i2, ...
- ++ [f1, f2, ...]
- Where each file only (transitively imports) PRECEDIING ones;
- `f1..` are a permutation of the original
targets
; - `i1..` either don't have "fresh" .bspec files.
Extract all information needed for verification
getTargetInfos :: Maybe HscEnv -> Config -> [FilePath] -> IO ([TargetInfo], HscEnv) #
GHC Interface Pipeline ----------------------------------------------------
runLiquidGhc :: Maybe HscEnv -> Config -> Ghc a -> IO a #
GHC Configuration & Setup -------------------------------------------------
Printer
predicates
Internal exports (provisional)
extractSpecComments :: ApiAnns -> [(SourcePos, String)] #
Extract Specifications from GHC -------------------------------------------
extractSpecQuotes' :: (a -> Module) -> (a -> [Annotation]) -> a -> [BPspec] #
makeLogicMap :: IO LogicMap #
classCons :: Maybe [ClsInst] -> [Id] #
Extract Ids ---------------------------------------------------------------
derivedVars :: Config -> MGIModGuts -> [Var] #
importVars :: CoreProgram -> [Id] #
makeGhcSrc :: Config -> FilePath -> TypecheckedModule -> ModSummary -> Ghc GhcSrc #
makeGhcSrc
builds all the source-related information needed for consgen
allImports :: [LImportDecl GhcRn] -> HashSet Symbol #
qualifiedImports :: [LImportDecl GhcRn] -> QImports #
modSummaryHsFile :: ModSummary -> FilePath #
makeFamInstEnv :: [FamInst] -> ([TyCon], [(Symbol, DataCon)]) #
Family instance information
findAndParseSpecFiles :: GhcMonadLike m => Config -> HashSet FilePath -> ModSummary -> [Module] -> m [(ModName, BareSpec)] #
Finding & Parsing Files ---------------------------------------------------
Handle Spec Files ---------------------------------------------------------
checkFilePragmas :: GhcMonadLike m => [Located String] -> m () #
lookupTyThings :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> m [(Name, Maybe TyThing)] #
lookupTyThings
grabs all the Name
s and associated TyThing
known to GHC
for this module; we will use this to create our name-resolution environment
(see Resolve
)
availableTyCons :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> [AvailInfo] -> m [TyCon] #
availableVars :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> [AvailInfo] -> m [Var] #
loadDependenciesOf :: GhcMonad m => ModuleName -> m () #
Orphan instances
Show TargetInfo # | |
showsPrec :: Int -> TargetInfo -> ShowS # show :: TargetInfo -> String # showList :: [TargetInfo] -> ShowS # | |
PPrint TargetVars # | |
pprintTidy :: Tidy -> TargetVars -> Doc # pprintPrec :: Int -> Tidy -> TargetVars -> Doc # | |
PPrint TargetSpec # | Pretty Printing ----------------------------------------------------------- |
pprintTidy :: Tidy -> TargetSpec -> Doc # pprintPrec :: Int -> Tidy -> TargetSpec -> Doc # | |
PPrint TargetInfo # | |
pprintTidy :: Tidy -> TargetInfo -> Doc # pprintPrec :: Int -> Tidy -> TargetInfo -> Doc # | |
Result SourceError # | |
result :: SourceError -> FixResult UserError # |