Mike Bierlee
93d4d3c20f
Recursively import types everywhere
...
#20
2017-08-13 18:21:03 +02:00
Mike Bierlee
91fcefa7ed
Recursively import template type's modules
...
In case when the template type itself is a template type. Fixes #20
2017-08-13 18:13:19 +02:00
Mike Bierlee
4c25b91c63
Import modules of argument types of registration type's template before calling post-constructor
2017-08-13 17:49:40 +02:00
Mike Bierlee
e90306ef57
Update copyrights
2017-02-13 20:20:35 +01:00
Mike Bierlee
cc0ea0d9e4
Add backwards compatiblity for isFunction
2016-12-26 18:31:39 +01:00
Mike Bierlee
925c3f4119
Fix check on whether a member was a function
...
Checks on some kinds of members, such as constants, would trip up with the isCallable trait.
2016-12-26 18:17:51 +01:00
Mike Bierlee
10d24eb9fb
Remove workaround
2016-12-26 18:17:51 +01:00
Mike Bierlee
898dfd8943
Remove deprecated getInstance()
2016-12-26 18:17:51 +01:00
Mike Bierlee
4ac095c25b
Revert minimal D compatibility to 2.068.2
...
Now that GDC has been officially upgraded to 2.068.2 we can drop baseline support to that version.
2016-12-26 18:17:51 +01:00
Mike Bierlee
0d5180c98f
Also fix memory corruption for GDC
2016-12-18 01:21:56 +01:00
Mike Bierlee
708ec67070
Prevent memory corruption in DMD 2.066.1
...
As a consequence registations will NOT be cleared during deconstruction of the container in that version
2016-12-18 01:16:00 +01:00
Mike Bierlee
3d9a449766
Fix aliases tripping up UDA discovery
2016-12-17 23:58:37 +01:00
Mike Bierlee
b6dea95c0d
Add pre-destruction
2016-12-17 23:09:56 +01:00
Mike Bierlee
fbef764b48
Add post construction
2016-12-17 21:14:16 +01:00
Mike Bierlee
7ba8e545f6
Move context registration related method out of container
...
Should be still usable as before because of UFCS
2016-12-14 22:04:13 +01:00
Mike Bierlee
68c8d6b6a6
Fix documentation
2016-12-14 21:12:52 +01:00
Mike Bierlee
8fe5b8da9b
Adjust package documentation according extended use of derived work
2016-12-13 23:23:05 +01:00
Mike Bierlee
5ed3a6ae29
Add Phobos 2.066.1 forwards-compatibility for GDC
2016-12-13 22:00:34 +01:00
Mike Bierlee
2bbbbac416
Add forwards compatibility for older Phobos distributions
2016-12-11 02:44:35 +01:00
Mike Bierlee
86fb525066
Add mandatory injection of values
2016-12-11 01:31:09 +01:00
Mike Bierlee
52dcecef9a
Add optional value injection when values cannot be injected by injectors
2016-12-11 01:15:30 +01:00
Mike Bierlee
9eb3a89695
Make it clear when a value injector is missing
2016-12-11 00:53:21 +01:00
Mike Bierlee
d3ed3e91b9
Add value injector
2016-12-09 02:15:59 +01:00
Mike Bierlee
c75b025a68
Fix else case not being properly excluded from compiled code
2016-12-09 00:48:32 +01:00
Mike Bierlee
ea41a04657
Determine qualifier earlier in process
2016-12-06 23:41:08 +01:00
Mike Bierlee
ee35b07a87
Fix incorrect documentation
2016-12-06 23:23:55 +01:00
Mike Bierlee
6d1907bb3d
Fix missing import for release build
2016-12-06 23:17:38 +01:00
Mike Bierlee
2a52fc9af4
Fix nullpointer exception when debugging with poodinisVerbose
2016-12-06 23:14:19 +01:00
Mike Bierlee
f1bd2260d1
Split autowire code up into multiple functions
2016-12-06 23:00:30 +01:00
Mike Bierlee
e1f0cca5c5
Fix injection of dependencies from foreign modules
...
Fixes issue #12
2016-09-05 19:37:53 +02:00
Mike Bierlee
c60fc496d9
Fix release build
2016-09-03 18:51:01 +02:00
Mike Bierlee
95e30477c6
Prevent creation of circular dependencies in constructors
2016-09-03 16:57:38 +02:00
Mike Bierlee
ab765e0092
Add constructor injection
2016-08-23 00:11:29 +02:00
Mike Bierlee
81c6faed16
Pass factory through constructor to prevent nullpointer exceptions
2016-08-17 23:01:22 +02:00
Mike Bierlee
941c5b1961
Fix accidentally setting same property
2016-08-17 23:00:21 +02:00
Mike Bierlee
831e38cb56
Let container create instance factory instead of scopes
2016-08-17 22:37:02 +02:00
Mike Bierlee
6b3b23a376
Move factory parameters to parameter object
2016-08-17 22:28:47 +02:00
Mike Bierlee
44e77aff9c
Move factory stuff to own module
2016-08-17 20:44:36 +02:00
Mike Bierlee
b6ccc9d4a9
Pull keeping track of originating containmer up to Registration class
2016-08-08 23:06:05 +02:00
Mike Bierlee
2a4004856f
Deprecate global autowiring function
2016-08-08 22:22:13 +02:00
Mike Bierlee
9e5a27d046
Deprecate singleton factory method
...
The factory method encourages misuse of dependency injection (by using it as a service locator). Removing the factory method forces the user to make this choice deliberately.
2016-08-08 22:17:17 +02:00
Mike Bierlee
02dbe20c64
Remove deprecated muck
2016-08-08 21:32:27 +02:00
Mike Bierlee
771c49d86a
Deprecate array-based assignment of persistent resolve/registration options
2016-06-27 20:55:07 +02:00
Mike Bierlee
2278378080
Shift bit of sole option to indicate it's a bitnum
2016-06-27 20:38:17 +02:00
Thayne McCombs
4e27adc96b
Transpose static if to avoid generating dead code.
2016-06-26 21:45:48 -06:00
Thayne McCombs
6255292069
Use bit flags for options.
...
A more idiomatic and efficient way of passing options.
2016-06-26 21:45:48 -06:00
Mike Bierlee
7308702dfe
Add ability to mark autowire dependencies as optional
2016-02-15 22:52:48 +01:00
Mike Bierlee
6746fd64a0
Add resolve options to resolveAll
2016-02-15 22:52:48 +01:00
Mike Bierlee
21d727c500
Add resolve option for not throwing a resolveException
2016-02-15 22:52:47 +01:00
Mike Bierlee
851eeade45
Use more meaningful names for member tuple index variables
2016-02-15 00:26:04 +01:00