@@ -11,9 +11,7 @@ module Distribution.Solver.Types.PackageConstraint (
11
11
scopeToPackageName ,
12
12
constraintScopeMatches ,
13
13
PackageProperty (.. ),
14
- dispPackageProperty ,
15
14
PackageConstraint (.. ),
16
- dispPackageConstraint ,
17
15
showPackageConstraint ,
18
16
packageConstraintToDependency
19
17
) where
@@ -23,7 +21,7 @@ import Prelude ()
23
21
24
22
import Distribution.Package (PackageName )
25
23
import Distribution.PackageDescription (FlagAssignment , dispFlagAssignment )
26
- import Distribution.Pretty (flatStyle , pretty )
24
+ import Distribution.Pretty (flatStyle , Pretty ( pretty ) )
27
25
import Distribution.Types.PackageVersionConstraint (PackageVersionConstraint (.. ))
28
26
import Distribution.Version (VersionRange , simplifyVersionRange )
29
27
@@ -82,12 +80,11 @@ constraintScopeMatches (ScopeAnySetupQualifier pn) (Q pp pn') =
82
80
in setup pp && pn == pn'
83
81
constraintScopeMatches (ScopeAnyQualifier pn) (Q _ pn') = pn == pn'
84
82
85
- -- | Pretty-prints a constraint scope.
86
- dispConstraintScope :: ConstraintScope -> Disp. Doc
87
- dispConstraintScope (ScopeTarget pn) = pretty pn <<>> Disp. text " ." <<>> pretty pn
88
- dispConstraintScope (ScopeQualified q pn) = dispQualifier q <<>> pretty pn
89
- dispConstraintScope (ScopeAnySetupQualifier pn) = Disp. text " setup." <<>> pretty pn
90
- dispConstraintScope (ScopeAnyQualifier pn) = Disp. text " any." <<>> pretty pn
83
+ instance Pretty ConstraintScope where
84
+ pretty (ScopeTarget pn) = pretty pn <<>> Disp. text " ." <<>> pretty pn
85
+ pretty (ScopeQualified q pn) = dispQualifier q <<>> pretty pn
86
+ pretty (ScopeAnySetupQualifier pn) = Disp. text " setup." <<>> pretty pn
87
+ pretty (ScopeAnyQualifier pn) = Disp. text " any." <<>> pretty pn
91
88
92
89
-- | A package property is a logical predicate on packages.
93
90
data PackageProperty
@@ -101,32 +98,30 @@ data PackageProperty
101
98
instance Binary PackageProperty
102
99
instance Structured PackageProperty
103
100
104
- -- | Pretty-prints a package property.
105
- dispPackageProperty :: PackageProperty -> Disp. Doc
106
- dispPackageProperty (PackagePropertyVersion verrange) = pretty verrange
107
- dispPackageProperty PackagePropertyInstalled = Disp. text " installed"
108
- dispPackageProperty PackagePropertySource = Disp. text " source"
109
- dispPackageProperty (PackagePropertyFlags flags) = dispFlagAssignment flags
110
- dispPackageProperty (PackagePropertyStanzas stanzas) =
111
- Disp. hsep $ map (Disp. text . showStanza) stanzas
101
+ instance Pretty PackageProperty where
102
+ pretty (PackagePropertyVersion verrange) = pretty verrange
103
+ pretty PackagePropertyInstalled = Disp. text " installed"
104
+ pretty PackagePropertySource = Disp. text " source"
105
+ pretty (PackagePropertyFlags flags) = dispFlagAssignment flags
106
+ pretty (PackagePropertyStanzas stanzas) =
107
+ Disp. hsep $ map (Disp. text . showStanza) stanzas
112
108
113
109
-- | A package constraint consists of a scope plus a property
114
110
-- that must hold for all packages within that scope.
115
111
data PackageConstraint = PackageConstraint ConstraintScope PackageProperty
116
112
deriving (Eq , Show )
117
113
118
- -- | Pretty-prints a package constraint.
119
- dispPackageConstraint :: PackageConstraint -> Disp. Doc
120
- dispPackageConstraint (PackageConstraint scope prop) =
121
- dispConstraintScope scope <+> dispPackageProperty prop
114
+ instance Pretty PackageConstraint where
115
+ pretty (PackageConstraint scope prop) =
116
+ pretty scope <+> pretty prop
122
117
123
118
-- | Alternative textual representation of a package constraint
124
119
-- for debugging purposes (slightly more verbose than that
125
120
-- produced by 'dispPackageConstraint').
126
121
--
127
122
showPackageConstraint :: PackageConstraint -> String
128
123
showPackageConstraint pc@ (PackageConstraint scope prop) =
129
- Disp. renderStyle flatStyle . postprocess $ dispPackageConstraint pc2
124
+ Disp. renderStyle flatStyle . postprocess $ pretty pc2
130
125
where
131
126
pc2 = case prop of
132
127
PackagePropertyVersion vr ->
0 commit comments