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.
Second try :-(
svn path=/trunk/mcs/; revision=68785