module ConvRefsTypes where import RefsTypes import SrcLoc1 import NameMaps import TypedIds import UniqueNames import HsName import HsIdent(getHSName) import PrettyPrint import MUtils(apFst) --import NoEq simplifyRefsTypes mrs = [(pp m,simplifyRefsTypes' rs)|(m,rs)<-mrs] simplifyRefsTypes' refs = simprefs refs where simprefs rs = [(simpp p,(pp n,simpr dctx,simpsp sp,map (simpos.apFst getHSName) os))| ((dctx,sp),i,os)<-rs, let PN n p=getHSName i]::Refs simpr (Def TopLevel) = DT simpr (Def Local) = DL simpr (Def (ClassDef ())) = DC simpr (Def (Instance ())) = DI simpr (Def Pattern) = DP simpr (Sig _) = U -- hmm simpr Use = U simpr Logic = U simpr FieldLabel = U simpr (ExpEnt _) = Ex simpr (ImpEnt _ _) = Im simpsp ValueNames = V simpsp ClassOrTypeNames = T simpp (S s) = simpSrcLoc s simpes s = (simpf (srcPath s),simpSrcLoc s) simpf ('.':'/':s) = s simpf s = s simpos (PN n o,t) = (simpt t,simpo o) --simpo (G (Module m) n (N (Just s))) | s/=loc0 = Right (simpes s) -- Use m and n? simpo (G m n ({-N-} _)) = Left (m,n) simpo (S s) = Right (simpes s) simpt Value = V simpt Assertion = V -- !! simpt Property = V -- !! simpt (Type {}) = T simpt (Class {}) = Cl simpt (ConstrOf (PN n p) _) = Co n -- (simpo p) simpt (FieldOf (PN n p) _) = Fi n --(simpo p) simpt (MethodOf (PN n p) _ _) = Me n --(simpo p) simpSrcLoc (SrcLoc f n r c) = Pos n r c