Skip to content

Commit 8e7f7bf

Browse files
committed
Handle ATuple and ATupleSel in rankMethCalls
1 parent 0c37437 commit 8e7f7bf

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

src/comp/ARankMethCalls.hs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,13 +121,18 @@ class RankMethCalls ats_t where
121121
rankMethCalls :: Int -> ats_t -> (ats_t, [Id] {- local defs to rank -})
122122

123123
instance RankMethCalls AExpr where
124-
-- TODO handle ATupleSel here?
125124
rankMethCalls ver expr@(AMethCall { ameth_id = name, ae_args = args }) =
126125
let (ranked_args, defs_to_rewrite) = rankMethCalls ver args
127126
in (expr { ameth_id = rankId ver name, ae_args = ranked_args },
128127
defs_to_rewrite)
129128
rankMethCalls ver expr@(AMethValue { ameth_id = name }) =
130129
(expr { ameth_id = rankId ver name }, [])
130+
rankMethCalls ver expr@(ATuple { ae_elems = elems }) =
131+
let (ranked_elems, defs_to_rewrite) = rankMethCalls ver elems
132+
in (expr { ae_elems = ranked_elems }, defs_to_rewrite)
133+
rankMethCalls ver expr@(ATupleSel { ae_exp = e }) =
134+
let (ranked_e, defs_to_rewrite) = rankMethCalls ver e
135+
in (expr { ae_exp = ranked_e }, defs_to_rewrite)
131136
rankMethCalls ver expr@(ANoInlineFunCall { ae_args = args }) =
132137
let (ranked_args, defs_to_rewrite) = rankMethCalls ver args
133138
in (expr { ae_args = ranked_args }, defs_to_rewrite)

0 commit comments

Comments
 (0)