diff --git a/mROA.Codegen/TestClass.cstmpl b/mROA.Codegen/TestClass.cstmpl
new file mode 100644
index 0000000..f97d16c
--- /dev/null
+++ b/mROA.Codegen/TestClass.cstmpl
@@ -0,0 +1,12 @@
+//
+
+namespace RPCTest.Implementation
+{
+ public sealed class GenerativeParametersTestClass
+ {
+ public int Increment()
+ {
+ return i + 1;
+ }
+ }
+}
\ No newline at end of file
diff --git a/mROA.Codegen/mROA.Codegen.csproj b/mROA.Codegen/mROA.Codegen.csproj
index 765f637..6ff4ac6 100644
--- a/mROA.Codegen/mROA.Codegen.csproj
+++ b/mROA.Codegen/mROA.Codegen.csproj
@@ -37,6 +37,7 @@
+
diff --git a/mROA.Codegen/mROASourceGenerator.cs b/mROA.Codegen/mROASourceGenerator.cs
index 1540a08..de1d443 100644
--- a/mROA.Codegen/mROASourceGenerator.cs
+++ b/mROA.Codegen/mROASourceGenerator.cs
@@ -22,7 +22,7 @@ namespace mROA.Codegen
/// performance overhead.
///
[Generator]
- public class MRoaSourceGenerator : ISourceGenerator
+ public class mROAGenerator : ISourceGenerator
{
private static readonly Predicate ParameterFilter =
i => i.Type.Name is "CancellationToken" or "RequestContext";
@@ -136,7 +136,7 @@ namespace mROA.Codegen
string impl;
if (propertySymbol.IsIndexer)
impl =
- $"public {propertySymbol.Type.ToUnityString()} this[{string.Join(", ", propertySymbol.Parameters.Select(p => p.ToDisplayString()))}] {{ {getter.Item1} {setter.Item1} }}";
+ $"public {propertySymbol.Type.ToUnityString()} this[{string.Join(", ", propertySymbol.Parameters.Select(p => p.ToUnityString()))}] {{ {getter.Item1} {setter.Item1} }}";
else
impl =
$"public {propertySymbol.Type.ToUnityString()} {symbol.Name} {{ {getter.Item1} {setter.Item1} }}";
@@ -173,6 +173,10 @@ namespace mROA.Codegen
{
var coCodegenRepoCode = _methodRepoTemplate.Compile();
#if !DONT_ADD
+ var template = TemplateReader.FromEmbeddedResource("TestClass.cstmpl");
+ template.AddDefine("param", "System.Int32 i");
+
+ context.AddSource("TestClass.g.cs", SourceText.From(template.Compile(), Encoding.UTF8));
context.AddSource("CoCodegenMethodRepository.g.cs", SourceText.From(coCodegenRepoCode, Encoding.UTF8));
#endif
}
@@ -558,9 +562,9 @@ namespace mROA.Codegen
private static string ToFullString(IParameterSymbol parameter)
{
- return parameter.ToDisplayParts().ToUnityString();
+ return parameter.Type.ToUnityString() + " " + parameter.Name;
}
-
+
private static string ToFullString(ITypeSymbol type)
{
return type.ToUnityString();
@@ -613,6 +617,11 @@ namespace mROA.Codegen
return type.ToDisplayString();
}
+ public static string ToUnityString(this IParameterSymbol parameter)
+ {
+ return parameter.Type.ToUnityString() + " " + parameter.Name;
+ }
+
public static string ToUnityString(this ImmutableArray parts)
{
var sb = new StringBuilder();