Fixed a bug where transformConstr would skip over the second of two nested definitions of array constructors

This commit is contained in:
Neil Brown 2008-05-20 23:44:32 +00:00
parent 48fbf5f3e1
commit 11588b34a3

View File

@ -218,7 +218,7 @@ transformConstr = doGeneric `ext1M` doStructured
-- name += [expr]
doStructured :: Data a => A.Structured a -> PassM (A.Structured a)
doStructured (A.Spec m (A.Specification m' n (A.IsExpr _ _ _ expr@(A.ExprConstr m'' (A.RepConstr _ t rep exp)))) scope)
= do scope' <- doGeneric scope
= do scope' <- transformConstr scope
case t of
A.Array {} ->
do indexVarSpec@(A.Specification _ indexName _) <- makeNonceVariable "array_constr_index" m'' A.Int A.VariableName A.Original