private void AnalyzedInterfaceDeclaration(SyntaxNodeAnalysisContext context) { if (context.IsAutomaticallyGeneratedCode()) { return; } var declaration = Cast <InterfaceDeclarationSyntax>(context.Node); if (!(IsExternallyVisible(declaration.Modifiers) || declaration.Modifiers.Any(SyntaxKind.PrivateKeyword))) { DiagnosticsManager.CreateExplicitAccessDiagnostic(context, declaration.Identifier.Text, declaration.GetLocation(), Rule); } }
private void AnalyzedClassDeclaration(SyntaxNodeAnalysisContext context) { if (context.IsAutomaticallyGeneratedCode()) { return; } var declaration = Cast <ClassDeclarationSyntax>(context.Node); if (!ModifierContains(declaration.Modifiers, new List <SyntaxKind> { SyntaxKind.PublicKeyword, SyntaxKind.InternalKeyword, SyntaxKind.ProtectedKeyword, SyntaxKind.PrivateKeyword })) { DiagnosticsManager.CreateExplicitAccessDiagnostic(context, declaration.Identifier.Text, declaration.Identifier.GetLocation(), Rule); } }
private void AnalyzedPropertyDeclaration(SyntaxNodeAnalysisContext context) { if (context.IsAutomaticallyGeneratedCode()) { return; } var declaration = Cast <PropertyDeclarationSyntax>(context.Node); // if this property is within an interface then we do not need to process with access qualifier check var interfaceDeclaration = declaration.Parent as InterfaceDeclarationSyntax; if (interfaceDeclaration == null && !ModifierContains(declaration.Modifiers, new List <SyntaxKind> { SyntaxKind.PublicKeyword, SyntaxKind.InternalKeyword, SyntaxKind.ProtectedKeyword, SyntaxKind.PrivateKeyword })) { DiagnosticsManager.CreateExplicitAccessDiagnostic(context, declaration.Identifier.Text, declaration.Identifier.GetLocation(), Rule); } }
private void AnalyzedConstructorDeclaration(SyntaxNodeAnalysisContext context) { if (context.IsAutomaticallyGeneratedCode()) { return; } var declaration = Cast <ConstructorDeclarationSyntax>(context.Node); if (!declaration.Modifiers.Any(SyntaxKind.StaticKeyword)) { if (!(IsExternallyVisible(declaration.Modifiers) || ModifierContains(declaration.Modifiers, new List <SyntaxKind> { SyntaxKind.PrivateKeyword }))) { DiagnosticsManager.CreateExplicitAccessDiagnostic(context, $"Constructor {declaration.Identifier.Text}", declaration.Identifier.GetLocation(), Rule); } } }