X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/8d7447c170dd11c91d0a07768f32a2699177fa54..0881deb5306e45b62eb0b2d244bc5d6d73b8c0a4:/Execute.cpp?ds=inline diff --git a/Execute.cpp b/Execute.cpp index 2d77e21..8c9a48f 100644 --- a/Execute.cpp +++ b/Execute.cpp @@ -1135,6 +1135,16 @@ static JSValueRef Pointer_callAsFunction_toCYON(JSContextRef context, JSObjectRe } } CYCatch } +static JSValueRef Type_getProperty_alignment(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { + Type_privateData *internal(reinterpret_cast(JSObjectGetPrivate(object))); + return CYCastJSValue(context, internal->GetFFI()->alignment); +} + +static JSValueRef Type_getProperty_size(JSContextRef context, JSObjectRef object, JSStringRef property, JSValueRef *exception) { + Type_privateData *internal(reinterpret_cast(JSObjectGetPrivate(object))); + return CYCastJSValue(context, internal->GetFFI()->size); +} + static JSValueRef Type_callAsFunction_toString(JSContextRef context, JSObjectRef object, JSObjectRef _this, size_t count, const JSValueRef arguments[], JSValueRef *exception) { CYTry { Type_privateData *internal(reinterpret_cast(JSObjectGetPrivate(_this))); CYPool pool; @@ -1183,6 +1193,12 @@ namespace cy { JSStaticFunction const * const Functor::StaticFunctions = Functor_staticFunctions; } +static JSStaticValue Type_staticValues[3] = { + {"alignment", &Type_getProperty_alignment, NULL, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete}, + {"size", &Type_getProperty_size, NULL, kJSPropertyAttributeReadOnly | kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete}, + {NULL, NULL, NULL, 0} +}; + static JSStaticFunction Type_staticFunctions[4] = { {"toCYON", &Type_callAsFunction_toCYON, kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete}, {"toJSON", &Type_callAsFunction_toJSON, kJSPropertyAttributeDontEnum | kJSPropertyAttributeDontDelete}, @@ -1311,6 +1327,7 @@ void CYInitializeDynamic() { definition = kJSClassDefinitionEmpty; definition.className = "Type"; + definition.staticValues = Type_staticValues; definition.staticFunctions = Type_staticFunctions; definition.getProperty = &Type_getProperty; definition.callAsFunction = &Type_callAsFunction;