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 >>>> >>> >> >