Changeset 36694 in webkit for trunk/JavaScriptCore/kjs/JSObject.cpp
- Timestamp:
- Sep 19, 2008, 7:23:42 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSObject.cpp
r36693 r36694 433 433 void JSObject::getPropertyNames(ExecState* exec, PropertyNameArray& propertyNames) 434 434 { 435 m_structureID->getEnumerablePropertyNames(propertyNames); 436 437 // Add properties from the static hashtables of properties 438 for (const ClassInfo* info = classInfo(); info; info = info->parentClass) { 439 const HashTable* table = info->propHashTable(exec); 440 if (!table) 441 continue; 442 table->initializeIfNeeded(exec); 443 ASSERT(table->table); 444 int hashSizeMask = table->hashSizeMask; 445 const HashEntry* entry = table->table; 446 for (int i = 0; i <= hashSizeMask; ++i, ++entry) { 447 if (entry->key && !(entry->attributes & DontEnum)) 448 propertyNames.add(entry->key); 449 } 450 } 451 452 if (prototype()->isObject()) 453 static_cast<JSObject*>(prototype())->getPropertyNames(exec, propertyNames); 435 m_structureID->getEnumerablePropertyNames(exec, propertyNames, this); 454 436 } 455 437
Note:
See TracChangeset
for help on using the changeset viewer.