Log Message: ----------- * Resubmitting 4795 with an additional fix for unresolved namespaces that come from variables. For example:
var ns:Namespace = new Namespace("blah"); foo.ns::bar();
This is part of the fix for SDK-17798. It allows DataBindingFirstPassEvaluator to find type information for namespaceBT2 in:
But this isn't a complete fix, because I couldn't figure out how to allow the PropertyWatcher for "test_namespace::namespaceBT2" to access the property. The solution will probably be to provide the open namespaces to the PropertyWatcher, but I haven't figured out how to do this yet.
tests Passed: checkintests, performance testsuite
Needs QA: YES
Needs DOC: NO
Bug fixes: SDK-19047, SDK-17798 (partial fix)
API Change: NO
Code-level description of changes:
See notes for revision 4795.
Modified processUnresolvedNamespaces() to report an error if we can't find a Slot for the namespace, but no longer report an error if we find a Slot without a Value. This happens when the namespace is defined in a variable. ConstantEvaluator will not have run yet, so the Slot for the namespace will not have a Value. We just silently punt in this case. The VM will report an error at runtime if the namespace can't be resolved. Unfortunately, data binding won't be able to track down change events in this case, though.