File tree Expand file tree Collapse file tree 4 files changed +756
-760
lines changed Expand file tree Collapse file tree 4 files changed +756
-760
lines changed Original file line number Diff line number Diff line change @@ -139,32 +139,31 @@ and no_side_effect (x : J.expression) =
139
139
140
140
let no_side_effect_expression (x : J.expression ) = no_side_effect x
141
141
142
- let no_side_effect clean : Js_fold.fold =
142
+ let no_side_effect clean : Js_iter.iter =
143
143
object (self )
144
- inherit Js_fold. fold as super
144
+ inherit Js_iter. iter as super
145
145
method! statement s =
146
- if not ! clean then self else
146
+ if ! clean then
147
147
match s.statement_desc with
148
148
| Throw _
149
149
| Debugger
150
150
| Break
151
151
| Variable _
152
152
| Continue _ ->
153
- clean := false ; self
153
+ clean := false
154
154
| Exp e -> self#expression e
155
155
| Int_switch _ | String_switch _ | ForRange _
156
156
| If _ | While _ | Block _ | Return _ | Try _ -> super#statement s
157
157
method! list f x =
158
- if not ! clean then self else super#list f x
158
+ if ! clean then super#list f x
159
159
method! expression s =
160
- (if ! clean then
161
- clean := no_side_effect_expression s);
162
- self
163
- (* * only expression would cause side effec *)
160
+ if ! clean then
161
+ clean := no_side_effect_expression s
162
+ (* * only expression would cause side effec *)
164
163
end
165
164
let no_side_effect_statement st =
166
165
let clean = ref true in
167
- let _ : Js_fold.fold = (( no_side_effect clean)#statement st) in
166
+ ( no_side_effect clean)#statement st;
168
167
! clean
169
168
170
169
(* TODO: generate [fold2]
You can’t perform that action at this time.
0 commit comments