Skip to content

Commit

Permalink
tower-aadl: include depends in modules.
Browse files Browse the repository at this point in the history
  • Loading branch information
leepike committed Mar 28, 2015
1 parent 2504728 commit 3159e02
Showing 1 changed file with 9 additions and 9 deletions.
18 changes: 9 additions & 9 deletions tower-aadl/src/Tower/AADL/CodeGen.hs
Expand Up @@ -6,7 +6,7 @@

module Tower.AADL.CodeGen where

import qualified Ivory.Language as I
import qualified Ivory.Language as I
import qualified Ivory.Compile.C.CmdlineFrontend as C

import Ivory.Tower.AST.Monitor
Expand Down Expand Up @@ -42,20 +42,20 @@ genIvoryCode opts
where
modules = mods
++ depends
++ go mkThreadCode threads
++ go mkMonitorCode monitors
++ go (mkThreadCode depends) threads
++ go (mkMonitorCode depends) monitors
++ go mkSignalCode signals
go c cs = M.elems $ M.mapWithKey c cs

-- Note: handler code gets put into the thread by Tower front-end.
mkThreadCode :: Thread -> ThreadCode -> I.Module
mkThreadCode th
mkThreadCode :: [I.Module] -> Thread -> ThreadCode -> I.Module
mkThreadCode deps th
ThreadCode { threadcode_user = usr }
= I.package (threadName th) usr
= I.package (threadName th) (usr >> mapM_ I.depend deps)

mkMonitorCode :: Monitor -> I.ModuleDef -> I.Module
mkMonitorCode m code
= I.package (monitorName m) code
mkMonitorCode :: [I.Module] -> Monitor -> I.ModuleDef -> I.Module
mkMonitorCode deps m code
= I.package (monitorName m) (code >> mapM_ I.depend deps)

mkSignalCode :: String -> GeneratedSignal -> I.Module
mkSignalCode sigNm
Expand Down

0 comments on commit 3159e02

Please sign in to comment.