I didn't work on Falcon's data bindingÅ  Bruce Frazer implemented what's
there.

If you can get the synthetic SetterDefinition then you can get its Name
with getMName(). So find the code that synthesizes the getter/setter pair
for a [Bindable] var, and make it store references to the getter and
setter on the BindableVariableDefinition so that you can retrieve these
synthetic definitions.

- Gordon

On 9/26/13 1:17 PM, "Alex Harui" <aha...@adobe.com> wrote:

>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