4 instantiations of TaintedDataAbstractValue
Microsoft.CodeAnalysis.NetAnalyzers (4)
src\40daf5e1cab76dff\TaintedDataAbstractValue.cs (4)
19
public static readonly TaintedDataAbstractValue NotTainted =
new
(TaintedDataAbstractValueKind.NotTainted, ImmutableHashSet<SymbolAccess>.Empty);
59
return new
TaintedDataAbstractValue
(
79
return new
TaintedDataAbstractValue
(
99
return new
TaintedDataAbstractValue
(
109 references to TaintedDataAbstractValue
Microsoft.CodeAnalysis.NetAnalyzers (109)
src\40daf5e1cab76dff\TaintedDataAbstractValue.cs (12)
17
internal sealed class TaintedDataAbstractValue : CacheBasedEquatable<
TaintedDataAbstractValue
>
19
public static readonly
TaintedDataAbstractValue
NotTainted = new(TaintedDataAbstractValueKind.NotTainted, ImmutableHashSet<SymbolAccess>.Empty);
43
protected override bool ComputeEqualsByHashCodeParts(CacheBasedEquatable<
TaintedDataAbstractValue
> obj)
45
var
other = (
TaintedDataAbstractValue
)obj;
57
internal static
TaintedDataAbstractValue
CreateTainted(ISymbol taintedSymbol, SyntaxNode accessingSyntax, ISymbol accessingMethod)
74
internal static
TaintedDataAbstractValue
MergeTainted(
TaintedDataAbstractValue
value1,
TaintedDataAbstractValue
value2)
89
internal static
TaintedDataAbstractValue
MergeTainted(IEnumerable<
TaintedDataAbstractValue
> taintedValues)
92
foreach (
TaintedDataAbstractValue
value in taintedValues)
src\40daf5e1cab76dff\TaintedDataAbstractValueKind.cs (1)
7
/// Kind for <see cref="
TaintedDataAbstractValue
"/>.
src\40daf5e1cab76dff\TaintedDataAnalysis.CoreTaintedDataAnalysisDataDomain.cs (5)
11
private sealed class CoreTaintedDataAnalysisDataDomain : AnalysisEntityMapAbstractDomain<
TaintedDataAbstractValue
>
18
protected override bool CanSkipNewEntry(AnalysisEntity analysisEntity,
TaintedDataAbstractValue
value)
23
protected override
TaintedDataAbstractValue
GetDefaultValue(AnalysisEntity analysisEntity)
25
return
TaintedDataAbstractValue
.NotTainted;
28
protected override void AssertValidEntryForMergedMap(AnalysisEntity analysisEntity,
TaintedDataAbstractValue
value)
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataAbstractValueDomain.cs (11)
10
private sealed class TaintedDataAbstractValueDomain : AbstractValueDomain<
TaintedDataAbstractValue
>
14
public override
TaintedDataAbstractValue
UnknownOrMayBeValue =>
TaintedDataAbstractValue
.NotTainted;
16
public override
TaintedDataAbstractValue
Bottom =>
TaintedDataAbstractValue
.NotTainted;
18
public override int Compare(
TaintedDataAbstractValue
oldValue,
TaintedDataAbstractValue
newValue, bool assertMonotonicity)
35
public override
TaintedDataAbstractValue
Merge(
TaintedDataAbstractValue
value1,
TaintedDataAbstractValue
value2)
54
return
TaintedDataAbstractValue
.MergeTainted(value1, value2);
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataAnalysisDomain.cs (2)
10
private sealed class TaintedDataAnalysisDomain : PredicatedAnalysisDataDomain<TaintedDataAnalysisData,
TaintedDataAbstractValue
>
12
public TaintedDataAnalysisDomain(MapAbstractDomain<AnalysisEntity,
TaintedDataAbstractValue
> coreDataAnalysisDomain)
src\40daf5e1cab76dff\TaintedDataAnalysis.TaintedDataOperationVisitor.cs (55)
25
private sealed class TaintedDataOperationVisitor : AnalysisEntityDataFlowOperationVisitor<TaintedDataAnalysisData, TaintedDataAnalysisContext, TaintedDataAnalysisResult,
TaintedDataAbstractValue
>
65
protected override
TaintedDataAbstractValue
GetAbstractDefaultValue(ITypeSymbol? type)
67
return
TaintedDataAbstractValue
.NotTainted;
70
protected override
TaintedDataAbstractValue
GetAbstractValue(AnalysisEntity analysisEntity)
72
return this.CurrentAnalysisData.TryGetValue(analysisEntity, out
TaintedDataAbstractValue
? value) ? value :
TaintedDataAbstractValue
.NotTainted;
120
protected override
TaintedDataAbstractValue
GetDefaultValueForParameterOnEntry(IParameterSymbol parameter, AnalysisEntity analysisEntity)
144
return
TaintedDataAbstractValue
.CreateTainted(parameter, parameterSyntaxNode, this.OwningSymbol);
150
protected override void SetAbstractValue(AnalysisEntity analysisEntity,
TaintedDataAbstractValue
value)
161
private static void SetAbstractValueCore(TaintedDataAnalysisData taintedAnalysisData, AnalysisEntity analysisEntity,
TaintedDataAbstractValue
value)
174
public override
TaintedDataAbstractValue
DefaultVisit(IOperation operation, object? argument)
182
List<
TaintedDataAbstractValue
>? taintedValues = null;
185
TaintedDataAbstractValue
childValue = Visit(childOperation, argument);
188
taintedValues ??= new List<
TaintedDataAbstractValue
>();
202
return
TaintedDataAbstractValue
.MergeTainted(taintedValues);
211
public override
TaintedDataAbstractValue
VisitConversion(IConversionOperation operation, object? argument)
213
TaintedDataAbstractValue
operandValue = Visit(operation.Operand, argument);
229
protected override
TaintedDataAbstractValue
ComputeAnalysisValueForReferenceOperation(IOperation operation,
TaintedDataAbstractValue
defaultValue)
235
return
TaintedDataAbstractValue
.CreateTainted(propertyReferenceOperation.Member, propertyReferenceOperation.Syntax, this.OwningSymbol);
240
return this.CurrentAnalysisData.TryGetValue(analysisEntity, out
TaintedDataAbstractValue
? value) ? value : defaultValue;
247
public override
TaintedDataAbstractValue
VisitObjectCreation(IObjectCreationOperation operation, object? argument)
249
TaintedDataAbstractValue
baseValue = base.VisitObjectCreation(operation, argument);
259
public override
TaintedDataAbstractValue
VisitInvocation_NonLambdaOrDelegateOrLocalFunction(
265
TaintedDataAbstractValue
defaultValue)
268
TaintedDataAbstractValue
result = base.VisitInvocation_NonLambdaOrDelegateOrLocalFunction(
322
this.CacheAbstractValue(argumentOperation,
TaintedDataAbstractValue
.CreateTainted(argumentOperation.Parameter, argumentOperation.Syntax, method));
331
result =
TaintedDataAbstractValue
.CreateTainted(method, originalOperation.Syntax, this.OwningSymbol);
372
SetTaintedForEntity(visitedInstance,
TaintedDataAbstractValue
.NotTainted);
385
result =
TaintedDataAbstractValue
.NotTainted;
393
result =
TaintedDataAbstractValue
.NotTainted;
400
SetTaintedForEntity(thenSanitizedTargetOperation,
TaintedDataAbstractValue
.NotTainted);
421
public override
TaintedDataAbstractValue
VisitInvocation_LocalFunction(IMethodSymbol localFunction, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation,
TaintedDataAbstractValue
defaultValue)
424
TaintedDataAbstractValue
baseValue = base.VisitInvocation_LocalFunction(localFunction, visitedArguments, originalOperation, defaultValue);
435
public override
TaintedDataAbstractValue
VisitInvocation_Lambda(IFlowAnonymousFunctionOperation lambda, ImmutableArray<IArgumentOperation> visitedArguments, IOperation originalOperation,
TaintedDataAbstractValue
defaultValue)
438
TaintedDataAbstractValue
baseValue = base.VisitInvocation_Lambda(lambda, visitedArguments, originalOperation, defaultValue);
456
protected override
TaintedDataAbstractValue
ComputeAnalysisValueForEscapedRefOrOutArgument(
459
TaintedDataAbstractValue
defaultValue)
467
TaintedDataAbstractValue
returnValueAbstractValue = this.GetCachedAbstractValue(invocationOperation);
478
public override
TaintedDataAbstractValue
VisitArrayInitializer(IArrayInitializerOperation operation, object? argument)
481
TaintedDataAbstractValue
baseAbstractValue = base.VisitArrayInitializer(operation, argument);
487
IEnumerable<
TaintedDataAbstractValue
> taintedAbstractValues =
489
.Select<IOperation,
TaintedDataAbstractValue
>(this.GetCachedAbstractValue)
496
TaintedDataAbstractValue
? result = null;
499
result =
TaintedDataAbstractValue
.MergeTainted(taintedAbstractValues);
507
TaintedDataAbstractValue
taintedDataAbstractValue =
TaintedDataAbstractValue
.CreateTainted(arrayTypeSymbol, arrayCreationOperation.Syntax, this.OwningSymbol);
508
result = result == null ? taintedDataAbstractValue :
TaintedDataAbstractValue
.MergeTainted(result, taintedDataAbstractValue);
521
protected override
TaintedDataAbstractValue
VisitAssignmentOperation(IAssignmentOperation operation, object? argument)
523
TaintedDataAbstractValue
taintedDataAbstractValue = base.VisitAssignmentOperation(operation, argument);
570
TaintedDataAbstractValue
abstractValue = this.GetCachedAbstractValue(taintedArgument);
598
TaintedDataAbstractValue
assignmentValueAbstractValue = this.GetCachedAbstractValue(assignmentOperation.Value);
761
private void SetTaintedForEntity(IOperation operation,
TaintedDataAbstractValue
value)
src\40daf5e1cab76dff\TaintedDataAnalysisContext.cs (5)
17
using InterproceduralTaintedDataAnalysisData = InterproceduralAnalysisData<TaintedDataAnalysisData, TaintedDataAnalysisContext,
TaintedDataAbstractValue
>;
20
internal sealed class TaintedDataAnalysisContext : AbstractDataFlowAnalysisContext<TaintedDataAnalysisData, TaintedDataAnalysisContext, TaintedDataAnalysisResult,
TaintedDataAbstractValue
>
23
AbstractValueDomain<
TaintedDataAbstractValue
> valueDomain,
65
AbstractValueDomain<
TaintedDataAbstractValue
> valueDomain,
150
protected override bool ComputeEqualsByHashCodeParts(AbstractDataFlowAnalysisContext<TaintedDataAnalysisData, TaintedDataAnalysisContext, TaintedDataAnalysisResult,
TaintedDataAbstractValue
> obj)
src\40daf5e1cab76dff\TaintedDataAnalysisData.cs (11)
11
internal sealed class TaintedDataAnalysisData : AnalysisEntityBasedPredicateAnalysisData<
TaintedDataAbstractValue
>
18
public TaintedDataAnalysisData(IDictionary<AnalysisEntity,
TaintedDataAbstractValue
> fromData)
28
public TaintedDataAnalysisData(TaintedDataAnalysisData fromData, TaintedDataAnalysisData data, MapAbstractDomain<AnalysisEntity,
TaintedDataAbstractValue
> coreDataAnalysisDomain)
33
protected override AbstractValueDomain<
TaintedDataAbstractValue
> ValueDomain => TaintedDataAnalysis.ValueDomainInstance;
34
public override AnalysisEntityBasedPredicateAnalysisData<
TaintedDataAbstractValue
> Clone()
39
public override int Compare(AnalysisEntityBasedPredicateAnalysisData<
TaintedDataAbstractValue
> other, MapAbstractDomain<AnalysisEntity,
TaintedDataAbstractValue
> coreDataAnalysisDomain)
44
public override AnalysisEntityBasedPredicateAnalysisData<
TaintedDataAbstractValue
> WithMergedData(AnalysisEntityBasedPredicateAnalysisData<
TaintedDataAbstractValue
> data, MapAbstractDomain<AnalysisEntity,
TaintedDataAbstractValue
> coreDataAnalysisDomain)
49
public void Reset(
TaintedDataAbstractValue
resetValue)
src\40daf5e1cab76dff\TaintedDataAnalysisResult.cs (2)
12
internal sealed class TaintedDataAnalysisResult : DataFlowAnalysisResult<TaintedDataBlockAnalysisResult,
TaintedDataAbstractValue
>
15
DataFlowAnalysisResult<TaintedDataBlockAnalysisResult,
TaintedDataAbstractValue
> dataFlowAnalysisResult,
src\40daf5e1cab76dff\TaintedDataBlockAnalysisResult.cs (2)
15
public ImmutableDictionary<AnalysisEntity,
TaintedDataAbstractValue
> Data { get; }
20
Data = blockAnalysisData?.CoreAnalysisData.ToImmutableDictionary() ?? ImmutableDictionary<AnalysisEntity,
TaintedDataAbstractValue
>.Empty;
src\sdk\src\Microsoft.CodeAnalysis.NetAnalyzers\src\Utilities\FlowAnalysis\FlowAnalysis\Analysis\TaintedDataAnalysis\TaintedDataAnalysis.cs (3)
18
internal partial class TaintedDataAnalysis : ForwardDataFlowAnalysis<TaintedDataAnalysisData, TaintedDataAnalysisContext, TaintedDataAnalysisResult, TaintedDataBlockAnalysisResult,
TaintedDataAbstractValue
>
20
internal static readonly AbstractValueDomain<
TaintedDataAbstractValue
> ValueDomainInstance = TaintedDataAbstractValueDomain.Default;
128
DataFlowAnalysisResult<TaintedDataBlockAnalysisResult,
TaintedDataAbstractValue
> dataFlowAnalysisResult)