Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolayPianikov committed Mar 17, 2024
1 parent dfdfdfc commit c923ba3
Show file tree
Hide file tree
Showing 77 changed files with 2,450 additions and 1,999 deletions.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,7 @@ dotnet run
- [OnNewInstance hint](readme/onnewinstance-hint.md)
- [ToString hint](readme/tostring-hint.md)
- [Tracking disposable instances](readme/tracking-disposable-instances.md)
- [Tracking disposable instances per a composition root](readme/tracking-disposable-instances-per-a-composition-root.md)
- [Check for a root](readme/check-for-a-root.md)
### Advanced
- [Composition root kinds](readme/composition-root-kinds.md)
Expand Down
42 changes: 21 additions & 21 deletions readme/ArrayDetails.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,16 +88,16 @@ classDiagram
```c#
partial class Array
{
private readonly Array _rootM03D15di;
private readonly Array _rootM03D17di;

public Array()
{
_rootM03D15di = this;
_rootM03D17di = this;
}

internal Array(Array baseComposition)
{
_rootM03D15di = baseComposition._rootM03D15di;
_rootM03D17di = baseComposition._rootM03D17di;
}

public partial Pure.DI.Benchmarks.Model.CompositionRoot PureDIByCR()
Expand All @@ -107,20 +107,20 @@ partial class Array

public T Resolve<T>()
{
return ResolverM03D15di<T>.Value.Resolve(this);
return ResolverM03D17di<T>.Value.Resolve(this);
}

public T Resolve<T>(object? tag)
{
return ResolverM03D15di<T>.Value.ResolveByTag(this, tag);
return ResolverM03D17di<T>.Value.ResolveByTag(this, tag);
}

public object Resolve(global::System.Type type)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.Resolve(this);
Expand All @@ -132,10 +132,10 @@ partial class Array

public object Resolve(global::System.Type type, object? tag)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.ResolveByTag(this, tag);
Expand Down Expand Up @@ -224,25 +224,25 @@ partial class Array
" Array ..> CompositionRoot : CompositionRoot PureDIByCR()";
}

private readonly static int _bucketSizeM03D15di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Array, object>>[] _bucketsM03D15di;
private readonly static int _bucketSizeM03D17di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Array, object>>[] _bucketsM03D17di;

static Array()
{
var valResolverM03D15di_0000 = new ResolverM03D15di_0000();
ResolverM03D15di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D15di_0000;
_bucketsM03D15di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Array, object>>.Create(
var valResolverM03D17di_0000 = new ResolverM03D17di_0000();
ResolverM03D17di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D17di_0000;
_bucketsM03D17di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Array, object>>.Create(
1,
out _bucketSizeM03D15di,
out _bucketSizeM03D17di,
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Array, object>>[1]
{
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Array, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D15di_0000)
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Array, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D17di_0000)
});
}

private sealed class ResolverM03D15di<T>: global::Pure.DI.IResolver<Array, T>
private sealed class ResolverM03D17di<T>: global::Pure.DI.IResolver<Array, T>
{
public static global::Pure.DI.IResolver<Array, T> Value = new ResolverM03D15di<T>();
public static global::Pure.DI.IResolver<Array, T> Value = new ResolverM03D17di<T>();

public T Resolve(Array composite)
{
Expand All @@ -255,7 +255,7 @@ partial class Array
}
}

private sealed class ResolverM03D15di_0000: global::Pure.DI.IResolver<Array, Pure.DI.Benchmarks.Model.CompositionRoot>
private sealed class ResolverM03D17di_0000: global::Pure.DI.IResolver<Array, Pure.DI.Benchmarks.Model.CompositionRoot>
{
public Pure.DI.Benchmarks.Model.CompositionRoot Resolve(Array composition)
{
Expand Down
48 changes: 24 additions & 24 deletions readme/EnumDetails.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,48 +88,48 @@ classDiagram
```c#
partial class Enum
{
private readonly Enum _rootM03D15di;
private readonly Enum _rootM03D17di;

public Enum()
{
_rootM03D15di = this;
_rootM03D17di = this;
}

internal Enum(Enum baseComposition)
{
_rootM03D15di = baseComposition._rootM03D15di;
_rootM03D17di = baseComposition._rootM03D17di;
}

public partial Pure.DI.Benchmarks.Model.CompositionRoot PureDIByCR()
{
[global::System.Runtime.CompilerServices.MethodImpl((global::System.Runtime.CompilerServices.MethodImplOptions)0x200)]
System.Collections.Generic.IEnumerable<Pure.DI.Benchmarks.Model.IService3> LocalperBlockM03D15di10_IEnumerable()
System.Collections.Generic.IEnumerable<Pure.DI.Benchmarks.Model.IService3> LocalperBlockM03D17di10_IEnumerable()
{
yield return new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
yield return new Pure.DI.Benchmarks.Model.Service3v2(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
yield return new Pure.DI.Benchmarks.Model.Service3v3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
yield return new Pure.DI.Benchmarks.Model.Service3v4(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
}
var perBlockM03D15di10_IEnumerable = LocalperBlockM03D15di10_IEnumerable();
return new Pure.DI.Benchmarks.Model.CompositionRoot(new Pure.DI.Benchmarks.Model.Service1(new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D15di10_IEnumerable)), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D15di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D15di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D15di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4()), new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
System.Collections.Generic.IEnumerable<Pure.DI.Benchmarks.Model.IService3> perBlockM03D17di10_IEnumerable = LocalperBlockM03D17di10_IEnumerable();
return new Pure.DI.Benchmarks.Model.CompositionRoot(new Pure.DI.Benchmarks.Model.Service1(new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D17di10_IEnumerable)), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D17di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D17di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service2Enum(perBlockM03D17di10_IEnumerable), new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4()), new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
}

public T Resolve<T>()
{
return ResolverM03D15di<T>.Value.Resolve(this);
return ResolverM03D17di<T>.Value.Resolve(this);
}

public T Resolve<T>(object? tag)
{
return ResolverM03D15di<T>.Value.ResolveByTag(this, tag);
return ResolverM03D17di<T>.Value.ResolveByTag(this, tag);
}

public object Resolve(global::System.Type type)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.Resolve(this);
Expand All @@ -141,10 +141,10 @@ partial class Enum

public object Resolve(global::System.Type type, object? tag)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.ResolveByTag(this, tag);
Expand Down Expand Up @@ -233,25 +233,25 @@ partial class Enum
" Enum ..> CompositionRoot : CompositionRoot PureDIByCR()";
}

private readonly static int _bucketSizeM03D15di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Enum, object>>[] _bucketsM03D15di;
private readonly static int _bucketSizeM03D17di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Enum, object>>[] _bucketsM03D17di;

static Enum()
{
var valResolverM03D15di_0000 = new ResolverM03D15di_0000();
ResolverM03D15di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D15di_0000;
_bucketsM03D15di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Enum, object>>.Create(
var valResolverM03D17di_0000 = new ResolverM03D17di_0000();
ResolverM03D17di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D17di_0000;
_bucketsM03D17di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Enum, object>>.Create(
1,
out _bucketSizeM03D15di,
out _bucketSizeM03D17di,
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Enum, object>>[1]
{
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Enum, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D15di_0000)
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Enum, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D17di_0000)
});
}

private sealed class ResolverM03D15di<T>: global::Pure.DI.IResolver<Enum, T>
private sealed class ResolverM03D17di<T>: global::Pure.DI.IResolver<Enum, T>
{
public static global::Pure.DI.IResolver<Enum, T> Value = new ResolverM03D15di<T>();
public static global::Pure.DI.IResolver<Enum, T> Value = new ResolverM03D17di<T>();

public T Resolve(Enum composite)
{
Expand All @@ -264,7 +264,7 @@ partial class Enum
}
}

private sealed class ResolverM03D15di_0000: global::Pure.DI.IResolver<Enum, Pure.DI.Benchmarks.Model.CompositionRoot>
private sealed class ResolverM03D17di_0000: global::Pure.DI.IResolver<Enum, Pure.DI.Benchmarks.Model.CompositionRoot>
{
public Pure.DI.Benchmarks.Model.CompositionRoot Resolve(Enum composition)
{
Expand Down
50 changes: 25 additions & 25 deletions readme/FuncDetails.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,46 +67,46 @@ classDiagram
```c#
partial class Func
{
private readonly Func _rootM03D15di;
private readonly Func _rootM03D17di;

public Func()
{
_rootM03D15di = this;
_rootM03D17di = this;
}

internal Func(Func baseComposition)
{
_rootM03D15di = baseComposition._rootM03D15di;
_rootM03D17di = baseComposition._rootM03D17di;
}

public partial Pure.DI.Benchmarks.Model.CompositionRoot PureDIByCR()
{
System.Func<Pure.DI.Benchmarks.Model.IService3> perBlockM03D15di10_Func = new Func<Pure.DI.Benchmarks.Model.IService3>(
System.Func<Pure.DI.Benchmarks.Model.IService3> perBlockM03D17di10_Func = new Func<Pure.DI.Benchmarks.Model.IService3>(
[global::System.Runtime.CompilerServices.MethodImpl((global::System.Runtime.CompilerServices.MethodImplOptions)768)]
() =>
{
var value_M03D15di1 = new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
return value_M03D15di1;
var value_M03D17di1 = new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
return value_M03D17di1;
});
return new Pure.DI.Benchmarks.Model.CompositionRoot(new Pure.DI.Benchmarks.Model.Service1(new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D15di10_Func)), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D15di10_Func), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D15di10_Func), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D15di10_Func), new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4()), new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
return new Pure.DI.Benchmarks.Model.CompositionRoot(new Pure.DI.Benchmarks.Model.Service1(new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D17di10_Func)), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D17di10_Func), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D17di10_Func), new Pure.DI.Benchmarks.Model.Service2Func(perBlockM03D17di10_Func), new Pure.DI.Benchmarks.Model.Service3(new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4()), new Pure.DI.Benchmarks.Model.Service4(), new Pure.DI.Benchmarks.Model.Service4());
}

public T Resolve<T>()
{
return ResolverM03D15di<T>.Value.Resolve(this);
return ResolverM03D17di<T>.Value.Resolve(this);
}

public T Resolve<T>(object? tag)
{
return ResolverM03D15di<T>.Value.ResolveByTag(this, tag);
return ResolverM03D17di<T>.Value.ResolveByTag(this, tag);
}

public object Resolve(global::System.Type type)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.Resolve(this);
Expand All @@ -118,10 +118,10 @@ partial class Func

public object Resolve(global::System.Type type, object? tag)
{
var index = (int)(_bucketSizeM03D15di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D15di;
var index = (int)(_bucketSizeM03D17di * ((uint)global::System.Runtime.CompilerServices.RuntimeHelpers.GetHashCode(type) % 1));
var finish = index + _bucketSizeM03D17di;
do {
ref var pair = ref _bucketsM03D15di[index];
ref var pair = ref _bucketsM03D17di[index];
if (ReferenceEquals(pair.Key, type))
{
return pair.Value.ResolveByTag(this, tag);
Expand Down Expand Up @@ -189,25 +189,25 @@ partial class Func
" FuncᐸIService3ᐳ *-- Service3 : IService3";
}

private readonly static int _bucketSizeM03D15di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Func, object>>[] _bucketsM03D15di;
private readonly static int _bucketSizeM03D17di;
private readonly static global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Func, object>>[] _bucketsM03D17di;

static Func()
{
var valResolverM03D15di_0000 = new ResolverM03D15di_0000();
ResolverM03D15di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D15di_0000;
_bucketsM03D15di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Func, object>>.Create(
var valResolverM03D17di_0000 = new ResolverM03D17di_0000();
ResolverM03D17di<Pure.DI.Benchmarks.Model.CompositionRoot>.Value = valResolverM03D17di_0000;
_bucketsM03D17di = global::Pure.DI.Buckets<global::System.Type, global::Pure.DI.IResolver<Func, object>>.Create(
1,
out _bucketSizeM03D15di,
out _bucketSizeM03D17di,
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Func, object>>[1]
{
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Func, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D15di_0000)
new global::Pure.DI.Pair<global::System.Type, global::Pure.DI.IResolver<Func, object>>(typeof(Pure.DI.Benchmarks.Model.CompositionRoot), valResolverM03D17di_0000)
});
}

private sealed class ResolverM03D15di<T>: global::Pure.DI.IResolver<Func, T>
private sealed class ResolverM03D17di<T>: global::Pure.DI.IResolver<Func, T>
{
public static global::Pure.DI.IResolver<Func, T> Value = new ResolverM03D15di<T>();
public static global::Pure.DI.IResolver<Func, T> Value = new ResolverM03D17di<T>();

public T Resolve(Func composite)
{
Expand All @@ -220,7 +220,7 @@ partial class Func
}
}

private sealed class ResolverM03D15di_0000: global::Pure.DI.IResolver<Func, Pure.DI.Benchmarks.Model.CompositionRoot>
private sealed class ResolverM03D17di_0000: global::Pure.DI.IResolver<Func, Pure.DI.Benchmarks.Model.CompositionRoot>
{
public Pure.DI.Benchmarks.Model.CompositionRoot Resolve(Func composition)
{
Expand Down
Loading

0 comments on commit c923ba3

Please sign in to comment.