@@ -99,12 +99,11 @@ function gap_to_julia_internal(
9999 # if the desired result is already stored then return it
100100 recursive && recursion_dict != = nothing && haskey (recursion_dict, (obj, TT)) && return recursion_dict[(obj, TT)]
101101
102- T = eltype (TT)
103- rec = recursive && _needs_tracking_gap_to_julia (T)
104-
105102 len_list = length (obj)
106103 ret_val = TT (undef, len_list):: TT
107104
105+ T = eltype (TT)
106+ rec = recursive && _needs_tracking_gap_to_julia (T)
108107 rec_dict = recursion_info_j (TT, obj, rec, recursion_dict)
109108 recursion_dict = handle_recursion ((obj, TT), ret_val, rec, rec_dict)
110109
@@ -147,13 +146,12 @@ function gap_to_julia_internal(
147146
148147 recursive && recursion_dict != = nothing && haskey (recursion_dict, (obj, TT)) && return recursion_dict[(obj, TT)]
149148
150- T = eltype (TT)
151- rec = recursive && _needs_tracking_gap_to_julia (T)
152-
153149 elm = Wrappers. ELM_MAT
154150# T not for holes!
155151 ret_val = TT (undef, nrows, ncols):: TT
156152
153+ T = eltype (TT)
154+ rec = recursive && _needs_tracking_gap_to_julia (T)
157155 rec_dict = recursion_info_j (TT, obj, rec, recursion_dict)
158156 recursion_dict = handle_recursion ((obj, TT), ret_val, rec, rec_dict)
159157
@@ -188,18 +186,17 @@ function gap_to_julia_internal(
188186
189187 recursive && recursion_dict != = nothing && haskey (recursion_dict, (obj, TT)) && return recursion_dict[(obj, TT)]
190188
191- T = eltype (TT)
192- rec = recursive && _needs_tracking_gap_to_julia (T)
193-
194189 ret_val = TT ()
195190
191+ T = eltype (TT)
192+ rec = recursive && _needs_tracking_gap_to_julia (T)
196193 rec_dict = recursion_info_j (TT, obj, rec, recursion_dict)
197- handle_recursion ((obj, TT), ret_val, rec, rec_dict)
194+ recursion_dict = handle_recursion ((obj, TT), ret_val, rec, rec_dict)
198195
199196 for i = 1 : length (newobj)
200197 current_obj = ElmList (newobj, i)
201198 if (rec || ! (current_obj isa T)) && ! isbitstype (typeof (current_obj))
202- push! (ret_val, gap_to_julia_internal (T, current_obj, rec_dict , BoolVal (rec)))
199+ push! (ret_val, gap_to_julia_internal (T, current_obj, recursion_dict , BoolVal (rec)))
203200 else
204201 push! (ret_val, current_obj)
205202 end
@@ -246,7 +243,6 @@ function gap_to_julia_internal(
246243
247244 # Switch off recursion if none of the entry types needs recursion.
248245 rec = recursive && (_needs_tracking_gap_to_julia (S) || any (X -> _needs_tracking_gap_to_julia (X), parameters[1 : (len- 1 )]))
249-
250246 rec_dict = recursion_info_j (TT, obj, rec, recursion_dict)
251247
252248 list = [
@@ -274,7 +270,7 @@ function gap_to_julia_internal(
274270 end
275271
276272 ret_val = TT (list)
277- recursion_dict = handle_recursion ((obj, TT), ret_val, rec, rec_dict)
273+ handle_recursion ((obj, TT), ret_val, rec, rec_dict)
278274 return ret_val
279275end
280276
@@ -303,7 +299,6 @@ function gap_to_julia_internal(
303299 ret_val = TT ()
304300
305301 rec = recursive && _needs_tracking_gap_to_julia (T)
306-
307302 rec_dict = recursion_info_j (TT, obj, rec, recursion_dict)
308303 recursion_dict = handle_recursion ((obj, TT), ret_val, rec, rec_dict)
309304
0 commit comments