StefH/FluentBuilder

Child builders for properties not generating correct code

distantcam opened this issue · 5 comments

I'm having a few issues generating builders on a child List property.

Scenario 1

public class User
{
    public List<Option> Options { get; set; }
}
public class Option
{
    public string Name { get; set; }
}

[AutoGenerateBuilder(typeof(User))]
public partial class MyUserBuilder {}
[AutoGenerateBuilder(typeof(Option))]
public partial class MyOptionBuilder {}

Build error:
...\FluentBuilderGenerator\FluentBuilderGenerator.FluentBuilderSourceGenerator\FluentBuilderSandbox.Option_IListBuilder.g.cs(28,46,28,59): error CS0246: The type or namespace name 'OptionBuilder' could not be found (are you missing a using directive or an assembly reference?)

Scenario 2

Main project

public class User
{
    public List<Option> Options { get; set; }
}
public class Option
{
    public string Name { get; set; }
}

Test project

[AutoGenerateBuilder(typeof(User))]
public partial class UserBuilder { }

[AutoGenerateBuilder(typeof(Option))]
public partial class OptionBuilder { }

Build error:
...\FluentBuilderGenerator\FluentBuilderGenerator.FluentBuilderSourceGenerator\FluentBuilderSandboxTests.UserBuilder.g.cs(31,68,31,86): error CS0234: The type or namespace name 'IListOptionBuilder' does not exist in the namespace 'FluentBuilderSandbox' (are you missing an assembly reference?)

StefH commented

Hello @distantcam, thanks for noticing.

I'll investigate your issue.

StefH commented

@distantcam

Can you please try FluentBuilder.0.7.0-preview-01 on NuGet ?

StefH commented

@distantcam Did you have time to verify that preview version?

Sorry, I missed your earlier comment.

Yep I can confirm this is fixed with version 0.7.0-preview-01. Thankyou!

StefH commented

@distantcam Thank you for validating.

A new 0.7.0 will be released on some time.