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