| File: src\40daf5e1cab76dff\TaintedDataSourceSink.cs | Web Access |
| Project: src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Microsoft.CodeAnalysis.NetAnalyzers\Microsoft.CodeAnalysis.NetAnalyzers.csproj (Microsoft.CodeAnalysis.NetAnalyzers) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; using System.Collections.Immutable; namespace Analyzer.Utilities.FlowAnalysis.Analysis.TaintedDataAnalysis { /// <summary> /// Represents endpoints of tainted data flowing from sources to a sink. /// </summary> internal sealed class TaintedDataSourceSink { public TaintedDataSourceSink(SymbolAccess sink, ImmutableHashSet<SinkKind> sinkKinds, ImmutableHashSet<SymbolAccess> sourceOrigins) { Sink = sink ?? throw new ArgumentNullException(nameof(sink)); SinkKinds = sinkKinds; SourceOrigins = sourceOrigins; } /// <summary> /// <see cref="SymbolAccess"/> of the sink that the tainted data enters. /// </summary> public SymbolAccess Sink { get; } /// <summary> /// Kind of sink (e.g. SQL). /// </summary> public ImmutableHashSet<SinkKind> SinkKinds { get; } /// <summary> /// <see cref="SymbolAccess"/>s of the origins of the tainted data. /// </summary> public ImmutableHashSet<SymbolAccess> SourceOrigins { get; } } }