@@ -89,8 +89,9 @@ data ParseError = ParseError
8989 }
9090
9191-- | Result of 'parseModuleEx', representing a parsed module.
92- newtype ModuleEx = ModuleEx {
92+ data ModuleEx = ModuleEx {
9393 ghcModule :: Located (HsModule GhcPs )
94+ , ghcLanguage :: Maybe Language
9495}
9596
9697-- | Extract a complete list of all the comments in a module.
@@ -159,10 +160,10 @@ parseDeclGhcWithMode parseMode s =
159160-- | Create a 'ModuleEx' from a GHC module. It is assumed the incoming
160161-- parsed module has not been adjusted to account for operator
161162-- fixities (it uses the HLint default fixities).
162- createModuleEx :: Located (HsModule GhcPs ) -> ModuleEx
163+ createModuleEx :: Located (HsModule GhcPs ) -> Maybe Language -> ModuleEx
163164createModuleEx = createModuleExWithFixities (map toFixity defaultFixities)
164165
165- createModuleExWithFixities :: [(String , Fixity )] -> Located (HsModule GhcPs ) -> ModuleEx
166+ createModuleExWithFixities :: [(String , Fixity )] -> Located (HsModule GhcPs ) -> Maybe Language -> ModuleEx
166167createModuleExWithFixities fixities ast =
167168 ModuleEx (applyFixities (fixitiesFromModule ast ++ fixities) ast)
168169
@@ -214,7 +215,7 @@ parseModuleEx flags file str = timedIO "Parse" file $ runExceptT $ do
214215 ExceptT $ parseFailureErr dynFlags str file str $ NE. fromList errs
215216 else do
216217 let fixes = fixitiesFromModule a ++ ghcFixitiesFromParseFlags flags
217- pure $ ModuleEx (applyFixities fixes a)
218+ pure $ ModuleEx (applyFixities fixes a) (language dynFlags)
218219 PFailed s ->
219220 ExceptT $ parseFailureErr dynFlags str file str $ NE. fromList . bagToList . getMessages $ GhcPsMessage <$> snd (getPsMessages s)
220221 where
0 commit comments