From 3e5d6617e505bc931bb6abd7f72816b5a2db69db Mon Sep 17 00:00:00 2001 From: Nikolay Pianikov Date: Sat, 23 Sep 2023 09:47:45 +0300 Subject: [PATCH] Optimization of flow-safety of object creation within the composition of objects --- .run/Pack.run.xml | 2 +- readme/ArrayDetails.md | 130 +++++++++--------- readme/Console.md | 2 +- readme/ConsoleTopLevelStatements.md | 2 +- readme/EnumDetails.md | 82 +++++------ readme/FuncDetails.md | 68 ++++----- readme/SingletonDetails.md | 106 +++++++------- readme/TransientDetails.md | 98 ++++++------- readme/WebAPI.md | 2 +- readme/Wpf.md | 2 +- readme/a-few-partial-classes.md | 48 +++---- readme/advanced-interception.md | 48 +++---- readme/arguments.md | 60 ++++---- readme/array.md | 56 ++++---- readme/auto-bindings.md | 48 +++---- readme/child-composition.md | 72 +++++----- readme/complex-generics.md | 52 +++---- readme/composition-roots.md | 78 +++++------ readme/constructor-ordinal-attribute.md | 52 +++---- readme/custom-attributes.md | 56 ++++---- readme/decorator.md | 48 +++---- readme/default-lifetime.md | 72 +++++----- readme/dependent-compositions.md | 112 +++++++-------- readme/disposable-singleton.md | 72 +++++----- readme/enumerable.md | 69 ++++------ readme/factory.md | 50 +++---- readme/field-injection.md | 50 +++---- readme/func-with-arguments.md | 66 ++++----- readme/func.md | 69 ++++------ readme/generics.md | 50 +++---- readme/injection.md | 52 +++---- readme/interception.md | 46 +++---- readme/lazy.md | 75 +++++----- readme/member-ordinal-attribute.md | 70 +++++----- readme/method-injection.md | 50 +++---- readme/multi-contract-bindings.md | 50 +++---- readme/oncannotresolve-hint.md | 50 +++---- readme/ondependencyinjection-hint.md | 48 +++---- readme/onnewinstance-hint.md | 52 +++---- readme/overriding-the-bcl-binding.md | 48 +++---- readme/partial-class.md | 48 +++---- readme/perresolve.md | 56 ++++---- readme/property-injection.md | 50 +++---- readme/required-properties-or-fields.md | 58 ++++---- readme/resolve-hint.md | 16 +-- readme/resolve-methods.md | 78 +++++------ readme/root-arguments.md | 12 +- readme/scope.md | 86 ++++++------ readme/service-collection.md | 110 +++++++-------- readme/service-provider.md | 106 +++++++------- readme/singleton.md | 60 ++++---- readme/span-and-readonlyspan.md | 60 ++++---- readme/tag-attribute.md | 50 +++---- readme/tags.md | 82 +++++------ readme/threadsafe-hint.md | 48 +++---- readme/tostring-hint.md | 48 +++---- readme/transient.md | 50 +++---- readme/tuple.md | 52 +++---- readme/type-attribute.md | 50 +++---- .../Core/Code/BlockCodeBuilder.cs | 37 ++--- src/Pure.DI.Core/Core/Code/BuildContext.cs | 2 +- src/Pure.DI.Core/Core/Code/BuildTools.cs | 2 +- .../Core/Code/CompositionBuilder.cs | 16 ++- .../Core/Code/ConstructCodeBuilder.cs | 4 +- .../Core/Code/FactoryCodeBuilder.cs | 6 +- src/Pure.DI.Core/Core/Code/IBuildTools.cs | 2 +- .../Core/Code/StatementCodeBuilder.cs | 2 +- src/Pure.DI.Core/Core/Code/Variable.cs | 8 -- src/Pure.DI.Core/Core/Code/VariableInfo.cs | 11 +- .../Core/Code/VariablesBuilder.cs | 9 +- src/Pure.DI.Core/Core/Code/VariablesMap.cs | 10 +- .../LifetimesTests.cs | 3 +- 72 files changed, 1743 insertions(+), 1752 deletions(-) diff --git a/.run/Pack.run.xml b/.run/Pack.run.xml index d5760a48..14ff37a2 100644 --- a/.run/Pack.run.xml +++ b/.run/Pack.run.xml @@ -1,7 +1,7 @@