From 88c31c1e00d8a528f46aabe2e4886a78c8eedd3b Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Wed, 6 Jan 2016 19:02:40 -0800 Subject: [PATCH] Remove CYValue<> as it is no longer at all useful. --- Execute.cpp | 22 +++++++++++++--------- Internal.hpp | 27 ++++----------------------- ObjectiveC/Internal.hpp | 25 ++++++++++++++++--------- ObjectiveC/Library.mm | 2 +- 4 files changed, 34 insertions(+), 42 deletions(-) diff --git a/Execute.cpp b/Execute.cpp index 375facf..f620f38 100644 --- a/Execute.cpp +++ b/Execute.cpp @@ -238,14 +238,15 @@ struct Context : }; struct CArray : - CYValue + CYPrivate { + void *value_; CYProtect owner_; Type_privateData *type_; size_t length_; CArray(void *value, size_t length, const sig::Type &type, ffi_type *ffi, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner), type_(new(*pool_) Type_privateData(type, ffi)), length_(length) @@ -260,12 +261,13 @@ struct CArray : }; struct CString : - CYValue + CYPrivate { + char *value_; CYProtect owner_; CString(char *value, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner) { if (owner == NULL) @@ -274,20 +276,21 @@ struct CString : }; struct Pointer : - CYValue + CYPrivate { + void *value_; CYProtect owner_; Type_privateData *type_; Pointer(void *value, const sig::Type &type, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner), type_(new(*pool_) Type_privateData(type)) { } Pointer(void *value, const char *encoding, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner), type_(new(*pool_) Type_privateData(encoding)) { @@ -295,13 +298,14 @@ struct Pointer : }; struct Struct_privateData : - CYValue + CYPrivate { + void *value_; CYProtect owner_; Type_privateData *type_; Struct_privateData(void *value, const sig::Type &type, ffi_type *ffi, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner), type_(new(*pool_) Type_privateData(type, ffi)) { diff --git a/Internal.hpp b/Internal.hpp index 464fe93..b4acd18 100644 --- a/Internal.hpp +++ b/Internal.hpp @@ -117,26 +117,6 @@ struct Type_privateData : } }; -template -struct CYValue : - CYPrivate -{ - Value_ value_; - - CYValue() { - } - - CYValue(const Value_ &value) : - value_(value) - { - } - - CYValue(const CYValue &rhs) : - value_(rhs.value_) - { - } -}; - template JSClassRef CYPrivate::Class_; @@ -176,7 +156,7 @@ struct CYProtect { namespace cy { struct Functor : - CYValue + CYPrivate { private: void set() { @@ -184,12 +164,13 @@ struct Functor : } public: + void (*value_)(); bool variadic_; sig::Signature signature_; ffi_cif cif_; Functor(void (*value)(), bool variadic, const sig::Signature &signature) : - CYValue(value), + value_(value), variadic_(variadic) { sig::Copy(*pool_, signature_, signature); @@ -197,7 +178,7 @@ struct Functor : } Functor(void (*value)(), const char *encoding) : - CYValue(value), + value_(value), variadic_(false) { sig::Parse(*pool_, &signature_, encoding, &Structor_); diff --git a/ObjectiveC/Internal.hpp b/ObjectiveC/Internal.hpp index deb5e5d..356f61b 100644 --- a/ObjectiveC/Internal.hpp +++ b/ObjectiveC/Internal.hpp @@ -27,22 +27,25 @@ #include "../Internal.hpp" struct Selector_privateData : - CYValue + CYPrivate { + SEL value_; + _finline Selector_privateData(SEL value) : - CYValue(value) + value_(value) { } }; struct Instance : - CYValue + CYPrivate { typedef unsigned Flags; static const Flags None = 0; static const Flags Permanent = 1 << 0; static const Flags Uninitialized = 1 << 1; + id value_; Flags flags_; Instance(id value, Flags flags); @@ -63,22 +66,25 @@ struct Instance : namespace cy { struct Super : - CYValue + CYPrivate { + id value_; Class class_; _finline Super(id value, Class _class) : - CYValue(value), + value_(value), class_(_class) { } }; } struct Messages : - CYValue + CYPrivate { + Class value_; + _finline Messages(Class value) : - CYValue(value) + value_(value) { } @@ -86,12 +92,13 @@ struct Messages : }; struct Interior : - CYValue + CYPrivate { + id value_; CYProtect owner_; _finline Interior(id value, JSContextRef context, JSObjectRef owner) : - CYValue(value), + value_(value), owner_(context, owner) { } diff --git a/ObjectiveC/Library.mm b/ObjectiveC/Library.mm index 2309145..6f7c0e6 100644 --- a/ObjectiveC/Library.mm +++ b/ObjectiveC/Library.mm @@ -350,7 +350,7 @@ JSClassRef Instance::GetClass(id object, Flags flags) { } Instance::Instance(id value, Flags flags) : - CYValue(value), + value_(value), flags_(flags) { if (IsPermanent()); -- 2.47.2