protected override void ComputeHashCodePartsSpecific(Action <int> addPart) { addPart(TrackInstanceFields.GetHashCode()); addPart(DisposeOwnershipTransferAtConstructor.GetHashCode()); addPart(DisposeOwnershipTransferAtMethodCall.GetHashCode()); addPart(HashUtilities.Combine(DisposeOwnershipTransferLikelyTypes)); }
protected override void ComputeHashCodePartsSpecific(ArrayBuilder <int> builder) { builder.Add(TrackInstanceFields.GetHashCode()); builder.Add(DisposeOwnershipTransferAtConstructor.GetHashCode()); builder.Add(DisposeOwnershipTransferAtMethodCall.GetHashCode()); builder.Add(HashUtilities.Combine(DisposeOwnershipTransferLikelyTypes)); }
protected override void ComputeHashCodePartsSpecific(ref RoslynHashCode hashCode) { hashCode.Add(TrackInstanceFields.GetHashCode()); hashCode.Add(DisposeOwnershipTransferAtConstructor.GetHashCode()); hashCode.Add(DisposeOwnershipTransferAtMethodCall.GetHashCode()); hashCode.Add(HashUtilities.Combine(DisposeOwnershipTransferLikelyTypes)); }
protected override bool ComputeEqualsByHashCodeParts(AbstractDataFlowAnalysisContext <DisposeAnalysisData, DisposeAnalysisContext, DisposeAnalysisResult, DisposeAbstractValue> obj) { var other = (DisposeAnalysisContext)obj; return(TrackInstanceFields.GetHashCode() == other.TrackInstanceFields.GetHashCode() && DisposeOwnershipTransferAtConstructor.GetHashCode() == other.DisposeOwnershipTransferAtConstructor.GetHashCode() && DisposeOwnershipTransferAtMethodCall.GetHashCode() == other.DisposeOwnershipTransferAtMethodCall.GetHashCode() && HashUtilities.Combine(DisposeOwnershipTransferLikelyTypes) == HashUtilities.Combine(other.DisposeOwnershipTransferLikelyTypes)); }