Injected components are not correctly entered into fast scope lookup

Description

Performance work on invokers and listeners for , have introduced a "scope chain object" into the instantiator's records for fast context lookup. This seems to be faulty in the case of an injected component reference:

In the 3rd invoker argument, the context is returned as undefined even though the injected component is in place. It is resolvable via the reference "{that}.solutionsRegistryDataSource" which doesn't use the scope chain.

Environment

None

Activity

Show:

Justin Obara January 15, 2016 at 4:59 PM

Merged pull request ( https://github.com/fluid-project/infusion/pull/654 ) into the project repo at 4e1b8c9a64665c67232901d2e57531926ec7247f and 2f38c09d733925441f0ff2e6636f8886da8af5ea

Antranig Basman November 23, 2015 at 7:03 PM

It turns out that this was caused by the misordering of the following blunt manipulation of the context keys in recordKnownComponent:

It turns out that the context scope was only missing in the case that the context name agreed with the remote "member name" - but hilariously, and thankfully, this was exactly the case tested by the first attempt to write a test case - there are only so many names in the world, after all.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Priority

Created November 23, 2015 at 6:44 PM
Updated January 15, 2016 at 4:59 PM
Resolved January 15, 2016 at 4:59 PM