getMName returns a Name with the same namespace as calling
getNamespaceReference() on the definition.

That still doesn't help me when the property is a [Bindable] var in a
class in a SWC. The definition is a VariableDefinition with the
BindableNamespace which represents the backing variable for the generated
[Bindable] code.    I somehow have to find a SetterDefinition and figure
out its namespace.

Any thoughts on that?

Thanks,
-Alex

On 9/26/13 12:13 PM, "Gordon Smith" <gosm...@adobe.com> wrote:

>I was able to browse the Apache repo. getMName() is on DefinitionBase, but
>not on IDefinition. So try
>((DefinitionBase)propertyNode.getDefinition()).getMName() and see whether
>it returns the right kind of Name when the property is private or
>protected.
>
>- Gordon
>
>On 9/26/13 12:05 PM, "Gordon Smith" <gosm...@adobe.com> wrote:
>
>>I'm in a meeting in San Jose and don't have access to the Falcon code at
>>the moment. But I think Idefinition (or maybe only DefinitionBase) has a
>>getMName() method that returns a Name.
>>
>>- Gordon
>>
>>
>>On 9/26/13 11:37 AM, "Alex Harui" <aha...@adobe.com> wrote:
>>
>>>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