Creating a new setChild method should be fine. How would we differentiate 
between + and +=? Two new methods? Or something else?


On Nov 16, 2015, at 9:14 PM, Alex Harui <aha...@adobe.com> wrote:

> 
> 
> On 11/16/15, 10:54 AM, "Harbs" <harbs.li...@gmail.com> wrote:
> 
>> 
>> On Nov 16, 2015, at 8:03 PM, Alex Harui <aha...@adobe.com> wrote:
>> 
>>> 
>>> 
>>> On 11/16/15, 9:54 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>>> 
>>>>> 2) detect read and write on XML/XMLList and convert read to child().
>>>>> What
>>>>> about write()?
>>>> 
>>>> Good question. I think we should map xml.foo = <foo id=“1"/> to
>>>> xml.replace(“foo”,new XML(“<foo id=\”1\”/>”));
>>> 
>>> What does the above actually do if there is only one foo child and if
>>> there are more than one foo.child?
>> 
>> 1. xml.foo = someXML replaces all foos with someXML (in the location of
>> the first foo)
>> 2. xml.foo = someXMLList removes all foos and adds in the ones from the
>> list (in the location of the first foo)
>> 
>>> Do you know if you can use += to append?
>> 
>> How do you like that? I’ve never thought of trying +=! I just tried and
>> it works like a charm! It adds it in after the last foo or at the end if
>> foo does not exist.
> 
> Hmm.  I wonder what other operators work.  Like “-=“.  And does xmlList1 +
> xmlList2 concatenate them?
> 
>> 
>> I’m not sure what the best mapping for this will be. We probably should
>> get a reference to the last foo and map it to
>> xml.insertChildAfter(lastFoo,newFoo) if there are any foos. Otherwise it
>> should map to appendChild().
> 
> OK.  Thanks for doing the testing.
> 
> The compiler cannot know whether there will be a foo at compile-time, so
> for all of these cases, I think we’ll have to call a new setChild() method
> and your code will have to “do the right things”.
> 
> Replacing “=“ expressions with method calls is quite painful in the
> compiler and the output can look very messy.  What do you think about
> implementing setChild as a setter instead of a method?
> 
> -Alex

Reply via email to