@@ -138,16 +138,16 @@ result_t List::lastIndexOf(Variant searchElement, int32_t fromIndex, int32_t& re
138138 return 0 ;
139139}
140140
141- result_t List::push (const v8::FunctionCallbackInfo <v8::Value>& args , int32_t & retVal)
141+ result_t List::push (v8::Local <v8::Array> els , int32_t & retVal)
142142{
143143 if (m_freeze)
144144 return CHECK_ERROR (CALL_E_INVALID_CALL);
145145
146- int32_t len = args. Length ();
147- int32_t i, r ;
146+ int32_t len = els-> Length ();
147+ int32_t i;
148148
149149 for (i = 0 ; i < len; i++)
150- push (args[i], r );
150+ append (els-> Get (i) );
151151
152152 retVal = (int32_t )m_array.size ();
153153 return 0 ;
@@ -159,10 +159,10 @@ result_t List::pushArray(v8::Local<v8::Array> data)
159159 return CHECK_ERROR (CALL_E_INVALID_CALL);
160160
161161 int32_t len = data->Length ();
162- int32_t i, r ;
162+ int32_t i;
163163
164164 for (i = 0 ; i < len; i++)
165- push (data->Get (i), r );
165+ append (data->Get (i));
166166 return 0 ;
167167}
168168
@@ -180,38 +180,37 @@ result_t List::pop(Variant& retVal)
180180 return 0 ;
181181}
182182
183- result_t List::slice (int32_t start, int32_t end,
184- obj_ptr<List_base>& retVal)
183+ result_t List::slice (int32_t start, int32_t end, obj_ptr<List_base>& retVal)
185184{
186- int32_t r;
187185 if (end < 0 )
188186 end = (int32_t )m_array.size ();
189187
190- retVal = new List ();
188+ obj_ptr<List> l = new List ();
191189 while (start < end)
192- retVal->push (m_array[start++], r);
190+ l->append (m_array[start++]);
191+
192+ retVal = l;
193193
194194 return 0 ;
195195}
196196
197- result_t List::concat (const v8::FunctionCallbackInfo<v8::Value>& args,
198- obj_ptr<List_base>& retVal)
197+ result_t List::concat (v8::Local<v8::Array> lists, obj_ptr<List_base>& retVal)
199198{
200199 if (m_freeze)
201200 return CHECK_ERROR (CALL_E_INVALID_CALL);
202201
203202 obj_ptr<List> a;
204- int32_t i, len, r ;
203+ int32_t i, len;
205204
206205 a = new List ();
207206
208207 len = (int32_t )m_array.size ();
209208 for (i = 0 ; i < len; i++)
210- a->push (m_array[i], r );
209+ a->append (m_array[i]);
211210
212- len = args. Length ();
211+ len = lists-> Length ();
213212 for (i = 0 ; i < len; i++) {
214- v8::Local<v8::Value> v = args[i] ;
213+ v8::Local<v8::Value> v = lists-> Get (i) ;
215214 obj_ptr<List_base> a1 = List_base::getInstance (v);
216215
217216 if (a1) {
@@ -222,15 +221,15 @@ result_t List::concat(const v8::FunctionCallbackInfo<v8::Value>& args,
222221 Variant v1;
223222
224223 a1->_indexed_getter (i1, v1);
225- a->push (v1, r );
224+ a->append (v1);
226225 }
227226 } else if (v->IsArray ()) {
228227 int32_t i1, len1;
229228 v8::Local<v8::Array> arr = v8::Local<v8::Array>::Cast (v);
230229
231230 len1 = arr->Length ();
232231 for (i1 = 0 ; i1 < len1; i1++)
233- a->push (arr->Get (i1), r );
232+ a->append (arr->Get (i1));
234233 } else
235234 return CHECK_ERROR (CALL_E_INVALIDARG);
236235 }
@@ -296,7 +295,7 @@ result_t List::filter(v8::Local<v8::Function> func,
296295 v8::Local<v8::Value> thisArg, obj_ptr<List_base>& retVal)
297296{
298297 obj_ptr<List> a;
299- int32_t i, len, tmp ;
298+ int32_t i, len;
300299
301300 a = new List ();
302301
@@ -308,7 +307,7 @@ result_t List::filter(v8::Local<v8::Function> func,
308307 return CALL_E_JAVASCRIPT;
309308
310309 if (r->BooleanValue ())
311- a->push (m_array[i], tmp );
310+ a->append (m_array[i]);
312311 }
313312
314313 retVal = a;
@@ -336,7 +335,7 @@ result_t List::map(v8::Local<v8::Function> func,
336335 v8::Local<v8::Value> thisArg, obj_ptr<List_base>& retVal)
337336{
338337 obj_ptr<List> a;
339- int32_t i, len, tmp ;
338+ int32_t i, len;
340339
341340 a = new List ();
342341
@@ -347,7 +346,7 @@ result_t List::map(v8::Local<v8::Function> func,
347346 if (r.IsEmpty ())
348347 return CALL_E_JAVASCRIPT;
349348
350- a->push (r, tmp );
349+ a->append (r );
351350 }
352351
353352 retVal = a;
0 commit comments