| 823 | } |
| 824 | |
| 825 | void fx_Object_getOwnPropertyNames(txMachine* the) |
| 826 | { |
| 827 | txSlot* instance; |
| 828 | txSlot* result; |
| 829 | txSlot* array; |
| 830 | txSlot* item; |
| 831 | if ((mxArgc < 1) || (mxArgv(0)->kind == XS_UNDEFINED_KIND) || (mxArgv(0)->kind == XS_NULL_KIND)) |
| 832 | mxTypeError("invalid object"); |
| 833 | instance = fxToInstance(the, mxArgv(0)); |
| 834 | mxPush(mxArrayPrototype); |
| 835 | result = fxNewArrayInstance(the); |
| 836 | mxPullSlot(mxResult); |
| 837 | array = result->next; |
| 838 | mxBehaviorOwnKeys(the, instance, XS_EACH_NAME_FLAG, array); |
| 839 | item = array; |
| 840 | while ((item = item->next)) { |
| 841 | array->value.array.length++; |
| 842 | fxKeyAt(the, item->value.at.id, item->value.at.index, item); |
| 843 | } |
| 844 | fxCacheArray(the, result); |
| 845 | } |
| 846 | |
| 847 | void fx_Object_getOwnPropertySymbols(txMachine* the) |
| 848 | { |
nothing calls this directly
no test coverage detected