in src/Sarif/Autogenerated/ExternalPropertiesEqualityComparer.cs [364:579]
public int GetHashCode(ExternalProperties obj)
{
if (ReferenceEquals(obj, null))
{
return 0;
}
int result = 17;
unchecked
{
if (obj.Schema != null)
{
result = (result * 31) + obj.Schema.GetHashCode();
}
result = (result * 31) + obj.Version.GetHashCode();
if (obj.Guid != null)
{
result = (result * 31) + obj.Guid.GetHashCode();
}
if (obj.RunGuid != null)
{
result = (result * 31) + obj.RunGuid.GetHashCode();
}
if (obj.Conversion != null)
{
result = (result * 31) + obj.Conversion.ValueGetHashCode();
}
if (obj.Graphs != null)
{
foreach (var value_2 in obj.Graphs)
{
result = result * 31;
if (value_2 != null)
{
result = (result * 31) + value_2.ValueGetHashCode();
}
}
}
if (obj.ExternalizedProperties != null)
{
result = (result * 31) + obj.ExternalizedProperties.ValueGetHashCode();
}
if (obj.Artifacts != null)
{
foreach (var value_3 in obj.Artifacts)
{
result = result * 31;
if (value_3 != null)
{
result = (result * 31) + value_3.ValueGetHashCode();
}
}
}
if (obj.Invocations != null)
{
foreach (var value_4 in obj.Invocations)
{
result = result * 31;
if (value_4 != null)
{
result = (result * 31) + value_4.ValueGetHashCode();
}
}
}
if (obj.LogicalLocations != null)
{
foreach (var value_5 in obj.LogicalLocations)
{
result = result * 31;
if (value_5 != null)
{
result = (result * 31) + value_5.ValueGetHashCode();
}
}
}
if (obj.ThreadFlowLocations != null)
{
foreach (var value_6 in obj.ThreadFlowLocations)
{
result = result * 31;
if (value_6 != null)
{
result = (result * 31) + value_6.ValueGetHashCode();
}
}
}
if (obj.Results != null)
{
foreach (var value_7 in obj.Results)
{
result = result * 31;
if (value_7 != null)
{
result = (result * 31) + value_7.ValueGetHashCode();
}
}
}
if (obj.Taxonomies != null)
{
foreach (var value_8 in obj.Taxonomies)
{
result = result * 31;
if (value_8 != null)
{
result = (result * 31) + value_8.ValueGetHashCode();
}
}
}
if (obj.Driver != null)
{
result = (result * 31) + obj.Driver.ValueGetHashCode();
}
if (obj.Extensions != null)
{
foreach (var value_9 in obj.Extensions)
{
result = result * 31;
if (value_9 != null)
{
result = (result * 31) + value_9.ValueGetHashCode();
}
}
}
if (obj.Policies != null)
{
foreach (var value_10 in obj.Policies)
{
result = result * 31;
if (value_10 != null)
{
result = (result * 31) + value_10.ValueGetHashCode();
}
}
}
if (obj.Translations != null)
{
foreach (var value_11 in obj.Translations)
{
result = result * 31;
if (value_11 != null)
{
result = (result * 31) + value_11.ValueGetHashCode();
}
}
}
if (obj.Addresses != null)
{
foreach (var value_12 in obj.Addresses)
{
result = result * 31;
if (value_12 != null)
{
result = (result * 31) + value_12.ValueGetHashCode();
}
}
}
if (obj.WebRequests != null)
{
foreach (var value_13 in obj.WebRequests)
{
result = result * 31;
if (value_13 != null)
{
result = (result * 31) + value_13.ValueGetHashCode();
}
}
}
if (obj.WebResponses != null)
{
foreach (var value_14 in obj.WebResponses)
{
result = result * 31;
if (value_14 != null)
{
result = (result * 31) + value_14.ValueGetHashCode();
}
}
}
if (obj.Properties != null)
{
// Use xor for dictionaries to be order-independent.
int xor_0 = 0;
foreach (var value_15 in obj.Properties)
{
xor_0 ^= value_15.Key.GetHashCode();
if (value_15.Value != null)
{
xor_0 ^= value_15.Value.GetHashCode();
}
}
result = (result * 31) + xor_0;
}
}
return result;
}