]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - runtime/PropertyDescriptor.h
JavaScriptCore-7600.1.4.15.12.tar.gz
[apple/javascriptcore.git] / runtime / PropertyDescriptor.h
index 2c3878f578d8021bac25c318b7179c9d0cc152aa..df74d9e15af968fcf9fb2f43822c2806c88b616a 100644 (file)
@@ -26,7 +26,7 @@
 #ifndef PropertyDescriptor_h
 #define PropertyDescriptor_h
 
-#include "JSValue.h"
+#include "JSCJSValue.h"
 
 namespace JSC {
     class GetterSetter;
@@ -41,6 +41,15 @@ namespace JSC {
             , m_seenAttributes(0)
         {
         }
+        PropertyDescriptor(JSValue value, unsigned attributes)
+            : m_value(value)
+            , m_attributes(attributes)
+            , m_seenAttributes(EnumerablePresent | ConfigurablePresent | WritablePresent)
+        {
+            ASSERT(m_value);
+            ASSERT(!m_value.isGetterSetter());
+            ASSERT(!m_value.isCustomGetterSetter());
+        }
         JS_EXPORT_PRIVATE bool writable() const;
         JS_EXPORT_PRIVATE bool enumerable() const;
         JS_EXPORT_PRIVATE bool configurable() const;
@@ -55,7 +64,8 @@ namespace JSC {
         JSObject* setterObject() const;
         JS_EXPORT_PRIVATE void setUndefined();
         JS_EXPORT_PRIVATE void setDescriptor(JSValue value, unsigned attributes);
-        void setAccessorDescriptor(GetterSetter* accessor, unsigned attributes);
+        JS_EXPORT_PRIVATE void setCustomDescriptor(unsigned attributes);
+        JS_EXPORT_PRIVATE void setAccessorDescriptor(GetterSetter* accessor, unsigned attributes);
         JS_EXPORT_PRIVATE void setWritable(bool);
         JS_EXPORT_PRIVATE void setEnumerable(bool);
         JS_EXPORT_PRIVATE void setConfigurable(bool);