Skip to content

Commit 1c1487a

Browse files
Refactoring
1 parent e0f087d commit 1c1487a

42 files changed

Lines changed: 217 additions & 194 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

AI_CONTEXT_LARGE.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6373,7 +6373,7 @@ var service = composition.Root;
63736373

63746374
class BaseComposition
63756375
{
6376-
private void Setup() =>
6376+
private static void Setup() =>
63776377
DI.Setup(kind: Internal)
63786378
.Bind<IDependency>().To<Dependency>();
63796379
}
@@ -12953,12 +12953,12 @@ Atomically generated smart tag with value "SyncRoot".
1295312953
</blockquote></details>
1295412954

1295512955

12956-
<details><summary>Field Override</summary><blockquote>
12956+
<details><summary>Field Cleaner</summary><blockquote>
1295712957

12958-
Atomically generated smart tag with value "Override".
12958+
Atomically generated smart tag with value "Cleaner".
1295912959
It's used for:
1296012960

12961-
class _Generator__OverrideIdProvider_ <-- _IIdGenerator_(Override) -- _IdGenerator_ as _PerResolve_
12961+
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Cleaner) -- _GraphCleaner_ as _PerBlock_
1296212962
</blockquote></details>
1296312963

1296412964

@@ -12971,12 +12971,12 @@ Atomically generated smart tag with value "CompositionClass".
1297112971
</blockquote></details>
1297212972

1297312973

12974-
<details><summary>Field Overrider</summary><blockquote>
12974+
<details><summary>Field VarName</summary><blockquote>
1297512975

12976-
Atomically generated smart tag with value "Overrider".
12976+
Atomically generated smart tag with value "VarName".
1297712977
It's used for:
1297812978

12979-
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Overrider) -- _GraphOverrider_ as _PerBlock_
12979+
class _Generator__VarsMap_ <-- _IIdGenerator_(VarName) -- _IdGenerator_ as _Transient_
1298012980
</blockquote></details>
1298112981

1298212982

@@ -12989,30 +12989,30 @@ Atomically generated smart tag with value "UsingDeclarations".
1298912989
</blockquote></details>
1299012990

1299112991

12992-
<details><summary>Field Cleaner</summary><blockquote>
12992+
<details><summary>Field UniqueTag</summary><blockquote>
1299312993

12994-
Atomically generated smart tag with value "Cleaner".
12994+
Atomically generated smart tag with value "UniqueTag".
1299512995
It's used for:
1299612996

12997-
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Cleaner) -- _GraphCleaner_ as _PerBlock_
12997+
class _Generator__ApiInvocationProcessor_ <-- (UniqueTag) -- _IdGenerator_ as _PerResolve__BindingBuilder_ <-- _IIdGenerator_(UniqueTag) -- _IdGenerator_ as _PerResolve_
1299812998
</blockquote></details>
1299912999

1300013000

13001-
<details><summary>Field UniqueTag</summary><blockquote>
13001+
<details><summary>Field Overrider</summary><blockquote>
1300213002

13003-
Atomically generated smart tag with value "UniqueTag".
13003+
Atomically generated smart tag with value "Overrider".
1300413004
It's used for:
1300513005

13006-
class _Generator__ApiInvocationProcessor_ <-- (UniqueTag) -- _IdGenerator_ as _PerResolve__BindingBuilder_ <-- _IIdGenerator_(UniqueTag) -- _IdGenerator_ as _PerResolve_
13006+
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Overrider) -- _GraphOverrider_ as _PerBlock_
1300713007
</blockquote></details>
1300813008

1300913009

13010-
<details><summary>Field VarName</summary><blockquote>
13010+
<details><summary>Field Override</summary><blockquote>
1301113011

13012-
Atomically generated smart tag with value "VarName".
13012+
Atomically generated smart tag with value "Override".
1301313013
It's used for:
1301413014

13015-
class _Generator__VarsMap_ <-- _IIdGenerator_(VarName) -- _IdGenerator_ as _Transient_
13015+
class _Generator__OverrideIdProvider_ <-- _IIdGenerator_(Override) -- _IdGenerator_ as _PerResolve_
1301613016
</blockquote></details>
1301713017

1301813018

README.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3863,12 +3863,12 @@ Atomically generated smart tag with value "SyncRoot".
38633863
</blockquote></details>
38643864

38653865

3866-
<details><summary>Field Override</summary><blockquote>
3866+
<details><summary>Field Cleaner</summary><blockquote>
38673867

3868-
Atomically generated smart tag with value "Override".
3868+
Atomically generated smart tag with value "Cleaner".
38693869
It's used for:
38703870

3871-
class _Generator__OverrideIdProvider_ <-- _IIdGenerator_(Override) -- _IdGenerator_ as _PerResolve_
3871+
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Cleaner) -- _GraphCleaner_ as _PerBlock_
38723872
</blockquote></details>
38733873

38743874

@@ -3881,12 +3881,12 @@ Atomically generated smart tag with value "CompositionClass".
38813881
</blockquote></details>
38823882

38833883

3884-
<details><summary>Field Overrider</summary><blockquote>
3884+
<details><summary>Field VarName</summary><blockquote>
38853885

3886-
Atomically generated smart tag with value "Overrider".
3886+
Atomically generated smart tag with value "VarName".
38873887
It's used for:
38883888

3889-
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Overrider) -- _GraphOverrider_ as _PerBlock_
3889+
class _Generator__VarsMap_ <-- _IIdGenerator_(VarName) -- _IdGenerator_ as _Transient_
38903890
</blockquote></details>
38913891

38923892

@@ -3899,30 +3899,30 @@ Atomically generated smart tag with value "UsingDeclarations".
38993899
</blockquote></details>
39003900

39013901

3902-
<details><summary>Field Cleaner</summary><blockquote>
3902+
<details><summary>Field UniqueTag</summary><blockquote>
39033903

3904-
Atomically generated smart tag with value "Cleaner".
3904+
Atomically generated smart tag with value "UniqueTag".
39053905
It's used for:
39063906

3907-
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Cleaner) -- _GraphCleaner_ as _PerBlock_
3907+
class _Generator__ApiInvocationProcessor_ <-- (UniqueTag) -- _IdGenerator_ as _PerResolve__BindingBuilder_ <-- _IIdGenerator_(UniqueTag) -- _IdGenerator_ as _PerResolve_
39083908
</blockquote></details>
39093909

39103910

3911-
<details><summary>Field UniqueTag</summary><blockquote>
3911+
<details><summary>Field Overrider</summary><blockquote>
39123912

3913-
Atomically generated smart tag with value "UniqueTag".
3913+
Atomically generated smart tag with value "Overrider".
39143914
It's used for:
39153915

3916-
class _Generator__ApiInvocationProcessor_ <-- (UniqueTag) -- _IdGenerator_ as _PerResolve__BindingBuilder_ <-- _IIdGenerator_(UniqueTag) -- _IdGenerator_ as _PerResolve_
3916+
class _Generator__DependencyGraphBuilder_ <-- _IGraphRewriter_(Overrider) -- _GraphOverrider_ as _PerBlock_
39173917
</blockquote></details>
39183918

39193919

3920-
<details><summary>Field VarName</summary><blockquote>
3920+
<details><summary>Field Override</summary><blockquote>
39213921

3922-
Atomically generated smart tag with value "VarName".
3922+
Atomically generated smart tag with value "Override".
39233923
It's used for:
39243924

3925-
class _Generator__VarsMap_ <-- _IIdGenerator_(VarName) -- _IdGenerator_ as _Transient_
3925+
class _Generator__OverrideIdProvider_ <-- _IIdGenerator_(Override) -- _IdGenerator_ as _PerResolve_
39263926
</blockquote></details>
39273927

39283928

readme/func-with-arguments.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,14 +130,14 @@ partial class Composition
130130
get
131131
{
132132
Func<int, string, IDependency> blockFunc1;
133-
Func<int, string, IDependency> localFactory2 = new Func<int, string, IDependency>((int localArg13, string localArg22) =>
133+
Func<int, string, IDependency> localFactory2 = new Func<int, string, IDependency>((int localArg17, string localArg25) =>
134134
{
135135
Lock transLock2 = _lock;
136136
Lock localLockObject2 = transLock2;
137137
lock (localLockObject2)
138138
{
139-
int overrInt32 = localArg13;
140-
string overrString2 = localArg22;
139+
int overrInt32 = localArg17;
140+
string overrString2 = localArg25;
141141
if (_root._singleClock52 is null)
142142
lock (_lock)
143143
if (_root._singleClock52 is null)

readme/generic-injections-as-required-with-arguments.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,13 @@ partial class Composition
104104
get
105105
{
106106
Func<int, IDependency<string>> blockFunc1;
107-
Func<int, IDependency<string>> localFactory8 = new Func<int, IDependency<string>>((int localArg12) =>
107+
Func<int, IDependency<string>> localFactory8 = new Func<int, IDependency<string>>((int localArg1) =>
108108
{
109109
Lock transLock2 = _lock;
110110
Lock localLockObject3 = transLock2;
111111
lock (localLockObject3)
112112
{
113-
int overrInt32 = localArg12;
113+
int overrInt32 = localArg1;
114114
IDependency<string> localValue28 = new Dependency<string>(overrInt32);
115115
return localValue28;
116116
}

readme/inheritance-of-compositions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ var service = composition.Root;
1010

1111
class BaseComposition
1212
{
13-
private void Setup() =>
13+
private static void Setup() =>
1414
DI.Setup(kind: Internal)
1515
.Bind<IDependency>().To<Dependency>();
1616
}

readme/injections-on-demand-with-arguments.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,13 +116,13 @@ partial class Composition
116116
get
117117
{
118118
Func<int, IDependency> blockFunc1;
119-
Func<int, IDependency> localFactory1 = new Func<int, IDependency>((int localArg12) =>
119+
Func<int, IDependency> localFactory1 = new Func<int, IDependency>((int localArg1) =>
120120
{
121121
Lock transLock2 = _lock;
122122
Lock localLockObject1 = transLock2;
123123
lock (localLockObject1)
124124
{
125-
int overrInt32 = localArg12;
125+
int overrInt32 = localArg1;
126126
IDependency localValue17 = new Dependency(overrInt32);
127127
return localValue17;
128128
}

src/Pure.DI.Core/Core/ApiInvocationProcessor.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ select VisitBuilder(invocation, metadataVisitor, semanticModel, buildersType, bu
398398
metadataVisitor.VisitArg(new MdArg(semanticModel, invocation, buildersRootType, Names.BuildingInstance, ArgKind.Root, true, ["Instance for the build-up."]));
399399

400400
// Factory
401-
var factory = new LinesBuilder();
401+
var factory = new Lines();
402402
factory.AppendLine($"({Names.IContextTypeName} {Names.ContextInstance}) =>");
403403
using (factory.CreateBlock())
404404
{
@@ -642,7 +642,7 @@ private MdRoot VisitBuilder(
642642
metadataVisitor.VisitArg(new MdArg(semanticModel, source, builderType, Names.BuildingInstance, ArgKind.Root, true, ["Instance for the build-up."]));
643643

644644
// Factory
645-
var factory = new LinesBuilder();
645+
var factory = new Lines();
646646
factory.AppendLine($"({Names.IContextTypeName} {Names.ContextInstance}) =>");
647647
using (factory.CreateBlock())
648648
{

src/Pure.DI.Core/Core/Code/BuildTools.cs

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// ReSharper disable MoveLocalFunctionAfterJumpStatement
55
namespace Pure.DI.Core.Code;
66

7-
using static LinesBuilderExtensions;
7+
using static LinesExtensions;
88

99
sealed class BuildTools(
1010
IFilter filter,
@@ -24,27 +24,27 @@ public string NullCheck(Compilation compilation, string variableName)
2424
: $"{Names.ObjectTypeName}.ReferenceEquals({variableName}, null)";
2525
}
2626

27-
public void AddPureHeader(LinesBuilder code)
27+
public void AddPureHeader(Lines code)
2828
{
2929
code.AppendLine(new Line(int.MinValue, "#if NETSTANDARD2_0_OR_GREATER || NETCOREAPP || NET40_OR_GREATER || NET // Pure method"));
3030
code.AppendLine($"[{Names.SystemNamespace}Diagnostics.Contracts.Pure]");
3131
code.AppendLine(new Line(int.MinValue, "#endif // Pure method"));
3232
}
3333

34-
public void AddAggressiveInlining(LinesBuilder code) =>
34+
public void AddAggressiveInlining(Lines code) =>
3535
code.AppendLine($"[{Names.MethodImplAttributeName}(({Names.MethodImplOptionsName})256)]");
3636

37-
public void AddNoInlining(LinesBuilder code) =>
37+
public void AddNoInlining(Lines code) =>
3838
code.AppendLine($"[{Names.MethodImplAttributeName}(({Names.MethodImplOptionsName})8)]");
3939

4040
public string GetDeclaration(CodeContext ctx, VarDeclaration varDeclaration, string separator = " ", bool useVar = false) =>
4141
varDeclaration.IsDeclared ? "" : $"{(useVar ? "var" : typeResolver.Resolve(ctx.RootContext.Graph.Source, varDeclaration.InstanceType))}{separator}";
4242

43-
public IEnumerable<Line> OnCreated(CodeContext ctx, VarInjection varInjection)
43+
public Lines OnCreated(CodeContext ctx, VarInjection varInjection)
4444
{
4545
if (varInjection.Var.AbstractNode.Arg is not null)
4646
{
47-
return [];
47+
return new Lines();
4848
}
4949

5050
var baseTypes = new Lazy<ImmutableHashSet<ISymbol?>>(() =>
@@ -61,7 +61,7 @@ public IEnumerable<Line> OnCreated(CodeContext ctx, VarInjection varInjection)
6161
.Select(i => new Line(0, $"{i.VarInjection.Var.Name}.Add({varInjection.Var.Name});"))
6262
.ToList();
6363

64-
var code = new LinesBuilder();
64+
var code = new Lines();
6565
if (ctx.IsLockRequired && accLines.Count > 0)
6666
{
6767
locks.AddLockStatements(code, false);
@@ -79,7 +79,7 @@ public IEnumerable<Line> OnCreated(CodeContext ctx, VarInjection varInjection)
7979

8080
if (!ctx.RootContext.Graph.Source.Hints.IsOnNewInstanceEnabled)
8181
{
82-
return code.Lines;
82+
return code;
8383
}
8484

8585
var tag = GetTag(ctx, varInjection);
@@ -92,15 +92,12 @@ public IEnumerable<Line> OnCreated(CodeContext ctx, VarInjection varInjection)
9292
(Hint.OnNewInstanceTagRegularExpression, Hint.OnNewInstanceTagWildcard, GetTagName),
9393
(Hint.OnNewInstanceLifetimeRegularExpression, Hint.OnNewInstanceLifetimeWildcard, GetLifetimeName)))
9494
{
95-
return code.Lines;
95+
return code;
9696
}
9797

98-
var lines = new List<Line>
99-
{
100-
new(0, $"{Names.OnNewInstanceMethodName}<{typeResolver.Resolve(ctx.RootContext.Graph.Source, varInjection.Var.InstanceType)}>(ref {varInjection.Var.Name}, {tag.ValueToString()}, {varInjection.Var.AbstractNode.Lifetime.ValueToString()});")
101-
};
102-
103-
lines.AddRange(code.Lines);
98+
var lines = new Lines();
99+
lines.AppendLine($"{Names.OnNewInstanceMethodName}<{typeResolver.Resolve(ctx.RootContext.Graph.Source, varInjection.Var.InstanceType)}>(ref {varInjection.Var.Name}, {tag.ValueToString()}, {varInjection.Var.AbstractNode.Lifetime.ValueToString()});");
100+
lines.AppendLines(code);
104101
return lines;
105102
}
106103

src/Pure.DI.Core/Core/Code/ClassCommenter.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ namespace Pure.DI.Core.Code;
55
sealed class ClassCommenter(
66
IFormatter formatter,
77
IComments comments,
8-
IBuilder<IEnumerable<string>, Uri> mermaidUrlBuilder,
8+
IBuilder<string, Uri> mermaidUrlBuilder,
99
IBuilder<RootsContext, IEnumerable<ResolverInfo>> resolversBuilder,
1010
IInformation information)
1111
: ICommenter<Unit>
@@ -28,9 +28,9 @@ public void AddComments(CompositionCode composition, Unit unit)
2828
code.AppendLine("/// <summary>");
2929
try
3030
{
31-
if (!composition.Diagram.IsEmpty)
31+
if (composition.Diagram.Count > 0)
3232
{
33-
var diagramUrl = mermaidUrlBuilder.Build(composition.Diagram.Select(i => i.Text));
33+
var diagramUrl = mermaidUrlBuilder.Build(composition.Diagram.ToString());
3434
code.AppendLine("/// <para>");
3535
code.AppendLine($"/// <a href=\"{diagramUrl}\">Class diagram</a>");
3636
code.AppendLine("/// </para>");

0 commit comments

Comments
 (0)