remove extra task/function name traversals

This commit is contained in:
Zachary Snow 2023-11-01 23:41:29 -04:00
parent f353518184
commit 18f333524e
1 changed files with 3 additions and 10 deletions

View File

@ -786,8 +786,6 @@ traverseExprIdentsM :: Monad m => MapperM m Identifier -> MapperM m Expr
traverseExprIdentsM identMapper = fullMapper
where
fullMapper = exprMapper >=> traverseSinglyNestedExprsM fullMapper
exprMapper (Call (Ident x) args) =
identMapper x >>= \x' -> return $ Call (Ident x') args
exprMapper (Ident x) = identMapper x >>= return . Ident
exprMapper other = return other
@ -813,14 +811,9 @@ traverseLHSIdentsM identMapper = fullMapper
-- visits all identifiers in a statement
traverseStmtIdentsM :: Monad m => MapperM m Identifier -> MapperM m Stmt
traverseStmtIdentsM identMapper = fullMapper
where
fullMapper = stmtMapper
>=> traverseStmtExprsM (traverseExprIdentsM identMapper)
>=> traverseStmtLHSsM (traverseLHSIdentsM identMapper)
stmtMapper (Subroutine (Ident x) args) =
identMapper x >>= \x' -> return $ Subroutine (Ident x') args
stmtMapper other = return other
traverseStmtIdentsM identMapper =
traverseStmtExprsM (traverseExprIdentsM identMapper) >=>
traverseStmtLHSsM (traverseLHSIdentsM identMapper)
-- visits all identifiers in a declaration
traverseDeclIdentsM :: Monad m => MapperM m Identifier -> MapperM m Decl