]> git.saurik.com Git - cycript.git/commitdiff
Give Global_ a className, indent the global prototype code, and fail to mark $cyq...
authorJay Freeman (saurik) <saurik@saurik.com>
Mon, 26 Apr 2010 20:52:53 +0000 (20:52 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Mon, 26 Apr 2010 20:52:53 +0000 (20:52 +0000)
Execute.cpp

index 8ac1b14657925697d8624e9c56de008a7d014a9c..6197bc9dfb08d98a1e3f08402194c2da928de441 100644 (file)
@@ -1302,6 +1302,7 @@ void CYInitializeDynamic() {
     Type_privateData::Class_ = JSClassCreate(&definition);
 
     definition = kJSClassDefinitionEmpty;
+    definition.className = "Global";
     //definition.getProperty = &Global_getProperty;
     Global_ = JSClassCreate(&definition);
 
@@ -1422,20 +1423,22 @@ extern "C" void CYSetupContext(JSGlobalContextRef context) {
     JSObjectRef all(JSObjectMake(context, All_, NULL));
     CYSetProperty(context, cycript, CYJSString("all"), all);
 
-    JSObjectRef last(NULL), curr(global);
+    if (true) {
+        JSObjectRef last(NULL), curr(global);
 
-    goto next; for (JSValueRef next;;) {
-        if (JSValueIsNull(context, next))
-            break;
-        last = curr;
-        curr = CYCastJSObject(context, next);
-      next:
-        next = JSObjectGetPrototype(context, curr);
-    }
+        goto next; for (JSValueRef next;;) {
+            if (JSValueIsNull(context, next))
+                break;
+            last = curr;
+            curr = CYCastJSObject(context, next);
+          next:
+            next = JSObjectGetPrototype(context, curr);
+        }
 
-    JSObjectSetPrototype(context, last, all);
+        JSObjectSetPrototype(context, last, all);
+    }
 
-    CYSetProperty(context, global, CYJSString("$cyq"), &$cyq);
+    CYSetProperty(context, global, CYJSString("$cyq"), &$cyq, kJSPropertyAttributeDontEnum);
 
     JSObjectRef System(JSObjectMake(context, NULL, NULL));
     CYSetProperty(context, cy, CYJSString("System"), System);