Don't add duplicate name hints.
[matthijs/master-project/cλash.git] / FlattenTypes.hs
index d0076636bdcd07e266215b74e92e875e4f547e17..44879d00b6683d3c54d6965aab736984091c9e6a 100644 (file)
@@ -189,12 +189,16 @@ genSignalId use ty = do
   return n
 
 -- | Add a name hint to the given signal
-addNameHint :: SignalId -> String -> FlattenState ()
-addNameHint id hint = do
+addNameHint :: String -> SignalId -> FlattenState ()
+addNameHint hint id = do
   info <- getSignalInfo id
   let hints = nameHints info
-  let hints' = (hint:hints)
-  setSignalInfo id (info {nameHints = hints'})
+  if hint `elem` hints
+    then do
+      return ()
+    else do
+      let hints' = (hint:hints)
+      setSignalInfo id (info {nameHints = hints'})
 
 -- | Returns the SignalInfo for the given signal. Errors if the signal is not
 --   known in the session.