Fix #381559, test-638.cs, test-639.cs
commitbc59f9ce589c428ed3f7069199e1fcdc64b30d66
authorraja <raja@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Sun, 27 Apr 2008 19:53:58 +0000 (27 19:53 +0000)
committerraja <raja@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Sun, 27 Apr 2008 19:53:58 +0000 (27 19:53 +0000)
tree786048b2259df082ea654f4eb1d82fc58ddc3788
parentd9e831c98bc9f5d6399785ac445e1e951c278a34
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.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mcs@102001 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mcs/ChangeLog
mcs/assign.cs
mcs/ecore.cs
mcs/expression.cs
tests/test-638.cs [new file with mode: 0644]
tests/test-639.cs [new file with mode: 0644]
tests/ver-il-gmcs.xml