33namespace Okapi \CodeTransformer ;
44
55use DI \Attribute \Inject ;
6- use Okapi \CodeTransformer \Exception \ Kernel \ DirectKernelInitializationException ;
7- use Okapi \CodeTransformer \Service \ AutoloadInterceptor ;
8- use Okapi \CodeTransformer \Service \ CacheStateManager ;
9- use Okapi \CodeTransformer \Service \DI ;
10- use Okapi \CodeTransformer \Service \ Options ;
11- use Okapi \CodeTransformer \Service \ StreamFilter ;
12- use Okapi \CodeTransformer \Service \ TransformerContainer ;
6+ use Okapi \CodeTransformer \Core \ AutoloadInterceptor ;
7+ use Okapi \CodeTransformer \Core \ Cache \ CacheStateManager ;
8+ use Okapi \CodeTransformer \Core \ Container \ TransformerManager ;
9+ use Okapi \CodeTransformer \Core \DI ;
10+ use Okapi \CodeTransformer \Core \ Exception \ Kernel \ DirectKernelInitializationException ;
11+ use Okapi \CodeTransformer \Core \ Options ;
12+ use Okapi \CodeTransformer \Core \ StreamFilter ;
1313use Okapi \Singleton \Singleton ;
1414
1515/**
1616 * # Code Transformer Kernel
1717 *
18- * The `CodeTransformerKernel` is the heart of the Code Transformer library.
18+ * This class is the heart of the Code Transformer library.
1919 * It manages an environment for Code Transformation.
2020 *
2121 * 1. Extends this class and define a list of transformers in the
@@ -26,6 +26,30 @@ abstract class CodeTransformerKernel
2626{
2727 use Singleton;
2828
29+ // region DI
30+
31+ #[Inject]
32+ private Options $ options ;
33+
34+ #[Inject]
35+ protected TransformerManager $ transformerContainer ;
36+
37+ #[Inject]
38+ private CacheStateManager $ cacheStateManager ;
39+
40+ #[Inject]
41+ private StreamFilter $ streamFilter ;
42+
43+ #[Inject]
44+ private AutoloadInterceptor $ autoloadInterceptor ;
45+
46+ /**
47+ * Make the constructor public to allow the DI container to instantiate the class.
48+ */
49+ public function __construct () {}
50+
51+ // endregion
52+
2953 // region Settings
3054
3155 /**
@@ -61,30 +85,6 @@ abstract class CodeTransformerKernel
6185 */
6286 protected array $ transformers = [];
6387
64- // region DI
65-
66- #[Inject]
67- private Options $ options ;
68-
69- #[Inject]
70- protected TransformerContainer $ transformerContainer ;
71-
72- #[Inject]
73- private CacheStateManager $ cacheStateManager ;
74-
75- #[Inject]
76- private StreamFilter $ streamFilter ;
77-
78- #[Inject]
79- private AutoloadInterceptor $ autoloadInterceptor ;
80-
81- /**
82- * Make the constructor public to allow the DI container to instantiate the class.
83- */
84- public function __construct () {}
85-
86- // endregion
87-
8888 /**
8989 * Resolve instance with dependency injection.
9090 *
0 commit comments