haskell-names 0.7.0 → 0.8.0
raw patch · 41 files changed
+890/−869 lines, 41 filesdep ~aesondep ~haskell-namesdep ~haskell-src-extsPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: aeson, haskell-names, haskell-src-exts
API changes (from Hackage documentation)
- Language.Haskell.Names.Environment: instance Data.Aeson.Types.Class.FromJSON Language.Haskell.Names.Types.Symbol
- Language.Haskell.Names.Environment: instance Data.Aeson.Types.Class.ToJSON Language.Haskell.Names.Types.Symbol
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.Binds l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.ClassDecl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.ConDecl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.Decl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.FieldDecl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.GadtDecl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.Match l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.Pat l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.QualConDecl l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.QualStmt l) l
- Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Annotated.Syntax.Stmt l) l
+ Language.Haskell.Names.Environment: instance Data.Aeson.Types.FromJSON.FromJSON Language.Haskell.Names.Types.Symbol
+ Language.Haskell.Names.Environment: instance Data.Aeson.Types.ToJSON.ToJSON Language.Haskell.Names.Types.Symbol
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.Binds l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.ClassDecl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.ConDecl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.Decl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.FieldDecl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.GadtDecl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.Match l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.Pat l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.QualConDecl l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.QualStmt l) l
+ Language.Haskell.Names.GetBound: instance Data.Data.Data l => Language.Haskell.Names.GetBound.GetBound (Language.Haskell.Exts.Syntax.Stmt l) l
- Language.Haskell.Names: Class :: ModuleName -> Name -> Symbol
+ Language.Haskell.Names: Class :: ModuleName () -> Name () -> Symbol
- Language.Haskell.Names: Constructor :: ModuleName -> Name -> Name -> Symbol
+ Language.Haskell.Names: Constructor :: ModuleName () -> Name () -> Name () -> Symbol
- Language.Haskell.Names: Data :: ModuleName -> Name -> Symbol
+ Language.Haskell.Names: Data :: ModuleName () -> Name () -> Symbol
- Language.Haskell.Names: DataFam :: ModuleName -> Name -> Maybe Name -> Symbol
+ Language.Haskell.Names: DataFam :: ModuleName () -> Name () -> Maybe (Name ()) -> Symbol
- Language.Haskell.Names: GlobalSymbol :: Symbol -> QName -> NameInfo l
+ Language.Haskell.Names: GlobalSymbol :: Symbol -> (QName ()) -> NameInfo l
- Language.Haskell.Names: Import :: (Map QName [Symbol]) -> NameInfo l
+ Language.Haskell.Names: Import :: (Map (QName ()) [Symbol]) -> NameInfo l
- Language.Haskell.Names: Method :: ModuleName -> Name -> Name -> Symbol
+ Language.Haskell.Names: Method :: ModuleName () -> Name () -> Name () -> Symbol
- Language.Haskell.Names: NewType :: ModuleName -> Name -> Symbol
+ Language.Haskell.Names: NewType :: ModuleName () -> Name () -> Symbol
- Language.Haskell.Names: RecExpWildcard :: [(Name, NameInfo l)] -> NameInfo l
+ Language.Haskell.Names: RecExpWildcard :: [(Name (), NameInfo l)] -> NameInfo l
- Language.Haskell.Names: Selector :: ModuleName -> Name -> Name -> [Name] -> Symbol
+ Language.Haskell.Names: Selector :: ModuleName () -> Name () -> Name () -> [Name ()] -> Symbol
- Language.Haskell.Names: Type :: ModuleName -> Name -> Symbol
+ Language.Haskell.Names: Type :: ModuleName () -> Name () -> Symbol
- Language.Haskell.Names: TypeFam :: ModuleName -> Name -> Maybe Name -> Symbol
+ Language.Haskell.Names: TypeFam :: ModuleName () -> Name () -> Maybe (Name ()) -> Symbol
- Language.Haskell.Names: Value :: ModuleName -> Name -> Symbol
+ Language.Haskell.Names: Value :: ModuleName () -> Name () -> Symbol
- Language.Haskell.Names: [associate] :: Symbol -> Maybe Name
+ Language.Haskell.Names: [associate] :: Symbol -> Maybe (Name ())
- Language.Haskell.Names: [className] :: Symbol -> Name
+ Language.Haskell.Names: [className] :: Symbol -> Name ()
- Language.Haskell.Names: [constructors] :: Symbol -> [Name]
+ Language.Haskell.Names: [constructors] :: Symbol -> [Name ()]
- Language.Haskell.Names: [symbolModule] :: Symbol -> ModuleName
+ Language.Haskell.Names: [symbolModule] :: Symbol -> ModuleName ()
- Language.Haskell.Names: [symbolName] :: Symbol -> Name
+ Language.Haskell.Names: [symbolName] :: Symbol -> Name ()
- Language.Haskell.Names: [typeName] :: Symbol -> Name
+ Language.Haskell.Names: [typeName] :: Symbol -> Name ()
- Language.Haskell.Names: type Environment = Map ModuleName [Symbol]
+ Language.Haskell.Names: type Environment = Map (ModuleName ()) [Symbol]
- Language.Haskell.Names.Annotated: GlobalSymbol :: Symbol -> QName -> NameInfo l
+ Language.Haskell.Names.Annotated: GlobalSymbol :: Symbol -> (QName ()) -> NameInfo l
- Language.Haskell.Names.Annotated: Import :: (Map QName [Symbol]) -> NameInfo l
+ Language.Haskell.Names.Annotated: Import :: (Map (QName ()) [Symbol]) -> NameInfo l
- Language.Haskell.Names.Annotated: RecExpWildcard :: [(Name, NameInfo l)] -> NameInfo l
+ Language.Haskell.Names.Annotated: RecExpWildcard :: [(Name (), NameInfo l)] -> NameInfo l
- Language.Haskell.Names.Environment: type Environment = Map ModuleName [Symbol]
+ Language.Haskell.Names.Environment: type Environment = Map (ModuleName ()) [Symbol]
- Language.Haskell.Names.GlobalSymbolTable: fromList :: [(QName, Symbol)] -> Table
+ Language.Haskell.Names.GlobalSymbolTable: fromList :: [(QName (), Symbol)] -> Table
- Language.Haskell.Names.GlobalSymbolTable: type Table = Map QName [Symbol]
+ Language.Haskell.Names.GlobalSymbolTable: type Table = Map (QName ()) [Symbol]
- Language.Haskell.Names.Open: WcField :: Name -> ModuleName -> Bool -> WcField
+ Language.Haskell.Names.Open: WcField :: Name () -> ModuleName () -> Bool -> WcField
- Language.Haskell.Names.Open: [wcFieldModuleName] :: WcField -> ModuleName
+ Language.Haskell.Names.Open: [wcFieldModuleName] :: WcField -> ModuleName ()
- Language.Haskell.Names.Open: [wcFieldName] :: WcField -> Name
+ Language.Haskell.Names.Open: [wcFieldName] :: WcField -> Name ()
- Language.Haskell.Names.Open: initialScope :: ModuleName -> Table -> Scope
+ Language.Haskell.Names.Open: initialScope :: ModuleName () -> Table -> Scope
- Language.Haskell.Names.SyntaxUtils: annName :: Name -> Name ()
+ Language.Haskell.Names.SyntaxUtils: annName :: a -> a
- Language.Haskell.Names.SyntaxUtils: nameQualification :: QName l -> Maybe ModuleName
+ Language.Haskell.Names.SyntaxUtils: nameQualification :: QName l -> Maybe (ModuleName ())
Files
- CHANGELOG.md +8/−3
- haskell-names.cabal +6/−5
- src/Language/Haskell/Names/Annotated.hs +6/−8
- src/Language/Haskell/Names/Environment.hs +8/−9
- src/Language/Haskell/Names/Exports.hs +11/−14
- src/Language/Haskell/Names/GetBound.hs +2/−3
- src/Language/Haskell/Names/GlobalSymbolTable.hs +9/−13
- src/Language/Haskell/Names/Imports.hs +10/−14
- src/Language/Haskell/Names/LocalSymbolTable.hs +8/−9
- src/Language/Haskell/Names/ModuleSymbols.hs +17/−19
- src/Language/Haskell/Names/Open/Base.hs +5/−6
- src/Language/Haskell/Names/Open/Derived.hs +9/−1
- src/Language/Haskell/Names/Open/Instances.hs +1/−1
- src/Language/Haskell/Names/RecordWildcards.hs +22/−24
- src/Language/Haskell/Names/Recursive.hs +3/−4
- src/Language/Haskell/Names/ScopeUtils.hs +15/−17
- src/Language/Haskell/Names/SyntaxUtils.hs +7/−9
- src/Language/Haskell/Names/Types.hs +48/−49
- tests/environment/Prelude.symbols.golden +1/−0
- tests/exports/DataFamilies.hs.golden +15/−15
- tests/exports/ExportList.hs.golden +3/−1
- tests/exports/ExportList2.hs.golden +6/−6
- tests/exports/ExportListMembers.hs.golden +22/−22
- tests/exports/ExportListWildcards.hs.golden +29/−29
- tests/exports/ImplicitExportList.hs.golden +3/−1
- tests/exports/ModuleReExport.hs.golden +47/−47
- tests/exports/Prelude.hs.golden +47/−47
- tests/exports/Rec1.hs.golden +12/−4
- tests/exports/Rec2.hs.golden +9/−3
- tests/exports/Rec3.hs.golden +9/−3
- tests/exports/SelfReExport.hs.golden +51/−51
- tests/exports/SimpleData.hs.golden +6/−4
- tests/exports/SimpleTypes.hs.golden +16/−16
- tests/exports/SimpleValue.hs.golden +2/−2
- tests/imports/ExplicitPreludeQualified.hs.golden +63/−61
- tests/imports/Hiding.hs.golden +57/−56
- tests/imports/ImplicitPrelude.hs.golden +124/−122
- tests/imports/ImportAll.hs.golden +12/−12
- tests/imports/ImportList.hs.golden +34/−34
- tests/imports/SimpleImport.hs.golden +124/−122
- tests/run.hs +3/−3
CHANGELOG.md view
@@ -1,13 +1,18 @@ Changes ======= -Version 0.7.0--------------+Version 0.8.0+------------ -* Improve annotation performance * Relax bounds on aeson * Relax bounds on transformers * Bugfixes+* Use haskell-src-exts 1.18++Version 0.7.0+-------------++* Improve annotation performance Version 0.6.0 -------------
haskell-names.cabal view
@@ -1,5 +1,5 @@ Name: haskell-names-Version: 0.7.0+Version: 0.8.0 License: BSD3 Author: Philipp Schuster, Roman Cheplyaka, Lennart Augustsson Maintainer: Philipp Schuster@@ -22,6 +22,7 @@ tests/imports/*.hs tests/exports/*.hs.golden tests/exports/*.hs+ tests/environment/Prelude.symbols.golden data-files: data/baseEnvironment/Control.Applicative.symbols data/baseEnvironment/Control.Arrow.symbols@@ -235,13 +236,13 @@ Default-Language: Haskell2010 Build-depends: base >= 4 && < 5- , haskell-src-exts >= 1.17 && < 1.18+ , haskell-src-exts >= 1.18 && < 1.19 , mtl >= 2.2.1 && < 2.3 , transformers >=0.4.2.0 && < 0.6 , filepath >= 1.1 && < 1.5 , containers >= 0.2 && < 0.6 , uniplate >= 1.5.1 && < 1.7- , aeson >= 0.8.0.2 && < 0.12+ , aeson >= 0.8.0.2 && < 1.1 , bytestring >= 0.10.4.0 && < 0.11 , data-lens-light >= 0.1.2.1 && < 0.2 , traverse-with-class >= 0.2.0.3 && < 0.3@@ -281,7 +282,8 @@ run.hs Build-depends: base >= 4 && < 5- , haskell-src-exts >= 1.17 && < 1.18+ , haskell-names >= 0.8.0 && < 0.9+ , haskell-src-exts >= 1.18 && < 1.19 , mtl >= 2.2.1 && < 2.3 , filepath >= 1.1 && <1.5 , containers >= 0.2 && < 0.6@@ -290,5 +292,4 @@ , filemanip >= 0.3.6.3 && < 0.4 , pretty-show >= 1.6.1 && < 1.7 , traverse-with-class >= 0.2.0.3 && < 0.3- , haskell-names >= 0.7.0 && < 0.8
src/Language/Haskell/Names/Annotated.hs view
@@ -17,10 +17,8 @@ import Language.Haskell.Names.Open.Instances () import qualified Language.Haskell.Names.GlobalSymbolTable as Global import qualified Language.Haskell.Names.LocalSymbolTable as Local-import Language.Haskell.Names.SyntaxUtils (annName,setAnn)-import Language.Haskell.Exts.Annotated.Simplify (sQName)-import Language.Haskell.Exts.Annotated-import qualified Language.Haskell.Exts.Syntax as UnAnn+import Language.Haskell.Names.SyntaxUtils (dropAnn, annName,setAnn)+import Language.Haskell.Exts import Data.Proxy import Data.Lens.Light import Data.Typeable (@@ -97,7 +95,7 @@ checkUniqueness symbols = case symbols of [] -> ScopeError (ENotInScope qname)- [symbol] -> GlobalSymbol symbol (sQName qname)+ [symbol] -> GlobalSymbol symbol (dropAnn qname) _ -> ScopeError (EAmbiguous qname symbols) @@ -124,13 +122,13 @@ checkUniqueness qname symbols = case symbols of [] -> ScopeError (ENotInScope qname)- [symbol] -> GlobalSymbol symbol (sQName qname)+ [symbol] -> GlobalSymbol symbol (dropAnn qname) _ -> ScopeError (EAmbiguous qname symbols) -qualifyName :: Maybe UnAnn.ModuleName -> Name l -> QName l+qualifyName :: Maybe (ModuleName ()) -> Name l -> QName l qualifyName Nothing n = UnQual (ann n) n-qualifyName (Just (UnAnn.ModuleName moduleName)) n =+qualifyName (Just (ModuleName () moduleName)) n = Qual (ann n) annotatedModuleName n where annotatedModuleName = ModuleName (ann n) moduleName
src/Language/Haskell/Names/Environment.hs view
@@ -13,9 +13,8 @@ ) where import Language.Haskell.Names.Types (Environment, Symbol(..))-import Language.Haskell.Exts (ModuleName(ModuleName),prettyPrint,Name)-import Language.Haskell.Names.SyntaxUtils (stringToName,nameToString,annName)-import Language.Haskell.Exts.Annotated.Simplify (sName)+import Language.Haskell.Exts (ModuleName(ModuleName),Name,prettyPrint)+import Language.Haskell.Names.SyntaxUtils (stringToName,nameToString,dropAnn, annName) import qualified Data.ByteString.Lazy as BS (readFile, writeFile, pack) import Data.Aeson import Data.Monoid@@ -49,7 +48,7 @@ deriving (Typeable, Show) instance Exception SymbolsFileException -prettyName :: Name -> String+prettyName :: Name () -> String prettyName = nameToString . annName instance ToJSON Symbol where@@ -86,13 +85,13 @@ DataFam {} -> "dataFamily" Class {} -> "class" -parseName :: String -> Name-parseName = sName . stringToName+parseName :: String -> Name ()+parseName = dropAnn . stringToName instance FromJSON Symbol where parseJSON (Object v) = do entity <- v .: "entity"- symbolmodule <- ModuleName <$> v .: "module"+ symbolmodule <- ModuleName () <$> v .: "module" symbolname <- parseName <$> v .: "name" case entity :: String of@@ -133,5 +132,5 @@ return (moduleName, symbols)) return (Map.fromList moduleSymbols) -baseModules :: [ModuleName]-baseModules = map ModuleName ["Control.Applicative","Control.Arrow","Control.Category","Control.Concurrent.Chan","Control.Concurrent.MVar","Control.Concurrent.QSem","Control.Concurrent.QSemN","Control.Concurrent","Control.Exception.Base","Control.Exception","Control.Monad.Fix","Control.Monad.Instances","Control.Monad.ST.Imp","Control.Monad.ST.Lazy.Imp","Control.Monad.ST.Lazy.Safe","Control.Monad.ST.Lazy.Unsafe","Control.Monad.ST.Lazy","Control.Monad.ST.Safe","Control.Monad.ST.Strict","Control.Monad.ST.Unsafe","Control.Monad.ST","Control.Monad.Zip","Control.Monad","Data.Bits","Data.Bool","Data.Char","Data.Complex","Data.Data","Data.Dynamic","Data.Either","Data.Eq","Data.Fixed","Data.Foldable","Data.Function","Data.Functor","Data.IORef","Data.Int","Data.Ix","Data.List","Data.Maybe","Data.Monoid","Data.OldTypeable.Internal","Data.OldTypeable","Data.Ord","Data.Ratio","Data.STRef.Lazy","Data.STRef.Strict","Data.STRef","Data.String","Data.Traversable","Data.Tuple","Data.Typeable.Internal","Data.Typeable","Data.Unique","Data.Version","Data.Word","Debug.Trace","Foreign.C.Error","Foreign.C.String","Foreign.C.Types","Foreign.C","Foreign.Concurrent","Foreign.ForeignPtr.Imp","Foreign.ForeignPtr.Safe","Foreign.ForeignPtr.Unsafe","Foreign.ForeignPtr","Foreign.Marshal.Alloc","Foreign.Marshal.Array","Foreign.Marshal.Error","Foreign.Marshal.Pool","Foreign.Marshal.Safe","Foreign.Marshal.Unsafe","Foreign.Marshal.Utils","Foreign.Marshal","Foreign.Ptr","Foreign.Safe","Foreign.StablePtr","Foreign.Storable","Foreign","GHC.Arr","GHC.Base","GHC.Char","GHC.Conc.IO","GHC.Conc.Signal","GHC.Conc.Sync","GHC.Conc","GHC.ConsoleHandler","GHC.Constants","GHC.Desugar","GHC.Enum","GHC.Environment","GHC.Err","GHC.Event.Array","GHC.Event.Clock","GHC.Event.Control","GHC.Event.EPoll","GHC.Event.IntMap","GHC.Event.Internal","GHC.Event.KQueue","GHC.Event.Manager","GHC.Event.PSQ","GHC.Event.Poll","GHC.Event.Thread","GHC.Event.TimerManager","GHC.Event.Unique","GHC.Event","GHC.Exception","GHC.Exts","GHC.Fingerprint.Type","GHC.Fingerprint","GHC.Float.ConversionUtils","GHC.Float.RealFracMethods","GHC.Float","GHC.Foreign","GHC.ForeignPtr","GHC.GHCi","GHC.Generics","GHC.IO.Buffer","GHC.IO.BufferedIO","GHC.IO.Device","GHC.IO.Encoding.CodePage","GHC.IO.Encoding.Failure","GHC.IO.Encoding.Iconv","GHC.IO.Encoding.Latin1","GHC.IO.Encoding.Types","GHC.IO.Encoding.UTF16","GHC.IO.Encoding.UTF32","GHC.IO.Encoding.UTF8","GHC.IO.Encoding","GHC.IO.Exception","GHC.IO.FD","GHC.IO.Handle.FD","GHC.IO.Handle.Internals","GHC.IO.Handle.Text","GHC.IO.Handle.Types","GHC.IO.Handle","GHC.IO.IOMode","GHC.IO","GHC.IOArray","GHC.IORef","GHC.IP","GHC.Int","GHC.List","GHC.MVar","GHC.Num","GHC.PArr","GHC.Pack","GHC.Profiling","GHC.Ptr","GHC.Read","GHC.Real","GHC.ST","GHC.STRef","GHC.Show","GHC.Stable","GHC.Stack","GHC.Stats","GHC.Storable","GHC.TopHandler","GHC.TypeLits","GHC.Unicode","GHC.Weak","GHC.Word","Numeric","Prelude","System.CPUTime","System.Console.GetOpt","System.Environment.ExecutablePath","System.Environment","System.Exit","System.IO.Error","System.IO.Unsafe","System.IO","System.Info","System.Mem.StableName","System.Mem.Weak","System.Mem","System.Posix.Internals","System.Posix.Types","System.Timeout","Text.ParserCombinators.ReadP","Text.ParserCombinators.ReadPrec","Text.Printf","Text.Read.Lex","Text.Read","Text.Show.Functions","Text.Show","Unsafe.Coerce","GHC.CString","GHC.Classes","GHC.Debug","GHC.IntWord64","GHC.Magic","GHC.Prim","GHC.PrimopWrappers","GHC.Tuple","GHC.Types","GHC.Integer.Logarithms.Internals","GHC.Integer.Logarithms","GHC.Integer.Simple.Internals","GHC.Integer.Type","GHC.Integer"]+baseModules :: [ModuleName ()]+baseModules = map (ModuleName ()) ["Control.Applicative","Control.Arrow","Control.Category","Control.Concurrent.Chan","Control.Concurrent.MVar","Control.Concurrent.QSem","Control.Concurrent.QSemN","Control.Concurrent","Control.Exception.Base","Control.Exception","Control.Monad.Fix","Control.Monad.Instances","Control.Monad.ST.Imp","Control.Monad.ST.Lazy.Imp","Control.Monad.ST.Lazy.Safe","Control.Monad.ST.Lazy.Unsafe","Control.Monad.ST.Lazy","Control.Monad.ST.Safe","Control.Monad.ST.Strict","Control.Monad.ST.Unsafe","Control.Monad.ST","Control.Monad.Zip","Control.Monad","Data.Bits","Data.Bool","Data.Char","Data.Complex","Data.Data","Data.Dynamic","Data.Either","Data.Eq","Data.Fixed","Data.Foldable","Data.Function","Data.Functor","Data.IORef","Data.Int","Data.Ix","Data.List","Data.Maybe","Data.Monoid","Data.OldTypeable.Internal","Data.OldTypeable","Data.Ord","Data.Ratio","Data.STRef.Lazy","Data.STRef.Strict","Data.STRef","Data.String","Data.Traversable","Data.Tuple","Data.Typeable.Internal","Data.Typeable","Data.Unique","Data.Version","Data.Word","Debug.Trace","Foreign.C.Error","Foreign.C.String","Foreign.C.Types","Foreign.C","Foreign.Concurrent","Foreign.ForeignPtr.Imp","Foreign.ForeignPtr.Safe","Foreign.ForeignPtr.Unsafe","Foreign.ForeignPtr","Foreign.Marshal.Alloc","Foreign.Marshal.Array","Foreign.Marshal.Error","Foreign.Marshal.Pool","Foreign.Marshal.Safe","Foreign.Marshal.Unsafe","Foreign.Marshal.Utils","Foreign.Marshal","Foreign.Ptr","Foreign.Safe","Foreign.StablePtr","Foreign.Storable","Foreign","GHC.Arr","GHC.Base","GHC.Char","GHC.Conc.IO","GHC.Conc.Signal","GHC.Conc.Sync","GHC.Conc","GHC.ConsoleHandler","GHC.Constants","GHC.Desugar","GHC.Enum","GHC.Environment","GHC.Err","GHC.Event.Array","GHC.Event.Clock","GHC.Event.Control","GHC.Event.EPoll","GHC.Event.IntMap","GHC.Event.Internal","GHC.Event.KQueue","GHC.Event.Manager","GHC.Event.PSQ","GHC.Event.Poll","GHC.Event.Thread","GHC.Event.TimerManager","GHC.Event.Unique","GHC.Event","GHC.Exception","GHC.Exts","GHC.Fingerprint.Type","GHC.Fingerprint","GHC.Float.ConversionUtils","GHC.Float.RealFracMethods","GHC.Float","GHC.Foreign","GHC.ForeignPtr","GHC.GHCi","GHC.Generics","GHC.IO.Buffer","GHC.IO.BufferedIO","GHC.IO.Device","GHC.IO.Encoding.CodePage","GHC.IO.Encoding.Failure","GHC.IO.Encoding.Iconv","GHC.IO.Encoding.Latin1","GHC.IO.Encoding.Types","GHC.IO.Encoding.UTF16","GHC.IO.Encoding.UTF32","GHC.IO.Encoding.UTF8","GHC.IO.Encoding","GHC.IO.Exception","GHC.IO.FD","GHC.IO.Handle.FD","GHC.IO.Handle.Internals","GHC.IO.Handle.Text","GHC.IO.Handle.Types","GHC.IO.Handle","GHC.IO.IOMode","GHC.IO","GHC.IOArray","GHC.IORef","GHC.IP","GHC.Int","GHC.List","GHC.MVar","GHC.Num","GHC.PArr","GHC.Pack","GHC.Profiling","GHC.Ptr","GHC.Read","GHC.Real","GHC.ST","GHC.STRef","GHC.Show","GHC.Stable","GHC.Stack","GHC.Stats","GHC.Storable","GHC.TopHandler","GHC.TypeLits","GHC.Unicode","GHC.Weak","GHC.Word","Numeric","Prelude","System.CPUTime","System.Console.GetOpt","System.Environment.ExecutablePath","System.Environment","System.Exit","System.IO.Error","System.IO.Unsafe","System.IO","System.Info","System.Mem.StableName","System.Mem.Weak","System.Mem","System.Posix.Internals","System.Posix.Types","System.Timeout","Text.ParserCombinators.ReadP","Text.ParserCombinators.ReadPrec","Text.Printf","Text.Read.Lex","Text.Read","Text.Show.Functions","Text.Show","Unsafe.Coerce","GHC.CString","GHC.Classes","GHC.Debug","GHC.IntWord64","GHC.Magic","GHC.Prim","GHC.PrimopWrappers","GHC.Tuple","GHC.Types","GHC.Integer.Logarithms.Internals","GHC.Integer.Logarithms","GHC.Integer.Simple.Internals","GHC.Integer.Type","GHC.Integer"]
src/Language/Haskell/Names/Exports.hs view
@@ -10,9 +10,7 @@ import Control.Monad import Control.Monad.Writer import Data.Data-import qualified Language.Haskell.Exts as UnAnn (QName(Qual,UnQual))-import Language.Haskell.Exts.Annotated.Simplify (sQName,sModuleName)-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Language.Haskell.Names.Types import Language.Haskell.Names.ScopeUtils import Language.Haskell.Names.SyntaxUtils@@ -34,8 +32,7 @@ case annotateExportSpec globalTable exportSpec of EVar (Scoped (Export symbols) _) _ -> symbols EAbs (Scoped (Export symbols) _) _ _ -> symbols- EThingAll (Scoped (Export symbols) _) _ -> symbols- EThingWith (Scoped (Export symbols) _) _ _ -> symbols+ EThingWith (Scoped (Export symbols) _) _ _ _ -> symbols EModuleContents (Scoped (Export symbols) _) _ -> symbols _ -> [] @@ -52,16 +49,16 @@ case Global.lookupValue qn globalTable of [] -> scopeError (ENotInScope qn) exportSpec [symbol] -> EVar (Scoped (Export [symbol]) l)- (Scoped (GlobalSymbol symbol (sQName qn)) <$> qn)+ (Scoped (GlobalSymbol symbol (dropAnn qn)) <$> qn) symbols -> scopeError (EAmbiguous qn symbols) exportSpec EAbs l ns qn -> case Global.lookupType qn globalTable of [] -> scopeError (ENotInScope qn) exportSpec [symbol] -> EAbs (Scoped (Export [symbol]) l) (noScope ns)- (Scoped (GlobalSymbol symbol (sQName qn)) <$> qn)+ (Scoped (GlobalSymbol symbol (dropAnn qn)) <$> qn) symbols -> scopeError (EAmbiguous qn symbols) exportSpec- EThingAll l qn ->+ EThingWith l w@(EWildcard _ _) qn _ -> case Global.lookupType qn globalTable of [] -> scopeError (ENotInScope qn) exportSpec [symbol] ->@@ -73,9 +70,9 @@ return subSymbol) s = [symbol] <> subSymbols in- EThingAll (Scoped (Export s) l) (Scoped (GlobalSymbol symbol (sQName qn)) <$> qn)+ EThingWith (Scoped (Export s) l) (fmap (Scoped None) w) (Scoped (GlobalSymbol symbol (dropAnn qn)) <$> qn) [] symbols -> scopeError (EAmbiguous qn symbols) exportSpec- EThingWith l qn cns ->+ EThingWith l w@(NoWildcard {}) qn cns -> case Global.lookupType qn globalTable of [] -> scopeError (ENotInScope qn) exportSpec [symbol] ->@@ -88,7 +85,7 @@ cns s = [symbol] <> subSymbols in- EThingWith (Scoped (Export s) l) (Scoped (GlobalSymbol symbol (sQName qn)) <$> qn) cns'+ EThingWith (Scoped (Export s) l) (fmap (Scoped None) w) (Scoped (GlobalSymbol symbol (dropAnn qn)) <$> qn) cns' symbols -> scopeError (EAmbiguous qn symbols) exportSpec -- FIXME ambiguity check EModuleContents _ modulename -> Scoped (Export exportedSymbols) <$> exportSpec where@@ -96,11 +93,11 @@ exportedSymbols = Set.toList (Set.intersection inScopeQualified inScopeUnqualified) inScopeQualified = Set.fromList (do- (UnAnn.Qual prefix _, symbols) <- Map.toList globalTable- guard (prefix == sModuleName modulename)+ (Qual _ prefix _, symbols) <- Map.toList globalTable+ guard (prefix == dropAnn modulename) symbols) inScopeUnqualified = Set.fromList (do- (UnAnn.UnQual _, symbols) <- Map.toList globalTable+ (UnQual _ _, symbols) <- Map.toList globalTable symbols)
src/Language/Haskell/Names/GetBound.hs view
@@ -8,8 +8,7 @@ import Data.Generics.Uniplate.Data import Data.Data -import qualified Language.Haskell.Exts as UnAnn-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Language.Haskell.Names.RecordWildcards import Language.Haskell.Names.SyntaxUtils import qualified Language.Haskell.Names.GlobalSymbolTable as Global@@ -144,7 +143,7 @@ dropExp (PViewPat _ _ x) = x dropExp x = x - getRecVars :: [UnAnn.Name] -> PatField l -> [Name l]+ getRecVars :: [Name ()] -> PatField l -> [Name l] getRecVars _ PFieldPat {} = [] -- this is already found by the generic algorithm getRecVars _ (PFieldPun _ qn) = [qNameToName qn] getRecVars elidedFields (PFieldWildcard l) = map (setAnn l . annName) elidedFields
src/Language/Haskell/Names/GlobalSymbolTable.hs view
@@ -2,12 +2,7 @@ -- | This module is designed to be imported qualified. module Language.Haskell.Names.GlobalSymbolTable where -import Language.Haskell.Exts (- QName)-import qualified Language.Haskell.Exts.Annotated as Ann (- QName)-import Language.Haskell.Exts.Annotated.Simplify (- sQName)+import Language.Haskell.Exts hiding (NewType) import Data.Map ( Map)@@ -19,9 +14,10 @@ import Data.Maybe (fromMaybe) import Language.Haskell.Names.Types+import Language.Haskell.Names.SyntaxUtils (dropAnn) -- | Global symbol table — contains names declared somewhere at the top level.-type Table = Map QName [Symbol]+type Table = Map (QName ()) [Symbol] -- | Empty global symbol table. empty :: Table@@ -31,17 +27,17 @@ mergeTables :: Table -> Table -> Table mergeTables = Map.unionWith List.union -lookupValue :: Ann.QName l -> Table -> [Symbol]+lookupValue :: QName l -> Table -> [Symbol] lookupValue qn = filter isValue . lookupName qn -lookupType :: Ann.QName l -> Table -> [Symbol]+lookupType :: QName l -> Table -> [Symbol] lookupType qn = filter isType . lookupName qn -lookupMethodOrAssociate :: Ann.QName l -> Table -> [Symbol]+lookupMethodOrAssociate :: QName l -> Table -> [Symbol] lookupMethodOrAssociate qn = filter isMethodOrAssociated . lookupName qn -lookupName :: Ann.QName l -> Table -> [Symbol]-lookupName qn table = fromMaybe [] (Map.lookup (sQName qn) table)+lookupName :: QName l -> Table -> [Symbol]+lookupName qn table = fromMaybe [] (Map.lookup (dropAnn qn) table) isValue :: Symbol -> Bool isValue symbol = case symbol of@@ -68,6 +64,6 @@ DataFam {} -> True _ -> False -fromList :: [(QName,Symbol)] -> Table+fromList :: [(QName (),Symbol)] -> Table fromList = Map.fromListWith List.union . map (second (:[]))
src/Language/Haskell/Names/Imports.hs view
@@ -13,12 +13,8 @@ import Control.Monad.Writer import Data.Map as Map (lookup)-import qualified Language.Haskell.Exts as UnAnn (- ModuleName(ModuleName))-import Language.Haskell.Exts.Annotated.Simplify (- sName,sModuleName)-import Language.Haskell.Exts.Annotated (- Module(Module), ModuleName,ImportDecl(..),+import Language.Haskell.Exts (+ Module(Module), ModuleName(ModuleName), ImportDecl(..), ann,ImportSpecList(..),ImportSpec(..),Name(..), Annotated) import Language.Haskell.Exts.Extension (@@ -46,26 +42,26 @@ DisableExtension ImplicitPrelude `elem` extensions || isPreludeImported isPreludeImported = not (null (do importDecl <- importDecls- guard (sModuleName (importModule importDecl) == preludeModuleName)))+ guard (dropAnn (importModule importDecl) == preludeModuleName))) preludeSymbols = fromMaybe [] (Map.lookup preludeModuleName environment) (_, extensions) = getModuleExtensions modul -preludeModuleName :: UnAnn.ModuleName-preludeModuleName = UnAnn.ModuleName "Prelude"+preludeModuleName :: ModuleName ()+preludeModuleName = ModuleName () "Prelude" importDeclTable :: Environment -> ImportDecl l -> Global.Table importDeclTable environment importDecl = computeSymbolTable isQualified moduleName importSymbols where ImportDecl _ importModuleName isQualified _ _ _ maybeAs maybeImportSpecList = importDecl- moduleName = sModuleName (fromMaybe importModuleName maybeAs)+ moduleName = dropAnn (fromMaybe importModuleName maybeAs) importSymbols = case maybeImportSpecList of Nothing -> importModuleSymbols Just importSpecList -> importSpecListSymbols importModuleName importModuleSymbols importSpecList importModuleSymbols = fromMaybe [] (- Map.lookup (sModuleName importModuleName) environment)+ Map.lookup (dropAnn importModuleName) environment) importSpecListSymbols :: ModuleName l -> [Symbol] -> ImportSpecList l -> [Symbol]@@ -101,7 +97,7 @@ maybeAs maybeImportSpecList = importDecl - importDecl' = case Map.lookup (sModuleName importModuleName) environment of+ importDecl' = case Map.lookup (dropAnn importModuleName) environment of Nothing -> scopeError (EModNotFound importModuleName) importDecl Just symbols -> ImportDecl@@ -123,7 +119,7 @@ ScopeError e _ -> Import table table = computeSymbolTable isQualified qualificationName importSymbols- qualificationName = sModuleName (fromMaybe importModuleName maybeAs)+ qualificationName = dropAnn (fromMaybe importModuleName maybeAs) importSymbols = maybe symbols@@ -237,7 +233,7 @@ cns' where (~~) :: Symbol -> Name l -> Bool- symbol ~~ name = symbolName symbol == sName name+ symbol ~~ name = symbolName symbol == dropAnn name isConstructor :: Symbol -> Bool isConstructor Constructor {} = True
src/Language/Haskell/Names/LocalSymbolTable.hs view
@@ -9,23 +9,22 @@ import qualified Data.Map as Map import Data.Monoid-import Language.Haskell.Exts (Name)-import Language.Haskell.Exts.Annotated.Simplify (sName)-import qualified Language.Haskell.Exts.Annotated as Ann+import Language.Haskell.Exts+import Language.Haskell.Names.SyntaxUtils (dropAnn) import Language.Haskell.Names.Types -- | Local symbol table — contains locally bound names-newtype Table = Table (Map.Map Name Ann.SrcLoc)+newtype Table = Table (Map.Map (Name ()) SrcLoc) deriving Monoid -addValue :: Ann.SrcInfo l => Ann.Name l -> Table -> Table+addValue :: SrcInfo l => Name l -> Table -> Table addValue n (Table vs) =- Table (Map.insert (sName n) (Ann.getPointLoc $ Ann.ann n) vs)+ Table (Map.insert (dropAnn n) (getPointLoc $ ann n) vs) -lookupValue :: Ann.QName l -> Table -> Either (Error l) Ann.SrcLoc-lookupValue qn@(Ann.UnQual _ n) (Table vs) =+lookupValue :: QName l -> Table -> Either (Error l) SrcLoc+lookupValue qn@(UnQual _ n) (Table vs) = maybe (Left $ ENotInScope qn) Right $- Map.lookup (sName n) vs+ Map.lookup (dropAnn n) vs lookupValue qn _ = Left $ ENotInScope qn empty :: Table
src/Language/Haskell/Names/ModuleSymbols.hs view
@@ -10,10 +10,8 @@ import Data.Data import qualified Data.Map as Map -import qualified Language.Haskell.Exts as UnAnn (ModuleName,Name)-import Language.Haskell.Exts.Annotated hiding (NewType)-import Language.Haskell.Exts.Annotated.Simplify (sModuleName,sName)-import qualified Language.Haskell.Exts.Annotated as Syntax (DataOrNew(NewType))+import Language.Haskell.Exts hiding (DataOrNew(NewType))+import qualified Language.Haskell.Exts as Syntax (DataOrNew(NewType)) import Language.Haskell.Names.Types import qualified Language.Haskell.Names.GlobalSymbolTable as Global import Language.Haskell.Names.SyntaxUtils@@ -28,7 +26,7 @@ -> Module l -> Global.Table moduleTable impTbl m = Global.mergeTables impTbl (computeSymbolTable- False (sModuleName (getModuleName m)) (moduleSymbols impTbl m))+ False (dropAnn (getModuleName m)) (moduleSymbols impTbl m)) -- | Compute the symbols that are defined in the given module. --@@ -53,7 +51,7 @@ getTopDeclSymbols impTbl modulename d = (case d of TypeDecl _ dh _ -> [declHeadSymbol Type dh] - TypeFamDecl _ dh _ -> [TypeFam (sModuleName modulename) (sName (getDeclHeadName dh)) Nothing]+ TypeFamDecl _ dh _ _ -> [TypeFam (dropAnn modulename) (dropAnn (getDeclHeadName dh)) Nothing] DataDecl _ dataOrNew _ dh qualConDecls _ -> declHeadSymbol (dataOrNewCon dataOrNew) dh : infos where @@ -72,27 +70,27 @@ infos = constructorsToInfos modulename dq cons - DataFamDecl _ _ dh _ -> [DataFam (sModuleName modulename) (sName (getDeclHeadName dh)) Nothing]+ DataFamDecl _ _ dh _ -> [DataFam (dropAnn modulename) (dropAnn (getDeclHeadName dh)) Nothing] ClassDecl _ _ declHead _ mds -> classSymbol : typeFamilySymbols ++ dataFamilySymbols ++ methodSymbols where cdecls = fromMaybe [] mds classSymbol = declHeadSymbol Class declHead typeFamilySymbols = do- ClsTyFam _ familyHead _ <- cdecls- return (TypeFam (sModuleName modulename) (sName (getDeclHeadName familyHead)) (Just (sName (getDeclHeadName declHead))))+ ClsTyFam _ familyHead _ _ <- cdecls+ return (TypeFam (dropAnn modulename) (dropAnn (getDeclHeadName familyHead)) (Just (dropAnn (getDeclHeadName declHead)))) dataFamilySymbols = do ClsDataFam _ _ familyHead _ <- cdecls- return (DataFam (sModuleName modulename) (sName (getDeclHeadName familyHead)) (Just (sName (getDeclHeadName declHead))))+ return (DataFam (dropAnn modulename) (dropAnn (getDeclHeadName familyHead)) (Just (dropAnn (getDeclHeadName declHead)))) methodSymbols = do methodName <- getBound impTbl d- return (Method (sModuleName modulename) (sName methodName) (sName (getDeclHeadName declHead)))+ return (Method (dropAnn modulename) (dropAnn methodName) (dropAnn (getDeclHeadName declHead))) - FunBind _ ms -> [ Value (sModuleName modulename) (sName vn) ] where+ FunBind _ ms -> [ Value (dropAnn modulename) (dropAnn vn) ] where vn : _ = getBound impTbl ms - PatBind _ p _ _ -> [ Value (sModuleName modulename) (sName vn) | vn <- getBound impTbl p ]+ PatBind _ p _ _ -> [ Value (dropAnn modulename) (dropAnn vn) | vn <- getBound impTbl p ] - ForImp _ _ _ _ fn _ -> [ Value (sModuleName modulename) (sName fn)]+ ForImp _ _ _ _ fn _ -> [ Value (dropAnn modulename) (dropAnn fn)] DataInsDecl _ _ typ qualConDecls _ -> constructorsToInfos modulename (typeOuterName typ) (qualConDeclNames qualConDecls) @@ -105,7 +103,7 @@ _ -> []) where- declHeadSymbol c dh = c (sModuleName modulename) (sName (getDeclHeadName dh))+ declHeadSymbol c dh = c (dropAnn modulename) (dropAnn (getDeclHeadName dh)) -- | Takes a type name and a list of constructor names paired with selector names. Returns -- all symbols i.e. constructors and selectors.@@ -113,7 +111,7 @@ constructorsToInfos modulename typename constructors = conInfos ++ selInfos where conInfos = do (constructorname,_) <- constructors- return (Constructor (sModuleName modulename) (sName constructorname) (sName typename))+ return (Constructor (dropAnn modulename) (dropAnn constructorname) (dropAnn typename)) selectorsMap = Map.fromListWith (++) (do (constructorname,selectornames) <- constructors@@ -124,7 +122,7 @@ (_,selectornames) <- constructors selectorname <- selectornames constructornames <- maybeToList (Map.lookup (nameToString selectorname) selectorsMap)- return (Selector (sModuleName modulename) (sName selectorname) (sName typename) (map sName constructornames))+ return (Selector (dropAnn modulename) (dropAnn selectorname) (dropAnn typename) (map dropAnn constructornames)) typeOuterName :: Type l -> Name l typeOuterName t = case t of@@ -134,7 +132,7 @@ TyParen _ typ -> typeOuterName typ TyInfix _ _ qname _ -> qNameToName qname TyKind _ typ _ -> typeOuterName typ- TyBang _ _ typ -> typeOuterName typ+ TyBang _ _ _ typ -> typeOuterName typ _ -> error "illegal data family in data instance" qualConDeclNames :: [QualConDecl l] -> [(Name l,[Name l])]@@ -147,5 +145,5 @@ return (n , [f | FieldDecl _ fNames _ <- fields, f <- fNames]) -dataOrNewCon :: Syntax.DataOrNew l -> UnAnn.ModuleName -> UnAnn.Name -> Symbol+dataOrNewCon :: Syntax.DataOrNew l -> ModuleName () -> Name () -> Symbol dataOrNewCon dataOrNew = case dataOrNew of DataType {} -> Data; Syntax.NewType {} -> NewType
src/Language/Haskell/Names/Open/Base.hs view
@@ -11,8 +11,7 @@ import qualified Language.Haskell.Names.LocalSymbolTable as Local import Language.Haskell.Names.GetBound import Language.Haskell.Names.RecordWildcards-import Language.Haskell.Exts.Annotated-import qualified Language.Haskell.Exts.Syntax as UnAnn+import Language.Haskell.Exts import Control.Applicative import Control.Monad.Identity import Data.List@@ -48,18 +47,18 @@ -- If we enter an instance with a qualified class name we have to -- remember the qualification to resolve method names. data Scope = Scope- { _moduName :: UnAnn.ModuleName+ { _moduName :: ModuleName () , _gTable :: Global.Table , _lTable :: Local.Table , _nameCtx :: NameContext- , _instQual :: Maybe UnAnn.ModuleName+ , _instQual :: Maybe (ModuleName ()) , _wcNames :: WcNames } makeLens ''Scope -- | Create an initial scope-initialScope :: UnAnn.ModuleName -> Global.Table -> Scope+initialScope :: ModuleName () -> Global.Table -> Scope initialScope moduleName tbl = Scope moduleName tbl Local.empty Other Nothing [] -- | Merge local tables of two scopes. The other fields of the scopes are@@ -158,5 +157,5 @@ exprUT :: Scope -> Scope exprUT = setNameCtx ReferenceUT -instQ :: Maybe UnAnn.ModuleName -> Scope -> Scope+instQ :: Maybe (ModuleName ()) -> Scope -> Scope instQ m = setL instQual m
src/Language/Haskell/Names/Open/Derived.hs view
@@ -2,7 +2,7 @@ {-# LANGUAGE TemplateHaskell, MultiParamTypeClasses, FlexibleInstances, ConstraintKinds, UndecidableInstances #-} module Language.Haskell.Names.Open.Derived where -import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Data.Generics.Traversable.TH deriveGTraversable ''ModuleName@@ -150,3 +150,11 @@ deriveGTraversable ''PatternSynDirection deriveGTraversable ''Role++deriveGTraversable ''InjectivityInfo++deriveGTraversable ''ResultSig++deriveGTraversable ''Unpackedness++deriveGTraversable ''EWildcard
src/Language/Haskell/Names/Open/Instances.hs view
@@ -15,7 +15,7 @@ import Language.Haskell.Names.Open.Derived () import Language.Haskell.Names.GetBound import Language.Haskell.Names.RecordWildcards-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Language.Haskell.Names.SyntaxUtils import qualified Data.Data as D import Control.Applicative
src/Language/Haskell/Names/RecordWildcards.hs view
@@ -7,8 +7,6 @@ import Control.Monad import Language.Haskell.Exts-import Language.Haskell.Exts.Annotated.Simplify (sName)-import qualified Language.Haskell.Exts.Annotated as Ann import Language.Haskell.Names.Types import Language.Haskell.Names.SyntaxUtils import qualified Language.Haskell.Names.GlobalSymbolTable as Global@@ -26,9 +24,9 @@ -- | Information about a field in the wildcard data WcField = WcField- { wcFieldName :: Name+ { wcFieldName :: Name () -- ^ the field's simple name- , wcFieldModuleName :: ModuleName+ , wcFieldModuleName :: ModuleName () -- ^ the field's original name , wcExistsGlobalValue :: Bool -- ^ whether there is a global value in scope with the same name as@@ -37,14 +35,14 @@ getElidedFields :: Global.Table- -> Ann.QName l- -> [Ann.Name l] -- mentioned field names+ -> QName l+ -> [Name l] -- mentioned field names -> WcNames getElidedFields globalTable con fields = let- givenFieldNames :: Map.Map Name ()+ givenFieldNames :: Map.Map (Name ()) () givenFieldNames =- Map.fromList . map ((, ()) . sName) $ fields+ Map.fromList . map ((, ()) . dropAnn) $ fields -- FIXME must report error when the constructor cannot be -- resolved@@ -61,9 +59,9 @@ guard (conOrigName `elem` constructors) return symbol) - existsGlobalValue :: Name -> Bool+ existsGlobalValue :: Name () -> Bool existsGlobalValue name =- case Map.lookup (UnQual name) globalTable of+ case Map.lookup (UnQual () name) globalTable of Just [symbol] | Just typeOrigName <- mbTypeOrigName , Selector {} <- symbol@@ -72,7 +70,7 @@ | otherwise -> True -- exists, but not this field's selector _ -> False -- doesn't exist or ambiguous - ourFieldNames :: Map.Map Name WcField+ ourFieldNames :: Map.Map (Name ()) WcField ourFieldNames = Map.fromList (do symbol <- ourFieldInfos let name = symbolName symbol@@ -85,24 +83,24 @@ in Map.elems $ ourFieldNames `Map.difference` givenFieldNames -nameOfPatField :: Ann.PatField l -> Maybe (Ann.Name l)+nameOfPatField :: PatField l -> Maybe (Name l) nameOfPatField pf = case pf of- Ann.PFieldPat _ qn _ -> Just $ qNameToName qn- Ann.PFieldPun _ qn -> Just $ qNameToName qn- Ann.PFieldWildcard {} -> Nothing+ PFieldPat _ qn _ -> Just $ qNameToName qn+ PFieldPun _ qn -> Just $ qNameToName qn+ PFieldWildcard {} -> Nothing -nameOfUpdField :: Ann.FieldUpdate l -> Maybe (Ann.Name l)+nameOfUpdField :: FieldUpdate l -> Maybe (Name l) nameOfUpdField pf = case pf of- Ann.FieldUpdate _ qn _ -> Just $ qNameToName qn- Ann.FieldPun _ qn -> Just $ qNameToName qn- Ann.FieldWildcard {} -> Nothing+ FieldUpdate _ qn _ -> Just $ qNameToName qn+ FieldPun _ qn -> Just $ qNameToName qn+ FieldWildcard {} -> Nothing patWcNames :: Global.Table- -> Ann.QName l- -> [Ann.PatField l]+ -> QName l+ -> [PatField l] -> WcNames patWcNames gt con patfs = getElidedFields gt con $@@ -111,8 +109,8 @@ expWcNames :: Global.Table -> Local.Table- -> Ann.QName l- -> [Ann.FieldUpdate l]+ -> QName l+ -> [FieldUpdate l] -> WcNames expWcNames gt lt con patfs = filter isInScope $@@ -123,4 +121,4 @@ | Right {} <- Local.lookupValue qn lt = True | otherwise = wcExistsGlobalValue field where- qn = Ann.UnQual () (annName (wcFieldName field))+ qn = UnQual () (annName (wcFieldName field))
src/Language/Haskell/Names/Recursive.hs view
@@ -11,8 +11,7 @@ import qualified Data.Map as Map (insert) import Control.Monad.State.Strict (State, execState, get, modify)-import Language.Haskell.Exts.Annotated-import Language.Haskell.Exts.Annotated.Simplify (sModuleName)+import Language.Haskell.Exts import Language.Haskell.Names.Types import Language.Haskell.Names.SyntaxUtils@@ -50,7 +49,7 @@ findFixPoint modules = loop (replicate (length modules) []) where loop modulesSymbols = do forM_ (zip modules modulesSymbols) (\(modul, symbols) -> do- modify (Map.insert (sModuleName (getModuleName modul)) symbols))+ modify (Map.insert (dropAnn (getModuleName modul)) symbols)) environment <- get modulesSymbols' <- forM modules (\modul -> do let globalTable = moduleTable (importTable environment modul) modul@@ -74,7 +73,7 @@ maybeExports' = fmap (annotateExportSpecList globalTable) maybeExports modulePragmas' = fmap noScope modulePragmas importDecls' = annotateImportDecls moduleName environment importDecls- decls' = map (annotateDecl (initialScope (sModuleName moduleName) globalTable)) decls+ decls' = map (annotateDecl (initialScope (dropAnn moduleName) globalTable)) decls globalTable = moduleTable (importTable environment modul) modul moduleName = getModuleName modul annotate _ _ = error "annotateModule: non-standard modules are not supported"
src/Language/Haskell/Names/ScopeUtils.hs view
@@ -6,8 +6,6 @@ import Language.Haskell.Names.Types import Language.Haskell.Names.SyntaxUtils import Language.Haskell.Exts-import Language.Haskell.Exts.Annotated.Simplify (sName)-import qualified Language.Haskell.Exts.Annotated as Ann import qualified Language.Haskell.Names.GlobalSymbolTable as Global import Control.Monad (guard) import Data.List (nub)@@ -18,10 +16,10 @@ none :: l -> Scoped l none = Scoped None -noScope :: (Ann.Annotated a) => a l -> a (Scoped l)+noScope :: (Annotated a) => a l -> a (Scoped l) noScope = fmap none -symbolParent :: Symbol -> Maybe Name+symbolParent :: Symbol -> Maybe (Name ()) symbolParent (Selector { typeName = n }) = Just n symbolParent (Constructor { typeName = n }) = Just n symbolParent (Method { className = n }) = Just n@@ -35,47 +33,47 @@ -- inserted. -- -- If 'False', then both qualified and unqualified names are insterted.- -> ModuleName+ -> ModuleName () -> [Symbol] -> Global.Table computeSymbolTable qual modulename symbols = Global.fromList (qualified <> if qual then [] else unqualified) where qualified = do symbol <- symbols- return (Qual modulename (symbolName symbol),symbol)+ return (Qual ()modulename (symbolName symbol),symbol) unqualified = do symbol <- symbols- return (UnQual (symbolName symbol),symbol)+ return (UnQual () (symbolName symbol),symbol) -- | Find a single constructor or method name in a list of symbols resolveCName :: [Symbol]- -> Name- -> (Ann.CName l -> Error l) -- ^ error for "not found" condition- -> Ann.CName l- -> (Ann.CName (Scoped l), [Symbol])+ -> Name ()+ -> (CName l -> Error l) -- ^ error for "not found" condition+ -> CName l+ -> (CName (Scoped l), [Symbol]) resolveCName symbols parent notFound cn = let vs = nub (do symbol <- symbols guard (Global.isValue symbol) let name = symbolName symbol- guard (sName (unCName cn) == name)+ guard (dropAnn (unCName cn) == name) Just p <- return $ symbolParent symbol guard (p == parent) return symbol) in case vs of [] -> (scopeError (notFound cn) cn, [])- [symbol] -> (Scoped (GlobalSymbol symbol (UnQual (sName (unCName cn)))) <$> cn, [symbol])+ [symbol] -> (Scoped (GlobalSymbol symbol (UnQual () (dropAnn (unCName cn)))) <$> cn, [symbol]) _ -> (scopeError (EInternal "resolveCName") cn, []) -- | Find a list of constructor or method names in a list of symbols. resolveCNames :: [Symbol]- -> Name- -> (Ann.CName l -> Error l) -- ^ error for "not found" condition- -> [Ann.CName l]- -> ([Ann.CName (Scoped l)], [Symbol])+ -> Name ()+ -> (CName l -> Error l) -- ^ error for "not found" condition+ -> [CName l]+ -> ([CName (Scoped l)], [Symbol]) resolveCNames syms orig notFound = second mconcat . unzip . map (resolveCName syms orig notFound)
src/Language/Haskell/Names/SyntaxUtils.hs view
@@ -26,8 +26,7 @@ import Data.Either import Data.Foldable hiding (elem) import qualified Data.Set as Set-import qualified Language.Haskell.Exts as UnAnn-import Language.Haskell.Exts.Annotated+import Language.Haskell.Exts import Language.Haskell.Names.Types dropAnn :: (Functor a) => a l -> a ()@@ -36,17 +35,16 @@ setAnn :: (Functor a) => l' -> a l -> a l' setAnn l = fmap (const l) -annName :: UnAnn.Name -> Name ()-annName (UnAnn.Ident n) = Ident () n-annName (UnAnn.Symbol n) = Symbol () n+annName :: a -> a+annName = id -nameQualification :: QName l -> Maybe UnAnn.ModuleName+nameQualification :: QName l -> Maybe (ModuleName ()) nameQualification (UnQual _ _) = Nothing nameQualification (Special _ _) = Nothing nameQualification (Qual _ (ModuleName _ moduleName) _) =- Just (UnAnn.ModuleName moduleName)+ Just (ModuleName () moduleName) getModuleName :: Module l -> ModuleName l getModuleName (Module _ (Just (ModuleHead _ mn _ _)) _ _ _) = mn@@ -90,7 +88,7 @@ getDeclHead :: Decl l -> Maybe (DeclHead l) getDeclHead (TypeDecl _ dhead _) = Just dhead-getDeclHead (TypeFamDecl _ dhead _) = Just dhead+getDeclHead (TypeFamDecl _ dhead _ _) = Just dhead getDeclHead (DataDecl _ _ _ dhead _ _) = Just dhead getDeclHead (GDataDecl _ _ _ dhead _ _ _) = Just dhead getDeclHead (DataFamDecl _ _ dhead _) = Just dhead@@ -109,7 +107,7 @@ isTypeDecl :: Decl l -> Bool isTypeDecl (TypeDecl _ _ _) = True-isTypeDecl (TypeFamDecl _ _ _) = True+isTypeDecl (TypeFamDecl _ _ _ _) = True isTypeDecl (DataDecl _ _ _ _ _ _) = True isTypeDecl (GDataDecl _ _ _ _ _ _ _) = True isTypeDecl (DataFamDecl _ _ _ _) = True
src/Language/Haskell/Names/Types.hs view
@@ -3,7 +3,6 @@ module Language.Haskell.Names.Types where import Language.Haskell.Exts-import qualified Language.Haskell.Exts.Annotated as Ann import Data.Typeable import Data.Data import Data.Foldable as F@@ -16,65 +15,65 @@ -- declared in and its name. data Symbol = Value- { symbolModule :: ModuleName- , symbolName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name () } -- ^ value or function | Method- { symbolModule :: ModuleName- , symbolName :: Name- , className :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name ()+ , className :: Name () } -- ^ class method | Selector- { symbolModule :: ModuleName- , symbolName :: Name- , typeName :: Name- , constructors :: [Name]+ { symbolModule :: ModuleName ()+ , symbolName :: Name ()+ , typeName :: Name ()+ , constructors :: [Name ()] } -- ^ record field selector | Constructor- { symbolModule :: ModuleName- , symbolName :: Name- , typeName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name ()+ , typeName :: Name () } -- ^ data constructor | Type- { symbolModule :: ModuleName- , symbolName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name () } -- ^ type synonym | Data- { symbolModule :: ModuleName- , symbolName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name () } -- ^ data type | NewType- { symbolModule :: ModuleName- , symbolName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name () } -- ^ newtype | TypeFam- { symbolModule :: ModuleName- , symbolName :: Name- , associate :: Maybe Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name ()+ , associate :: Maybe (Name ()) } -- ^ type family | DataFam- { symbolModule :: ModuleName- , symbolName :: Name- , associate :: Maybe Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name ()+ , associate :: Maybe (Name ()) } -- ^ data family | Class- { symbolModule :: ModuleName- , symbolName :: Name+ { symbolModule :: ModuleName ()+ , symbolName :: Name () } -- ^ type class deriving (Eq, Ord, Show, Data, Typeable) -- | A map from module name to list of symbols it exports.-type Environment = Map ModuleName [Symbol]+type Environment = Map (ModuleName ()) [Symbol] -- | A pair of the name information and original annotation. Used as an -- annotation type for AST.@@ -83,7 +82,7 @@ -- | Information about the names used in an AST. data NameInfo l- = GlobalSymbol Symbol QName+ = GlobalSymbol Symbol (QName ()) -- ^ global entitiy and the way it is referenced | LocalValue SrcLoc -- ^ local value, and location where it is bound@@ -93,7 +92,7 @@ -- ^ here the value name is bound | TypeBinder -- ^ here the type name is defined- | Import (Map QName [Symbol])+ | Import (Map (QName ()) [Symbol]) -- ^ @import@ declaration, and the table of symbols that it -- introduces | ImportPart [Symbol]@@ -103,7 +102,7 @@ | RecPatWildcard [Symbol] -- ^ wildcard in a record pattern. The list contains resolved names -- of the fields that are brought in scope by this pattern.- | RecExpWildcard [(Name, NameInfo l)]+ | RecExpWildcard [(Name (), NameInfo l)] -- ^ wildcard in a record construction expression. The list contains -- resolved names of the fields and information about values -- assigned to those fields.@@ -115,18 +114,18 @@ -- | Errors during name resolution. data Error l- = ENotInScope (Ann.QName l) -- FIXME annotate with namespace (types/values)+ = ENotInScope (QName l) -- FIXME annotate with namespace (types/values) -- ^ name is not in scope- | EAmbiguous (Ann.QName l) [Symbol]+ | EAmbiguous (QName l) [Symbol] -- ^ name is ambiguous- | ETypeAsClass (Ann.QName l)+ | ETypeAsClass (QName l) -- ^ type is used where a type class is expected- | EClassAsType (Ann.QName l)+ | EClassAsType (QName l) -- ^ type class is used where a type is expected | ENotExported- (Maybe (Ann.Name l)) --- (Ann.Name l) --- (Ann.ModuleName l)+ (Maybe (Name l)) --+ (Name l) --+ (ModuleName l) -- ^ Attempt to explicitly import a name which is not exported (or, -- possibly, does not even exist). For example: --@@ -139,7 +138,7 @@ -- 2. the name which is not exported -- -- 3. the module which does not export the name- | EModNotFound (Ann.ModuleName l)+ | EModNotFound (ModuleName l) -- ^ module not found | EInternal String -- ^ internal error@@ -152,7 +151,7 @@ -- | Display an error. -- -- Note: can span multiple lines; the trailing newline is included.-ppError :: Ann.SrcInfo l => Error l -> String+ppError :: SrcInfo l => Error l -> String ppError e = case e of ENotInScope qn -> printf "%s: not in scope: %s\n"@@ -185,16 +184,16 @@ EInternal s -> printf "Internal error: %s\n" s where- ppLoc :: (Ann.Annotated a, Ann.SrcInfo l) => a l -> String- ppLoc = prettyPrint . Ann.getPointLoc . Ann.ann+ ppLoc :: (Annotated a, SrcInfo l) => a l -> String+ ppLoc = prettyPrint . getPointLoc . ann -instance (Ann.SrcInfo l) => Ann.SrcInfo (Scoped l) where- toSrcInfo l1 ss l2 = Scoped None $ Ann.toSrcInfo l1 ss l2- fromSrcInfo = Scoped None . Ann.fromSrcInfo- getPointLoc = Ann.getPointLoc . sLoc- fileName = Ann.fileName . sLoc- startLine = Ann.startLine . sLoc- startColumn = Ann.startColumn . sLoc+instance (SrcInfo l) => SrcInfo (Scoped l) where+ toSrcInfo l1 ss l2 = Scoped None $ toSrcInfo l1 ss l2+ fromSrcInfo = Scoped None . fromSrcInfo+ getPointLoc = getPointLoc . sLoc+ fileName = fileName . sLoc+ startLine = startLine . sLoc+ startColumn = startColumn . sLoc sLoc :: Scoped l -> l sLoc (Scoped _ l) = l
+ tests/environment/Prelude.symbols.golden view
@@ -0,0 +1,1 @@+[{"name":"Bool","module":"GHC.Types","entity":"data"},{"name":"False","module":"GHC.Types","type":"Bool","entity":"constructor"},{"name":"True","module":"GHC.Types","type":"Bool","entity":"constructor"},{"name":"&&","module":"GHC.Classes","entity":"value"},{"name":"||","module":"GHC.Classes","entity":"value"},{"name":"not","module":"GHC.Classes","entity":"value"},{"name":"otherwise","module":"GHC.Base","entity":"value"},{"name":"Maybe","module":"Data.Maybe","entity":"data"},{"name":"Nothing","module":"Data.Maybe","type":"Maybe","entity":"constructor"},{"name":"Just","module":"Data.Maybe","type":"Maybe","entity":"constructor"},{"name":"maybe","module":"Data.Maybe","entity":"value"},{"name":"Either","module":"Data.Either","entity":"data"},{"name":"Left","module":"Data.Either","type":"Either","entity":"constructor"},{"name":"Right","module":"Data.Either","type":"Either","entity":"constructor"},{"name":"either","module":"Data.Either","entity":"value"},{"name":"Ordering","module":"GHC.Types","entity":"data"},{"name":"LT","module":"GHC.Types","type":"Ordering","entity":"constructor"},{"name":"EQ","module":"GHC.Types","type":"Ordering","entity":"constructor"},{"name":"GT","module":"GHC.Types","type":"Ordering","entity":"constructor"},{"name":"Char","module":"GHC.Types","entity":"data"},{"name":"String","module":"GHC.Base","entity":"type"},{"name":"fst","module":"Data.Tuple","entity":"value"},{"name":"snd","module":"Data.Tuple","entity":"value"},{"name":"curry","module":"Data.Tuple","entity":"value"},{"name":"uncurry","module":"Data.Tuple","entity":"value"},{"name":"Eq","module":"GHC.Classes","entity":"class"},{"name":"==","module":"GHC.Classes","entity":"method","class":"Eq"},{"name":"/=","module":"GHC.Classes","entity":"method","class":"Eq"},{"name":"Ord","module":"GHC.Classes","entity":"class"},{"name":"compare","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":"<","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":"<=","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":">=","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":">","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":"max","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":"min","module":"GHC.Classes","entity":"method","class":"Ord"},{"name":"Enum","module":"GHC.Enum","entity":"class"},{"name":"succ","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"pred","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"toEnum","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"fromEnum","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"enumFrom","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"enumFromThen","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"enumFromTo","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"enumFromThenTo","module":"GHC.Enum","entity":"method","class":"Enum"},{"name":"Bounded","module":"GHC.Enum","entity":"class"},{"name":"minBound","module":"GHC.Enum","entity":"method","class":"Bounded"},{"name":"maxBound","module":"GHC.Enum","entity":"method","class":"Bounded"},{"name":"Int","module":"GHC.Types","entity":"data"},{"name":"Integer","module":"GHC.Integer.Type","entity":"data"},{"name":"Float","module":"GHC.Types","entity":"data"},{"name":"Double","module":"GHC.Types","entity":"data"},{"name":"Rational","module":"GHC.Real","entity":"type"},{"name":"Num","module":"GHC.Num","entity":"class"},{"name":"+","module":"GHC.Num","entity":"method","class":"Num"},{"name":"-","module":"GHC.Num","entity":"method","class":"Num"},{"name":"*","module":"GHC.Num","entity":"method","class":"Num"},{"name":"negate","module":"GHC.Num","entity":"method","class":"Num"},{"name":"abs","module":"GHC.Num","entity":"method","class":"Num"},{"name":"signum","module":"GHC.Num","entity":"method","class":"Num"},{"name":"fromInteger","module":"GHC.Num","entity":"method","class":"Num"},{"name":"Real","module":"GHC.Real","entity":"class"},{"name":"toRational","module":"GHC.Real","entity":"method","class":"Real"},{"name":"Integral","module":"GHC.Real","entity":"class"},{"name":"quot","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"rem","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"div","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"mod","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"quotRem","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"divMod","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"toInteger","module":"GHC.Real","entity":"method","class":"Integral"},{"name":"Fractional","module":"GHC.Real","entity":"class"},{"name":"/","module":"GHC.Real","entity":"method","class":"Fractional"},{"name":"recip","module":"GHC.Real","entity":"method","class":"Fractional"},{"name":"fromRational","module":"GHC.Real","entity":"method","class":"Fractional"},{"name":"Floating","module":"GHC.Float","entity":"class"},{"name":"pi","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"exp","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"log","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"sqrt","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"**","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"logBase","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"sin","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"cos","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"tan","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"asin","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"acos","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"atan","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"sinh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"cosh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"tanh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"asinh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"acosh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"atanh","module":"GHC.Float","entity":"method","class":"Floating"},{"name":"RealFrac","module":"GHC.Real","entity":"class"},{"name":"properFraction","module":"GHC.Real","entity":"method","class":"RealFrac"},{"name":"truncate","module":"GHC.Real","entity":"method","class":"RealFrac"},{"name":"round","module":"GHC.Real","entity":"method","class":"RealFrac"},{"name":"ceiling","module":"GHC.Real","entity":"method","class":"RealFrac"},{"name":"floor","module":"GHC.Real","entity":"method","class":"RealFrac"},{"name":"RealFloat","module":"GHC.Float","entity":"class"},{"name":"floatRadix","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"floatDigits","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"floatRange","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"decodeFloat","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"encodeFloat","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"exponent","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"significand","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"scaleFloat","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"isNaN","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"isInfinite","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"isDenormalized","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"isIEEE","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"isNegativeZero","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"atan2","module":"GHC.Float","entity":"method","class":"RealFloat"},{"name":"subtract","module":"GHC.Num","entity":"value"},{"name":"even","module":"GHC.Real","entity":"value"},{"name":"odd","module":"GHC.Real","entity":"value"},{"name":"gcd","module":"GHC.Real","entity":"value"},{"name":"lcm","module":"GHC.Real","entity":"value"},{"name":"^","module":"GHC.Real","entity":"value"},{"name":"^^","module":"GHC.Real","entity":"value"},{"name":"fromIntegral","module":"GHC.Real","entity":"value"},{"name":"realToFrac","module":"GHC.Real","entity":"value"},{"name":"Monad","module":"GHC.Base","entity":"class"},{"name":">>=","module":"GHC.Base","entity":"method","class":"Monad"},{"name":">>","module":"GHC.Base","entity":"method","class":"Monad"},{"name":"return","module":"GHC.Base","entity":"method","class":"Monad"},{"name":"fail","module":"GHC.Base","entity":"method","class":"Monad"},{"name":"Functor","module":"GHC.Base","entity":"class"},{"name":"fmap","module":"GHC.Base","entity":"method","class":"Functor"},{"name":"mapM","module":"Control.Monad","entity":"value"},{"name":"mapM_","module":"Control.Monad","entity":"value"},{"name":"sequence","module":"Control.Monad","entity":"value"},{"name":"sequence_","module":"Control.Monad","entity":"value"},{"name":"=<<","module":"Control.Monad","entity":"value"},{"name":"id","module":"GHC.Base","entity":"value"},{"name":"const","module":"GHC.Base","entity":"value"},{"name":".","module":"GHC.Base","entity":"value"},{"name":"flip","module":"GHC.Base","entity":"value"},{"name":"$","module":"GHC.Base","entity":"value"},{"name":"until","module":"GHC.Base","entity":"value"},{"name":"asTypeOf","module":"GHC.Base","entity":"value"},{"name":"error","module":"GHC.Err","entity":"value"},{"name":"undefined","module":"GHC.Err","entity":"value"},{"name":"seq","module":"GHC.Prim","entity":"value"},{"name":"$!","module":"Prelude","entity":"value"},{"name":"map","module":"GHC.Base","entity":"value"},{"name":"++","module":"GHC.Base","entity":"value"},{"name":"filter","module":"GHC.List","entity":"value"},{"name":"head","module":"GHC.List","entity":"value"},{"name":"last","module":"GHC.List","entity":"value"},{"name":"tail","module":"GHC.List","entity":"value"},{"name":"init","module":"GHC.List","entity":"value"},{"name":"null","module":"GHC.List","entity":"value"},{"name":"length","module":"GHC.List","entity":"value"},{"name":"!!","module":"GHC.List","entity":"value"},{"name":"reverse","module":"GHC.List","entity":"value"},{"name":"foldl","module":"GHC.List","entity":"value"},{"name":"foldl1","module":"Data.List","entity":"value"},{"name":"foldr","module":"GHC.Base","entity":"value"},{"name":"foldr1","module":"GHC.List","entity":"value"},{"name":"and","module":"GHC.List","entity":"value"},{"name":"or","module":"GHC.List","entity":"value"},{"name":"any","module":"GHC.List","entity":"value"},{"name":"all","module":"GHC.List","entity":"value"},{"name":"sum","module":"Data.List","entity":"value"},{"name":"product","module":"Data.List","entity":"value"},{"name":"concat","module":"GHC.List","entity":"value"},{"name":"concatMap","module":"GHC.List","entity":"value"},{"name":"maximum","module":"Data.List","entity":"value"},{"name":"minimum","module":"Data.List","entity":"value"},{"name":"scanl","module":"GHC.List","entity":"value"},{"name":"scanl1","module":"GHC.List","entity":"value"},{"name":"scanr","module":"GHC.List","entity":"value"},{"name":"scanr1","module":"GHC.List","entity":"value"},{"name":"iterate","module":"GHC.List","entity":"value"},{"name":"repeat","module":"GHC.List","entity":"value"},{"name":"replicate","module":"GHC.List","entity":"value"},{"name":"cycle","module":"GHC.List","entity":"value"},{"name":"take","module":"GHC.List","entity":"value"},{"name":"drop","module":"GHC.List","entity":"value"},{"name":"splitAt","module":"GHC.List","entity":"value"},{"name":"takeWhile","module":"GHC.List","entity":"value"},{"name":"dropWhile","module":"GHC.List","entity":"value"},{"name":"span","module":"GHC.List","entity":"value"},{"name":"break","module":"GHC.List","entity":"value"},{"name":"elem","module":"GHC.List","entity":"value"},{"name":"notElem","module":"GHC.List","entity":"value"},{"name":"lookup","module":"GHC.List","entity":"value"},{"name":"zip","module":"GHC.List","entity":"value"},{"name":"zip3","module":"GHC.List","entity":"value"},{"name":"zipWith","module":"GHC.List","entity":"value"},{"name":"zipWith3","module":"GHC.List","entity":"value"},{"name":"unzip","module":"GHC.List","entity":"value"},{"name":"unzip3","module":"GHC.List","entity":"value"},{"name":"lines","module":"Data.List","entity":"value"},{"name":"words","module":"Data.List","entity":"value"},{"name":"unlines","module":"Data.List","entity":"value"},{"name":"unwords","module":"Data.List","entity":"value"},{"name":"ShowS","module":"GHC.Show","entity":"type"},{"name":"Show","module":"GHC.Show","entity":"class"},{"name":"showsPrec","module":"GHC.Show","entity":"method","class":"Show"},{"name":"showList","module":"GHC.Show","entity":"method","class":"Show"},{"name":"show","module":"GHC.Show","entity":"method","class":"Show"},{"name":"shows","module":"GHC.Show","entity":"value"},{"name":"showChar","module":"GHC.Show","entity":"value"},{"name":"showString","module":"GHC.Show","entity":"value"},{"name":"showParen","module":"GHC.Show","entity":"value"},{"name":"ReadS","module":"Text.ParserCombinators.ReadP","entity":"type"},{"name":"Read","module":"GHC.Read","entity":"class"},{"name":"readsPrec","module":"GHC.Read","entity":"method","class":"Read"},{"name":"readList","module":"GHC.Read","entity":"method","class":"Read"},{"name":"reads","module":"Text.Read","entity":"value"},{"name":"readParen","module":"GHC.Read","entity":"value"},{"name":"read","module":"Text.Read","entity":"value"},{"name":"lex","module":"GHC.Read","entity":"value"},{"name":"IO","module":"GHC.Types","entity":"newtype"},{"name":"putChar","module":"System.IO","entity":"value"},{"name":"putStr","module":"System.IO","entity":"value"},{"name":"putStrLn","module":"System.IO","entity":"value"},{"name":"print","module":"System.IO","entity":"value"},{"name":"getChar","module":"System.IO","entity":"value"},{"name":"getLine","module":"System.IO","entity":"value"},{"name":"getContents","module":"System.IO","entity":"value"},{"name":"interact","module":"System.IO","entity":"value"},{"name":"FilePath","module":"GHC.IO","entity":"type"},{"name":"readFile","module":"System.IO","entity":"value"},{"name":"writeFile","module":"System.IO","entity":"value"},{"name":"appendFile","module":"System.IO","entity":"value"},{"name":"readIO","module":"System.IO","entity":"value"},{"name":"readLn","module":"System.IO","entity":"value"},{"name":"IOError","module":"GHC.IO.Exception","entity":"type"},{"name":"ioError","module":"GHC.IO.Exception","entity":"value"},{"name":"userError","module":"GHC.IO.Exception","entity":"value"}]
tests/exports/DataFamilies.hs.golden view
@@ -1,30 +1,30 @@ [ DataFam- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "Vector"+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "Vector" , associate = Nothing } , Class- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "ListLike"+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "ListLike" } , TypeFam- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "I"- , associate = Just (Ident "ListLike")+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "I"+ , associate = Just (Ident () "ListLike") } , Method- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "method1"- , className = Ident "ListLike"+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "method1"+ , className = Ident () "ListLike" } , DataFam- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "Vector"+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "Vector" , associate = Nothing } , Constructor- { symbolModule = ModuleName "DataFamilies"- , symbolName = Ident "U_Vector"- , typeName = Ident "Vector"+ { symbolModule = ModuleName () "DataFamilies"+ , symbolName = Ident () "U_Vector"+ , typeName = Ident () "Vector" } ]
tests/exports/ExportList.hs.golden view
@@ -1,3 +1,5 @@ [ Data- { symbolModule = ModuleName "ExportList" , symbolName = Ident "A" }+ { symbolModule = ModuleName () "ExportList"+ , symbolName = Ident () "A"+ } ]
tests/exports/ExportList2.hs.golden view
@@ -1,11 +1,11 @@ [ Selector- { symbolModule = ModuleName "ExportList2"- , symbolName = Ident "b"- , typeName = Ident "A"- , constructors = [ Ident "B" , Ident "A" ]+ { symbolModule = ModuleName () "ExportList2"+ , symbolName = Ident () "b"+ , typeName = Ident () "A"+ , constructors = [ Ident () "B" , Ident () "A" ] } , Value- { symbolModule = ModuleName "ExportList2"- , symbolName = Ident "c"+ { symbolModule = ModuleName () "ExportList2"+ , symbolName = Ident () "c" } ]
tests/exports/ExportListMembers.hs.golden view
@@ -1,39 +1,39 @@ [ Data- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "Foo" } , Constructor- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "Foo1"- , typeName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "Foo1"+ , typeName = Ident () "Foo" } , Constructor- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "Foo3"- , typeName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "Foo3"+ , typeName = Ident () "Foo" } , Selector- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "c"- , typeName = Ident "Foo"- , constructors = [ Ident "Foo2" ]+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "c"+ , typeName = Ident () "Foo"+ , constructors = [ Ident () "Foo2" ] } , Class- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "Bar"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "Bar" } , Method- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "x"- , className = Ident "Bar"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "x"+ , className = Ident () "Bar" } , NewType- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "N"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "N" } , Constructor- { symbolModule = ModuleName "ExportListMembers"- , symbolName = Ident "N"- , typeName = Ident "N"+ { symbolModule = ModuleName () "ExportListMembers"+ , symbolName = Ident () "N"+ , typeName = Ident () "N" } ]
tests/exports/ExportListWildcards.hs.golden view
@@ -1,50 +1,50 @@ [ Data- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "Foo" } , Constructor- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "Foo1"- , typeName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "Foo1"+ , typeName = Ident () "Foo" } , Constructor- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "Foo2"- , typeName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "Foo2"+ , typeName = Ident () "Foo" } , Constructor- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "Foo3"- , typeName = Ident "Foo"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "Foo3"+ , typeName = Ident () "Foo" } , Selector- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "c"- , typeName = Ident "Foo"- , constructors = [ Ident "Foo3" ]+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "c"+ , typeName = Ident () "Foo"+ , constructors = [ Ident () "Foo3" ] } , Class- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "Bar"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "Bar" } , Method- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "x"- , className = Ident "Bar"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "x"+ , className = Ident () "Bar" } , NewType- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "N"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "N" } , Constructor- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "N"- , typeName = Ident "N"+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "N"+ , typeName = Ident () "N" } , Selector- { symbolModule = ModuleName "ExportListWildcards"- , symbolName = Ident "unN"- , typeName = Ident "N"- , constructors = [ Ident "N" ]+ { symbolModule = ModuleName () "ExportListWildcards"+ , symbolName = Ident () "unN"+ , typeName = Ident () "N"+ , constructors = [ Ident () "N" ] } ]
tests/exports/ImplicitExportList.hs.golden view
@@ -1,3 +1,5 @@ [ Value- { symbolModule = ModuleName "Main" , symbolName = Ident "main" }+ { symbolModule = ModuleName () "Main"+ , symbolName = Ident () "main"+ } ]
tests/exports/ModuleReExport.hs.golden view
@@ -1,82 +1,82 @@ [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } , Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ]
tests/exports/Prelude.hs.golden view
@@ -1,82 +1,82 @@ [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } , Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } , Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } , Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ]
tests/exports/Rec1.hs.golden view
@@ -1,9 +1,17 @@ [ Value- { symbolModule = ModuleName "Rec1" , symbolName = Ident "rec1_1" }+ { symbolModule = ModuleName () "Rec1"+ , symbolName = Ident () "rec1_1"+ } , Value- { symbolModule = ModuleName "Rec1" , symbolName = Ident "rec1_2" }+ { symbolModule = ModuleName () "Rec1"+ , symbolName = Ident () "rec1_2"+ } , Value- { symbolModule = ModuleName "Rec2" , symbolName = Ident "rec2" }+ { symbolModule = ModuleName () "Rec2"+ , symbolName = Ident () "rec2"+ } , Value- { symbolModule = ModuleName "Rec3" , symbolName = Ident "rec3" }+ { symbolModule = ModuleName () "Rec3"+ , symbolName = Ident () "rec3"+ } ]
tests/exports/Rec2.hs.golden view
@@ -1,7 +1,13 @@ [ Value- { symbolModule = ModuleName "Rec2" , symbolName = Ident "rec2" }+ { symbolModule = ModuleName () "Rec2"+ , symbolName = Ident () "rec2"+ } , Value- { symbolModule = ModuleName "Rec1" , symbolName = Ident "rec1_1" }+ { symbolModule = ModuleName () "Rec1"+ , symbolName = Ident () "rec1_1"+ } , Value- { symbolModule = ModuleName "Rec3" , symbolName = Ident "rec3" }+ { symbolModule = ModuleName () "Rec3"+ , symbolName = Ident () "rec3"+ } ]
tests/exports/Rec3.hs.golden view
@@ -1,7 +1,13 @@ [ Value- { symbolModule = ModuleName "Rec1" , symbolName = Ident "rec1_1" }+ { symbolModule = ModuleName () "Rec1"+ , symbolName = Ident () "rec1_1"+ } , Value- { symbolModule = ModuleName "Rec1" , symbolName = Ident "rec1_2" }+ { symbolModule = ModuleName () "Rec1"+ , symbolName = Ident () "rec1_2"+ } , Value- { symbolModule = ModuleName "Rec3" , symbolName = Ident "rec3" }+ { symbolModule = ModuleName () "Rec3"+ , symbolName = Ident () "rec3"+ } ]
tests/exports/SelfReExport.hs.golden view
@@ -1,90 +1,90 @@ [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } , Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } , Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } , Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } , Value- { symbolModule = ModuleName "SelfReExport"- , symbolName = Ident "local"+ { symbolModule = ModuleName () "SelfReExport"+ , symbolName = Ident () "local" } , Data- { symbolModule = ModuleName "SelfReExport"- , symbolName = Ident "Local"+ { symbolModule = ModuleName () "SelfReExport"+ , symbolName = Ident () "Local" } ]
tests/exports/SimpleData.hs.golden view
@@ -1,8 +1,10 @@ [ Data- { symbolModule = ModuleName "SimpleData" , symbolName = Ident "A" }+ { symbolModule = ModuleName () "SimpleData"+ , symbolName = Ident () "A"+ } , Constructor- { symbolModule = ModuleName "SimpleData"- , symbolName = Ident "A"- , typeName = Ident "A"+ { symbolModule = ModuleName () "SimpleData"+ , symbolName = Ident () "A"+ , typeName = Ident () "A" } ]
tests/exports/SimpleTypes.hs.golden view
@@ -1,29 +1,29 @@ [ Data- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "A"+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "A" } , Constructor- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "B"- , typeName = Ident "A"+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "B"+ , typeName = Ident () "A" } , Selector- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "c"- , typeName = Ident "A"- , constructors = [ Ident "B" ]+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "c"+ , typeName = Ident () "A"+ , constructors = [ Ident () "B" ] } , NewType- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "G"+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "G" } , Constructor- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "H"- , typeName = Ident "G"+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "H"+ , typeName = Ident () "G" } , Type- { symbolModule = ModuleName "SimpleTypes"- , symbolName = Ident "L"+ { symbolModule = ModuleName () "SimpleTypes"+ , symbolName = Ident () "L" } ]
tests/exports/SimpleValue.hs.golden view
@@ -1,5 +1,5 @@ [ Value- { symbolModule = ModuleName "SimpleValue"- , symbolName = Ident "a"+ { symbolModule = ModuleName () "SimpleValue"+ , symbolName = Ident () "a" } ]
tests/imports/ExplicitPreludeQualified.hs.golden view
@@ -1,124 +1,126 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Class")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Class") , [ Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataType")+ , ( Qual () (ModuleName () "Prelude") (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataTypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Newtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Newtype") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( Qual (ModuleName "Prelude") (Ident "NewtypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "NewtypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "TypeSynonym")+ , ( Qual () (ModuleName () "Prelude") (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( Qual (ModuleName "Prelude") (Ident "function")+ , ( Qual () (ModuleName () "Prelude") (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method1") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector2") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "unNewtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "unNewtype") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } ] )
tests/imports/Hiding.hs.golden view
@@ -1,117 +1,118 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Constructor2")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataType")+ , ( Qual () (ModuleName () "Prelude") (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataTypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "TypeSynonym")+ , ( Qual () (ModuleName () "Prelude") (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( Qual (ModuleName "Prelude") (Ident "function")+ , ( Qual () (ModuleName () "Prelude") (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( UnQual (Ident "Constructor2")+ , ( UnQual () (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataType")+ , ( UnQual () (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataTypeWithSelectors")+ , ( UnQual () (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( UnQual (Ident "TypeSynonym")+ , ( UnQual () (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( UnQual (Ident "function")+ , ( UnQual () (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( UnQual (Ident "method2")+ , ( UnQual () (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( UnQual (Ident "selector1")+ , ( UnQual () (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )
tests/imports/ImplicitPrelude.hs.golden view
@@ -1,247 +1,249 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Class")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Class") , [ Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataType")+ , ( Qual () (ModuleName () "Prelude") (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataTypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Newtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Newtype") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( Qual (ModuleName "Prelude") (Ident "NewtypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "NewtypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "TypeSynonym")+ , ( Qual () (ModuleName () "Prelude") (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( Qual (ModuleName "Prelude") (Ident "function")+ , ( Qual () (ModuleName () "Prelude") (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method1") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector2") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "unNewtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "unNewtype") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } ] )- , ( UnQual (Ident "Class")+ , ( UnQual () (Ident () "Class") , [ Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ] )- , ( UnQual (Ident "Constructor1")+ , ( UnQual () (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "Constructor2")+ , ( UnQual () (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataType")+ , ( UnQual () (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataTypeWithSelectors")+ , ( UnQual () (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( UnQual (Ident "Newtype")+ , ( UnQual () (Ident () "Newtype") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( UnQual (Ident "NewtypeWithSelectors")+ , ( UnQual () (Ident () "NewtypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } ] )- , ( UnQual (Ident "TypeSynonym")+ , ( UnQual () (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( UnQual (Ident "function")+ , ( UnQual () (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( UnQual (Ident "method1")+ , ( UnQual () (Ident () "method1") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } ] )- , ( UnQual (Ident "method2")+ , ( UnQual () (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( UnQual (Ident "selector1")+ , ( UnQual () (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( UnQual (Ident "selector2")+ , ( UnQual () (Ident () "selector2") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( UnQual (Ident "unNewtype")+ , ( UnQual () (Ident () "unNewtype") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } ] )
tests/imports/ImportAll.hs.golden view
@@ -1,25 +1,25 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Newtype")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Newtype") , [ NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } ] )- , ( UnQual (Ident "Newtype")+ , ( UnQual () (Ident () "Newtype") , [ NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } , Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } ] )
tests/imports/ImportList.hs.golden view
@@ -1,75 +1,75 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Constructor1")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataType")+ , ( Qual () (ModuleName () "Prelude") (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Newtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Newtype") , [ NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( Qual (ModuleName "Prelude") (Ident "function")+ , ( Qual () (ModuleName () "Prelude") (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( UnQual (Ident "Constructor1")+ , ( UnQual () (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "Constructor2")+ , ( UnQual () (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataType")+ , ( UnQual () (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( UnQual (Ident "Newtype")+ , ( UnQual () (Ident () "Newtype") , [ NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( UnQual (Ident "function")+ , ( UnQual () (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )
tests/imports/SimpleImport.hs.golden view
@@ -1,247 +1,249 @@ fromList- [ ( Qual (ModuleName "Prelude") (Ident "Class")+ [ ( Qual () (ModuleName () "Prelude") (Ident () "Class") , [ Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Constructor2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataType")+ , ( Qual () (ModuleName () "Prelude") (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( Qual (ModuleName "Prelude") (Ident "DataTypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "Newtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "Newtype") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( Qual (ModuleName "Prelude") (Ident "NewtypeWithSelectors")+ , ( Qual+ () (ModuleName () "Prelude") (Ident () "NewtypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } ] )- , ( Qual (ModuleName "Prelude") (Ident "TypeSynonym")+ , ( Qual () (ModuleName () "Prelude") (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( Qual (ModuleName "Prelude") (Ident "function")+ , ( Qual () (ModuleName () "Prelude") (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method1") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "method2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector1")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "selector2")+ , ( Qual () (ModuleName () "Prelude") (Ident () "selector2") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( Qual (ModuleName "Prelude") (Ident "unNewtype")+ , ( Qual () (ModuleName () "Prelude") (Ident () "unNewtype") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } ] )- , ( UnQual (Ident "Class")+ , ( UnQual () (Ident () "Class") , [ Class- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Class" } ] )- , ( UnQual (Ident "Constructor1")+ , ( UnQual () (Ident () "Constructor1") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor1"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor1"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "Constructor2")+ , ( UnQual () (Ident () "Constructor2") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Constructor2"- , typeName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Constructor2"+ , typeName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataType")+ , ( UnQual () (Ident () "DataType") , [ Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataType"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataType" } ] )- , ( UnQual (Ident "DataTypeWithSelectors")+ , ( UnQual () (Ident () "DataTypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"- , typeName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors"+ , typeName = Ident () "DataTypeWithSelectors" } , Data- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "DataTypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "DataTypeWithSelectors" } ] )- , ( UnQual (Ident "Newtype")+ , ( UnQual () (Ident () "Newtype") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"- , typeName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype"+ , typeName = Ident () "Newtype" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "Newtype"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "Newtype" } ] )- , ( UnQual (Ident "NewtypeWithSelectors")+ , ( UnQual () (Ident () "NewtypeWithSelectors") , [ Constructor- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"- , typeName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors"+ , typeName = Ident () "NewtypeWithSelectors" } , NewType- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "NewtypeWithSelectors"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "NewtypeWithSelectors" } ] )- , ( UnQual (Ident "TypeSynonym")+ , ( UnQual () (Ident () "TypeSynonym") , [ Type- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "TypeSynonym"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "TypeSynonym" } ] )- , ( UnQual (Ident "function")+ , ( UnQual () (Ident () "function") , [ Value- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "function"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "function" } ] )- , ( UnQual (Ident "method1")+ , ( UnQual () (Ident () "method1") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method1"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method1"+ , className = Ident () "Class" } ] )- , ( UnQual (Ident "method2")+ , ( UnQual () (Ident () "method2") , [ Method- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "method2"- , className = Ident "Class"+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "method2"+ , className = Ident () "Class" } ] )- , ( UnQual (Ident "selector1")+ , ( UnQual () (Ident () "selector1") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector1"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector1"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( UnQual (Ident "selector2")+ , ( UnQual () (Ident () "selector2") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "selector2"- , typeName = Ident "DataTypeWithSelectors"- , constructors = [ Ident "DataTypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "selector2"+ , typeName = Ident () "DataTypeWithSelectors"+ , constructors = [ Ident () "DataTypeWithSelectors" ] } ] )- , ( UnQual (Ident "unNewtype")+ , ( UnQual () (Ident () "unNewtype") , [ Selector- { symbolModule = ModuleName "Prelude"- , symbolName = Ident "unNewtype"- , typeName = Ident "NewtypeWithSelectors"- , constructors = [ Ident "NewtypeWithSelectors" ]+ { symbolModule = ModuleName () "Prelude"+ , symbolName = Ident () "unNewtype"+ , typeName = Ident () "NewtypeWithSelectors"+ , constructors = [ Ident () "NewtypeWithSelectors" ] } ] )
tests/run.hs view
@@ -22,8 +22,8 @@ import Text.Printf import qualified Data.Foldable as F -import Language.Haskell.Exts.Annotated hiding (NewType)-import qualified Language.Haskell.Exts.Annotated as Syntax (DataOrNew(NewType))+import Language.Haskell.Exts hiding (DataOrNew(NewType))+import qualified Language.Haskell.Exts.Syntax as Syntax (DataOrNew(NewType)) import qualified Language.Haskell.Exts as U (ModuleName(ModuleName)) import Language.Haskell.Names import Language.Haskell.Names.Exports@@ -96,7 +96,7 @@ environmentTests = goldenTest path run where run = do baseEnvironment <- loadBase- writeSymbols out (baseEnvironment Map.! (U.ModuleName "Prelude"))+ writeSymbols out (baseEnvironment Map.! (U.ModuleName () "Prelude")) path = "tests/environment/Prelude.symbols" out = path <.> "out"