| 37 | } |
| 38 | |
| 39 | IV_LV5_INTERNAL_METHOD void GetOwnPropertyNamesMethod(const JSObject* obj, |
| 40 | Context* ctx, |
| 41 | PropertyNamesCollector* collector, |
| 42 | EnumerationMode mode) { |
| 43 | if (mode == INCLUDE_NOT_ENUMERABLE) { |
| 44 | collector->Add(symbol::length(), 0); |
| 45 | } |
| 46 | JSString* value = static_cast<const JSStringObject*>(obj)->value(); |
| 47 | for (uint32_t i = 0, len = value->size(); i < len; ++i) { |
| 48 | collector->Add(i); |
| 49 | } |
| 50 | JSObject::GetOwnPropertyNamesMethod(obj, ctx, collector, mode); |
| 51 | } |
| 52 | |
| 53 | JSString* value() const { |
| 54 | return value_; |