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 is GenericNameSyntax
&& memberAccess.Name.Identifier.ValueText == "Resolve"
&& ((GenericNameSyntax)memberAccess.Name).TypeArgumentList.Arguments.Any(a => a is SimpleNameSyntax && ((SimpleNameSyntax)a).Identifier.ValueText.Contains("UnityContainer")))
{
var methodParent = FindMethodParent(node);
var snippet = methodParent == null
? FindClassParent(node).ToFullString()
: methodParent.ToFullString();
return new EvaluationResult
{
Snippet = snippet
};
}
return null;
}
}