GHC.Driver.Phases
Documentation
Untyped Phase description
Constructors
Unlit HscSource | |
Cpp HscSource | |
HsPp HscSource | |
Hsc HscSource | |
Ccxx | |
Cc | |
Cobjc | |
Cobjcxx | |
HCc | |
As Bool | |
LlvmOpt | |
LlvmLlc | |
LlvmMangle | |
CmmCpp | |
Cmm | |
MergeForeign | |
StopLn |
startPhase :: String -> Phase Source #
phaseInputExt :: Phase -> String Source #
stopPhaseToPhase :: StopPhase -> Phase Source #
isHaskellishSuffix :: String -> Bool Source #
isHaskellSrcSuffix :: String -> Bool Source #
isBackpackishSuffix :: String -> Bool Source #
isCishSuffix :: String -> Bool Source #
isHaskellUserSrcSuffix :: String -> Bool Source #
isHaskellSigSuffix :: String -> Bool Source #
isSourceSuffix :: String -> Bool Source #
isHaskellishTarget :: (String, Maybe Phase) -> Bool Source #
When we are given files (modified by -x arguments) we need to determine if they are Haskellish or not to figure out how we should try to compile it. The rules are:
- If no -x flag was specified, we check to see if the file looks like a module name, has no extension, or has a Haskell source extension.
- If an -x flag was specified, we just make sure the specified suffix is a Haskell one.
isHaskellishFilename :: FilePath -> Bool Source #
isHaskellSrcFilename :: FilePath -> Bool Source #
isHaskellSigFilename :: FilePath -> Bool Source #
isCishFilename :: FilePath -> Bool Source #
isSourceFilename :: FilePath -> Bool Source #
phaseForeignLanguage :: Phase -> Maybe ForeignSrcLang Source #
Foreign language of the phase if the phase deals with a foreign code