Reapply Marek's patch after tagging 1-2-2
authorMiguel de Icaza <miguel@gnome.org>
Fri, 1 Dec 2006 15:29:30 +0000 (15:29 -0000)
committerMiguel de Icaza <miguel@gnome.org>
Fri, 1 Dec 2006 15:29:30 +0000 (15:29 -0000)
commit92ea9541cd3fe72fbc43b502b9995bcc5e5b259e
tree78cc03b6f7079adf3e244a1cab6383f4a0cd35a0
parent3b4f11ae27f9ed2af83123e3069763060851caa7
Reapply Marek's patch after tagging 1-2-2

2006-11-30  Marek Safar  <marek.safar@gmail.com>

        Correct unary operators implementation (part I)
        Also fixes #80026

        * cfold.cs (Error_CompileTimeOverflow): Made internal

        * const.cs (IConstant): Changed to use reference to constant and
        not constant itself.
        Updated IConstant implementations.

        * constant.cs (CreateConstant): New factory method.
        Updated IConstant implementation.

        * convert.cs (ImplicitStandardConversionExists): Uses compiler Equals.

        * ecore.cs: Updated to use CreateConstantReference.

        * enum.cs: Reflects IConstant changes.

        * expression.cs (Unary): Reimplemented +,-,~ to conform C# standard.

        * literal.cs (NullConstant): Change to be independently usable.

svn path=/trunk/mcs/; revision=68831
14 files changed:
mcs/errors/gcs0403-2.cs
mcs/errors/gcs0403.cs
mcs/errors/known-issues-gmcs
mcs/errors/known-issues-mcs
mcs/mcs/ChangeLog
mcs/mcs/cfold.cs
mcs/mcs/const.cs
mcs/mcs/constant.cs
mcs/mcs/convert.cs
mcs/mcs/ecore.cs
mcs/mcs/enum.cs
mcs/mcs/expression.cs
mcs/mcs/literal.cs
mcs/tests/known-issues-mcs