protected override Task<EvaluationResult> EvaluateImpl(SyntaxNode node, SemanticModel semanticModel, Solution solution)
{
var lockStatement = (LockStatementSyntax)node;
var lockExpression = lockStatement.Expression as IdentifierNameSyntax;
if (lockExpression != null)
{
var lockObjectSymbolInfo = semanticModel.GetSymbolInfo(lockExpression);
var symbol = lockObjectSymbolInfo.Symbol as IFieldSymbol;
if (symbol != null && IsWeakIdentity(symbol.Type))
{
return Task.FromResult(new EvaluationResult
{
Snippet = node.ToFullString()
});
}
}
return Task.FromResult((EvaluationResult)null);
}