X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=utils%2Fghctags%2FGhcTags.hs;h=e74b2d18013fd8f96052b4c24a01dd04edabe522;hb=4a343629ebe5be2c5b27e84c031e38abd81122fa;hp=5237bbc53bba638f9d0343cdef887e943bc55b04;hpb=7fb94f753f166563ee3f3b43e7ec5064e82971d3;p=ghc-hetmet.git diff --git a/utils/ghctags/GhcTags.hs b/utils/ghctags/GhcTags.hs index 5237bbc..e74b2d1 100644 --- a/utils/ghctags/GhcTags.hs +++ b/utils/ghctags/GhcTags.hs @@ -251,17 +251,12 @@ boundValues :: ModuleName -> HsGroup Name -> [FoundThing] boundValues mod group = let vals = case hs_valds group of ValBindsOut nest _sigs -> - [ x | (_rec, binds) <- nest, bind <- bagToList binds, - x <- boundThings mod bind ] + [ x | (_rec, binds) <- nest + , bind <- bagToList binds + , x <- boundThings mod bind ] _other -> error "boundValues" - tys = concat $ map tyBound (hs_tyclds group) - where tyBound ltcd = case unLoc ltcd of - ForeignType { tcdLName = n } -> [found n] - TyData { tcdLName = tycon, tcdCons = cons } -> - dataNames tycon cons - TySynonym { tcdLName = n } -> [found n] - ClassDecl { tcdLName = n } -> [found n] - _ -> error "boundValues: tys" + tys = [ n | ns <- map (tyClDeclNames . unLoc) (hs_tyclds group) + , n <- map found ns ] fors = concat $ map forBound (hs_fords group) where forBound lford = case unLoc lford of ForeignImport n _ _ -> [found n] @@ -336,7 +331,7 @@ getfoundthings (FileData _filename things _src_lines) = things dumpthing :: Bool -> FoundThing -> String dumpthing showmod (FoundThing modname name loc) = - fullname ++ "\t" ++ filename ++ "\t" ++ (show $ line + 1) + fullname ++ "\t" ++ filename ++ "\t" ++ (show line) where line = srcLocLine loc filename = unpackFS $ srcLocFile loc fullname = if showmod then moduleNameString modname ++ "." ++ name