Skip to content

Commit c25c443

Browse files
Try to see if Sonar finds anything interesting
1 parent 3a809d7 commit c25c443

File tree

4 files changed

+321
-0
lines changed

4 files changed

+321
-0
lines changed

.editorconfig

Lines changed: 310 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,3 +215,313 @@ dotnet_style_qualification_for_event = false:silent
215215

216216
# MEF006: No importing constructor
217217
dotnet_diagnostic.MEF006.severity = silent
218+
219+
# .\sonarsilencer "Minor Code Smell" "Info Code Smell" "Minor Bug" "Minor Security Hotspot" -l Negative
220+
221+
#### Minor Code Smell (129) ####
222+
# An abstract class should have both abstract and concrete methods - Warning
223+
dotnet_diagnostic.S1694.severity = none
224+
# Caller information arguments should not be provided explicitly - Warning
225+
dotnet_diagnostic.S3236.severity = none
226+
# Arrays should not be created for params parameters - Warning
227+
dotnet_diagnostic.S3878.severity = none
228+
# Non-abstract attributes should be sealed - Warning
229+
dotnet_diagnostic.S4060.severity = none
230+
# Boolean checks should not be inverted - Warning
231+
dotnet_diagnostic.S1940.severity = none
232+
# Boolean literals should not be redundant - Warning
233+
dotnet_diagnostic.S1125.severity = none
234+
# break statements should not be used except for switch cases - Warning
235+
dotnet_diagnostic.S1227.severity = none
236+
# Duplicate casts should not be made - Warning
237+
dotnet_diagnostic.S3247.severity = none
238+
# Generic exceptions should not be ignored - Warning
239+
dotnet_diagnostic.S2486.severity = none
240+
# "catch" clauses should do more than rethrow - Warning
241+
dotnet_diagnostic.S2737.severity = none
242+
# Methods and properties should be named in PascalCase - Warning
243+
dotnet_diagnostic.S100.severity = none
244+
# Types should be named in PascalCase - Warning
245+
dotnet_diagnostic.S101.severity = none
246+
# Classes should not be empty - Warning
247+
dotnet_diagnostic.S2094.severity = none
248+
# Classes that provide "Equals(<T>)" should implement "IEquatable<T>" - Warning
249+
dotnet_diagnostic.S3897.severity = none
250+
# "Any()" should be used to test for emptiness - Warning
251+
dotnet_diagnostic.S1155.severity = none
252+
# Comments should not be empty - Warning
253+
dotnet_diagnostic.S4663.severity = none
254+
# "Equals" and the comparison operators should be overridden when implementing "IComparable" - Warning
255+
dotnet_diagnostic.S1210.severity = none
256+
# The simplest possible condition syntax should be used - Warning
257+
dotnet_diagnostic.S3240.severity = none
258+
# The simplest possible condition syntax should be used - Warning
259+
dotnet_diagnostic.S3240.severity = none
260+
# Sequential tests should not check the same condition - Warning
261+
dotnet_diagnostic.S2760.severity = none
262+
# Don't hardcode the format when turning dates and times to strings - Warning
263+
dotnet_diagnostic.S6585.severity = none
264+
# "Exception" should not be caught - Warning
265+
dotnet_diagnostic.S2221.severity = none
266+
# "Trace.WriteLineIf" should not be used with "TraceSwitch" levels - Warning
267+
dotnet_diagnostic.S6675.severity = none
268+
# "Trace.Write" and "Trace.WriteLine" should not be used - Warning
269+
dotnet_diagnostic.S6670.severity = none
270+
# Namespaces should not be empty - Warning
271+
dotnet_diagnostic.S3261.severity = none
272+
# Empty statements should be removed - Warning
273+
dotnet_diagnostic.S1116.severity = none
274+
# Enumeration type names should not have "Flags" or "Enum" suffixes - Warning
275+
dotnet_diagnostic.S2344.severity = none
276+
# Enumeration types should comply with a naming convention - Warning
277+
dotnet_diagnostic.S2342.severity = none
278+
# Enumerations should have "Int32" storage - Warning
279+
dotnet_diagnostic.S4022.severity = none
280+
# Exceptions should provide standard constructors - Warning
281+
dotnet_diagnostic.S4027.severity = none
282+
# Logging in a catch clause should pass the caught exception as a parameter. - Warning
283+
dotnet_diagnostic.S6667.severity = none
284+
# "ExcludeFromCodeCoverage" attributes should include a justification - Warning
285+
dotnet_diagnostic.S6513.severity = none
286+
# Extensions should be in separate namespaces - Warning
287+
dotnet_diagnostic.S4226.severity = none
288+
# Extension methods should not extend "object" - Warning
289+
dotnet_diagnostic.S4225.severity = none
290+
# Fields should not have public accessibility - Warning
291+
dotnet_diagnostic.S1104.severity = none
292+
# Files should end with a newline - Warning
293+
dotnet_diagnostic.S113.severity = none
294+
# "Find" method should be used instead of the "FirstOrDefault" extension - Warning
295+
dotnet_diagnostic.S6602.severity = none
296+
# Attribute, EventArgs, and Exception type names should end with the type being extended - Warning
297+
dotnet_diagnostic.S3376.severity = none
298+
# Generic logger injection should match enclosing type - Warning
299+
dotnet_diagnostic.S6672.severity = none
300+
# All type parameters should be used in the parameter list to enable type inference - Warning
301+
dotnet_diagnostic.S4018.severity = none
302+
# Runtime type checking should be simplified - Warning
303+
dotnet_diagnostic.S2219.severity = none
304+
# Interfaces should not simply inherit from base interfaces with colliding members - Warning
305+
dotnet_diagnostic.S3444.severity = none
306+
# "static" fields should be initialized inline - Warning
307+
dotnet_diagnostic.S3963.severity = none
308+
# Collection-specific "Exists" method should be used instead of the "Any" extension - Warning
309+
dotnet_diagnostic.S6605.severity = none
310+
# "Contains" should be used instead of "Any" for simple equality checks - Warning
311+
dotnet_diagnostic.S6617.severity = none
312+
# Interfaces should not be empty - Warning
313+
dotnet_diagnostic.S4023.severity = none
314+
# Method calls should not resolve ambiguously to overloads with "params" - Warning
315+
dotnet_diagnostic.S3220.severity = none
316+
# "First" and "Last" properties of "LinkedList" should be used instead of the "First()" and "Last()" extension methods - Warning
317+
dotnet_diagnostic.S6613.severity = none
318+
# Literal suffixes should be upper case - Warning
319+
dotnet_diagnostic.S818.severity = none
320+
# Logger fields should be "private static readonly" - Warning
321+
dotnet_diagnostic.S1312.severity = none
322+
# Logger field or property name should comply with a naming convention - Warning
323+
dotnet_diagnostic.S6669.severity = none
324+
# Loggers should be named for their enclosing types - Warning
325+
dotnet_diagnostic.S3416.severity = none
326+
# Logging arguments should be passed to the correct parameter - Warning
327+
dotnet_diagnostic.S6668.severity = none
328+
# Loops should be simplified with "LINQ" expressions - Warning
329+
dotnet_diagnostic.S3267.severity = none
330+
# Assemblies should be marked with "NeutralResourcesLanguageAttribute" - Warning
331+
dotnet_diagnostic.S4026.severity = none
332+
# Members should not be initialized to default values - Warning
333+
dotnet_diagnostic.S3052.severity = none
334+
# Member initializer values should not be redundant - Warning
335+
dotnet_diagnostic.S3604.severity = none
336+
# Overriding members should do more than simply call the same member in the base class - Warning
337+
dotnet_diagnostic.S1185.severity = none
338+
# Methods and properties that don't access instance data should be static - Warning
339+
dotnet_diagnostic.S2325.severity = none
340+
# Use PascalCase for named placeholders - Warning
341+
dotnet_diagnostic.S6678.severity = none
342+
# Method overloads should be grouped together - Warning
343+
dotnet_diagnostic.S4136.severity = none
344+
# Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]" - Warning
345+
dotnet_diagnostic.S3450.severity = none
346+
# Methods should be named according to their synchronicities - Warning
347+
dotnet_diagnostic.S4261.severity = none
348+
# Methods should not return constants - Warning
349+
dotnet_diagnostic.S3400.severity = none
350+
# Method parameters should be declared with base types - Warning
351+
dotnet_diagnostic.S3242.severity = none
352+
# Multiple variables should not be declared on the same line - Warning
353+
dotnet_diagnostic.S1659.severity = none
354+
# Mutable fields should not be "public static" - Warning
355+
dotnet_diagnostic.S2386.severity = none
356+
# Nested code blocks should not be used - Warning
357+
dotnet_diagnostic.S1199.severity = none
358+
# Non-derived "private" classes and records should be "sealed" - Warning
359+
dotnet_diagnostic.S3260.severity = none
360+
# Strings should be normalized to uppercase - Warning
361+
dotnet_diagnostic.S4040.severity = none
362+
# Unassigned members should be removed - Warning
363+
dotnet_diagnostic.S3459.severity = none
364+
# Operator overloads should have named alternatives - Warning
365+
dotnet_diagnostic.S4069.severity = none
366+
# Parameter names should not duplicate the names of their methods - Warning
367+
dotnet_diagnostic.S3872.severity = none
368+
# Implementations should be provided for "partial" methods - Warning
369+
dotnet_diagnostic.S3251.severity = none
370+
# Multidimensional arrays should not be used - Warning
371+
dotnet_diagnostic.S3967.severity = none
372+
# Private fields only used as local variables in methods should become local variables - Warning
373+
dotnet_diagnostic.S1450.severity = none
374+
# "private" methods called only by inner classes should be moved to those classes - Warning
375+
dotnet_diagnostic.S3398.severity = none
376+
# Properties should be preferred - Warning
377+
dotnet_diagnostic.S4049.severity = none
378+
# Trivial properties should be auto-implemented - Warning
379+
dotnet_diagnostic.S2292.severity = none
380+
# Constructor and destructor declarations should not be redundant - Warning
381+
dotnet_diagnostic.S3253.severity = none
382+
# Default parameter values should not be passed as arguments - Warning
383+
dotnet_diagnostic.S3254.severity = none
384+
# Redundant casts should not be used - Warning
385+
dotnet_diagnostic.S1905.severity = none
386+
# Variables should not be checked against the values they're about to be assigned - Warning
387+
dotnet_diagnostic.S3440.severity = none
388+
# Declarations and initializations should be as concise as possible - Warning
389+
dotnet_diagnostic.S3257.severity = none
390+
# Declarations and initializations should be as concise as possible - Warning
391+
dotnet_diagnostic.S3257.severity = none
392+
# Inheritance list should not be redundant - Warning
393+
dotnet_diagnostic.S1939.severity = none
394+
# Jump statements should not be redundant - Warning
395+
dotnet_diagnostic.S3626.severity = none
396+
# Redundant modifiers should not be used - Warning
397+
dotnet_diagnostic.S2333.severity = none
398+
# Null checks should not be combined with "is" operator checks - Warning
399+
dotnet_diagnostic.S4201.severity = none
400+
# Null checks should not be combined with "is" operator checks - Warning
401+
dotnet_diagnostic.S4201.severity = none
402+
# Redundant parentheses should not be used - Warning
403+
dotnet_diagnostic.S3235.severity = none
404+
# Redundant property names should be omitted in anonymous classes - Warning
405+
dotnet_diagnostic.S3441.severity = none
406+
# "ToString()" calls should not be redundant - Warning
407+
dotnet_diagnostic.S1858.severity = none
408+
# "==" should not be used when "Equals" is overridden - Warning
409+
dotnet_diagnostic.S1698.severity = none
410+
# A close curly brace should be located at the beginning of a line - Warning
411+
dotnet_diagnostic.S1109.severity = none
412+
# "Min/Max" properties of "Set" types should be used instead of the "Enumerable" extension methods - Warning
413+
dotnet_diagnostic.S6609.severity = none
414+
# Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used - Warning
415+
dotnet_diagnostic.S4056.severity = none
416+
# Overloads with a "StringComparison" parameter should be used - Warning
417+
dotnet_diagnostic.S4058.severity = none
418+
# "sealed" classes should not have "protected" members - Warning
419+
dotnet_diagnostic.S2156.severity = none
420+
# Strings should not be concatenated using '+' in a loop - Warning
421+
dotnet_diagnostic.S1643.severity = none
422+
# String literals should not be duplicated - Warning
423+
dotnet_diagnostic.S1192.severity = none
424+
# Culture should be specified for "string" operations - Warning
425+
dotnet_diagnostic.S1449.severity = none
426+
# Strings or integral types should be used for indexers - Warning
427+
dotnet_diagnostic.S3876.severity = none
428+
# "GC.SuppressFinalize" should not be invoked for types without destructors - Warning
429+
dotnet_diagnostic.S3234.severity = none
430+
# Empty "case" clauses that fall through to the "default" should be omitted - Warning
431+
dotnet_diagnostic.S3458.severity = none
432+
# "switch" statements should have at least 3 "case" clauses - Warning
433+
dotnet_diagnostic.S1301.severity = none
434+
# Empty "default" clauses should be removed - Warning
435+
dotnet_diagnostic.S3532.severity = none
436+
# Tabulation characters should not be used - Warning
437+
dotnet_diagnostic.S105.severity = none
438+
# The code block contains too many logging calls - Warning
439+
dotnet_diagnostic.S6664.severity = none
440+
# Track use of "NotImplementedException" - Warning
441+
dotnet_diagnostic.S3717.severity = none
442+
# Type names should not match namespaces - Warning
443+
dotnet_diagnostic.S4041.severity = none
444+
# Types should not extend outdated base types - Warning
445+
dotnet_diagnostic.S4052.severity = none
446+
# Unnecessary "using" should be removed - Warning
447+
dotnet_diagnostic.S1128.severity = none
448+
# Methods should not return values that are never used - Warning
449+
dotnet_diagnostic.S3241.severity = none
450+
# URIs should not be hardcoded - Warning
451+
dotnet_diagnostic.S1075.severity = none
452+
# "StartsWith" and "EndsWith" overloads that take a "char" should be used instead of the ones that take a "string" - Warning
453+
dotnet_diagnostic.S6610.severity = none
454+
# "static readonly" constants should be "const" instead - Warning
455+
dotnet_diagnostic.S3962.severity = none
456+
# Generics should be used when appropriate - Warning
457+
dotnet_diagnostic.S4047.severity = none
458+
# Prefer indexing instead of "Enumerable" methods on types implementing "IList" - Warning
459+
dotnet_diagnostic.S6608.severity = none
460+
# The lambda parameter should be used instead of capturing arguments in "ConcurrentDictionary" methods - Warning
461+
dotnet_diagnostic.S6612.severity = none
462+
# Underscores should be used to make large numbers readable - Warning
463+
dotnet_diagnostic.S2148.severity = none
464+
# "params" should be used instead of "varargs" - Warning
465+
dotnet_diagnostic.S4061.severity = none
466+
# "string.Create" should be used instead of "FormattableString" - Warning
467+
dotnet_diagnostic.S6618.severity = none
468+
# "string.IsNullOrEmpty" should be used - Warning
469+
dotnet_diagnostic.S3256.severity = none
470+
# The collection-specific "TrueForAll" method should be used instead of the "All" extension - Warning
471+
dotnet_diagnostic.S6603.severity = none
472+
# Use the "UnixEpoch" field instead of creating "DateTime" instances that point to the beginning of the Unix epoch - Warning
473+
dotnet_diagnostic.S6588.severity = none
474+
# The collection should be filtered before sorting by using "Where" before "OrderBy" - Warning
475+
dotnet_diagnostic.S6607.severity = none
476+
# A "while" loop should be used instead of a "for" loop - Warning
477+
dotnet_diagnostic.S1264.severity = none
478+
# Unused local variables should be removed - Warning
479+
dotnet_diagnostic.S1481.severity = none
480+
481+
#### Info Code Smell (3) ####
482+
# Track uses of "TODO" tags - Warning
483+
dotnet_diagnostic.S1135.severity = none
484+
# Track uses of in-source issue suppressions - Warning
485+
dotnet_diagnostic.S1309.severity = none
486+
# Deprecated code should be removed - Warning
487+
dotnet_diagnostic.S1133.severity = none
488+
489+
#### Minor Bug (13) ####
490+
# Date and time should not be used as a type for primary keys - Warning
491+
dotnet_diagnostic.S3363.severity = none
492+
# Integral numbers should not be shifted by zero or more than their number of bits-1 - Warning
493+
dotnet_diagnostic.S2183.severity = none
494+
# Flags enumerations should explicitly initialize all their members - Warning
495+
dotnet_diagnostic.S2345.severity = none
496+
# Property assignments should not be made for "readonly" fields not constrained to reference types - Warning
497+
dotnet_diagnostic.S2934.severity = none
498+
# Generic parameters not constrained to reference types should not be compared to "null" - Warning
499+
dotnet_diagnostic.S2955.severity = none
500+
# "GetHashCode" should not reference mutable fields - Warning
501+
dotnet_diagnostic.S2328.severity = none
502+
# "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object" - Warning
503+
dotnet_diagnostic.S3397.severity = none
504+
# Results of integer division should not be assigned to floating point variables - Warning
505+
dotnet_diagnostic.S2184.severity = none
506+
# Mutable, non-private fields should not be "readonly" - Warning
507+
dotnet_diagnostic.S3887.severity = none
508+
# "Equals(Object)" and "GetHashCode()" should be overridden in pairs - Warning
509+
dotnet_diagnostic.S1206.severity = none
510+
# Method parameters, caught exceptions and foreach variables' initial values should not be ignored - Warning
511+
dotnet_diagnostic.S1226.severity = none
512+
# "string.ToCharArray()" and "ReadOnlySpan<T>.ToArray()" should not be called redundantly - Warning
513+
dotnet_diagnostic.S3456.severity = none
514+
# The length returned from a stream read should be checked - Warning
515+
dotnet_diagnostic.S2674.severity = none
516+
517+
#### Minor Security Hotspot (5) ####
518+
# Searching OS commands in PATH is security-sensitive - Warning
519+
dotnet_diagnostic.S4036.severity = none
520+
# Creating cookies without the "HttpOnly" flag is security-sensitive - Warning
521+
dotnet_diagnostic.S3330.severity = none
522+
# Creating cookies without the "secure" flag is security-sensitive - Warning
523+
dotnet_diagnostic.S2092.severity = none
524+
# Delivering code in production with debug features activated is security-sensitive - Warning
525+
dotnet_diagnostic.S4507.severity = none
526+
# Having a permissive Cross-Origin Resource Sharing policy is security-sensitive - Warning
527+
dotnet_diagnostic.S5122.severity = none

Directory.Packages.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
<PackageVersion Include="NUnit3TestAdapter" Version="4.6.0" />
4040
<PackageVersion Include="NuGet.Protocol" Version="6.12.1" />
4141
<PackageVersion Include="PowerShellStandard.Library" Version="5.1.1" />
42+
<PackageVersion Include="SonarAnalyzer.CSharp" Version="10.4.0.108396" />
4243
<PackageVersion Include="System.Composition.AttributedModel" Version="9.0.0" />
4344
<PackageVersion Include="System.Collections.Immutable" Version="9.0.0" />
4445
<PackageVersion Include="System.Memory" Version="4.6.0" />

ICSharpCode.Decompiler/ICSharpCode.Decompiler.csproj

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@
9090
<PrivateAssets>all</PrivateAssets>
9191
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
9292
</PackageReference>
93+
<PackageReference Include="SonarAnalyzer.CSharp" Version="10.4.0.108396">
94+
<PrivateAssets>all</PrivateAssets>
95+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
96+
</PackageReference>
9397
</ItemGroup>
9498

9599
<ItemGroup>

ICSharpCode.Decompiler/packages.lock.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,12 @@
2727
"Microsoft.NETCore.Platforms": "1.1.0"
2828
}
2929
},
30+
"SonarAnalyzer.CSharp": {
31+
"type": "Direct",
32+
"requested": "[10.4.0.108396, )",
33+
"resolved": "10.4.0.108396",
34+
"contentHash": "xGcLZ+dvkVuBbd3sjPur9X+1owSL/iDoxVFJLhMx3/vq1fmoKM2fwvrZ8ReAas6l715GJ/dWU2ckwlrRVopmbg=="
35+
},
3036
"System.Collections.Immutable": {
3137
"type": "Direct",
3238
"requested": "[6.0.0, )",

0 commit comments

Comments
 (0)