Skip to content

Commit 7efbb55

Browse files
authored
Merge pull request #281 from CommunityToolkit/dev/remove-generator-temp-strings
Remove temporary strings in source generators formatting
2 parents d4a8971 + a6b72dd commit 7efbb55

File tree

6 files changed

+18
-14
lines changed

6 files changed

+18
-14
lines changed

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservablePropertyGenerator.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Collections.Generic;
66
using System.Collections.Immutable;
77
using System.Linq;
8+
using System.Text;
89
using CommunityToolkit.Mvvm.SourceGenerators.ComponentModel.Models;
910
using CommunityToolkit.Mvvm.SourceGenerators.Extensions;
1011
using CommunityToolkit.Mvvm.SourceGenerators.Models;
@@ -93,7 +94,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
9394
// Insert all members into the same partial type declaration
9495
CompilationUnitSyntax compilationUnit = item.Hierarchy.GetCompilationUnit(memberDeclarations);
9596

96-
context.AddSource(item.Hierarchy.FilenameHint, compilationUnit.ToFullString());
97+
context.AddSource(item.Hierarchy.FilenameHint, compilationUnit.GetText(Encoding.UTF8));
9798
});
9899

99100
// Gather all property changing names
@@ -111,7 +112,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
111112

112113
if (compilationUnit is not null)
113114
{
114-
context.AddSource("__KnownINotifyPropertyChangingArgs", compilationUnit.ToFullString());
115+
context.AddSource("__KnownINotifyPropertyChangingArgs", compilationUnit.GetText(Encoding.UTF8));
115116
}
116117
});
117118

@@ -130,7 +131,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
130131

131132
if (compilationUnit is not null)
132133
{
133-
context.AddSource("__KnownINotifyPropertyChangedArgs", compilationUnit.ToFullString());
134+
context.AddSource("__KnownINotifyPropertyChangedArgs", compilationUnit.GetText(Encoding.UTF8));
134135
}
135136
});
136137
}

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableRecipientGenerator.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,19 +117,18 @@ protected override ImmutableArray<MemberDeclarationSyntax> FilterDeclaredMembers
117117
// If the target type has no constructors, generate constructors as well
118118
if (!info.HasExplicitConstructors)
119119
{
120-
foreach (ConstructorDeclarationSyntax ctor in memberDeclarations.OfType<ConstructorDeclarationSyntax>())
120+
foreach (ConstructorDeclarationSyntax originalConstructor in memberDeclarations.OfType<ConstructorDeclarationSyntax>())
121121
{
122-
string text = ctor.NormalizeWhitespace().ToFullString();
123-
string replaced = text.Replace("ObservableRecipient", info.TypeName);
122+
ConstructorDeclarationSyntax modifiedConstructor = originalConstructor.WithIdentifier(Identifier(info.TypeName));
124123

125124
// Adjust the visibility of the constructors based on whether the target type is abstract.
126125
// If that is not the case, the constructors have to be declared as public and not protected.
127126
if (!info.IsAbstract)
128127
{
129-
replaced = replaced.Replace("protected", "public");
128+
modifiedConstructor = modifiedConstructor.WithModifiers(TokenList(Token(SyntaxKind.PublicKeyword)));
130129
}
131130

132-
builder.Add((ConstructorDeclarationSyntax)ParseMemberDeclaration(replaced)!);
131+
builder.Add(modifiedConstructor);
133132
}
134133
}
135134

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/ObservableValidatorValidateAllPropertiesGenerator.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
// See the LICENSE file in the project root for more information.
44

55
using System.Linq;
6+
using System.Text;
67
using CommunityToolkit.Mvvm.SourceGenerators.Extensions;
78
using CommunityToolkit.Mvvm.SourceGenerators.Input.Models;
89
using Microsoft.CodeAnalysis;
@@ -58,15 +59,15 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
5859
{
5960
CompilationUnitSyntax compilationUnit = Execute.GetSyntax(item);
6061

61-
context.AddSource("__ObservableValidatorExtensions", compilationUnit.ToFullString());
62+
context.AddSource("__ObservableValidatorExtensions", compilationUnit.GetText(Encoding.UTF8));
6263
});
6364

6465
// Generate the class with all validation methods
6566
context.RegisterImplementationSourceOutput(validationInfo, static (context, item) =>
6667
{
6768
CompilationUnitSyntax compilationUnit = Execute.GetSyntax(item);
6869

69-
context.AddSource(item.FilenameHint, compilationUnit.ToFullString());
70+
context.AddSource(item.FilenameHint, compilationUnit.GetText(Encoding.UTF8));
7071
});
7172
}
7273
}

CommunityToolkit.Mvvm.SourceGenerators/ComponentModel/TransitiveMembersGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using System.Collections.Generic;
66
using System.Collections.Immutable;
77
using System.Linq;
8+
using System.Text;
89
using CommunityToolkit.Mvvm.SourceGenerators.Extensions;
910
using CommunityToolkit.Mvvm.SourceGenerators.Models;
1011
using Microsoft.CodeAnalysis;
@@ -121,7 +122,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
121122
ImmutableArray<MemberDeclarationSyntax> filteredMemberDeclarations = FilterDeclaredMembers(item.Info, sourceMemberDeclarations);
122123
CompilationUnitSyntax compilationUnit = item.Hierarchy.GetCompilationUnit(filteredMemberDeclarations, this.classDeclaration.BaseList);
123124

124-
context.AddSource(item.Hierarchy.FilenameHint, compilationUnit.ToFullString());
125+
context.AddSource(item.Hierarchy.FilenameHint, compilationUnit.GetText(Encoding.UTF8));
125126
});
126127
}
127128

CommunityToolkit.Mvvm.SourceGenerators/Input/ICommandGenerator.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
using System.Collections.Immutable;
66
using System.Linq;
7+
using System.Text;
78
using CommunityToolkit.Mvvm.SourceGenerators.Extensions;
89
using CommunityToolkit.Mvvm.SourceGenerators.Input.Models;
910
using CommunityToolkit.Mvvm.SourceGenerators.Models;
@@ -68,7 +69,7 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
6869
ImmutableArray<MemberDeclarationSyntax> memberDeclarations = Execute.GetSyntax(item.Info);
6970
CompilationUnitSyntax compilationUnit = item.Hierarchy.GetCompilationUnit(memberDeclarations);
7071

71-
context.AddSource($"{item.Hierarchy.FilenameHint}.{item.Info.MethodName}", compilationUnit.ToFullString());
72+
context.AddSource($"{item.Hierarchy.FilenameHint}.{item.Info.MethodName}", compilationUnit.GetText(Encoding.UTF8));
7273
});
7374
}
7475
}

CommunityToolkit.Mvvm.SourceGenerators/Messaging/IMessengerRegisterAllGenerator.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
using System.Collections.Immutable;
66
using System.Linq;
7+
using System.Text;
78
using CommunityToolkit.Mvvm.SourceGenerators.Extensions;
89
using CommunityToolkit.Mvvm.SourceGenerators.Input.Models;
910
using Microsoft.CodeAnalysis;
@@ -66,15 +67,15 @@ public void Initialize(IncrementalGeneratorInitializationContext context)
6667
{
6768
CompilationUnitSyntax compilationUnit = Execute.GetSyntax(item);
6869

69-
context.AddSource("__IMessengerExtensions", compilationUnit.ToFullString());
70+
context.AddSource("__IMessengerExtensions", compilationUnit.GetText(Encoding.UTF8));
7071
});
7172

7273
// Generate the class with all registration methods
7374
context.RegisterImplementationSourceOutput(recipientInfo, static (context, item) =>
7475
{
7576
CompilationUnitSyntax compilationUnit = Execute.GetSyntax(item);
7677

77-
context.AddSource(item.FilenameHint, compilationUnit.ToFullString());
78+
context.AddSource(item.FilenameHint, compilationUnit.GetText(Encoding.UTF8));
7879
});
7980
}
8081
}

0 commit comments

Comments
 (0)