A global Array _parameterValues was used in MethodInjectionPoint.as, so
that during recursive calls of applyInjection, its content would get
clobbered and resolved dependencies replaced with null for the outer
injection.
A test exposing the defect was also added (at the end of InjectorTests).
PS: for some reason github shows the diff as full file diffs, even though I took great care not to apply formatting tools - I even checked the files in an hex editor, and they seem identical except for my specific changes. Not being very experienced with either git or GitHub I could not figure how to prevent that; I hope it does not complicate merging too much.
A global Array _parameterValues was used in MethodInjectionPoint.as, so that during recursive calls of applyInjection, its content would get clobbered and resolved dependencies replaced with null for the outer injection.
A test exposing the defect was also added (at the end of InjectorTests).
PS: for some reason github shows the diff as full file diffs, even though I took great care not to apply formatting tools - I even checked the files in an hex editor, and they seem identical except for my specific changes. Not being very experienced with either git or GitHub I could not figure how to prevent that; I hope it does not complicate merging too much.