Fix #381559, test-638.cs, test-639.cs
authorRaja R Harinath <harinath@hurrynot.org>
Sun, 27 Apr 2008 19:53:58 +0000 (19:53 -0000)
committerRaja R Harinath <harinath@hurrynot.org>
Sun, 27 Apr 2008 19:53:58 +0000 (19:53 -0000)
commita85571d64c3fd3de1e92e4683e82dc34b6882e20
tree63c93175083fee552f629f951ea88f030087ff17
parent3f60ffb8900a83a69f77ce988f740093e182b6e0
Fix #381559, test-638.cs, test-639.cs

* assign.cs (CompoundAssign.Helper): New wrapper.
(CompoundAssign.DoResolve): Use it to wrap the nested 'target' access.
* ecore.cs (MethodGroupExpr.VerifyArgumentsCompat) <params arguments>:
Pass unconverted expressions to the params array creation expression.
(FieldExpr.EmitAssign): Don't special-case StringConcat.
(PropertyExpr.EmitAssign): Likewise.
* expression.cs (ArrayCreation.ResolveArrayElement): Keep track of the
element if it is of kind CompoundAssign.Helper.
(ArrayCreation.Emit): If we saw a CompoundAssign.Helper, emit it
first before anything else.
(ArrayAccess.EmitAssign): Don't special-case StringConcat.
(ArrayAccess.LoadArrayAndArguments): Simplify.

svn path=/trunk/mcs/; revision=102001
mcs/mcs/ChangeLog
mcs/mcs/assign.cs
mcs/mcs/ecore.cs
mcs/mcs/expression.cs
mcs/tests/test-638.cs [new file with mode: 0644]
mcs/tests/test-639.cs [new file with mode: 0644]
mcs/tests/ver-il-gmcs.xml