aboutsummaryrefslogtreecommitdiff
path: root/GTMDefines.h
diff options
context:
space:
mode:
authorGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2012-05-17 15:30:11 +0000
committerGravatar gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3>2012-05-17 15:30:11 +0000
commitf1e548b1e810a7557e8772b67bc181b7743c694f (patch)
tree447576484ad40ab43c88531a60173a7894629eec /GTMDefines.h
parent45cec76570e6b1e3777a9d4bd5792f1e629c2eef (diff)
[Author: levai]
Macro for invalidating initializers. R=dmaclach APPROVED=dmaclach DELTA=18 (18 added, 0 deleted, 0 changed)
Diffstat (limited to 'GTMDefines.h')
-rw-r--r--GTMDefines.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/GTMDefines.h b/GTMDefines.h
index 3936daf..630885c 100644
--- a/GTMDefines.h
+++ b/GTMDefines.h
@@ -351,6 +351,24 @@
#define GTM_NONNULL(x) __attribute__((nonnull(x)))
#endif
+// Invalidates the initializer from which it's called.
+#ifndef GTMInvalidateInitializer
+ #if __has_feature(objc_arc)
+ #define GTMInvalidateInitializer() \
+ do { \
+ _GTMDevAssert(NO, @"Invalid initializer."); \
+ return nil; \
+ } while (0)
+ #else
+ #define GTMInvalidateInitializer() \
+ do { \
+ [self release]; \
+ _GTMDevAssert(NO, @"Invalid initializer."); \
+ return nil; \
+ } while (0)
+ #endif
+#endif
+
#ifdef __OBJC__
// Declared here so that it can easily be used for logging tracking if