- = case reads (unpackFS ext) of
- [] -> languagePragParseError l
- (okExt,""):_ ->
- case readVersion cProjectVersion of
- Just version ->
- case extensionsToGHCFlag version [okExt] of
- ([],[opt]) -> L l opt
- _ -> unsupportedExtnError l okExt
- Nothing ->
- panic ("Can't parse version: " ++ show cProjectVersion)
+-- Checks if a given extension is valid, and if so returns
+-- its corresponding flag. Otherwise it throws an exception.
+ = let ext' = unpackFS ext in
+ if ext' `elem` supportedLanguages
+ || ext' `elem` (map ("No"++) supportedLanguages)
+ then L l ("-X"++ext')
+ else unsupportedExtnError l ext'