Skip to content

Commit 30eb677

Browse files
authored
Fix for missing ReactiveUI using statement in generated code (#6)
Change test namespace to non ReactiveUI add using
1 parent d5f8835 commit 30eb677

File tree

2 files changed

+14
-2
lines changed

2 files changed

+14
-2
lines changed

src/ReactiveUI.SourceGenerators.Execute/Program.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,10 @@
88
using System.Reactive.Linq;
99
using System.Runtime.Serialization;
1010
using System.Text.Json.Serialization;
11+
using ReactiveUI;
12+
using ReactiveUI.SourceGenerators;
1113

12-
namespace ReactiveUI.SourceGenerators.Test;
14+
namespace SGReactiveUI.SourceGenerators.Test;
1315

1416
#pragma warning disable SA1402 // File may only contain a single type
1517
#pragma warning disable SA1649 // File name should match first type name

src/ReactiveUI.SourceGenerators/Reactive/ReactiveGenerator.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,11 @@
66
using System.Collections.Immutable;
77
using System.Linq;
88
using Microsoft.CodeAnalysis;
9+
using Microsoft.CodeAnalysis.CSharp;
910
using Microsoft.CodeAnalysis.CSharp.Syntax;
1011
using ReactiveUI.SourceGenerators.Extensions;
1112
using ReactiveUI.SourceGenerators.Models;
13+
using static Microsoft.CodeAnalysis.CSharp.SyntaxFactory;
1214

1315
namespace ReactiveUI.SourceGenerators;
1416

@@ -67,7 +69,15 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
6769
.ToImmutableArray();
6870

6971
// Insert all members into the same partial type declaration
70-
var compilationUnit = item.Key.GetCompilationUnit(memberDeclarations);
72+
var compilationUnit = item.Key.GetCompilationUnit(memberDeclarations)
73+
.WithLeadingTrivia(TriviaList(
74+
Comment("using ReactiveUI;"),
75+
CarriageReturn,
76+
Comment("// <auto-generated/>"),
77+
Trivia(PragmaWarningDirectiveTrivia(Token(SyntaxKind.DisableKeyword), true)),
78+
Trivia(NullableDirectiveTrivia(Token(SyntaxKind.EnableKeyword), true)),
79+
CarriageReturn))
80+
.NormalizeWhitespace();
7181
context.AddSource($"{item.Key.FilenameHint}.Properties.g.cs", compilationUnit);
7282
});
7383
}

0 commit comments

Comments
 (0)