Added basic support for constructing types with no dependencies.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Added test-classes for use with reflection instantiation with dependencies and automatic class-parameter injection for generic component registrations.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Basic support for resolution of types which have dependencies.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Added overload to getToken that allows creation of a ResolutionToken from a type. This is to be able to properly select correct generic dependencies in a resolution scenario.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Simplified Baz constructor.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Added support for reflection instantiation of types with generic constructor parameters. The resolution process can select the correct fully-typed registered dependency.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Updated gitignore.
Added test to confirm explicit named component resolution works.
Added ExplicityDependency class. The idea is to let a Registration hold a cache of explicit dependencies, similar to the way that the container holds Registrations.
Adding new test classes to test explicit parameter dependency injection.
Added initial support for explicit dependencies for specific constructor parameters, through instances, factories or resolution tokens. Since Java erases constructor parameter names during runtime, I've added a dependency upon Paranamer. It works; but only if the type being resolved is compiled with debug symbols. Haven't decided which behavior to fall back on should that be the case.
Renamed ExplicitDependency<T> to ParameterDependency<T>.
Extracted interface ExplicitDependency from ParameterDependency.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Added AbstractDependency and TypeDependency and moved all *Dependency interfaces/classes to …kernel.dependencies to collect them. Updated usages and imports in other classes.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Renamed ExplicitDependencyFixture to ParameterDependencyFixture. Added fixtures for AbstractDependency and TypeDependency.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Added dependsOn overloads for the TypeDependency<T> stuff.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Minor cleanup in the RegistrationFixture

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Split InjectContainerFixture in two ->
one for registration,
one for resolution.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Commencing rewrite of the containers registry.

Signed-off-by: Mikael Selander <ciddan@gmail.com>
Merge branch 'refs/heads/provider-refac' into dev