New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New rule S2166: Classes named like "Exception" should extend "Exception" or a subclass #6727
Merged
zsolt-kolbay-sonarsource
merged 21 commits into
master
from
Zsolt/S2166-class-named-exception
Feb 9, 2023
Merged
Changes from 1 commit
Commits
Show all changes
21 commits
Select commit
Hold shift + click to select a range
12c49d4
Initial scaffolding
zsolt-kolbay-sonarsource 43d058f
Add test cases
zsolt-kolbay-sonarsource 78dd3fc
Implement C# rule
zsolt-kolbay-sonarsource b2d8e63
Update RSPEC
zsolt-kolbay-sonarsource da7f219
Add VB test cases
zsolt-kolbay-sonarsource af479a1
Fix indentation
zsolt-kolbay-sonarsource a8e4e12
Add test case for generic classes
zsolt-kolbay-sonarsource 5215eca
Different handling of static classes / modules
zsolt-kolbay-sonarsource 6818afe
Add record class test case
zsolt-kolbay-sonarsource fb60d96
Add intentional finding test cases
zsolt-kolbay-sonarsource c49813e
Fix unit tests
zsolt-kolbay-sonarsource df85f92
Remove empty line
zsolt-kolbay-sonarsource 8d95675
Introduce ClassAndModuleDeclarations to ISyntaxKindFacade
zsolt-kolbay-sonarsource 3a755e4
Remove empty line
zsolt-kolbay-sonarsource 540c20b
Update RSPEC and rule message
zsolt-kolbay-sonarsource 8b1e18b
Update test cases
zsolt-kolbay-sonarsource 5715d6d
Add explanation to test cases
zsolt-kolbay-sonarsource fa18201
Add compilation error test cases
zsolt-kolbay-sonarsource 0ad6700
Add test case for System.Runtime.InteropServices._Exception
zsolt-kolbay-sonarsource 044ce8b
Move up ClassDeclaration in CSharpSyntaxKindFacade
zsolt-kolbay-sonarsource 8e0317d
Fix formatting
zsolt-kolbay-sonarsource File filter
Filter by extension
Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -26,6 +26,7 @@ public interface ISyntaxKindFacade<out TSyntaxKind> | |
abstract TSyntaxKind Attribute { get; } | ||
abstract TSyntaxKind[] ClassAndRecordDeclaration { get; } | ||
abstract TSyntaxKind ClassDeclaration { get; } | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please move |
||
abstract TSyntaxKind[] ClassAndModuleDeclarations { get; } | ||
abstract TSyntaxKind[] CommentTrivia { get; } | ||
abstract TSyntaxKind[] ComparisonKinds { get; } | ||
abstract TSyntaxKind ConstructorDeclaration { get; } | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,6 +25,11 @@ internal sealed class VisualBasicSyntaxKindFacade : ISyntaxKindFacade<SyntaxKind | |
public SyntaxKind Attribute => SyntaxKind.Attribute; | ||
public SyntaxKind[] ClassAndRecordDeclaration => new[] { SyntaxKind.ClassBlock }; | ||
public SyntaxKind ClassDeclaration => SyntaxKind.ClassBlock; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. please move |
||
public SyntaxKind[] ClassAndModuleDeclarations => new[] | ||
{ | ||
SyntaxKind.ClassBlock, | ||
SyntaxKind.ModuleBlock | ||
}; | ||
public SyntaxKind[] CommentTrivia => new[] | ||
{ | ||
SyntaxKind.CommentTrivia, | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: now
ClassDeclaration
is betweenClassAndRecordDeclaration
andClassAndModuleDeclarations
, which for me makes it a bit harder to readCould you move
ClassDeclaration
aboveClassAndRecordDeclaration
? (also in interface etc)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
note: by "(also in interface etc)" I meant in all files where this applies