Skip to content

Commit 933009f

Browse files
committed
Some cleanup
1 parent 5a907fd commit 933009f

File tree

4 files changed

+35
-31
lines changed

4 files changed

+35
-31
lines changed

src/AutoCtor.Shared/AutoConstructSourceGenerator/Emitter.cs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,16 +96,16 @@ private static (SourceText?, ParameterList?) GenerateSource(
9696
{
9797
if (type.BaseCtorParameters != null)
9898
{
99-
parametersBuilder.AddBaseParameters(type.BaseCtorParameters);
99+
parametersBuilder.SetBaseParameters(type.BaseCtorParameters);
100100
}
101101
else if (baseParameters != null)
102102
{
103-
parametersBuilder.AddBaseParameters(baseParameters);
103+
parametersBuilder.SetBaseParameters(baseParameters);
104104
}
105105
}
106106
if (postCtorMethod.HasValue)
107107
{
108-
parametersBuilder.AddPostCtorParameters(postCtorMethod.Value.Parameters);
108+
parametersBuilder.SetPostCtorParameters(postCtorMethod.Value.Parameters);
109109
}
110110
var parameters = parametersBuilder.Build(context);
111111

@@ -125,7 +125,8 @@ private static (SourceText?, ParameterList?) GenerateSource(
125125

126126
source.AppendIndent()
127127
.Append($"public {type.Name}({parameters.CtorParameterDeclarations:commaindent})")
128-
.Append(parameters.HasBaseParameters, $" : base({parameters.BaseParameters:commaindent})")
128+
.Append(parameters.HasBaseParameters,
129+
$" : base({parameters.BaseParameters:commaindent})")
129130
.AppendLine();
130131

131132
using (source.StartBlock())
@@ -144,7 +145,8 @@ private static (SourceText?, ParameterList?) GenerateSource(
144145

145146
source.AppendIndent()
146147
.Append($"{item.IdentifierName} = {parameter}")
147-
.Append(addGuard, $" ?? throw new global::System.ArgumentNullException(\"{parameter}\")")
148+
.Append(addGuard,
149+
$" ?? throw new global::System.ArgumentNullException(\"{parameter}\")")
148150
.Append(";")
149151
.AppendLine();
150152
}
@@ -158,7 +160,10 @@ private static (SourceText?, ParameterList?) GenerateSource(
158160
return (source, parameters);
159161
}
160162

161-
private static ITypeSymbol FindTypeForArgument(ITypeSymbol type, EquatableList<EquatableTypeSymbol> parameters, EquatableList<EquatableTypeSymbol> arguments)
163+
private static ITypeSymbol FindTypeForArgument(
164+
ITypeSymbol type,
165+
EquatableList<EquatableTypeSymbol> parameters,
166+
EquatableList<EquatableTypeSymbol> arguments)
162167
{
163168
if (type is not ITypeParameterSymbol)
164169
return type;
@@ -173,7 +178,10 @@ private static ITypeSymbol FindTypeForArgument(ITypeSymbol type, EquatableList<E
173178
return type;
174179
}
175180

176-
private static ITypeSymbol SetGenerics(ITypeSymbol type, EquatableList<EquatableTypeSymbol> parameters, EquatableList<EquatableTypeSymbol> arguments)
181+
private static ITypeSymbol SetGenerics(
182+
ITypeSymbol type,
183+
EquatableList<EquatableTypeSymbol> parameters,
184+
EquatableList<EquatableTypeSymbol> arguments)
177185
{
178186
if (type is ITypeParameterSymbol typeParam)
179187
{

src/AutoCtor.Shared/Models/ParameterList.cs

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ internal class ParameterListBuilder(IEnumerable<MemberModel> fields, IEnumerable
1313
private IEnumerable<ParameterModel> _baseParameters = [];
1414
private IEnumerable<ParameterModel> _postCtorParameters = [];
1515

16-
public void AddBaseParameters(IEnumerable<ParameterModel> baseParameters)
16+
public void SetBaseParameters(IEnumerable<ParameterModel> baseParameters)
1717
=> _baseParameters = baseParameters;
1818

19-
public void AddPostCtorParameters(IEnumerable<ParameterModel> postCtorParameters)
19+
public void SetPostCtorParameters(IEnumerable<ParameterModel> postCtorParameters)
2020
=> _postCtorParameters = postCtorParameters;
2121

2222
public ParameterList Build(EmitterContext context)
@@ -44,33 +44,15 @@ public ParameterList Build(EmitterContext context)
4444
&& (p.RefKind == RefKind.Ref || p.RefKind == RefKind.Out)))
4545
continue;
4646

47-
var p = new ParameterModel(
48-
RefKind: RefKind.None,
49-
Name: m.FriendlyName,
50-
ErrorName: m.ErrorName,
51-
KeyedService: m.KeyedService,
52-
HasExplicitDefaultValue: false,
53-
ExplicitDefaultValue: string.Empty,
54-
IsOutOrRef: false,
55-
Locations: m.Locations,
56-
Type: m.Type);
47+
var p = ParameterModel.Create(m);
5748
GetUniqueName(p, nameHash, uniqueNames, out var name);
5849
parameterModels.Add(p);
5950

6051
parametersMap.Add(m, name);
6152
}
6253
foreach (var m in properties)
6354
{
64-
var p = new ParameterModel(
65-
RefKind: RefKind.None,
66-
Name: m.FriendlyName,
67-
ErrorName: m.ErrorName,
68-
KeyedService: m.KeyedService,
69-
HasExplicitDefaultValue: false,
70-
ExplicitDefaultValue: string.Empty,
71-
IsOutOrRef: false,
72-
Locations: m.Locations,
73-
Type: m.Type);
55+
var p = ParameterModel.Create(m);
7456
GetUniqueName(p, nameHash, uniqueNames, out var name);
7557
parameterModels.Add(p);
7658

src/AutoCtor.Shared/Models/ParameterModel.cs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,20 @@ public static ParameterModel Create(IParameterSymbol parameter)
4646
);
4747
}
4848

49+
public static ParameterModel Create(MemberModel member)
50+
{
51+
return new ParameterModel(
52+
RefKind: RefKind.None,
53+
Name: member.FriendlyName,
54+
ErrorName: member.ErrorName,
55+
KeyedService: member.KeyedService,
56+
HasExplicitDefaultValue: false,
57+
ExplicitDefaultValue: string.Empty,
58+
IsOutOrRef: false,
59+
Locations: member.Locations,
60+
Type: member.Type);
61+
}
62+
4963
public bool Equals(ParameterModel other)
5064
{
5165
return EqualityComparer<string>.Default.Equals(Name, other.Name)

src/AutoCtor.Tests/Examples/PostCtorOptionalWithBase.ExamplesGeneratedCode#PostCtorOptionalWithBase.g.verified.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ partial class PostCtorOptionalWithBase
99
{
1010
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute]
1111
[global::System.Diagnostics.DebuggerNonUserCodeAttribute]
12-
public PostCtorOptionalWithBase(string value) : base(value)
12+
public PostCtorOptionalWithBase(string value, string value0 = "dfault") : base(value)
1313
{
14-
Initialize(value);
14+
Initialize(value0);
1515
}
1616
}

0 commit comments

Comments
 (0)