Make PropertyNameArray and ScopeChain COMEnumVariant friendly.
* kjs/PropertyNameArray.cpp:
(KJS::PropertyNameArray::swap):
Implement PropertyNameArray::swap.
* kjs/PropertyNameArray.h:
Add ValueType typedef. Replace PropertyNameArrayIterator with
PropertyNameArray::const_iterator.
* kjs/nodes.cpp:
(KJS::ForInNode::execute):
* kjs/scope_chain.cpp:
(KJS::ScopeChain::print):
Update for changes to PropertyNameArray.
* kjs/scope_chain.h:
Add const_iterator and ValueType typedef.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28079
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2007-11-27 Anders Carlsson <andersca@apple.com>
+
+ Reviewed by Adam.
+
+ Make PropertyNameArray and ScopeChain COMEnumVariant friendly.
+
+ * kjs/PropertyNameArray.cpp:
+ (KJS::PropertyNameArray::swap):
+ Implement PropertyNameArray::swap.
+
+ * kjs/PropertyNameArray.h:
+ Add ValueType typedef. Replace PropertyNameArrayIterator with
+ PropertyNameArray::const_iterator.
+
+ * kjs/nodes.cpp:
+ (KJS::ForInNode::execute):
+ * kjs/scope_chain.cpp:
+ (KJS::ScopeChain::print):
+ Update for changes to PropertyNameArray.
+
+ * kjs/scope_chain.h:
+ Add const_iterator and ValueType typedef.
+
2007-11-27 Anders Carlsson <andersca@apple.com>
Reviewed by Darin.
m_vector.append(ident);
}
+void PropertyNameArray::swap(PropertyNameArray& other)
+{
+ m_vector.swap(other.m_vector);
+ m_set.swap(other.m_set);
+}
+
+
} // namespace KJS
namespace KJS {
- class PropertyNameArray;
-
- typedef Vector<Identifier>::const_iterator PropertyNameArrayIterator;
-
class PropertyNameArray {
public:
- typedef PropertyNameArrayIterator iterator;
+ typedef Identifier ValueType;
+ typedef Vector<Identifier>::const_iterator const_iterator;
void add(const Identifier&);
- iterator begin() const { return m_vector.begin(); }
- iterator end() const { return m_vector.end(); }
+ const_iterator begin() const { return m_vector.begin(); }
+ const_iterator end() const { return m_vector.end(); }
size_t size() const { return m_vector.size(); }
Identifier& operator[](unsigned i) { return m_vector[i]; }
const Identifier& operator[](unsigned i) const { return m_vector[i]; }
-
+
+ void swap(PropertyNameArray&);
private:
typedef HashSet<UString::Rep*, PtrHash<UString::Rep*> > IdentifierSet;
IdentifierSet m_set;
v = e->toObject(exec);
v->getPropertyNames(exec, propertyNames);
- PropertyNameArrayIterator end = propertyNames.end();
- for (PropertyNameArrayIterator it = propertyNames.begin(); it != end; ++it) {
+ PropertyNameArray::const_iterator end = propertyNames.end();
+ for (PropertyNameArray::const_iterator it = propertyNames.begin(); it != end; ++it) {
const Identifier &name = *it;
if (!v->hasProperty(exec, name))
continue;
PropertyNameArray propertyNames;
// FIXME: should pass ExecState here!
o->getPropertyNames(0, propertyNames);
- PropertyNameArrayIterator propEnd = propertyNames.end();
+ PropertyNameArray::const_iterator propEnd = propertyNames.end();
fprintf(stderr, "----- [scope %p] -----\n", o);
- for (PropertyNameArrayIterator propIter = propertyNames.begin(); propIter != propEnd; propIter++) {
+ for (PropertyNameArray::const_iterator propIter = propertyNames.begin(); propIter != propEnd; propIter++) {
Identifier name = *propIter;
fprintf(stderr, "%s, ", name.ascii());
}
class ScopeChain {
public:
+ typedef ScopeChainIterator const_iterator;
+ typedef JSObject* ValueType;
+
ScopeChain() : _node(0) { }
~ScopeChain() { deref(); }