protected sealed override void ComputeHashCodeParts(ArrayBuilder <int> builder) { builder.Add(ValueDomain.GetHashCode()); builder.Add(OwningSymbol.GetHashCode()); builder.Add(ControlFlowGraph.OriginalOperation.GetHashCode()); builder.Add(InterproceduralAnalysisConfiguration.GetHashCode()); builder.Add(PessimisticAnalysis.GetHashCode()); builder.Add(PredicateAnalysis.GetHashCode()); builder.Add(ExceptionPathsAnalysis.GetHashCode()); builder.Add(CopyAnalysisResultOpt.GetHashCodeOrDefault()); builder.Add(PointsToAnalysisResultOpt.GetHashCodeOrDefault()); builder.Add(InterproceduralAnalysisDataOpt.GetHashCodeOrDefault()); builder.Add(InterproceduralAnalysisPredicateOpt.GetHashCodeOrDefault()); ComputeHashCodePartsSpecific(builder); }
protected sealed override void ComputeHashCodeParts(Action <int> addPart) { addPart(ValueDomain.GetHashCode()); addPart(OwningSymbol.GetHashCode()); addPart(ControlFlowGraph.OriginalOperation.GetHashCode()); addPart(AnalyzerOptions.GetHashCode()); addPart(InterproceduralAnalysisConfiguration.GetHashCode()); addPart(PessimisticAnalysis.GetHashCode()); addPart(PredicateAnalysis.GetHashCode()); addPart(ExceptionPathsAnalysis.GetHashCode()); addPart(CopyAnalysisResultOpt.GetHashCodeOrDefault()); addPart(PointsToAnalysisResultOpt.GetHashCodeOrDefault()); addPart(ValueContentAnalysisResultOpt.GetHashCodeOrDefault()); addPart(InterproceduralAnalysisDataOpt.GetHashCodeOrDefault()); addPart(InterproceduralAnalysisPredicateOpt.GetHashCodeOrDefault()); ComputeHashCodePartsSpecific(addPart); }