protected override EvaluationResult EvaluateImpl(SyntaxNode node)
{
var whileStatement = (WhileStatementSyntax)node;
var sleepLoopFound = whileStatement.DescendantNodes()
.OfType<MemberAccessExpressionSyntax>()
.Select(x => new Tuple<SimpleNameSyntax, SimpleNameSyntax>(x.Expression as SimpleNameSyntax, x.Name))
.Where(x => x.Item1 != null)
.Any(x => x.Item1.Identifier.ValueText == "Thread" && x.Item2.Identifier.ValueText == "Sleep");
if (sleepLoopFound)
{
var snippet = (FindClassParent(node) ?? FindMethodParent(node)).ToFullString();
return new EvaluationResult
{
Snippet = snippet
};
}
return null;
}
}