FLUID-5898: Fast expansion path has inconsistent semantics for pathed references mismatching context

Metadata

Source
FLUID-5898
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2016-05-02T22:42:33.529-0400
Updated
2016-05-03T13:43:06.327-0400
Versions
N/A
Fixed Versions
N/A
Component
  1. IoC System

Description

"Since the beginning of time", the IoC reference resolution system has triggered a hard failure when resolving a reference with a nonempty path whose context doesn't match. Unfortunately the new "fast path" implemented for FLUID-5249, FLUID-5796 uses inconsistent semantics and simply returns "undefined" for some resolution cases. For example, the following listener

{
                    // TODO: Replace this with some progressive enhancement action.
                    priority: "last",
                    funcName: "flock.webAudio.outputManager.iOSStart",
                    args: [
                        "{that}",
                        "{audioSystem}.context",
                        "{scriptProcessor}.node", // Resolves to undefined, doesn't error.
                    ]
                }

is capable of delivering undefined as the 3rd argument where {scriptProcessor} fails to match as a context.

Comments