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