diff --git a/ObjectiveGit/GTBlame.m b/ObjectiveGit/GTBlame.m index c2dcb5e9a..fcdb0e0de 100644 --- a/ObjectiveGit/GTBlame.m +++ b/ObjectiveGit/GTBlame.m @@ -21,6 +21,13 @@ @interface GTBlame () @implementation GTBlame +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_blame *gitBlame = NULL; + return [self initWithGitBlame:gitBlame]; +} + - (instancetype)initWithGitBlame:(git_blame *)blame { NSParameterAssert(blame != NULL); diff --git a/ObjectiveGit/GTBlameHunk.m b/ObjectiveGit/GTBlameHunk.m index 4fc016c99..c55d9a313 100644 --- a/ObjectiveGit/GTBlameHunk.m +++ b/ObjectiveGit/GTBlameHunk.m @@ -12,6 +12,13 @@ @implementation GTBlameHunk +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + const git_blame_hunk *hunk = NULL; + return [self initWithGitBlameHunk:*hunk]; +} + - (instancetype)initWithGitBlameHunk:(git_blame_hunk)hunk { self = [super init]; if (self == nil) return nil; diff --git a/ObjectiveGit/GTBranch.m b/ObjectiveGit/GTBranch.m index 8a4da3950..ed15fe86f 100644 --- a/ObjectiveGit/GTBranch.m +++ b/ObjectiveGit/GTBranch.m @@ -69,6 +69,12 @@ + (nullable instancetype)branchWithReference:(GTReference *)ref repository:(GTRe return [[self alloc] initWithReference:ref repository:repo]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithReference:[GTReference new] repository:[GTRepository new]]; +} + - (nullable instancetype)initWithReference:(GTReference *)ref repository:(GTRepository *)repo { NSParameterAssert(ref != nil); NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTConfiguration.m b/ObjectiveGit/GTConfiguration.m index 9ba160ef6..10bff98fa 100644 --- a/ObjectiveGit/GTConfiguration.m +++ b/ObjectiveGit/GTConfiguration.m @@ -33,6 +33,13 @@ - (void)dealloc { } } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_config *gitConfig = NULL; + return [self initWithGitConfig:gitConfig repository:nil]; +} + - (instancetype)initWithGitConfig:(git_config *)config repository:(GTRepository *)repository { NSParameterAssert(config != NULL); diff --git a/ObjectiveGit/GTDiff.m b/ObjectiveGit/GTDiff.m index 15ae44143..1035ac1b1 100644 --- a/ObjectiveGit/GTDiff.m +++ b/ObjectiveGit/GTDiff.m @@ -156,6 +156,13 @@ + (instancetype)diffWorkingDirectoryToHEADInRepository:(GTRepository *)repositor return HEADIndexDiff; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_diff *gitDiff = NULL; + return [self initWithGitDiff:gitDiff repository:[GTRepository new]]; +} + - (instancetype)initWithGitDiff:(git_diff *)diff repository:(GTRepository *)repository { NSParameterAssert(diff != NULL); NSParameterAssert(repository != nil); diff --git a/ObjectiveGit/GTDiffDelta.m b/ObjectiveGit/GTDiffDelta.m index 565cb9975..6ba34f19c 100644 --- a/ObjectiveGit/GTDiffDelta.m +++ b/ObjectiveGit/GTDiffDelta.m @@ -132,6 +132,12 @@ + (instancetype)diffDeltaFromData:(NSData *)oldData forPath:(NSString *)oldDataP }]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithDiff:[GTDiff new] deltaIndex:0]; +} + - (instancetype)initWithDiff:(GTDiff *)diff deltaIndex:(NSUInteger)deltaIndex { NSCParameterAssert(diff != nil); diff --git a/ObjectiveGit/GTDiffFile.m b/ObjectiveGit/GTDiffFile.m index 1478b6cbe..777a2370a 100644 --- a/ObjectiveGit/GTDiffFile.m +++ b/ObjectiveGit/GTDiffFile.m @@ -11,6 +11,13 @@ @implementation GTDiffFile +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_diff_file *gitDiffFile = NULL; + return [self initWithGitDiffFile:*gitDiffFile]; +} + - (instancetype)initWithGitDiffFile:(git_diff_file)file { NSParameterAssert(file.path != NULL); diff --git a/ObjectiveGit/GTDiffHunk.m b/ObjectiveGit/GTDiffHunk.m index 51cabae78..ffcfaa13f 100644 --- a/ObjectiveGit/GTDiffHunk.m +++ b/ObjectiveGit/GTDiffHunk.m @@ -25,6 +25,12 @@ @interface GTDiffHunk () @implementation GTDiffHunk +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithPatch:[GTDiffPatch new] hunkIndex:0]; +} + - (instancetype)initWithPatch:(GTDiffPatch *)patch hunkIndex:(NSUInteger)hunkIndex { NSParameterAssert(patch != nil); diff --git a/ObjectiveGit/GTDiffLine.m b/ObjectiveGit/GTDiffLine.m index 36df18c6e..61e9c9fc5 100644 --- a/ObjectiveGit/GTDiffLine.m +++ b/ObjectiveGit/GTDiffLine.m @@ -10,6 +10,13 @@ @implementation GTDiffLine +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_diff_line *gitDiffLine = NULL; + return [self initWithGitLine:gitDiffLine]; +} + - (instancetype)initWithGitLine:(const git_diff_line *)line { self = [super init]; if (self == nil) return nil; diff --git a/ObjectiveGit/GTDiffPatch.m b/ObjectiveGit/GTDiffPatch.m index 6826d80a2..a791c3edf 100644 --- a/ObjectiveGit/GTDiffPatch.m +++ b/ObjectiveGit/GTDiffPatch.m @@ -7,8 +7,8 @@ // #import "GTDiffPatch.h" - #import "GTDiffHunk.h" +#import "GTDiffDelta.h" @interface GTDiffPatch () @@ -20,6 +20,13 @@ @implementation GTDiffPatch #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_patch *gitPatch = NULL; + return [self initWithGitPatch:gitPatch delta:[GTDiffDelta new]]; +} + - (instancetype)initWithGitPatch:(git_patch *)patch delta:(GTDiffDelta *)delta { NSParameterAssert(patch != NULL); NSParameterAssert(delta != nil); diff --git a/ObjectiveGit/GTEnumerator.m b/ObjectiveGit/GTEnumerator.m index f5dd5b0c8..3613d71b2 100644 --- a/ObjectiveGit/GTEnumerator.m +++ b/ObjectiveGit/GTEnumerator.m @@ -48,6 +48,13 @@ @implementation GTEnumerator #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithRepository:[GTRepository new] error:nil]; +} + + - (instancetype)initWithRepository:(GTRepository *)repo error:(NSError **)error { NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTFetchHeadEntry.m b/ObjectiveGit/GTFetchHeadEntry.m index 04a75c28a..e07a54526 100644 --- a/ObjectiveGit/GTFetchHeadEntry.m +++ b/ObjectiveGit/GTFetchHeadEntry.m @@ -8,9 +8,16 @@ #import "GTFetchHeadEntry.h" #import "GTOID.h" +#import "GTReference.h" @implementation GTFetchHeadEntry +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithReference:[GTReference new] remoteURLString:@"" targetOID:[GTOID new] isMerge:NO]; +} + - (instancetype)initWithReference:(GTReference *)reference remoteURLString:(NSString *)remoteURLString targetOID:(GTOID *)targetOID isMerge:(BOOL)merge { NSParameterAssert(reference != nil); NSParameterAssert(remoteURLString != nil); diff --git a/ObjectiveGit/GTFilter.m b/ObjectiveGit/GTFilter.m index 4914f811a..debd19bed 100644 --- a/ObjectiveGit/GTFilter.m +++ b/ObjectiveGit/GTFilter.m @@ -42,6 +42,14 @@ + (void)initialize { GTFiltersGitFilterToRegisteredFilters = [[NSMutableDictionary alloc] init]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithName:@"" attributes:nil applyBlock:^NSData * __nonnull(void **payload, NSData * __nonnull from, GTFilterSource * __nonnull source, BOOL * __nonnull applied) { + return nil; + }]; +} + - (instancetype)initWithName:(NSString *)name attributes:(NSString *)attributes applyBlock:(NSData * (^)(void **payload, NSData *from, GTFilterSource *source, BOOL *applied))applyBlock { NSParameterAssert(name != nil); NSParameterAssert(applyBlock != NULL); diff --git a/ObjectiveGit/GTFilterList.m b/ObjectiveGit/GTFilterList.m index 0f47a88d4..ef377eb00 100644 --- a/ObjectiveGit/GTFilterList.m +++ b/ObjectiveGit/GTFilterList.m @@ -25,6 +25,13 @@ @implementation GTFilterList #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_filter_list *gitFilterList = NULL; + return [self initWithGitFilterList:gitFilterList]; +} + - (instancetype)initWithGitFilterList:(git_filter_list *)filterList { NSParameterAssert(filterList != NULL); diff --git a/ObjectiveGit/GTFilterSource.m b/ObjectiveGit/GTFilterSource.m index 0c686cdc7..5b46107d5 100644 --- a/ObjectiveGit/GTFilterSource.m +++ b/ObjectiveGit/GTFilterSource.m @@ -16,6 +16,13 @@ @implementation GTFilterSource #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_filter_source *gitFilterSource = NULL; + return [self initWithGitFilterSource:gitFilterSource]; +} + - (instancetype)initWithGitFilterSource:(const git_filter_source *)source { NSParameterAssert(source != NULL); diff --git a/ObjectiveGit/GTIndex.m b/ObjectiveGit/GTIndex.m index 330cc6b0d..e3ef9ef4a 100644 --- a/ObjectiveGit/GTIndex.m +++ b/ObjectiveGit/GTIndex.m @@ -101,6 +101,13 @@ + (instancetype)indexWithFileURL:(NSURL *)fileURL repository:(GTRepository *)rep return [[self alloc] initWithGitIndex:index repository:repository]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_index *index = NULL; + return [self initWithGitIndex:index repository:[GTRepository new]]; +} + - (id)initWithGitIndex:(git_index *)index repository:(GTRepository *)repository { NSParameterAssert(index != NULL); NSParameterAssert(repository != nil); diff --git a/ObjectiveGit/GTIndexEntry.m b/ObjectiveGit/GTIndexEntry.m index 8a6971c70..bc88f8af8 100644 --- a/ObjectiveGit/GTIndexEntry.m +++ b/ObjectiveGit/GTIndexEntry.m @@ -62,6 +62,13 @@ - (instancetype)initWithGitIndexEntry:(const git_index_entry *)entry index:(GTIn return self; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_index_entry *gitIndexEntry = NULL; + return [self initWithGitIndexEntry:gitIndexEntry]; +} + - (instancetype)initWithGitIndexEntry:(const git_index_entry *)entry { return [self initWithGitIndexEntry:entry index:nil error:NULL]; } diff --git a/ObjectiveGit/GTOID.m b/ObjectiveGit/GTOID.m index f5d158169..410580b76 100644 --- a/ObjectiveGit/GTOID.m +++ b/ObjectiveGit/GTOID.m @@ -39,6 +39,13 @@ - (NSString *)SHA { #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_oid *gitOid = NULL; + return [self initWithGitOid:gitOid]; +} + - (instancetype)initWithGitOid:(const git_oid *)oid { NSParameterAssert(oid != NULL); diff --git a/ObjectiveGit/GTObject.m b/ObjectiveGit/GTObject.m index aa3eab5bc..334cf58e9 100644 --- a/ObjectiveGit/GTObject.m +++ b/ObjectiveGit/GTObject.m @@ -70,6 +70,13 @@ - (BOOL)isEqual:(id)otherObject { #pragma mark API +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_object *gitObject = NULL; + return [self initWithObj:gitObject inRepository:[GTRepository new]]; +} + - (id)initWithObj:(git_object *)object inRepository:(GTRepository *)repo { NSParameterAssert(object != NULL); NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTObjectDatabase.m b/ObjectiveGit/GTObjectDatabase.m index 242f06655..5e2b4c71c 100644 --- a/ObjectiveGit/GTObjectDatabase.m +++ b/ObjectiveGit/GTObjectDatabase.m @@ -56,6 +56,12 @@ - (void)dealloc { #pragma mark API +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithRepository:[GTRepository new] error:nil]; +} + - (instancetype)initWithRepository:(GTRepository *)repo error:(NSError **)error { NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTOdbObject.m b/ObjectiveGit/GTOdbObject.m index 3aedfd5bb..a4ceba8a9 100644 --- a/ObjectiveGit/GTOdbObject.m +++ b/ObjectiveGit/GTOdbObject.m @@ -7,6 +7,7 @@ // #import "GTOdbObject.h" +#import "GTRepository.h" #import "NSString+Git.h" #import "GTOID.h" #import "git2/odb.h" @@ -31,6 +32,13 @@ - (NSString *)description { #pragma mark API +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_odb_object *odbObject = NULL; + return [self initWithOdbObj:odbObject repository:[GTRepository new]]; +} + - (instancetype)initWithOdbObj:(git_odb_object *)object repository:(GTRepository *)repository { NSParameterAssert(object != NULL); NSParameterAssert(repository != nil); diff --git a/ObjectiveGit/GTReference.m b/ObjectiveGit/GTReference.m index a9e93cb0b..f5c706d1f 100644 --- a/ObjectiveGit/GTReference.m +++ b/ObjectiveGit/GTReference.m @@ -87,6 +87,13 @@ - (instancetype)initByResolvingSymbolicReference:(GTReference *)symbolicRef erro return [self initWithGitReference:ref repository:symbolicRef.repository]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_reference *gitReference = NULL; + return [self initWithGitReference:gitReference repository:[GTRepository new]]; +} + - (instancetype)initWithGitReference:(git_reference *)ref repository:(GTRepository *)repo { NSParameterAssert(ref != NULL); NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTReflog.m b/ObjectiveGit/GTReflog.m index 6ea1b4d02..52d49a6a1 100644 --- a/ObjectiveGit/GTReflog.m +++ b/ObjectiveGit/GTReflog.m @@ -33,6 +33,12 @@ - (void)dealloc { if (_git_reflog != NULL) git_reflog_free(_git_reflog); } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithReference:nil]; +} + - (instancetype)initWithReference:(GTReference *)reference { NSParameterAssert(reference != nil); NSParameterAssert(reference.name != nil); diff --git a/ObjectiveGit/GTRemote.m b/ObjectiveGit/GTRemote.m index ca91f8895..cb5c929f4 100644 --- a/ObjectiveGit/GTRemote.m +++ b/ObjectiveGit/GTRemote.m @@ -60,6 +60,13 @@ + (instancetype)remoteWithName:(NSString *)name inRepository:(GTRepository *)rep return [[self alloc] initWithGitRemote:remote inRepository:repo]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_remote *gitRemote = NULL; + return [self initWithGitRemote:gitRemote inRepository:[GTRepository new]]; +} + - (instancetype)initWithGitRemote:(git_remote *)remote inRepository:(GTRepository *)repo { NSParameterAssert(remote != NULL); NSParameterAssert(repo != nil); diff --git a/ObjectiveGit/GTRepository.m b/ObjectiveGit/GTRepository.m index c08827420..18cfae7a6 100644 --- a/ObjectiveGit/GTRepository.m +++ b/ObjectiveGit/GTRepository.m @@ -157,6 +157,13 @@ + (instancetype)repositoryWithURL:(NSURL *)localFileURL error:(NSError **)error return [[self alloc] initWithURL:localFileURL error:error]; } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_repository *gitRepository = NULL; + return [self initWithGitRepository:gitRepository]; +} + - (instancetype)initWithGitRepository:(git_repository *)repository { NSParameterAssert(repository != nil); diff --git a/ObjectiveGit/GTStatusDelta.m b/ObjectiveGit/GTStatusDelta.m index 230691451..bc2ed6f44 100644 --- a/ObjectiveGit/GTStatusDelta.m +++ b/ObjectiveGit/GTStatusDelta.m @@ -12,6 +12,13 @@ @implementation GTStatusDelta +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_diff_delta *gitDiffDelta = NULL; + return [self initWithGitDiffDelta:gitDiffDelta]; +} + - (instancetype)initWithGitDiffDelta:(const git_diff_delta *)delta { self = [super init]; if (self == nil || delta == NULL) return nil; diff --git a/ObjectiveGit/GTSubmodule.m b/ObjectiveGit/GTSubmodule.m index b6b8c5eee..3258fe2ed 100644 --- a/ObjectiveGit/GTSubmodule.m +++ b/ObjectiveGit/GTSubmodule.m @@ -83,6 +83,13 @@ - (void)dealloc { } } +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + git_submodule *gitSubmodule = NULL; + return [self initWithGitSubmodule:gitSubmodule parentRepository:[GTRepository new]]; +} + - (instancetype)initWithGitSubmodule:(git_submodule *)submodule parentRepository:(GTRepository *)repository { NSParameterAssert(submodule != NULL); NSParameterAssert(repository != nil); diff --git a/ObjectiveGit/GTTreeBuilder.m b/ObjectiveGit/GTTreeBuilder.m index 773ba2da7..ee2be1340 100644 --- a/ObjectiveGit/GTTreeBuilder.m +++ b/ObjectiveGit/GTTreeBuilder.m @@ -62,6 +62,12 @@ - (NSUInteger)entryCount { #pragma mark Lifecycle +// XCode 7+ require overriding super designated initializers +- (instancetype)init +{ + return [self initWithTree:nil repository:[GTRepository new] error:nil]; +} + - (instancetype)initWithTree:(GTTree *)treeOrNil repository:(GTRepository *)repository error:(NSError **)error { NSParameterAssert(repository != nil);