Skip to content

Commit dae06b3

Browse files
committed
Moved PackageData and package to new file
1 parent f3a015a commit dae06b3

File tree

5 files changed

+30
-25
lines changed

5 files changed

+30
-25
lines changed

code/drasil-code/lib/Language/Drasil/Code/FileData.hs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,9 @@
22
{-# LANGUAGE FlexibleContexts #-}
33
-- | Defines the underlying data types used in the package extension.
44
module Language.Drasil.Code.FileData (FileAndContents(filePath, fileDoc),
5-
fileAndContents, hasPathAndDocToFileAndContents, PackageData(packageProg,
6-
packageAux), packageData
7-
) where
5+
fileAndContents, hasPathAndDocToFileAndContents) where
86

9-
import Text.PrettyPrint.HughesPJ (Doc, isEmpty)
7+
import Text.PrettyPrint.HughesPJ (Doc)
108
import Utils.Drasil (HasPathAndDoc(..))
119

1210
-- | The underlying data type for auxiliary files in all renderers.
@@ -22,10 +20,3 @@ instance HasPathAndDoc FileAndContents Doc where
2220

2321
hasPathAndDocToFileAndContents :: (HasPathAndDoc a Doc) => a -> FileAndContents
2422
hasPathAndDocToFileAndContents file = fileAndContents (getPath file) (getDoc file)
25-
26-
-- | The underlying data type for packages in all renderers.
27-
data PackageData a = PackD {packageProg :: a, packageAux :: [FileAndContents]}
28-
29-
-- | Constructor for package data.
30-
packageData :: a -> [FileAndContents] -> PackageData a
31-
packageData p as = PackD p (filter (not . isEmpty . fileDoc) as)

code/drasil-code/lib/Language/Drasil/Code/Imperative/GOOL/ClassInterface.hs

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,17 @@ module Language.Drasil.Code.Imperative.GOOL.ClassInterface (
88
-- Typeclasses
99
AuxiliarySym(..),
1010
-- Functions
11-
package, sampleInput, auxFromData
11+
sampleInput, auxFromData
1212
) where
1313

1414
import Text.PrettyPrint.HughesPJ (Doc)
1515

16-
import Drasil.GOOL (ProgData, onCodeList)
16+
import Drasil.GOOL (ProgData)
1717
import Language.Drasil.Printers (PrintingInformation)
1818

1919
import Language.Drasil (Expr)
2020
import Language.Drasil.Code.DataDesc (DataDesc)
21-
import Language.Drasil.Code.FileData (FileAndContents(..), PackageData,
22-
fileAndContents, packageData)
21+
import Language.Drasil.Code.FileData (FileAndContents(..), fileAndContents)
2322
import Language.Drasil.Code.FileNames (sampleInputName)
2423
import Language.Drasil.Choices (Comments, ImplementationType, Verbosity)
2524
import Language.Drasil.Code.Imperative.WriteInput (makeInputFile)
@@ -56,9 +55,6 @@ class AuxiliarySym r where
5655

5756
auxHelperDoc :: r Doc -> Doc
5857

59-
package :: (Monad r) => ProgData -> [r FileAndContents] -> r (PackageData ProgData)
60-
package p = onCodeList (packageData p)
61-
6258
sampleInput :: (Applicative r) => PrintingInformation -> DataDesc -> [Expr] ->
6359
r FileAndContents
6460
sampleInput db d sd = auxFromData sampleInputName (makeInputFile db d sd)

code/drasil-code/lib/Language/Drasil/Code/Imperative/Generator.hs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,12 @@ import Language.Drasil.Code.Imperative.Modules (genInputMod, genInputModProc,
4141
genOutputModProc, genSampleInput)
4242
import Language.Drasil.Code.Imperative.DrasilState (GenState, DrasilState(..),
4343
ScopeType(..), designLog, modExportMap, clsDefMap, genICName)
44-
import Language.Drasil.Code.Imperative.GOOL.ClassInterface (
45-
makeSds, AuxiliarySym(..), package)
44+
import Language.Drasil.Code.Imperative.GOOL.ClassInterface (makeSds,
45+
AuxiliarySym(..))
4646
import Language.Drasil.Code.Imperative.README (ReadMeInfo(..))
47-
import Language.Drasil.Code.FileData (PackageData(..), FileAndContents(..),
48-
fileAndContents, hasPathAndDocToFileAndContents)
47+
import Language.Drasil.Code.FileData (FileAndContents(..), fileAndContents,
48+
hasPathAndDocToFileAndContents)
49+
import Language.Drasil.Code.PackageData (PackageData(..), package)
4950
import Language.Drasil.Code.FileNames(sampleInputName)
5051
import Language.Drasil.Code.ExtLibImport (auxMods, imports, modExports)
5152
import Language.Drasil.Code.Lang (Lang(..))
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
module Language.Drasil.Code.PackageData (PackageData(packageProg, packageAux),
2+
package
3+
) where
4+
5+
import Language.Drasil.Code.FileData (FileAndContents(..))
6+
import Text.PrettyPrint.HughesPJ (isEmpty)
7+
import Drasil.GOOL (ProgData, onCodeList)
8+
9+
-- | The underlying data type for packages in all renderers.
10+
data PackageData a = PackD {packageProg :: a, packageAux :: [FileAndContents]}
11+
12+
-- | Constructor for package data.
13+
packageData :: a -> [FileAndContents] -> PackageData a
14+
packageData p as = PackD p (filter (not . isEmpty . fileDoc) as)
15+
16+
package :: (Monad r) => ProgData -> [r FileAndContents] -> r (PackageData ProgData)
17+
package p = onCodeList (packageData p)

code/drasil-code/lib/Language/Drasil/GOOL.hs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ module Language.Drasil.GOOL (
55
unPP, unJP, unCSP, unCPPP, unSP, unJLP
66
) where
77

8-
import Language.Drasil.Code.Imperative.GOOL.ClassInterface (AuxiliarySym(..),
9-
package)
10-
import Language.Drasil.Code.FileData (FileAndContents(..), PackageData(..))
8+
import Language.Drasil.Code.Imperative.GOOL.ClassInterface (AuxiliarySym(..))
9+
import Language.Drasil.Code.FileData (FileAndContents(..))
10+
import Language.Drasil.Code.PackageData (PackageData(..), package)
1111

1212
import Language.Drasil.Code.Imperative.GOOL.LanguageRenderer.PythonRenderer (unPP)
1313
import Language.Drasil.Code.Imperative.GOOL.LanguageRenderer.JavaRenderer (unJP)

0 commit comments

Comments
 (0)