]> git.saurik.com Git - cycript.git/blobdiff - ObjectiveC/Library.mm
Instance.box should have the DontEnum attribute.
[cycript.git] / ObjectiveC / Library.mm
index 3cf9e8a0d5122a60e36a1d89ea8eac50711cad9c..742e3ef481e0b9857b012a17cb210ca9a3c80827 100644 (file)
@@ -1068,7 +1068,7 @@ NSObject *CYCopyNSObject(CYPool &pool, JSContextRef context, JSValueRef value) {
 }
 
 - (NSString *) cy$toCYON:(bool)objective {
 }
 
 - (NSString *) cy$toCYON:(bool)objective {
-    return [[self description] cy$toCYON:objective];
+    return [@"#" stringByAppendingString:[[self description] cy$toCYON:true]];
 }
 
 - (bool) cy$hasProperty:(NSString *)name {
 }
 
 - (bool) cy$hasProperty:(NSString *)name {
@@ -1109,6 +1109,19 @@ NSObject *CYCopyNSObject(CYPool &pool, JSContextRef context, JSValueRef value) {
     return [[self description] cy$toCYON:objective];
 }
 
     return [[self description] cy$toCYON:objective];
 }
 
+@end
+/* }}} */
+/* Bridge: NSSet {{{ */
+@implementation NSSet (Cycript)
+
+- (NSString *) cy$toCYON:(bool)objective {
+    NSMutableString *json([[[NSMutableString alloc] init] autorelease]);
+    [json appendString:@"[NSSet setWithArray:"];
+    [json appendString:CYCastNSCYON([self allObjects], true)];
+    [json appendString:@"]]"];
+    return json;
+}
+
 @end
 /* }}} */
 /* Bridge: NSString {{{ */
 @end
 /* }}} */
 /* Bridge: NSString {{{ */
@@ -2963,7 +2976,7 @@ void CYObjectiveC_SetupContext(JSContextRef context) { CYPoolTry {
     CYSetProperty(context, cycript, CYJSString("objc_super"), Super);
 
     JSObjectRef box(JSObjectMakeFunctionWithCallback(context, CYJSString("box"), &Instance_box_callAsFunction));
     CYSetProperty(context, cycript, CYJSString("objc_super"), Super);
 
     JSObjectRef box(JSObjectMakeFunctionWithCallback(context, CYJSString("box"), &Instance_box_callAsFunction));
-    CYSetProperty(context, Instance, CYJSString("box"), box);
+    CYSetProperty(context, Instance, CYJSString("box"), box, kJSPropertyAttributeDontEnum);
 
 #ifdef __APPLE__
     CYSetProperty(context, all, CYJSString("choose"), &choose, kJSPropertyAttributeDontEnum);
 
 #ifdef __APPLE__
     CYSetProperty(context, all, CYJSString("choose"), &choose, kJSPropertyAttributeDontEnum);