summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h')
-rw-r--r--src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
index 866999d31..0de03a33b 100644
--- a/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
+++ b/src/3rdparty/webkit/JavaScriptCore/runtime/Structure.h
@@ -50,6 +50,11 @@ namespace JSC {
class Structure : public RefCounted<Structure> {
public:
+ enum ListedAttribute {
+ NonEnumerable = 1 << 1,
+ Prototype = 1 << 2
+ };
+
friend class JIT;
static PassRefPtr<Structure> create(JSValue prototype, const TypeInfo& typeInfo)
{
@@ -106,7 +111,7 @@ namespace JSC {
return get(propertyName._ustring.rep(), attributes, specificValue);
}
- void getEnumerablePropertyNames(ExecState*, PropertyNameArray&, JSObject*);
+ void getPropertyNames(ExecState*, PropertyNameArray&, JSObject*, unsigned listedAttributes = Prototype);
bool hasGetterSetterProperties() const { return m_hasGetterSetterProperties; }
void setHasGetterSetterProperties(bool hasGetterSetterProperties) { m_hasGetterSetterProperties = hasGetterSetterProperties; }
@@ -121,8 +126,8 @@ namespace JSC {
size_t put(const Identifier& propertyName, unsigned attributes, JSCell* specificValue);
size_t remove(const Identifier& propertyName);
- void getEnumerableNamesFromPropertyTable(PropertyNameArray&);
- void getEnumerableNamesFromClassInfoTable(ExecState*, const ClassInfo*, PropertyNameArray&);
+ void getNamesFromPropertyTable(PropertyNameArray&, bool includeNonEnumerable = false);
+ void getNamesFromClassInfoTable(ExecState*, const ClassInfo*, PropertyNameArray&, bool includeNonEnumerable = false);
void expandPropertyMapHashTable();
void rehashPropertyMapHashTable();