#include "../Internal.hpp"
struct Selector_privateData :
- CYPrivate<Selector_privateData>
+ CYRoot
{
SEL value_;
};
struct Instance :
- CYPrivate<Instance>
+ CYPrivateOld<Instance>
{
typedef unsigned Flags;
static const Flags None = 0;
namespace cy {
struct Super :
- CYPrivate<Super>
+ CYRoot
{
id value_;
Class class_;
}; }
struct Messages :
- CYPrivate<Messages>
+ CYRoot
{
+ virtual Class GetClass() const = 0;
+};
+
+struct Prototype :
+ Messages
+{
+ static constexpr const char *const Cache_ = "p";
+
Class value_;
- _finline Messages(Class value) :
+ _finline Prototype(Class value) :
value_(value)
{
}
+ Class GetClass() const override {
+ return value_;
+ }
+
+ JSValueRef GetPrototype(JSContextRef context) const;
+};
+
+struct Constructor :
+ Messages
+{
+ static constexpr const char *const Cache_ = "m";
+
+ Class value_;
+
+ _finline Constructor(Class value) :
+ value_(value)
+ {
+ }
+
+ Class GetClass() const override {
+ return value_;
+ }
+
JSValueRef GetPrototype(JSContextRef context) const;
};
struct Interior :
- CYPrivate<Interior>
+ CYRoot
{
id value_;
CYProtect owner_;