Fix warnings
authorrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Nov 2013 12:18:52 +0000 (12:18 +0000)
committerrossberg@chromium.org <rossberg@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 13 Nov 2013 12:18:52 +0000 (12:18 +0000)
R=yangguo@chromium.org
BUG=

Review URL: https://codereview.chromium.org/71373003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

include/v8.h
src/api.cc

index 6d97e19..f8ef7c1 100644 (file)
@@ -329,6 +329,8 @@ template <class T> class Handle {
   friend Handle<Boolean> False(Isolate* isolate);
   friend class Context;
   friend class HandleScope;
+  friend class Object;
+  friend class Private;
 
   V8_INLINE static Handle<T> New(Isolate* isolate, T* that);
 
index e55e0aa..65e7345 100644 (file)
@@ -3192,8 +3192,8 @@ bool v8::Object::ForceSet(v8::Handle<Value> key,
 
 
 bool v8::Object::SetPrivate(v8::Handle<Private> key, v8::Handle<Value> value) {
-  v8::Handle<Value>* key_as_value = reinterpret_cast<v8::Handle<Value>*>(&key);
-  return Set(*key_as_value, value, DontEnum);
+  return Set(v8::Handle<Value>(reinterpret_cast<Value*>(*key)),
+             value, DontEnum);
 }
 
 
@@ -3249,8 +3249,7 @@ Local<Value> v8::Object::Get(uint32_t index) {
 
 
 Local<Value> v8::Object::GetPrivate(v8::Handle<Private> key) {
-  v8::Handle<Value>* key_as_value = reinterpret_cast<v8::Handle<Value>*>(&key);
-  return Get(*key_as_value);
+  return Get(v8::Handle<Value>(reinterpret_cast<Value*>(*key)));
 }
 
 
@@ -3454,8 +3453,7 @@ bool v8::Object::Delete(v8::Handle<Value> key) {
 
 
 bool v8::Object::DeletePrivate(v8::Handle<Private> key) {
-  v8::Handle<Value>* key_as_value = reinterpret_cast<v8::Handle<Value>*>(&key);
-  return Delete(*key_as_value);
+  return Delete(v8::Handle<Value>(reinterpret_cast<Value*>(*key)));
 }
 
 
@@ -3474,8 +3472,7 @@ bool v8::Object::Has(v8::Handle<Value> key) {
 
 
 bool v8::Object::HasPrivate(v8::Handle<Private> key) {
-  v8::Handle<Value>* key_as_value = reinterpret_cast<v8::Handle<Value>*>(&key);
-  return Has(*key_as_value);
+  return Has(v8::Handle<Value>(reinterpret_cast<Value*>(*key)));
 }
 
 
@@ -6197,9 +6194,7 @@ Local<Private> v8::Private::New(
     symbol->set_name(*name);
   }
   Local<Symbol> result = Utils::ToLocal(symbol);
-  v8::Handle<Private>* result_as_private =
-      reinterpret_cast<v8::Handle<Private>*>(&result);
-  return *result_as_private;
+  return v8::Handle<Private>(reinterpret_cast<Private*>(*result));
 }