It turns out that MXMLPropertySpecifierNode just calls its definition's
getBaseName().  There doesn't seem to be any API on IDefinition to return
a fully qualified name.  I can get the INamespaceReference from the
definition, but then how to I convert the INamespaceReference to a
Namespace I can pass into Name?

Thanks,
-Alex

On 9/26/13 11:28 AM, "Gordon Smith" <gosm...@adobe.com> wrote:

>I don't think using a Binding should be necessary. I think the bug is the
>getName() of MXMLPropertySpecifierNode isn't returning the right kind of
>Name when the property is protected or private.
>
>- Gordon
>
>
>On 9/26/13 11:13 AM, "Alex Harui" <aha...@adobe.com> wrote:
>
>>Darrell, Gordon (mostly),
>>
>>I'm having trouble with the codegen for a Binding destination function.
>>I
>>have an MXMLPropertySpecifierNode for the property to be set.  This
>>property can be protected or private as well as public.  I want to use
>>the
>>OP_setproperty instruction which seems to take a Name.  However, the
>>MXMLPropertySpecifierNode's getName() returns a Name that isn't qualified
>>as protected or private.  In looking around, I see that other code that
>>uses OP_setproperty seems to have a Binding and the getName() of that
>>Binding is used.
>>
>>I passed in the LexicalScope from the class and called getBinding on the
>>MXMLPropertySpecifierNode's getDefinition() and that worked for protected
>>and private members of the class, but what I'm seeing is that if the
>>public variable is [Bindable] and comes from a class in a SWC then the
>>MXMLPropertySpecifierNode has a VariableDefinition (instead of a
>>SynthesizedBindableSetterDefinition) and getBinding returns a binding
>>with
>>the namespace set to the BindableNamespace instead of a public setter.
>>
>>I'm wondering if the MXMLPropertySpecifierNode's definition should be
>>something other than a VariableDefinition when coming from a SWC, or the
>>code should somehow special case that VariableDefinition and go hunting
>>for a SetterDefinition, or something else.
>>
>>Thanks,
>>-Alex
>>
>

Reply via email to