private bool ShouldAnalyzeVariableDeclaration(VariableDeclarationSyntax variableDeclaration, SemanticModel semanticModel, CancellationToken cancellationToken) { // implict type is applicable only for local variables and // such declarations cannot have multiple declarators and // must have an initializer. var isSupportedParentKind = variableDeclaration.IsParentKind( SyntaxKind.LocalDeclarationStatement, SyntaxKind.ForStatement, SyntaxKind.UsingStatement); return isSupportedParentKind && variableDeclaration.Variables.Count == 1 && variableDeclaration.Variables.Single().Initializer.IsKind(SyntaxKind.EqualsValueClause); }