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:05:26 GMT
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 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" <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 the
>>>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 the
>>>code should somehow special case that VariableDefinition and go hunting
>>>for a SetterDefinition, or something else.

View raw message