@@ -1,16 +1,20 @@
11{-# OPTIONS_GHC -Wall #-}
22module Transform.SafeNames (metadataModule) where
33
4−import Control.Arrow (first, (***))
4+import Control.Arrow (first, (***))
5+import Data.List (intercalate)
6+
7+import qualified Data.Set as Set
8+
9+import qualified Parse.Helpers as PHelp
510import SourceSyntax.Expression
11+import qualified SourceSyntax.Helpers as SHelp
612import SourceSyntax.Location
713import SourceSyntax.Module
814import SourceSyntax.Pattern
9−import qualified Data.Set as Set
10−import qualified Parse.Helpers as PHelp
1115
1216var :: String -> String
13−var = dereserve . deprime
17+var = intercalate "." . map (dereserve . deprime) . SHelp.splitDots
1418 where
1519 deprime = map (\c -> if c == '\'' then '$' else c)
1620 dereserve x = case Set.member x PHelp.jsReserveds of