Skip to content

Commit eadc056

Browse files
authored
Automatically linting code
1 parent c274866 commit eadc056

7 files changed

Lines changed: 115 additions & 123 deletions

File tree

.config/dotnet-tools.json

Lines changed: 64 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,90 +1,66 @@
11
{
2-
"version": 1,
3-
"isRoot": true,
4-
"tools": {
5-
"gitversion.tool": {
6-
"version": "6.5.1",
7-
"commands": [
8-
"dotnet-gitversion"
9-
],
10-
"rollForward": false
11-
},
12-
"dotnet-reportgenerator-globaltool": {
13-
"version": "5.5.1",
14-
"commands": [
15-
"reportgenerator"
16-
],
17-
"rollForward": false
18-
},
19-
"nuke.globaltool": {
20-
"version": "10.1.0",
21-
"commands": [
22-
"nuke"
23-
],
24-
"rollForward": false
25-
},
26-
"codecov.tool": {
27-
"version": "1.13.0",
28-
"commands": [
29-
"codecov"
30-
],
31-
"rollForward": false
32-
},
33-
"jetbrains.resharper.globaltools": {
34-
"version": "2025.3.2",
35-
"commands": [
36-
"jb"
37-
],
38-
"rollForward": false
39-
},
40-
"jetbrains.dotcover.commandlinetools": {
41-
"version": "2025.3.2",
42-
"commands": [
43-
"dotCover"
44-
],
45-
"rollForward": false
46-
},
47-
"jetbrains.dottrace.globaltools": {
48-
"version": "2025.3.2",
49-
"commands": [
50-
"dottrace"
51-
],
52-
"rollForward": false
53-
},
54-
"dotnet-coverage": {
55-
"version": "18.4.1",
56-
"commands": [
57-
"dotnet-coverage"
58-
],
59-
"rollForward": false
60-
},
61-
"dotnet-outdated-tool": {
62-
"version": "4.7.0",
63-
"commands": [
64-
"dotnet-outdated"
65-
],
66-
"rollForward": false
67-
},
68-
"husky": {
69-
"version": "0.8.0",
70-
"commands": [
71-
"husky"
72-
],
73-
"rollForward": false
74-
},
75-
"verify.tool": {
76-
"version": "0.7.0",
77-
"commands": [
78-
"dotnet-verify"
79-
],
80-
"rollForward": false
81-
},
82-
"gitreleasemanager.tool": {
83-
"version": "0.20.0",
84-
"commands": [
85-
"dotnet-gitreleasemanager"
86-
],
87-
"rollForward": false
2+
"version": 1,
3+
"isRoot": true,
4+
"tools": {
5+
"gitversion.tool": {
6+
"version": "6.5.1",
7+
"commands": ["dotnet-gitversion"],
8+
"rollForward": false
9+
},
10+
"dotnet-reportgenerator-globaltool": {
11+
"version": "5.5.1",
12+
"commands": ["reportgenerator"],
13+
"rollForward": false
14+
},
15+
"nuke.globaltool": {
16+
"version": "10.1.0",
17+
"commands": ["nuke"],
18+
"rollForward": false
19+
},
20+
"codecov.tool": {
21+
"version": "1.13.0",
22+
"commands": ["codecov"],
23+
"rollForward": false
24+
},
25+
"jetbrains.resharper.globaltools": {
26+
"version": "2025.3.2",
27+
"commands": ["jb"],
28+
"rollForward": false
29+
},
30+
"jetbrains.dotcover.commandlinetools": {
31+
"version": "2025.3.2",
32+
"commands": ["dotCover"],
33+
"rollForward": false
34+
},
35+
"jetbrains.dottrace.globaltools": {
36+
"version": "2025.3.2",
37+
"commands": ["dottrace"],
38+
"rollForward": false
39+
},
40+
"dotnet-coverage": {
41+
"version": "18.4.1",
42+
"commands": ["dotnet-coverage"],
43+
"rollForward": false
44+
},
45+
"dotnet-outdated-tool": {
46+
"version": "4.7.0",
47+
"commands": ["dotnet-outdated"],
48+
"rollForward": false
49+
},
50+
"husky": {
51+
"version": "0.8.0",
52+
"commands": ["husky"],
53+
"rollForward": false
54+
},
55+
"verify.tool": {
56+
"version": "0.7.0",
57+
"commands": ["dotnet-verify"],
58+
"rollForward": false
59+
},
60+
"gitreleasemanager.tool": {
61+
"version": "0.20.0",
62+
"commands": ["dotnet-gitreleasemanager"],
63+
"rollForward": false
64+
}
8865
}
89-
}
90-
}
66+
}

Directory.Packages.props

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<?xml version="1.0" encoding="utf-8"?>
1+
<?xml version="1.0" encoding="utf-8" ?>
22
<Project>
33
<PropertyGroup>
44
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
@@ -60,5 +60,8 @@
6060
<PackageVersion Include="Verify.DiffPlex" Version="3.1.2" />
6161
<PackageVersion Include="Verify.TUnit" Version="31.13.0" />
6262
</ItemGroup>
63-
<Import Project="$(MSBuildThisFileDirectory)/Directory.Packages.support.props" Condition="Exists('$(MSBuildThisFileDirectory)/Directory.Packages.support.props')" />
63+
<Import
64+
Project="$(MSBuildThisFileDirectory)/Directory.Packages.support.props"
65+
Condition="Exists('$(MSBuildThisFileDirectory)/Directory.Packages.support.props')"
66+
/>
6467
</Project>

src/DependencyInjection.Analyzers/Configuration/AssemblyProviderConfiguration.cs

Lines changed: 29 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
using System.Collections.Immutable;
22
using System.Diagnostics;
33
using System.Text.Json;
4+
45
using Microsoft.CodeAnalysis;
56
using Microsoft.CodeAnalysis.CSharp.Syntax;
67
using Microsoft.CodeAnalysis.Diagnostics;
8+
79
using Rocket.Surgery.DependencyInjection.Analyzers.AssemblyProviders;
810
using Rocket.Surgery.DependencyInjection.Analyzers.Descriptors;
911

@@ -144,15 +146,15 @@ public static IEnumerable<AttributeListSyntax> ToAssemblyAttributes(
144146
yield return Helpers.AddAssemblyAttribute(ServiceDescriptorTypesKey, GetServiceDescriptorToString(context, request));
145147
}
146148
}
147-
#pragma warning disable RS1035
149+
#pragma warning disable RS1035
148150
internal ResolvedSourceLocation? CacheSourceLocation(SourceLocation location, IAssemblySymbol assemblySymbol, Func<ResolvedSourceLocation?> factory)
149151
{
150152
if (generatedJson.GetSourceLocation(assemblySymbol, location, factory) is not { } savedLocation) return null;
151153

152154
resultingJson.AddSourceLocation(assemblySymbol, savedLocation);
153155
return savedLocation;
154156
}
155-
#pragma warning restore RS1035
157+
#pragma warning restore RS1035
156158

157159
private static string CompressString(byte[] bytes) => Convert.ToBase64String(bytes);
158160

@@ -199,7 +201,7 @@ private static GetAssemblyConfiguration GetAssemblyCollectionData(AssemblyCollec
199201
return data;
200202
}
201203

202-
#pragma warning disable RS1035
204+
#pragma warning disable RS1035
203205
private void GetAssemblyExpressionData(
204206
IAssemblySymbol assembly,
205207
out ImmutableList<AssemblyCollection.Item> assemblyItems,
@@ -222,9 +224,9 @@ ImmutableDictionary<string, IAssemblySymbol> assemblySymbols
222224
if (generatedJson.GetAssemblyData(assembly) is { } generatedData)
223225
{
224226
resultingJson.AddExpressionData(assembly, generatedData);
225-
assemblyItems = generatedData.InternalAssemblyRequests.Select(z => GetAssembliesFromData(assemblySymbols, z)).ToImmutableList();
226-
reflection = generatedData.InternalReflectionRequests.Select(z => GetReflectionFromData(compilation, assemblySymbols, z)).ToImmutableList();
227-
serviceDescriptor = generatedData.InternalServiceDescriptorRequests.Select(z => GetServiceDescriptorFromData(compilation, assemblySymbols, z)).ToImmutableList();
227+
assemblyItems = [.. generatedData.InternalAssemblyRequests.Select(z => GetAssembliesFromData(assemblySymbols, z))];
228+
reflection = [.. generatedData.InternalReflectionRequests.Select(z => GetReflectionFromData(compilation, assemblySymbols, z))];
229+
serviceDescriptor = [.. generatedData.InternalServiceDescriptorRequests.Select(z => GetServiceDescriptorFromData(compilation, assemblySymbols, z))];
228230
excludeFromResolution = generatedData.ExcludeFromResolution;
229231
return;
230232
}
@@ -290,9 +292,9 @@ ImmutableDictionary<string, IAssemblySymbol> assemblySymbols
290292
serviceDescriptor = serviceDescriptorBuilder.ToImmutable();
291293

292294
var result = new CompiledAssemblyProviderData(
293-
assemblyBuilder.Select(GetAssemblyCollectionData).ToImmutableList(),
294-
reflectionBuilder.Select(GetReflectionCollectionData).ToImmutableList(),
295-
serviceDescriptorBuilder.Select(z => GetServiceDescriptorCollectionData(context, z)).ToImmutableList(),
295+
[.. assemblyBuilder.Select(GetAssemblyCollectionData)],
296+
[.. reflectionBuilder.Select(GetReflectionCollectionData)],
297+
[.. serviceDescriptorBuilder.Select(z => GetServiceDescriptorCollectionData(context, z))],
296298
excludeFromResolution,
297299
assembly.GetCachedVersion()
298300
);
@@ -302,7 +304,7 @@ ImmutableDictionary<string, IAssemblySymbol> assemblySymbols
302304
else
303305
resultingJson.AddExpressionData(assembly, result);
304306
}
305-
#pragma warning restore RS1035
307+
#pragma warning restore RS1035
306308

307309
private static GetReflectionCollectionData GetReflectionCollectionData(ReflectionCollection.Item item)
308310
{
@@ -441,18 +443,18 @@ ImmutableDictionary<string, IAssemblySymbol> assemblySymbols
441443
foreach (var item in data.ServiceTypeDescriptors)
442444
{
443445
IServiceTypeDescriptor serviceTypeDescriptor = item switch
444-
{
445-
{ Identifier: 'c', TypeData: { } typeData } when findType(assemblySymbols, compilation, typeData.Assembly, typeData.Type) is { } type =>
446-
new CompiledServiceTypeDescriptor(type),
447-
{ Identifier: 'c', TypeData: { } typeData } => new UnknownCompiledServiceTypeDescriptor(typeData),
448-
{ Identifier: 'i', TypeFilter: { } typeFilter } =>
449-
new ImplementedInterfacesServiceTypeDescriptor(LoadTypeFilter(compilation, typeFilter, source, assemblySymbols)),
450-
{ Identifier: 'i' } => new ImplementedInterfacesServiceTypeDescriptor(null),
451-
{ Identifier: 'm' } => new MatchingInterfaceServiceTypeDescriptor(),
452-
{ Identifier: 's' } => new SelfServiceTypeDescriptor(),
453-
{ Identifier: 'a' } => new AsTypeFilterServiceTypeDescriptor(),
454-
_ => throw new ArgumentOutOfRangeException(nameof(data), data, $"The type name was {data.GetType().FullName}"),
455-
};
446+
{
447+
{ Identifier: 'c', TypeData: { } typeData } when findType(assemblySymbols, compilation, typeData.Assembly, typeData.Type) is { } type =>
448+
new CompiledServiceTypeDescriptor(type),
449+
{ Identifier: 'c', TypeData: { } typeData } => new UnknownCompiledServiceTypeDescriptor(typeData),
450+
{ Identifier: 'i', TypeFilter: { } typeFilter } =>
451+
new ImplementedInterfacesServiceTypeDescriptor(LoadTypeFilter(compilation, typeFilter, source, assemblySymbols)),
452+
{ Identifier: 'i' } => new ImplementedInterfacesServiceTypeDescriptor(null),
453+
{ Identifier: 'm' } => new MatchingInterfaceServiceTypeDescriptor(),
454+
{ Identifier: 's' } => new SelfServiceTypeDescriptor(),
455+
{ Identifier: 'a' } => new AsTypeFilterServiceTypeDescriptor(),
456+
_ => throw new ArgumentOutOfRangeException(nameof(data), data, $"The type name was {data.GetType().FullName}"),
457+
};
456458
descriptors.Add(
457459
serviceTypeDescriptor
458460
);
@@ -486,16 +488,16 @@ CompiledServiceTypeDescriptors serviceTypeDescriptors
486488
TypeFilter: i is { InterfaceFilter: { } filter } ? LoadTypeFilterData(filter) : null
487489
),
488490
MatchingInterfaceServiceTypeDescriptor => new('m'),
489-
SelfServiceTypeDescriptor => new('s'),
490-
AsTypeFilterServiceTypeDescriptor => new('a'),
491+
SelfServiceTypeDescriptor => new('s'),
492+
AsTypeFilterServiceTypeDescriptor => new('a'),
491493
CompiledServiceTypeDescriptor { Type: { } namedType } => new ServiceTypeData(
492494
'c',
493495
new(namedType.ContainingAssembly.MetadataName, namedType.MetadataName, namedType.IsUnboundGenericType)
494496
),
495497
_ => throw new ArgumentOutOfRangeException(nameof(descriptor), descriptor, $"The type name was {descriptor.GetType().FullName}"),
496498
}
497499
);
498-
return new(serviceDescriptors.ToImmutableArray(), serviceTypeDescriptors.Lifetime);
500+
return new([.. serviceDescriptors], serviceTypeDescriptors.Lifetime);
499501
}
500502

501503
private static CompiledTypeFilter LoadTypeFilter(
@@ -597,14 +599,13 @@ ImmutableDictionary<string, IAssemblySymbol> assemblySymbols
597599

598600
private static TypeFilterData LoadTypeFilterData(CompiledTypeFilter typeFilter) => new(
599601
typeFilter.ClassFilter,
600-
typeFilter
602+
[.. typeFilter
601603
.TypeFilterDescriptors
602604
.OfType<NamespaceFilterDescriptor>()
603605
.Select(static z => new NamespaceFilterData(z.Filter, [.. z.Namespaces.OrderBy(z => z)]))
604606
.OrderBy(static z => string.Join(",", z.Namespaces.OrderBy(static z => z)))
605607
.ThenBy(static z => z.Filter)
606-
.Select(static z => z with { Namespaces = [.. z.Namespaces.OrderBy(z => z)] })
607-
.ToImmutableArray(),
608+
.Select(static z => z with { Namespaces = [.. z.Namespaces.OrderBy(z => z)] })],
608609
[
609610
.. typeFilter
610611
.TypeFilterDescriptors.OfType<NameFilterDescriptor>()

src/DependencyInjection.Analyzers/Rocket.Surgery.DependencyInjection.Analyzers.csproj

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,21 @@
1111
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" PrivateAssets="all" />
1212
<PackageReference Include="Polyfill" PrivateAssets="all" />
1313
<PackageReference Include="System.Text.Json" PrivateAssets="all" />
14-
<ProjectReference Include="../DependencyInjection.Analyzers.roslyn4.8/Rocket.Surgery.DependencyInjection.Analyzers.roslyn4.8.csproj" PrivateAssets="all" ReferenceOutputAssembly="false" />
14+
<ProjectReference
15+
Include="../DependencyInjection.Analyzers.roslyn4.8/Rocket.Surgery.DependencyInjection.Analyzers.roslyn4.8.csproj"
16+
PrivateAssets="all"
17+
ReferenceOutputAssembly="false"
18+
/>
1519
</ItemGroup>
1620
<ItemGroup>
1721
<None Include="bin\$(Configuration)\netstandard2.0\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/roslyn4.14/cs" Visible="false" />
1822
<None Include="$(PkgSystem_Text_Json)\lib\netstandard2.0\*.dll" Pack="true" PackagePath="analyzers/dotnet/roslyn4.14/cs" Visible="false" />
19-
<None Include="..\DependencyInjection.Analyzers.roslyn4.8\bin\$(Configuration)\netstandard2.0\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/roslyn4.8/cs" Visible="false" />
23+
<None
24+
Include="..\DependencyInjection.Analyzers.roslyn4.8\bin\$(Configuration)\netstandard2.0\$(AssemblyName).dll"
25+
Pack="true"
26+
PackagePath="analyzers/dotnet/roslyn4.8/cs"
27+
Visible="false"
28+
/>
2029
<None Include="$(PkgSystem_Text_Json)\lib\netstandard2.0\*.dll" Pack="true" PackagePath="analyzers/dotnet/roslyn4.8/cs" Visible="false" />
2130
</ItemGroup>
2231
</Project>

test/DependencyInjection.Analyzers.Tests/VerifyExtensions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
using Microsoft.CodeAnalysis;
22
using Microsoft.CodeAnalysis.Text;
3+
34
using Rocket.Surgery.Extensions.Testing.SourceGenerators;
45

56
namespace Rocket.Surgery.DependencyInjection.Analyzers.Tests;

test/Extensions.Tests/BindingTests.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
#nullable disable
22
using System.Reflection;
3+
34
using Microsoft.Extensions.Configuration;
5+
46
using Newtonsoft.Json;
57
using Newtonsoft.Json.Linq;
8+
69
using Rocket.Surgery.Binding;
710
using Rocket.Surgery.Extensions.Testing;
811

@@ -311,7 +314,6 @@ public Task BindsTo_ArrayProperties(BindDelegate @delegate)
311314
};
312315
var result = (ArrayProperties)@delegate(binder, typeof(ArrayProperties), JsonBinder.DefaultSerializer, keyValuePairs);
313316

314-
315317
return Verify(new { result, bindingResult = binder.From(result) }).UseParameters(TUnit.Core.TestContext.Current?.Metadata.TestDetails.TestId);
316318
}
317319

test/Extensions.Tests/Encoding/Base3264EncodingTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public async Task TestAssymetricAlphabet()
3939
{
4040
var b32 = new Base32Url(false, true, true, Base32Url.Base32CrockfordHumanFriendlyAlphabet);
4141

42-
var s = "Hello World!";
42+
const string s = "Hello World!";
4343
var b = System.Text.Encoding.UTF8.GetBytes(s);
4444
var enc = b32.Encode(b);
4545

@@ -81,7 +81,7 @@ public async Task TestBadAlphabetAllowedIfCS()
8181
public async Task TestMethods()
8282
{
8383
var enc = System.Text.Encoding.UTF8;
84-
var stringIn = "Hello World!";
84+
const string stringIn = "Hello World!";
8585
var bytes = enc.GetBytes(stringIn);
8686

8787
await Assert.That(Base3264Encoding.ToBase64(bytes)).IsEqualTo("SGVsbG8gV29ybGQh");

0 commit comments

Comments
 (0)