@@ -84,8 +84,9 @@ data ParseError = ParseError
84
84
}
85
85
86
86
-- | Result of 'parseModuleEx', representing a parsed module.
87
- newtype ModuleEx = ModuleEx {
87
+ data ModuleEx = ModuleEx {
88
88
ghcModule :: Located HsModule
89
+ , ghcLanguage :: Maybe Language
89
90
}
90
91
91
92
-- | Extract a complete list of all the comments in a module.
@@ -147,10 +148,10 @@ parseDeclGhcWithMode parseMode s =
147
148
-- | Create a 'ModuleEx' from a GHC module. It is assumed the incoming
148
149
-- parsed module has not been adjusted to account for operator
149
150
-- fixities (it uses the HLint default fixities).
150
- createModuleEx :: Located HsModule -> ModuleEx
151
+ createModuleEx :: Located HsModule -> Maybe Language -> ModuleEx
151
152
createModuleEx = createModuleExWithFixities (map toFixity defaultFixities)
152
153
153
- createModuleExWithFixities :: [(String , Fixity )] -> Located HsModule -> ModuleEx
154
+ createModuleExWithFixities :: [(String , Fixity )] -> Located HsModule -> Maybe Language -> ModuleEx
154
155
createModuleExWithFixities fixities ast =
155
156
ModuleEx (applyFixities (fixitiesFromModule ast ++ fixities) ast)
156
157
@@ -188,7 +189,7 @@ parseModuleEx flags file str = timedIO "Parse" file $ runExceptT $ do
188
189
ExceptT $ parseFailureErr dynFlags str file str errs
189
190
else do
190
191
let fixes = fixitiesFromModule a ++ ghcFixitiesFromParseFlags flags
191
- pure $ ModuleEx (applyFixities fixes a)
192
+ pure $ ModuleEx (applyFixities fixes a) (language dynFlags)
192
193
PFailed s ->
193
194
ExceptT $ parseFailureErr dynFlags str file str $ bagToList . getMessages $ GhcPsMessage <$> snd (getPsMessages s)
194
195
where
0 commit comments