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));
 }
예제 #3
0
 protected override void ComputeHashCodePartsSpecific(ref RoslynHashCode hashCode)
 {
     hashCode.Add(TrackInstanceFields.GetHashCode());
     hashCode.Add(DisposeOwnershipTransferAtConstructor.GetHashCode());
     hashCode.Add(DisposeOwnershipTransferAtMethodCall.GetHashCode());
     hashCode.Add(HashUtilities.Combine(DisposeOwnershipTransferLikelyTypes));
 }
예제 #4
0
        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));
        }