I committed my changes, but I need you to look at it.

I commented out the test to get it to compile, but besides that, there’s 
definitely a problem:

198: ERROR - Parse error. invalid assignment target
     [java]   this.xml2.child('a') = this.xml2.child('a').plus(new XML( '<a 
id="456"/>'));


The original code is the following:
xml2.a += <a id="456"/>;

I’m not sure how to best handle this.

There are two cases we need to deal with:
1. Variable assignment.
2. XML children assignment.

Case 1 should simply be foo = foo.plus(bar);

However, case 2 cannot become xml.child(foo) = ...

It could wrap the whole thing in a setChild() call, but that gets kind of 
complicated. Not sure of any other way, though...

Additionally, my changes are working at all in the simple case of:
list1 += list4
which still  becomes:
list1.concat(list4);

A simple “+” is even worse:
var fud:XMLList = list1 + list4;
becomes:
  var /** @type {XMLList} */ fud = list1 + list4;

Thanks,
Harbs

On May 12, 2016, at 1:40 PM, Harbs <harbs.li...@gmail.com> wrote:

> Well I tried this, but something is wrong.
> 
> I changed the tests to reflect my changes and I’m getting an error in the 
> tests (in TestFlexJSGlobalClasses). How can I see the results of the test to 
> see what’s wrong?
> 
> On May 10, 2016, at 6:09 PM, Alex Harui <aha...@adobe.com> wrote:
> 
>> 
>> 
>> On 5/10/16, 8:03 AM, "Harbs" <harbs.li...@gmail.com> wrote:
>> 
>>> foo = foo.plus(bar);
>> 
>> OK, well in theory the compiler generated "foo" and is about to add
>> ".concat(" so you would get "foo.concat(" then "bar" would get emitted.
>> Try replacing ".concat" with:
>> 
>> " = "
>> getWalker().walk(node.getLeftOperandNode()); // should re-output "foo"
>> "; "
>> getWalker().walk(node.getLeftOperandNode()); // should re-output "foo"
>> ".plus("
>> 
>> 
>> Or something like that.  If that doesn't work I will try to look at it
>> later today.
>> 
>> -Alex
>> 
> 

Reply via email to