Rollback INLINE patches
[ghc-hetmet.git] / compiler / hsSyn / HsBinds.lhs
index a9fa8e8..83273f0 100644 (file)
@@ -131,9 +131,7 @@ data HsBindLR idL idR
 
   | VarBind {  -- Dictionary binding and suchlike 
        var_id :: idL,          -- All VarBinds are introduced by the type checker
-       var_rhs :: LHsExpr idR, -- Located only for consistency
-       var_inline :: Bool      -- True <=> inline this binding regardless
-                               --      (used for implication constraints)
+       var_rhs :: LHsExpr idR  -- Located only for consistency
     }
 
   | AbsBinds {                                 -- Binds abstraction; TRANSLATION
@@ -355,6 +353,7 @@ data HsWrapper
 
   | WpLam Var                  -- \d. []       the 'd' is a type-class dictionary or coercion variable
   | WpTyLam TyVar              -- \a. []       the 'a' is a type variable (not coercion var)
+  | WpInline                   -- inline_me []   Wrap inline around the thing
 
        -- Non-empty bindings, so that the identity coercion
        -- is always exactly WpHole
@@ -375,6 +374,7 @@ pprHsWrapper it wrap =
         help it (WpLam id)    = sep [ptext (sLit "\\") <> pprBndr LambdaBind id <> dot, it]
         help it (WpTyLam tv)  = sep [ptext (sLit "/\\") <> pprBndr LambdaBind tv <> dot, it]
         help it (WpLet binds) = sep [ptext (sLit "let") <+> braces (ppr binds), it]
+        help it WpInline      = sep [ptext (sLit "_inline_me_"), it]
     in
       -- in debug mode, print the wrapper
       -- otherwise just print what's inside