flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gordon Smith <gosm...@adobe.com>
Subject Re: [FALCON] Convert MXMLPropertySpecifierNode to Binding
Date Thu, 26 Sep 2013 19:13:47 GMT
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

- Gordon

On 9/26/13 12:05 PM, "Gordon Smith" <gosmith@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" <aharui@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?
>>On 9/26/13 11:28 AM, "Gordon Smith" <gosmith@adobe.com> wrote:
>>>I don't think using a Binding should be necessary. I think the bug is
>>>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" <aharui@adobe.com> wrote:
>>>>Darrell, Gordon (mostly),
>>>>I'm having trouble with the codegen for a Binding destination function.
>>>>have an MXMLPropertySpecifierNode for the property to be set.  This
>>>>property can be protected or private as well as public.  I want to use
>>>>OP_setproperty instruction which seems to take a Name.  However, the
>>>>MXMLPropertySpecifierNode's getName() returns a Name that isn't
>>>>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
>>>>MXMLPropertySpecifierNode's getDefinition() and that worked for
>>>>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
>>>>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
>>>>code should somehow special case that VariableDefinition and go hunting
>>>>for a SetterDefinition, or something else.

View raw message