protected override EvaluationResult EvaluateImpl(SyntaxNode node)
{
var memberAccess = (MemberAccessExpressionSyntax)node;
if (memberAccess.Expression.IsKind(SyntaxKind.SimpleMemberAccessExpression)
&& ((MemberAccessExpressionSyntax)memberAccess.Expression).Expression.IsKind(SyntaxKind.IdentifierName)
&& ((IdentifierNameSyntax)((MemberAccessExpressionSyntax)memberAccess.Expression).Expression).Identifier.ValueText == "ServiceLocator"
&& memberAccess.Name.Identifier.ValueText == "Resolve")
{
var methodParent = FindMethodParent(node) as MethodDeclarationSyntax;
if (methodParent != null
&& methodParent.AttributeLists.Any(l => l.Attributes.Any(a => a.Name is SimpleNameSyntax && ((SimpleNameSyntax)a.Name).Identifier.ValueText.IsKnownTestAttribute())))
{
var snippet = methodParent.ToFullString();
return new EvaluationResult
{
Snippet = snippet,
};
}
}
return null;
}
}