]> git.saurik.com Git - cycript.git/blobdiff - ObjectiveC/Library.mm
Remove redundant implicit NSString length property.
[cycript.git] / ObjectiveC / Library.mm
index 3a422edffc9509efddc57f6fc665f03d01950d26..0c7712e9878dc60c3263c32176b7f319a2942404 100644 (file)
@@ -1045,9 +1045,6 @@ NSObject *CYCopyNSObject(apr_pool_t *pool, JSContextRef context, JSValueRef valu
 }
 
 - (bool) cy$hasProperty:(NSString *)name {
-    if ([name isEqualToString:@"length"])
-        return true;
-
     size_t index(CYGetIndex(name));
     if (index == _not(size_t) || index >= [self length])
         return [super cy$hasProperty:name];
@@ -1056,15 +1053,6 @@ NSObject *CYCopyNSObject(apr_pool_t *pool, JSContextRef context, JSValueRef valu
 }
 
 - (NSObject *) cy$getProperty:(NSString *)name {
-    if ([name isEqualToString:@"length"]) {
-        NSUInteger count([self length]);
-#ifdef __APPLE__
-        return [NSNumber numberWithUnsignedInteger:count];
-#else
-        return [NSNumber numberWithUnsignedInt:count];
-#endif
-    }
-
     size_t index(CYGetIndex(name));
     if (index == _not(size_t) || index >= [self length])
         return [super cy$getProperty:name];
@@ -1082,11 +1070,6 @@ NSObject *CYCopyNSObject(apr_pool_t *pool, JSContextRef context, JSValueRef valu
     }
 }
 
-// XXX: this might be overly restrictive for NSString; I think I need a half-way between /injecting/ implicit properties and /accepting/ implicit properties
-+ (bool) cy$hasImplicitProperties {
-    return false;
-}
-
 - (JSValueRef) cy$valueOfInContext:(JSContextRef)context { CYObjectiveTry_(context) {
     return CYCastJSValue(context, CYJSString(context, self));
 } CYObjectiveCatch }
@@ -1100,7 +1083,7 @@ NSObject *CYCopyNSObject(apr_pool_t *pool, JSContextRef context, JSValueRef valu
     return kJSTypeUndefined;
 }
 
-- (NSString *) cy$toCYON {
+- (NSString *) cy$toCYON:(bool)objective {
     NSString *value(@"undefined");
     return value; // XXX: maybe use the below code, adding @undefined?
     //return objective ? value : [NSString stringWithFormat:@"@%@", value];
@@ -1115,8 +1098,7 @@ NSObject *CYCopyNSObject(apr_pool_t *pool, JSContextRef context, JSValueRef valu
 
 static bool CYIsClass(id self) {
 #ifdef __APPLE__
-    // XXX: this is a lame object_isClass
-    return class_getInstanceMethod(object_getClass(self), @selector(alloc)) != NULL;
+    return class_isMetaClass(object_getClass(self));
 #else
     return GSObjCIsClass(self);
 #endif