in resharper/src/CSharp/Feature/RunMarkers/ChickensoftTestRunMarkerProvider.cs [20:49]
public void CollectRunMarkers(IFile file, IContextBoundSettingsStore settings, IHighlightingConsumer consumer)
{
if (file.GetSolution().GetComponent<GodotTracker>().GodotDescriptor == null) return;
if (file is not ICSharpFile csharpFile) return;
foreach (var declaration in CachedDeclarationsCollector.Run<IMethodDeclaration>(csharpFile))
{
if (declaration.DeclaredElement is not { } method) continue;
if (!ChickensoftTestRunMarkerUtil.IsSuitableMethod(method)) continue;
var range = declaration.GetNameDocumentRange();
var type = method.ContainingType;
var testIdentifier = $"{type.GetClrName().ShortName}.{method.ShortName}";
var highlighting = new ChickensoftTestRunMarkerHighlighting(testIdentifier, declaration.IsValid(),
ChickensoftTestRunMarkerAttributeIds.RUN_MARKER_ID, range);
consumer.AddHighlighting(highlighting, range);
}
foreach (var declaration in CachedDeclarationsCollector.Run<IClassDeclaration>(csharpFile))
{
if (declaration.DeclaredElement is not { } @class) continue;
if (!@class.DerivesFromChickenTest()) continue;
var classNameRange = declaration.GetNameDocumentRange();
var classIdentifier = declaration.NameIdentifier.Name;
var classNameHighlighting = new ChickensoftTestRunMarkerHighlighting(classIdentifier, true,
ChickensoftTestRunMarkerAttributeIds.RUN_MARKER_ID, classNameRange);
consumer.AddHighlighting(classNameHighlighting, classNameRange);
}
}