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 <[email protected]> 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 <[email protected]> wrote:
>
>>
>>
>> On 5/10/16, 8:03 AM, "Harbs" <[email protected]> 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
>>
>