| 1517 | return this; |
| 1518 | } |
| 1519 | hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE |
| 1520 | { |
| 1521 | if (type->arrayType) |
| 1522 | { |
| 1523 | int size = 0; |
| 1524 | if (args.size()==1) |
| 1525 | size = args[0]->runInt(ctx); |
| 1526 | switch(type->arrayType) |
| 1527 | { |
| 1528 | case arrBool: |
| 1529 | return Array_obj<bool>::__new(size,size).mPtr; |
| 1530 | case arrUnsignedChar: |
| 1531 | return Array_obj<unsigned char>::__new(size,size).mPtr; |
| 1532 | case arrInt: |
| 1533 | return Array_obj<int>::__new(size,size).mPtr; |
| 1534 | case arrFloat: |
| 1535 | return Array_obj<Float>::__new(size,size).mPtr; |
| 1536 | case arrFloat32: |
| 1537 | return Array_obj<float>::__new(size,size).mPtr; |
| 1538 | case arrString: |
| 1539 | return Array_obj<String>::__new(size,size).mPtr; |
| 1540 | case arrAny: |
| 1541 | return cpp::VirtualArray_obj::__new(size,size).mPtr; |
| 1542 | case arrObject: |
| 1543 | return Array_obj<Dynamic>::__new(size,size).mPtr; |
| 1544 | default: |
| 1545 | return 0; |
| 1546 | } |
| 1547 | } |
| 1548 | else if (constructor) |
| 1549 | { |
| 1550 | int n = args.size(); |
| 1551 | Array< Dynamic > argList = Array_obj<Dynamic>::__new(n,n); |
| 1552 | for(int a=0;a<n;a++) |
| 1553 | argList[a].mPtr = args[a]->runObject(ctx); |
| 1554 | |
| 1555 | return constructor(argList).mPtr; |
| 1556 | } |
| 1557 | else |
| 1558 | { |
| 1559 | return type->cppiaClass->createInstance(ctx,args); |
| 1560 | } |
| 1561 | |
| 1562 | CPPIALOG("Can't create non haxe type\n"); |
| 1563 | return 0; |
| 1564 | } |
| 1565 | |
| 1566 | #ifdef CPPIA_JIT |
| 1567 | void genCode(CppiaCompiler *compiler, const JitVal &inDest,ExprType destType) HXCPP_OVERRIDE |
nothing calls this directly
no test coverage detected