@@ -16,18 +16,20 @@ public class Class : IType
16
16
{
17
17
private IType Type { get ; }
18
18
19
- public Class ( IType type , bool ? isAbstract = null , bool ? isSealed = null )
19
+ public Class ( IType type , bool ? isAbstract = null , bool ? isSealed = null , bool ? isRecord = null )
20
20
{
21
21
Type = type ;
22
22
IsAbstract = isAbstract ;
23
23
IsSealed = isSealed ;
24
+ IsRecord = isRecord ;
24
25
}
25
26
26
27
public Class ( Class @class )
27
28
{
28
29
Type = @class . Type ;
29
30
IsAbstract = @class . IsAbstract ;
30
31
IsSealed = @class . IsSealed ;
32
+ IsRecord = @class . IsRecord ;
31
33
}
32
34
33
35
public IEnumerable < ITypeDependency > DependenciesIncludingInherited =>
@@ -47,6 +49,7 @@ public Class(Class @class)
47
49
public IEnumerable < MethodMember > Constructors => Type . GetConstructors ( ) ;
48
50
public bool ? IsAbstract { get ; }
49
51
public bool ? IsSealed { get ; }
52
+ public bool ? IsRecord { get ; }
50
53
51
54
public IEnumerable < Class > InheritedClasses =>
52
55
BaseClass == null
@@ -86,7 +89,8 @@ private bool Equals(Class other)
86
89
{
87
90
return Equals ( Type , other . Type )
88
91
&& Equals ( IsAbstract , other . IsAbstract )
89
- && Equals ( IsSealed , other . IsSealed ) ;
92
+ && Equals ( IsSealed , other . IsSealed )
93
+ && Equals ( IsRecord , other . IsRecord ) ;
90
94
}
91
95
92
96
public override bool Equals ( object obj )
@@ -111,6 +115,7 @@ public override int GetHashCode()
111
115
var hashCode = Type != null ? Type . GetHashCode ( ) : 0 ;
112
116
hashCode = ( hashCode * 397 ) ^ IsAbstract . GetHashCode ( ) ;
113
117
hashCode = ( hashCode * 397 ) ^ IsSealed . GetHashCode ( ) ;
118
+ hashCode = ( hashCode * 397 ) ^ IsRecord . GetHashCode ( ) ;
114
119
return hashCode ;
115
120
}
116
121
}
0 commit comments