Add getFullString function to get a qualified name.
authorMatthijs Kooijman <matthijs@stdin.nl>
Tue, 13 Apr 2010 11:41:40 +0000 (13:41 +0200)
committerMatthijs Kooijman <matthijs@stdin.nl>
Tue, 13 Apr 2010 11:41:40 +0000 (13:41 +0200)
cλash/CLasH/Utils/Core/BinderTools.hs

index 8d0751b5469b623137b25ecbb300826f67b42723..cd0167517236bc090357cde3ad46bfbb0927b7fe 100644 (file)
@@ -13,6 +13,7 @@ import qualified UniqSupply
 import qualified Unique
 import qualified OccName
 import qualified Name
+import qualified Module
 import qualified Var
 import qualified SrcLoc
 import qualified IdInfo
@@ -81,3 +82,14 @@ mkFunction bndr body = do
   let newid = Var.setVarType id ty
   addGlobalBind newid body
   return newid
+
+-- Returns the full name of a NamedThing, in the forum
+-- modulename.occname
+getFullString :: Name.NamedThing a => a -> String
+getFullString thing = modstr ++ occstr
+  where
+    name    = Name.getName thing
+    modstr  = case Name.nameModule_maybe name of
+      Nothing -> ""
+      Just mod -> Module.moduleNameString (Module.moduleName mod) ++ "."
+    occstr  = Name.getOccString name