Changeset 37812 in webkit for trunk/JavaScriptCore/kjs/JSImmediate.h
- Timestamp:
- Oct 23, 2008, 8:55:41 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/kjs/JSImmediate.h
r37712 r37812 40 40 class UString; 41 41 42 class JSValuePtr { 43 public: 44 JSValuePtr() { } // uninitialized (not zero) 45 JSValuePtr(const JSValue* payload) : m_payload(const_cast<JSValue*>(payload)) { } 46 JSValuePtr(const JSCell*); 47 48 JSValue* payload() const { return m_payload; } 49 JSValue** payloadPtr() { return &m_payload; } 50 51 bool operator!() const { return !payload(); } 52 53 // This conversion operator allows implicit conversion to bool but not to other integer types. 54 typedef JSValue* JSValuePtr::*UnspecifiedBoolType; 55 operator UnspecifiedBoolType() const { return payload() ? &JSValuePtr::m_payload : 0; } 56 57 JSValue* operator->() const { return payload(); } 58 59 private: 60 JSValue* m_payload; 61 }; 42 typedef JSValue* JSValuePtr; 62 43 63 44 inline JSValuePtr noValue() { return static_cast<JSValue*>(0); } 64 inline void* asPointer(JSValuePtr value) { return value .payload(); }45 inline void* asPointer(JSValuePtr value) { return value; } 65 46 66 47 /* … … 322 303 static ALWAYS_INLINE uintptr_t rawValue(JSValuePtr v) 323 304 { 324 return reinterpret_cast<uintptr_t>(v .payload());305 return reinterpret_cast<uintptr_t>(v); 325 306 } 326 307
Note:
See TracChangeset
for help on using the changeset viewer.