Merge pull request #4405 from tamasvajk/feature/lazy-flow

C#: Improve data flow summary for System.Lazy<>
This commit is contained in:
Tamás Vajk
2020-10-06 09:01:48 +02:00
committed by GitHub
2 changed files with 8 additions and 0 deletions

View File

@@ -718,6 +718,13 @@ class SystemLazyFlow extends LibraryTypeDataFlow, SystemLazyClass {
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::property(this.getValueProperty())
)
or
preservesValue = false and
c = this.getValueProperty().getGetter() and
source = TCallableFlowSourceQualifier() and
sourceAp = AccessPath::empty() and
sink = TCallableFlowSinkReturn() and
sinkAp = AccessPath::empty()
}
}

View File

@@ -442,6 +442,7 @@ callableFlow
| System.Int32.TryParse(string, NumberStyles, IFormatProvider, out int) | argument 0 -> return | false |
| System.Int32.TryParse(string, out int) | argument 0 -> argument 1 | false |
| System.Int32.TryParse(string, out int) | argument 0 -> return | false |
| System.Lazy<>.get_Value() | qualifier -> return | false |
| System.Linq.Enumerable.Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>) | argument 1 -> parameter 0 of argument 2 | true |
| System.Linq.Enumerable.Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>) | output from argument 2 -> parameter 0 of argument 3 | true |
| System.Linq.Enumerable.Aggregate<TSource, TAccumulate, TResult>(IEnumerable<TSource>, TAccumulate, Func<TAccumulate, TSource, TAccumulate>, Func<TAccumulate, TResult>) | output from argument 3 -> return | true |