gitextract_o85d1j_u/ ├── .gitattributes ├── .github/ │ ├── CONTRIBUTING.md │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ ├── feature.md │ │ └── question.md │ ├── SECURITY.md │ └── workflows/ │ ├── coding-standards.yml │ ├── continuous-integration.yml │ ├── demo.yml │ ├── prefer-lowest.yml │ ├── static-analysis.yml │ └── update-copyright-years-in-license-file.yml ├── .gitignore ├── .scrutinizer.yml ├── .sonarcloud.properties ├── CLAUDE.md ├── LICENSE ├── README.md ├── codecov.yml ├── composer-require-checker.json ├── composer.json ├── demo/ │ ├── 01a-linked-binding.php │ ├── 01b-linked-binding-setter-injection.php │ ├── 02-provider-binding.php │ ├── 02a-named-by-qualifier.php │ ├── 02b-named-by-named.php │ ├── 03-injection-point.php │ ├── 04-untarget-binding.php │ ├── 05a-constructor-binding.php │ ├── 05b-constructor-binding-setter-injection.php │ ├── 07-assisted-injection.php │ ├── 10-cache.php │ ├── 11-script-injector.php │ ├── 12-dependency-chain-error-message.php │ ├── chain-error/ │ │ ├── A.php │ │ ├── B.php │ │ ├── C.php │ │ ├── D.php │ │ └── EInterface.php │ ├── finder/ │ │ ├── Db.php │ │ ├── DbFinder.php │ │ ├── DbInterface.php │ │ ├── Finder.php │ │ ├── FinderInterface.php │ │ ├── FinderModule.php │ │ ├── MovieFinder.php │ │ ├── MovieLister.php │ │ ├── MovieListerInterface.php │ │ └── Sorter.php │ ├── run.php │ └── tmp/ │ └── .gitkeep ├── phpcs.xml ├── phpmd.xml ├── phpstan.neon ├── phpunit.xml.dist ├── psalm.xml ├── rector.php ├── src/ │ └── di/ │ ├── AbstractModule.php │ ├── AcceptInterface.php │ ├── AnnotatedClass.php │ ├── AnnotatedClassMethods.php │ ├── Annotation/ │ │ └── ScriptDir.php │ ├── Argument.php │ ├── Arguments.php │ ├── AspectBind.php │ ├── AssistedInjectInterceptor.php │ ├── AssistedInjectModule.php │ ├── AssistedModule.php │ ├── Bind.php │ ├── BindValidator.php │ ├── BuiltinModule.php │ ├── CompileNullObject.php │ ├── Container.php │ ├── ContainerFactory.php │ ├── Dependency.php │ ├── DependencyFactory.php │ ├── DependencyInterface.php │ ├── DependencyProvider.php │ ├── Di/ │ │ ├── Assisted.php │ │ ├── Inject.php │ │ ├── InjectInterface.php │ │ ├── Named.php │ │ ├── PostConstruct.php │ │ ├── Qualifier.php │ │ └── Set.php │ ├── Exception/ │ │ ├── DirectoryNotWritable.php │ │ ├── ExceptionInterface.php │ │ ├── InvalidContext.php │ │ ├── InvalidProvider.php │ │ ├── InvalidToConstructorNameParameter.php │ │ ├── InvalidType.php │ │ ├── MethodInvocationNotAvailable.php │ │ ├── NoHint.php │ │ ├── NotFound.php │ │ ├── SetNotFound.php │ │ ├── Unbound.php │ │ └── Untargeted.php │ ├── Exception.php │ ├── Grapher.php │ ├── InjectableInterface.php │ ├── InjectionPoint.php │ ├── InjectionPointInterface.php │ ├── InjectionPoints.php │ ├── Injector.php │ ├── InjectorInterface.php │ ├── Instance.php │ ├── Matcher/ │ │ └── AssistedInjectMatcher.php │ ├── MethodInvocationProvider.php │ ├── ModuleString.php │ ├── MultiBinder.php │ ├── MultiBinding/ │ │ ├── LazyInstance.php │ │ ├── LazyInterface.php │ │ ├── LazyProvider.php │ │ ├── LazyTo.php │ │ ├── Map.php │ │ ├── MapProvider.php │ │ ├── MultiBindingModule.php │ │ └── MultiBindings.php │ ├── Name.php │ ├── NewInstance.php │ ├── NullDependency.php │ ├── NullModule.php │ ├── NullObjectDependency.php │ ├── ProviderInterface.php │ ├── ProviderProvider.php │ ├── ProviderSetModule.php │ ├── ProviderSetProvider.php │ ├── Scope.php │ ├── SetContextInterface.php │ ├── SetterMethod.php │ ├── SetterMethods.php │ ├── SpyCompiler.php │ ├── Types.php │ ├── Untarget.php │ └── VisitorInterface.php ├── src-deprecated/ │ └── di/ │ ├── BcParameterQualifier.php │ ├── BcStringParser.php │ ├── EmptyModule.php │ ├── NullCache.php │ └── Provider.php ├── tests/ │ ├── bootstrap.php │ ├── di/ │ │ ├── AnnotatedClassTest.php │ │ ├── ArgumentTest.php │ │ ├── ArgumentsTest.php │ │ ├── AssistedTest.php │ │ ├── BcParameterQualifierIntegrationTest.php │ │ ├── BcParameterQualifierTest.php │ │ ├── BcStringParserTest.php │ │ ├── BindTest.php │ │ ├── ContainerTest.php │ │ ├── ContextualProviderTest.php │ │ ├── DependencyTest.php │ │ ├── Fake/ │ │ │ ├── Annotation/ │ │ │ │ ├── FakeInjectOne.php │ │ │ │ ├── FakeLeft.php │ │ │ │ ├── FakeNotQualifer.php │ │ │ │ ├── FakeQualifierOnly.php │ │ │ │ └── FakeRight.php │ │ │ ├── FakeAbstractClass.php │ │ │ ├── FakeAbstractDb.php │ │ │ ├── FakeAnnoClass.php │ │ │ ├── FakeAnnoInterceptor1.php │ │ │ ├── FakeAnnoInterceptor2.php │ │ │ ├── FakeAnnoInterceptor3.php │ │ │ ├── FakeAnnoInterceptor4.php │ │ │ ├── FakeAnnoInterceptor5.php │ │ │ ├── FakeAnnoInterceptorInterface.php │ │ │ ├── FakeAnnoMethod1.php │ │ │ ├── FakeAnnoMethod2.php │ │ │ ├── FakeAnnoMethod3.php │ │ │ ├── FakeAnnoModule.php │ │ │ ├── FakeAnnoOrderClass.php │ │ │ ├── FakeAop.php │ │ │ ├── FakeAopDoublyInstallModule.php │ │ │ ├── FakeAopGrapher.php │ │ │ ├── FakeAopGrapherModule.php │ │ │ ├── FakeAopInstallModule.php │ │ │ ├── FakeAopInterceptorModule.php │ │ │ ├── FakeAopInterface.php │ │ │ ├── FakeAopInterfaceModule.php │ │ │ ├── FakeAopModule.php │ │ │ ├── FakeAssistedConsumer.php │ │ │ ├── FakeAssistedDb.php │ │ │ ├── FakeAssistedDbModule.php │ │ │ ├── FakeAssistedDbProvider.php │ │ │ ├── FakeAssistedInjectConsumer.php │ │ │ ├── FakeAssistedInjectDb.php │ │ │ ├── FakeAssistedParamsConsumer.php │ │ │ ├── FakeBcConstructorQualifierClass.php │ │ │ ├── FakeBcParameterQualifierClass.php │ │ │ ├── FakeBcParameterQualifierModule.php │ │ │ ├── FakeBuiltin.php │ │ │ ├── FakeCar.php │ │ │ ├── FakeCarEngine.php │ │ │ ├── FakeCarEngineModule.php │ │ │ ├── FakeCarInterface.php │ │ │ ├── FakeCarModule.php │ │ │ ├── FakeClassInstanceBindModule.php │ │ │ ├── FakeClassWithBcParameterQualifier.php │ │ │ ├── FakeConcreteClass.php │ │ │ ├── FakeConstant.php │ │ │ ├── FakeConstantConsumer.php │ │ │ ├── FakeConstantInterface.php │ │ │ ├── FakeConstantModule.php │ │ │ ├── FakeContextualModule.php │ │ │ ├── FakeContextualProvider.php │ │ │ ├── FakeContextualRobot.php │ │ │ ├── FakeDoubleInterceptor.php │ │ │ ├── FakeDoubleInterceptorInterface.php │ │ │ ├── FakeEngine.php │ │ │ ├── FakeEngine2.php │ │ │ ├── FakeEngine3.php │ │ │ ├── FakeEngineInterface.php │ │ │ ├── FakeEngineProvider.php │ │ │ ├── FakeEngineToProviderModule.php │ │ │ ├── FakeFormerBindingHasPriorityModule.php │ │ │ ├── FakeGearStickInject.php │ │ │ ├── FakeGearStickInterface.php │ │ │ ├── FakeGearStickProvider.php │ │ │ ├── FakeHandle.php │ │ │ ├── FakeHandleBar.php │ │ │ ├── FakeHandleBarQualifier.php │ │ │ ├── FakeHandleInterface.php │ │ │ ├── FakeHandleProvider.php │ │ │ ├── FakeHardtop.php │ │ │ ├── FakeHardtopInterface.php │ │ │ ├── FakeInjectionPoint.php │ │ │ ├── FakeInstallModule.php │ │ │ ├── FakeInstanceBindModule.php │ │ │ ├── FakeInstanceBindModule2.php │ │ │ ├── FakeInstanceBindModuleOneTo3.php │ │ │ ├── FakeInternalTypeModule.php │ │ │ ├── FakeInternalTypes.php │ │ │ ├── FakeLeatherGearStick.php │ │ │ ├── FakeLeft.php │ │ │ ├── FakeLeftLeg.php │ │ │ ├── FakeLegInterface.php │ │ │ ├── FakeLogStringModule.php │ │ │ ├── FakeMirrorInterface.php │ │ │ ├── FakeMirrorLeft.php │ │ │ ├── FakeMirrorRight.php │ │ │ ├── FakeModuleInModule.php │ │ │ ├── FakeModuleInModuleOverride.php │ │ │ ├── FakeMultiBindingAnnotation.php │ │ │ ├── FakeMultiBindingConsumer.php │ │ │ ├── FakeOnionInterceptor2.php │ │ │ ├── FakeOnionInterceptor3.php │ │ │ ├── FakeOnionInterceptor4.php │ │ │ ├── FakeOpenCarModule.php │ │ │ ├── FakeOverrideInstallModule.php │ │ │ ├── FakePdoModule.php │ │ │ ├── FakePhp8Car.php │ │ │ ├── FakePhp8CarModule.php │ │ │ ├── FakePhp8HandleProvider.php │ │ │ ├── FakePriorityModule.php │ │ │ ├── FakePropConstruct.php │ │ │ ├── FakeRenameModule.php │ │ │ ├── FakeRight.php │ │ │ ├── FakeRightLeg.php │ │ │ ├── FakeRobot.php │ │ │ ├── FakeRobotInterface.php │ │ │ ├── FakeRobotProvider.php │ │ │ ├── FakeRobotTeam.php │ │ │ ├── FakeSet.php │ │ │ ├── FakeSetNotFoundWithMap.php │ │ │ ├── FakeSetNotFoundWithProvider.php │ │ │ ├── FakeToBindInvalidClassModule.php │ │ │ ├── FakeToBindModule.php │ │ │ ├── FakeToBindSingletonModule.php │ │ │ ├── FakeToConstructorRobot.php │ │ │ ├── FakeToProviderBindModule.php │ │ │ ├── FakeToProviderSingletonBindModule.php │ │ │ ├── FakeTyre.php │ │ │ ├── FakeTyreInterface.php │ │ │ ├── FakeUnNamedClass.php │ │ │ ├── FakeUnNamedModule.php │ │ │ ├── FakeUntarget.php │ │ │ ├── FakeUntargetChild.php │ │ │ ├── FakeUntargetModule.php │ │ │ ├── FakeUntargetToIntanceModule.php │ │ │ ├── FakeWalkRobot.php │ │ │ ├── FakeWalkRobotLegProvider.php │ │ │ ├── FakeWalkRobotModule.php │ │ │ ├── FakelNoConstructorCallModule.php │ │ │ └── NullVisitor.php │ │ ├── GrapherTest.php │ │ ├── InjectionPointTest.php │ │ ├── InjectionPointsTest.php │ │ ├── InjectorTest.php │ │ ├── ModuleMergerTest.php │ │ ├── ModuleTest.php │ │ ├── MultiBinding/ │ │ │ ├── MultiBinderTest.php │ │ │ └── MultiBindingModuleTest.php │ │ ├── NameTest.php │ │ ├── NewInstanceTest.php │ │ ├── NoHintTest.php │ │ ├── NullModuleTest.php │ │ ├── ProviderProviderTest.php │ │ ├── SetterMethodTest.php │ │ ├── SetterMethodsTest.php │ │ ├── SpyCompilerTest.php │ │ ├── UnboundTest.php │ │ ├── VisitorTest.php │ │ └── script/ │ │ ├── aop.php │ │ ├── bench.php │ │ └── grapher.php │ ├── script/ │ │ └── aop.php.cache │ ├── stub/ │ │ └── BindInterface.phpstub │ └── type/ │ └── InjectorInterfaceTest.php ├── tests-php8/ │ ├── AssistedInjectTest.php │ └── DualReaderTest.php └── vendor-bin/ └── tools/ └── composer.json