Skip to content

Commit b09468d

Browse files
committed
Small fixes
1 parent c0300cb commit b09468d

File tree

13 files changed

+65
-45
lines changed

13 files changed

+65
-45
lines changed

src/AutoCtor.Attributes/AutoConstructAttribute.cs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
using System.Diagnostics;
22
using static System.AttributeTargets;
33

4-
#pragma warning disable CS9113 // Parameter is unread.
5-
64
namespace AutoCtor;
75

86
public enum GuardSetting
@@ -14,7 +12,10 @@ public enum GuardSetting
1412

1513
[AttributeUsage(Class | Struct, Inherited = false)]
1614
[Conditional("AUTOCTOR_USAGES")]
17-
public sealed class AutoConstructAttribute(GuardSetting guard = GuardSetting.Default) : Attribute;
15+
public sealed class AutoConstructAttribute(GuardSetting guard = GuardSetting.Default) : Attribute
16+
{
17+
public GuardSetting Guard { get; } = guard;
18+
}
1819

1920
[AttributeUsage(Method, Inherited = false)]
2021
[Conditional("AUTOCTOR_USAGES")]
@@ -26,4 +27,7 @@ public sealed class AutoConstructIgnoreAttribute : Attribute;
2627

2728
[AttributeUsage(Field | Property | Parameter, Inherited = false)]
2829
[Conditional("AUTOCTOR_USAGES")]
29-
public sealed class AutoKeyedServiceAttribute(object? key) : Attribute;
30+
public sealed class AutoKeyedServiceAttribute(object? key) : Attribute
31+
{
32+
public object? Key { get; } = key;
33+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
using Microsoft.CodeAnalysis;
2+
3+
namespace AutoCtor;
4+
5+
public sealed partial class AttributeSourceGenerator : ISourceGenerator
6+
{
7+
public void Initialize(GeneratorInitializationContext context)
8+
{
9+
context.RegisterForPostInitialization(static c =>
10+
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
11+
}
12+
public void Execute(GeneratorExecutionContext context) { }
13+
}

src/AutoCtor.Roslyn3.11/AutoConstructSourceGenerator.cs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,6 @@
33

44
namespace AutoCtor;
55

6-
public sealed partial class AttributeSourceGenerator : ISourceGenerator
7-
{
8-
public void Initialize(GeneratorInitializationContext context)
9-
{
10-
context.RegisterForPostInitialization(static c =>
11-
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
12-
}
13-
public void Execute(GeneratorExecutionContext context) { }
14-
}
15-
166
public sealed partial class AutoConstructSourceGenerator : ISourceGenerator
177
{
188
private sealed class SyntaxContextReceiver(CancellationToken cancellationToken) : ISyntaxContextReceiver
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using Microsoft.CodeAnalysis;
2+
3+
namespace AutoCtor;
4+
5+
public sealed partial class AttributeSourceGenerator : IIncrementalGenerator
6+
{
7+
public void Initialize(IncrementalGeneratorInitializationContext context)
8+
{
9+
context.RegisterPostInitializationOutput(static c =>
10+
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
11+
}
12+
}

src/AutoCtor.Roslyn4.0/AutoConstructSourceGenerator.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22

33
namespace AutoCtor;
44

5-
public sealed partial class AttributeSourceGenerator : IIncrementalGenerator
6-
{
7-
public void Initialize(IncrementalGeneratorInitializationContext context)
8-
{
9-
context.RegisterPostInitializationOutput(static c =>
10-
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
11-
}
12-
}
13-
145
public sealed partial class AutoConstructSourceGenerator : IIncrementalGenerator
156
{
167
public void Initialize(IncrementalGeneratorInitializationContext context)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
using Microsoft.CodeAnalysis;
2+
3+
namespace AutoCtor;
4+
5+
public sealed partial class AttributeSourceGenerator : IIncrementalGenerator
6+
{
7+
public void Initialize(IncrementalGeneratorInitializationContext context)
8+
{
9+
context.RegisterPostInitializationOutput(static c =>
10+
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
11+
}
12+
}

src/AutoCtor.Roslyn4.4/AutoConstructSourceGenerator.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,6 @@
22

33
namespace AutoCtor;
44

5-
public sealed partial class AttributeSourceGenerator : IIncrementalGenerator
6-
{
7-
public void Initialize(IncrementalGeneratorInitializationContext context)
8-
{
9-
context.RegisterPostInitializationOutput(static c =>
10-
c.AddSource(Emitter.HintName, Emitter.GenerateSource()));
11-
}
12-
}
13-
145
public sealed partial class AutoConstructSourceGenerator : IIncrementalGenerator
156
{
167
public void Initialize(IncrementalGeneratorInitializationContext context)

src/Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<EnforceCodeStyleInBuild>true</EnforceCodeStyleInBuild>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
8-
<NoWarn>NU5128</NoWarn>
8+
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
99
<UseArtifactsOutput>true</UseArtifactsOutput>
1010
<TestingPlatformDotnetTestSupport>true</TestingPlatformDotnetTestSupport>
1111
</PropertyGroup>

src/Shared/AnalyzerReleases.Shipped.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ Rule ID | Category | Severity | Notes
2121
ACTR005 | AutoCtor | Warning | PostConstructOutParameterCannotBeKeyed
2222
ACTR006 | AutoCtor | Warning | PostConstructOutParameterMustNotMatchKeyedField
2323

24-
## Release 2.9
24+
## Release 2.10
2525

2626
### Removed Rules
2727

src/Shared/AutoConstructSourceGenerator/Diagnostics.cs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
2020
/// Id: ACTR001<br />
2121
/// Title: Ambiguous marked post constructor method
2222
/// </summary>
23-
public static readonly DiagnosticDescriptor AmbiguousMarkedPostConstructMethod = new DiagnosticDescriptor(
23+
public static readonly DiagnosticDescriptor ACTR001_AmbiguousMarkedPostConstructMethod = new DiagnosticDescriptor(
2424
id: "ACTR001",
2525
title: "Ambiguous marked post constructor method",
2626
messageFormat: "Only one method in a type should be marked with an [AutoPostConstruct] attribute",
@@ -32,7 +32,7 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
3232
/// Id: ACTR002<br />
3333
/// Title: Post construct method must return void
3434
/// </summary>
35-
public static readonly DiagnosticDescriptor PostConstructMethodNotVoid = new DiagnosticDescriptor(
35+
public static readonly DiagnosticDescriptor ACTR002_PostConstructMethodNotVoid = new DiagnosticDescriptor(
3636
id: "ACTR002",
3737
title: "Post construct method must return void",
3838
messageFormat: "The method '{0}' must return void to be used as the post construct method",
@@ -44,7 +44,8 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
4444
/// Id: ACTR003<br />
4545
/// Title: Post construct method must not have any optional arguments
4646
/// </summary>
47-
// public static readonly DiagnosticDescriptor PostConstructMethodHasOptionalArgs = new DiagnosticDescriptor(
47+
// Deprecated in 2.10
48+
// public static readonly DiagnosticDescriptor ACTR003_PostConstructMethodHasOptionalArgs = new DiagnosticDescriptor(
4849
// id: "ACTR003",
4950
// title: "Post construct method must not have any optional arguments",
5051
// messageFormat: "The parameter '{0}' must not be optional",
@@ -56,7 +57,7 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
5657
/// Id: ACTR004<br />
5758
/// Title: Post construct method must not be generic
5859
/// </summary>
59-
public static readonly DiagnosticDescriptor PostConstructMethodCannotBeGeneric = new DiagnosticDescriptor(
60+
public static readonly DiagnosticDescriptor ACTR004_PostConstructMethodCannotBeGeneric = new DiagnosticDescriptor(
6061
id: "ACTR004",
6162
title: "Post construct method must not be generic",
6263
messageFormat: "The method '{0}' must not be generic to be used as the post construct method",
@@ -68,7 +69,7 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
6869
/// Id: ACTR005<br />
6970
/// Title: Post construct out or ref parameter must not be a keyed service
7071
/// </summary>
71-
public static readonly DiagnosticDescriptor PostConstructOutParameterCannotBeKeyed = new DiagnosticDescriptor(
72+
public static readonly DiagnosticDescriptor ACTR005_PostConstructOutParameterCannotBeKeyed = new DiagnosticDescriptor(
7273
id: "ACTR005",
7374
title: "Post construct out or ref parameter must not be a keyed service",
7475
messageFormat: "The parameter '{0}' must not be a keyed service, or cannot be out or ref",
@@ -80,7 +81,7 @@ public static void ReportDiagnostic(EmitterContext context, IHaveDiagnostics ite
8081
/// Id: ACTR006<br />
8182
/// Title: Post construct out or ref parameter must not match a keyed field
8283
/// </summary>
83-
public static readonly DiagnosticDescriptor PostConstructOutParameterMustNotMatchKeyedField = new DiagnosticDescriptor(
84+
public static readonly DiagnosticDescriptor ACTR006_PostConstructOutParameterMustNotMatchKeyedField = new DiagnosticDescriptor(
8485
id: "ACTR006",
8586
title: "Post construct out or ref parameter must not match a keyed field",
8687
messageFormat: "The field '{0}' must not be a keyed service when used as a post construct out or ref parameter",

0 commit comments

Comments
 (0)