I figured it out and committed a fix.

> On Aug 28, 2017, at 12:07 PM, Harbs <harbs.li...@gmail.com> wrote:
> 
> Given the following XML in Flash:
> var xml:XML = <root/>;
> xml.bar.foo.baz = "baz";
> 
> You get an XML structure like so:
> <root>
>  <bar>
>    <foo>
>      <baz>
>        baz
>      </baz>
>    </foo>
>  </bar>
> </root>
> 
> In JS, this compiles to the following:
> 
>  var /** @type {XML} */ xml = new XML( '<root/>');
>  xml.child('bar').child('foo').setChild('baz', "baz");
> 
> .child() returns an empty XMLList
> .setChild() tries to add a child to that empty list and does not create the 
> structure.
> 
> I’m not sure how to best solve this problem.
> 
> One idea would be to add a new function called getChild() which would return 
> an existing element if it exists and create a new one if not. Then we could 
> have the compiler rewrite the output to:
> 
>  xml.getChild('bar').getChild('foo').setChild('baz', "baz");
> 
> I’d prefer to try and figure out how to have setChild walk up the reference 
> tree and create the correct elements automatically. I’m having trouble 
> figuring out how to do that though.
> 
> Harbs

Reply via email to