| 261 | |
| 262 | template<typename T> |
| 263 | static hx::Object *convert(hx::Object *obj) |
| 264 | { |
| 265 | Array_obj<T> *alreadyGood = dynamic_cast<Array_obj<T> *>(obj); |
| 266 | if (alreadyGood) |
| 267 | return alreadyGood; |
| 268 | cpp::VirtualArray_obj *varray = dynamic_cast<cpp::VirtualArray_obj *>(obj); |
| 269 | if (varray) |
| 270 | { |
| 271 | return Array<T>( cpp::VirtualArray(varray) ).mPtr; |
| 272 | } |
| 273 | int n = obj->__length(); |
| 274 | Array<T> result = Array_obj<T>::__new(n,n); |
| 275 | for(int i=0;i<n;i++) |
| 276 | result[i] = obj->__GetItem(i); |
| 277 | return result.mPtr; |
| 278 | } |
| 279 | |
| 280 | |
| 281 | hx::Object *DynamicToArrayType(hx::Object *obj, ArrayType arrayType) |
no test coverage detected