S CGRect "origin"{CGPoint}"size"{CGSize}
S CGSize "width"f"height"f
+l c
+
+S nlist_64 "_un"(?="n_strx"I)"n_type"C"n_sect"C"n_desc"S"n_value"Q
+
l objc
F class_addIvar B#*LC*
}
void Structor_(apr_pool_t *pool, const char *name, const char *types, sig::Type *type) {
+ if (name == NULL)
+ return;
+
CYPoolTry {
if (NSMutableArray *entry = [[Bridge_ objectAtIndex:2] objectForKey:[NSString stringWithUTF8String:name]]) {
switch ([[entry objectAtIndex:0] intValue]) {
return CYCastJSValue(context, CYJSString(value));
}
-JSValueRef CYCastJSValue(JSContextRef context, id value, bool transient = true) {
+JSValueRef CYCastJSValue(JSContextRef context, id value, bool transient = false) {
return value == nil ? CYJSNull(context) : [value cy$JSValueInContext:context transient:transient];
}
case '#': type->primitive = typename_P; break;
case '(':
- type->primitive = union_P;
+ if (type->data.signature.count < 2)
+ type->primitive = struct_P;
+ else
+ type->primitive = union_P;
next = ')';
goto aggregate;
rename "data" variables to "internal"
unicode identifier support (native and \u)
object literal compilation should use numerify strings
+support unions (right now 0-1 fields parsed as struct)