1
+ using GitVersion . Extensions ;
1
2
using GitVersion . Helpers ;
2
3
using LibGit2Sharp ;
3
4
@@ -7,25 +8,26 @@ internal sealed class Reference : IReference
7
8
{
8
9
private static readonly LambdaEqualityHelper < IReference > equalityHelper = new ( x => x . Name . Canonical ) ;
9
10
private static readonly LambdaKeyComparer < IReference , string > comparerHelper = new ( x => x . Name . Canonical ) ;
10
-
11
11
internal readonly LibGit2Sharp . Reference innerReference ;
12
12
13
13
internal Reference ( LibGit2Sharp . Reference reference )
14
14
{
15
- this . innerReference = reference ;
15
+ this . innerReference = reference . NotNull ( ) ;
16
16
Name = new ReferenceName ( reference . CanonicalName ) ;
17
17
18
18
if ( reference is DirectReference )
19
19
ReferenceTargetId = new ObjectId ( reference . TargetIdentifier ) ;
20
20
}
21
+
21
22
public ReferenceName Name { get ; }
22
23
public IObjectId ? ReferenceTargetId { get ; }
23
24
public int CompareTo ( IReference other ) => comparerHelper . Compare ( this , other ) ;
24
- public override bool Equals ( object obj ) => Equals ( ( obj as IReference ) ) ;
25
+ public override bool Equals ( object obj ) => Equals ( obj as IReference ) ;
25
26
public bool Equals ( IReference ? other ) => equalityHelper . Equals ( this , other ) ;
26
27
public override int GetHashCode ( ) => equalityHelper . GetHashCode ( this ) ;
27
28
public override string ToString ( ) => Name . ToString ( ) ;
28
29
public string TargetIdentifier => this . innerReference . TargetIdentifier ;
29
- public static implicit operator LibGit2Sharp . Reference ( Reference d ) => d . innerReference ;
30
+ public static implicit operator LibGit2Sharp . Reference ( Reference d )
31
+ => d . NotNull ( ) . innerReference ;
30
32
}
31
33
}
0 commit comments