in src/Sarif.Viewer.VisualStudio.Core/Models/AnalysisStepNode.cs [380:428]
internal void SetVerbosity(ThreadFlowLocationImportance importance)
{
Visibility visibility = Visibility.Visible;
ThreadFlowLocationImportance myImportance = this.Location?.Importance ?? ThreadFlowLocationImportance.Unimportant;
switch (importance)
{
case ThreadFlowLocationImportance.Essential:
if (myImportance != ThreadFlowLocationImportance.Essential)
{
visibility = Visibility.Collapsed;
}
break;
case ThreadFlowLocationImportance.Important:
if (myImportance == ThreadFlowLocationImportance.Unimportant)
{
visibility = Visibility.Collapsed;
}
break;
default:
visibility = Visibility.Visible;
break;
}
if (visibility == Visibility.Visible)
{
AnalysisStepNode current = this;
while (current != null)
{
current.Visibility = Visibility.Visible;
current = current.Parent;
}
}
else
{
this.Visibility = Visibility.Collapsed;
}
if (this.Children != null)
{
foreach (AnalysisStepNode child in this.Children)
{
child.SetVerbosity(importance);
}
}
}