[project @ 2003-12-10 17:35:48 by simonmar]
[ghc-hetmet.git] / ghc / compiler / parser / RdrHsSyn.lhs
index 8d9e17d..01df302 100644 (file)
@@ -160,7 +160,7 @@ mkClassDecl (cxt, cname, tyvars) fds sigs mbinds
   = ClassDecl { tcdCtxt = cxt, tcdLName = cname, tcdTyVars = tyvars,
                tcdFDs = fds,  
                tcdSigs = sigs,
-               tcdMeths = mbinds,
+               tcdMeths = mbinds
                }
 
 mkTyData new_or_data (context, tname, tyvars) data_cons maybe
@@ -385,11 +385,11 @@ getMonoBind (L loc (FunBind lf@(L _ f) inf mtchs)) binds
   = go mtchs loc binds
   where
     go mtchs1 loc1 (L loc2 (ValD (FunBind f2 inf2 mtchs2)) : binds)
-       | f == unLoc f2 = go (mtchs2 ++ mtchs1) loc binds
-       -- Remember binds is reversed, so glue mtchs2 on the front
-       -- and use loc2 as the final location
+       | f == unLoc f2 = go (mtchs2++mtchs1) loc binds
        where loc = combineSrcSpans loc1 loc2
-    go mtchs1 loc binds = (L loc (FunBind lf inf mtchs1), binds)
+    go mtchs1 loc binds
+       = (L loc (FunBind lf inf (reverse mtchs1)), binds)
+       -- reverse the final matches, to get it back in the right order
 
 getMonoBind bind binds = (bind, binds)