Document code a bit better
[ghc-hetmet.git] / compiler / parser / RdrHsSyn.lhs
index 1a6b3fe..3697819 100644 (file)
@@ -515,7 +515,9 @@ checkTyClHdr (L l cxt) ty
 extractTyVars :: [LHsType RdrName] -> P [LHsTyVarBndr RdrName]
 extractTyVars tvs = collects tvs []
   where
-        -- Collect all variables (1st arg serves as an accumulator)
+        -- Collect all variables (2nd arg serves as an accumulator)
+    collect :: LHsType RdrName -> [LHsTyVarBndr RdrName]
+                               -> P [LHsTyVarBndr RdrName]
     collect (L l (HsForAllTy _ _ _ _)) =
       const $ parseError l "Forall type not allowed as type parameter"
     collect (L l (HsTyVar tv))
@@ -1021,6 +1023,7 @@ parseDImport (L loc entity) = parse0 comps
   parse2 _ _ [] = d'oh
   parse2 isStatic kind (('[':x):xs) =
      case x of
+        [] -> d'oh
         vs | last vs == ']' -> parse3 isStatic kind (init vs) xs
         _ -> d'oh
   parse2 isStatic kind xs = parse3 isStatic kind "" xs