Commit graph

182 commits

Author SHA1 Message Date
Mike Bierlee dc48c87948 Prevent registration, resolving and constructor injection selection of structs
Fixes #25
2018-06-11 18:45:27 +03:00
Carlin St Pierre d52d2d963e Support types that have recursive template arguments with createImportsString 2018-04-14 14:00:30 +10:00
Mike Bierlee 4410206ec4 Update copyrigths
And convert tabs to spaces
2018-01-01 15:56:47 +01:00
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