Revision: 28491
          http://sourceforge.net/p/bibdesk/svn/28491
Author:   hofman
Date:     2023-12-30 22:35:08 +0000 (Sat, 30 Dec 2023)
Log Message:
-----------
define setter directly in macro

Modified Paths:
--------------
    trunk/bibdesk/BDSKIBArray.m

Modified: trunk/bibdesk/BDSKIBArray.m
===================================================================
--- trunk/bibdesk/BDSKIBArray.m 2023-12-30 17:12:49 UTC (rev 28490)
+++ trunk/bibdesk/BDSKIBArray.m 2023-12-30 22:35:08 UTC (rev 28491)
@@ -40,33 +40,33 @@
 
 @implementation BDSKIBArray
 
-static void setObjectAtIndex(id *object, id obj, NSUInteger i, unsigned long 
*mutationsPtr) {
-    if (object[i] != obj) {
-        [object[i] release];
-        object[i] = [obj retain];
-        (*mutationsPtr)++;
-    }
+#define SYNTHESIZE_OBJECT_ACCESSORS(i, j) \
+@dynamic object##i; \
+- (id)object##i { return object[j]; } \
+- (void)setObject##i:(id)obj { \
+    if (object[j] != obj) { \
+        [object[j] release]; \
+        object[j] = [obj retain]; \
+        ++mutations; \
+    } \
 }
 
-#define SYNTHESIZE_OBJECT_ACCESSORS(i) \
-@dynamic object##i; \
-- (id)object##i { return object[i-1]; } \
-- (void)setObject##i:(id)obj { setObjectAtIndex(object, obj, i-1, &mutations); 
}
+SYNTHESIZE_OBJECT_ACCESSORS(1, 0)
+SYNTHESIZE_OBJECT_ACCESSORS(2, 1)
+SYNTHESIZE_OBJECT_ACCESSORS(3, 2)
+SYNTHESIZE_OBJECT_ACCESSORS(4, 3)
+SYNTHESIZE_OBJECT_ACCESSORS(5, 4)
+SYNTHESIZE_OBJECT_ACCESSORS(6, 5)
+SYNTHESIZE_OBJECT_ACCESSORS(7, 6)
+SYNTHESIZE_OBJECT_ACCESSORS(8, 7)
+SYNTHESIZE_OBJECT_ACCESSORS(9, 8)
 
-SYNTHESIZE_OBJECT_ACCESSORS(1)
-SYNTHESIZE_OBJECT_ACCESSORS(2)
-SYNTHESIZE_OBJECT_ACCESSORS(3)
-SYNTHESIZE_OBJECT_ACCESSORS(4)
-SYNTHESIZE_OBJECT_ACCESSORS(5)
-SYNTHESIZE_OBJECT_ACCESSORS(6)
-SYNTHESIZE_OBJECT_ACCESSORS(7)
-SYNTHESIZE_OBJECT_ACCESSORS(8)
-SYNTHESIZE_OBJECT_ACCESSORS(9)
-
 - (void)dealloc {
     NSUInteger i;
-    for (i = 0; i < 9; i++)
-        setObjectAtIndex(object, nil, i, &mutations);
+    for (i = 0; i < 9; i++) {
+        [object[i] release];
+        object[i] = nil;
+    }
     [super dealloc];
 }
 

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.



_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit

Reply via email to