@@ -561,14 +561,19 @@ vann_match_expr(Tree, Env) ->
561561 {ann_bindings (Tree1 , Env , Bound , Free ), Bound , Free }.
562562
563563vann_maybe_expr (Tree , Env ) ->
564+ Bound = [],
564565 Body = erl_syntax :maybe_expr_body (Tree ),
565566 {B1 , {_ , Free1 }} = vann_body (Body , Env ),
566- Else = erl_syntax :maybe_expr_else (Tree ),
567- {Else1 , _ , Free2 } = vann_else_expr (Else , Env ),
568- Free = ordsets :union (Free1 , Free2 ),
569- Tree1 = rewrite (Tree , erl_syntax :maybe_expr (B1 , Else1 )),
570- Bound = [],
571- {ann_bindings (Tree1 , Env , Bound , Free ), Bound , Free }.
567+ case erl_syntax :maybe_expr_else (Tree ) of
568+ none ->
569+ Tree1 = rewrite (Tree , erl_syntax :maybe_expr (B1 )),
570+ {ann_bindings (Tree1 , Env , Bound , Free1 ), Bound , Free1 };
571+ Else ->
572+ {Else1 , _ , Free2 } = vann_else_expr (Else , Env ),
573+ Free = ordsets :union (Free1 , Free2 ),
574+ Tree1 = rewrite (Tree , erl_syntax :maybe_expr (B1 , Else1 )),
575+ {ann_bindings (Tree1 , Env , Bound , Free ), Bound , Free }
576+ end .
572577
573578vann_maybe_match_expr (Tree , Env ) ->
574579 E = erl_syntax :maybe_match_expr_body (Tree ),
0 commit comments