- let (Tix inside_tix') = tix'
- let inv 0 = 1
- inv n = 0
- let tix'' = if postInvert flags
- then Tix [ TixModule m p i (map inv t)
- | TixModule m p i t <- inside_tix'
- ]
- else tix'
+ case outputFile flags of
+ "-" -> putStrLn (show tix')
+ out -> writeTix out tix'
+
+combine_main :: Flags -> [String] -> IO ()
+combine_main flags [first_file,second_file] = do
+ let f = theCombineFun (combineFun flags)
+
+ Just tix1 <- readTix first_file
+ Just tix2 <- readTix second_file
+
+ let tix = mergeTix (mergeModule flags)
+ f
+ (filterTix flags tix1)
+ (filterTix flags tix2)
+
+ case outputFile flags of
+ "-" -> putStrLn (show tix)
+ out -> writeTix out tix
+combine_main flags [] = hpcError combine_plugin $ "need exactly two .tix files to combine"
+
+map_main :: Flags -> [String] -> IO ()
+map_main flags [first_file] = do
+ let f = thePostFun (postFun flags)
+
+ Just tix <- readTix first_file
+
+ let (Tix inside_tix) = filterTix flags tix
+ let tix' = Tix [ TixModule m p i (map f t)
+ | TixModule m p i t <- inside_tix
+ ]