Skip to content

Commit 44ca733

Browse files
Glauco KnihsGlauco Knihs
authored andcommitted
fix bugs
1 parent ee3b505 commit 44ca733

File tree

3 files changed

+27
-5
lines changed

3 files changed

+27
-5
lines changed

RoyalCode.Utils/RoyalCode.Extensions.SourceGenerator/Generators/ArgumentsGenerator.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace RoyalCode.Extensions.SourceGenerator.Generators;
44

5-
public class ArgumentsGenerator : GeneratorNode
5+
public class ArgumentsGenerator : GeneratorNode, IWithNamespaces
66
{
77
private List<ValueNode>? arguments;
88

@@ -20,6 +20,16 @@ public void AddArguments(ValueNode[] arguments)
2020
this.arguments.AddRange(arguments);
2121
}
2222

23+
public IEnumerable<string> GetNamespaces()
24+
{
25+
if (arguments is null)
26+
yield break;
27+
foreach (var arg in arguments)
28+
if (arg is IWithNamespaces withNamespaces)
29+
foreach (var ns in withNamespaces.GetNamespaces())
30+
yield return ns;
31+
}
32+
2333
public override void Write(StringBuilder sb, int ident = 0)
2434
{
2535
sb.Append("(");

RoyalCode.Utils/RoyalCode.Extensions.SourceGenerator/Generators/GeneratorNodeList.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,12 @@ public void Add(GeneratorNode generator)
1818

1919
public IEnumerable<string> GetNamespaces()
2020
{
21-
if (nodes is not null)
22-
foreach (var ns in nodes.OfType<IWithNamespaces>().SelectMany(node => node.GetNamespaces()))
23-
yield return ns;
21+
if (nodes is null)
22+
yield break;
23+
foreach (var node in nodes)
24+
if (node is IWithNamespaces withNamespaces)
25+
foreach (var ns in withNamespaces.GetNamespaces())
26+
yield return ns;
2427
}
2528

2629
public override void Write(StringBuilder sb, int ident = 0)

RoyalCode.Utils/RoyalCode.Extensions.SourceGenerator/Generators/MethodInvokeGenerator.cs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
namespace RoyalCode.Extensions.SourceGenerator.Generators;
44

5-
public class MethodInvokeGenerator : GeneratorNode
5+
public class MethodInvokeGenerator : GeneratorNode, IWithNamespaces
66
{
77
private readonly ValueNode identifier;
88
private readonly string method;
@@ -30,6 +30,15 @@ public MethodInvokeGenerator(ValueNode identifier, string method, ValueNode argu
3030

3131
public void AddArgument(ValueNode arg) => arguments.AddArgument(arg);
3232

33+
public IEnumerable<string> GetNamespaces()
34+
{
35+
if (identifier is IWithNamespaces withNamespaces)
36+
foreach (var ns in withNamespaces.GetNamespaces())
37+
yield return ns;
38+
foreach (var ns in arguments.GetNamespaces())
39+
yield return ns;
40+
}
41+
3342
public void UseArgumentPerLine() => arguments.InLine = false;
3443

3544
public override void Write(StringBuilder sb, int ident = 0)

0 commit comments

Comments
 (0)