@@ -115,21 +115,21 @@ class LambdaLifter : public ExprMutator {
115
115
Array<Var> typed_captured_vars;
116
116
Map<Var, Expr> rebinding_map;
117
117
for (auto free_var : captured_vars) {
118
- auto var = Var (free_var->name_hint (), free_var->checked_type ());
119
- typed_captured_vars.push_back (var);
120
- rebinding_map.Set (free_var, var);
118
+ auto var = Var (free_var->name_hint (), free_var->checked_type ());
119
+ typed_captured_vars.push_back (var);
120
+ rebinding_map.Set (free_var, var);
121
121
}
122
122
123
123
if (recursive) {
124
124
if (!captured_vars.empty ()) {
125
- Array<Expr> fvs;
126
- for (auto fv : captured_vars) {
127
- fvs.push_back (fv);
128
- }
129
- lambda_map_.emplace (letrec_.back (), Call (global, fvs));
130
- } else {
131
- lambda_map_.emplace (letrec_.back (), global);
125
+ Array<Expr> fvs;
126
+ for (auto fv : captured_vars) {
127
+ fvs.push_back (fv);
132
128
}
129
+ lambda_map_.emplace (letrec_.back (), Call (global, fvs));
130
+ } else {
131
+ lambda_map_.emplace (letrec_.back (), global);
132
+ }
133
133
}
134
134
135
135
auto body = Downcast<Function>(ExprMutator::VisitExpr_ (func_node));
@@ -173,10 +173,12 @@ class LambdaLifter : public ExprMutator {
173
173
// construct the "closure" function with fully annotated arguments, no longer relying
174
174
// on type inference.
175
175
auto before = Downcast<Function>(body)->params .size ();
176
- auto rebound_body = Function (func->params , Bind (body->body , rebinding_map), func->ret_type , func->type_params , func->attrs , func->span );
176
+ auto rebound_body = Function (func->params , Bind (body->body , rebinding_map), func->ret_type ,
177
+ func->type_params , func->attrs , func->span );
177
178
auto after = Downcast<Function>(rebound_body)->params .size ();
178
179
CHECK_EQ (before, after);
179
- lifted_func = Function (typed_captured_vars, rebound_body, func->func_type_annotation (), free_type_vars);
180
+ lifted_func =
181
+ Function (typed_captured_vars, rebound_body, func->func_type_annotation (), free_type_vars);
180
182
lifted_func = MarkClosure (lifted_func);
181
183
}
182
184
0 commit comments