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] Source #
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) Source #
GHC Interface Pipeline ----------------------------------------------------
runLiquidGhc :: Maybe HscEnv -> Config -> Ghc a -> IO a Source #
GHC Configuration & Setup -------------------------------------------------
Printer
predicates
Internal exports (provisional)
extractSpecComments :: ApiAnns -> [(SourcePos, String)] Source #
Extract Specifications from GHC -------------------------------------------
extractSpecQuotes' :: (a -> Module) -> (a -> [Annotation]) -> a -> [BPspec] Source #
classCons :: Maybe [ClsInst] -> [Id] Source #
Extract Ids ---------------------------------------------------------------
derivedVars :: Config -> MGIModGuts -> [Var] Source #
importVars :: CoreProgram -> [Id] Source #
makeGhcSrc :: Config -> FilePath -> TypecheckedModule -> ModSummary -> Ghc GhcSrc Source #
makeGhcSrc
builds all the source-related information needed for consgen
allImports :: [LImportDecl GhcRn] -> HashSet Symbol Source #
qualifiedImports :: [LImportDecl GhcRn] -> QImports Source #
findAndParseSpecFiles :: GhcMonadLike m => Config -> HashSet FilePath -> ModSummary -> [Module] -> m [(ModName, BareSpec)] Source #
Finding & Parsing Files ---------------------------------------------------
Handle Spec Files ---------------------------------------------------------
checkFilePragmas :: GhcMonadLike m => [Located String] -> m () Source #
lookupTyThings :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> m [(Name, Maybe TyThing)] Source #
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] Source #
availableVars :: GhcMonadLike m => HscEnv -> ModSummary -> TcGblEnv -> [AvailInfo] -> m [Var] Source #
loadDependenciesOf :: GhcMonad m => ModuleName -> m () Source #
Orphan instances
Show TargetInfo Source # | |
showsPrec :: Int -> TargetInfo -> ShowS # show :: TargetInfo -> String # showList :: [TargetInfo] -> ShowS # | |
PPrint TargetVars Source # | |
pprintTidy :: Tidy -> TargetVars -> Doc # pprintPrec :: Int -> Tidy -> TargetVars -> Doc # | |
PPrint TargetSpec Source # | Pretty Printing ----------------------------------------------------------- |
pprintTidy :: Tidy -> TargetSpec -> Doc # pprintPrec :: Int -> Tidy -> TargetSpec -> Doc # | |
PPrint TargetInfo Source # | |
pprintTidy :: Tidy -> TargetInfo -> Doc # pprintPrec :: Int -> Tidy -> TargetInfo -> Doc # | |
Result SourceError Source # | |