JavaScriptCore:
authormjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Oct 2005 08:05:44 +0000 (08:05 +0000)
committermjs <mjs@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Oct 2005 08:05:44 +0000 (08:05 +0000)
commitd15be4d69bca379eb58b8925b9dcfd78ac666e36
tree1eb72939d17242a7b8a3b4349a80e41c216d3bfe
parentbe1e9f3eb4790ddce1a2752b71ce5585ff858391
JavaScriptCore:

        Reviewed by Eric.

- fixed <rdar://problem/4260481> Remove Reference type from JavaScriptCore

Also fixed some bugs with for..in enumeration while I was at it. object
properties now come before prototype properties and duplicates
between object and prototype are listed only once.

        * JavaScriptCore.xcodeproj/project.pbxproj:
        * kjs/IdentifierSequencedSet.cpp: Added.
        (KJS::IdentifierSequencedSet::IdentifierSequencedSet):
        (KJS::IdentifierSequencedSet::deallocateVector):
        (KJS::IdentifierSequencedSet::~IdentifierSequencedSet):
        (KJS::IdentifierSequencedSet::insert):
        * kjs/IdentifierSequencedSet.h: Added.
        (KJS::IdentifierSequencedSetIterator::IdentifierSequencedSetIterator):
        (KJS::IdentifierSequencedSetIterator::operator*):
        (KJS::IdentifierSequencedSetIterator::operator->):
        (KJS::IdentifierSequencedSetIterator::operator++):
        (KJS::IdentifierSequencedSetIterator::operator==):
        (KJS::IdentifierSequencedSetIterator::operator!=):
        (KJS::IdentifierSequencedSet::begin):
        (KJS::IdentifierSequencedSet::end):
        (KJS::IdentifierSequencedSet::size):
        * kjs/array_instance.h:
        * kjs/array_object.cpp:
        (ArrayInstanceImp::getPropertyNames):
        (ArrayInstanceImp::setLength):
        (ArrayInstanceImp::pushUndefinedObjectsToEnd):
        * kjs/nodes.cpp:
        (ForInNode::execute):
        * kjs/nodes.h:
        * kjs/object.cpp:
        (KJS::ObjectImp::getPropertyNames):
        * kjs/object.h:
        * kjs/property_map.cpp:
        (KJS::PropertyMap::getEnumerablePropertyNames):
        (KJS::PropertyMap::getSparseArrayPropertyNames):
        * kjs/property_map.h:
        * kjs/protect.h:
        * kjs/protected_reference.h: Removed.
        * kjs/reference.cpp: Removed.
        * kjs/reference.h: Removed.
        * kjs/reference_list.cpp: Removed.
        * kjs/reference_list.h: Removed.
        * kjs/ustring.h:
        (KJS::UString::impl):
        * kxmlcore/HashSet.h:

LayoutTests:

        Reviewed by Eric.

        - test case for some fixes I made to for..in enumeration. object
properties now come before prototype properties and duplicates
between object and prototype are listed only once.

        * fast/js/for-in-expected.txt: Added.
        * fast/js/for-in.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@10744 268f45cc-cd09-0410-ab3c-d52691b4dbfc
23 files changed:
JavaScriptCore/ChangeLog
JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
JavaScriptCore/kjs/IdentifierSequencedSet.cpp [new file with mode: 0644]
JavaScriptCore/kjs/IdentifierSequencedSet.h [new file with mode: 0644]
JavaScriptCore/kjs/array_instance.h
JavaScriptCore/kjs/array_object.cpp
JavaScriptCore/kjs/nodes.cpp
JavaScriptCore/kjs/nodes.h
JavaScriptCore/kjs/object.cpp
JavaScriptCore/kjs/object.h
JavaScriptCore/kjs/property_map.cpp
JavaScriptCore/kjs/property_map.h
JavaScriptCore/kjs/protect.h
JavaScriptCore/kjs/protected_reference.h [deleted file]
JavaScriptCore/kjs/reference.cpp [deleted file]
JavaScriptCore/kjs/reference.h [deleted file]
JavaScriptCore/kjs/reference_list.cpp [deleted file]
JavaScriptCore/kjs/reference_list.h [deleted file]
JavaScriptCore/kjs/ustring.h
JavaScriptCore/kxmlcore/HashSet.h
LayoutTests/ChangeLog
LayoutTests/fast/js/for-in-expected.txt [new file with mode: 0644]
LayoutTests/fast/js/for-in.html [new file with mode: 0644]