diff options
author | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2012-05-17 15:30:11 +0000 |
---|---|---|
committer | gtm.daemon <gtm.daemon@7dc7ac4e-7543-0410-b95c-c1676fc8e2a3> | 2012-05-17 15:30:11 +0000 |
commit | f1e548b1e810a7557e8772b67bc181b7743c694f (patch) | |
tree | 447576484ad40ab43c88531a60173a7894629eec | |
parent | 45cec76570e6b1e3777a9d4bd5792f1e629c2eef (diff) |
[Author: levai]
Macro for invalidating initializers.
R=dmaclach
APPROVED=dmaclach
DELTA=18 (18 added, 0 deleted, 0 changed)
-rw-r--r-- | GTMDefines.h | 18 |
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 |