2006-09-23 Marek Safar <marek.safar@seznam.cz>
authorMarek Safar <marek.safar@gmail.com>
Sat, 23 Sep 2006 18:37:59 +0000 (18:37 -0000)
committerMarek Safar <marek.safar@gmail.com>
Sat, 23 Sep 2006 18:37:59 +0000 (18:37 -0000)
commit95f68fbf2127dde95a184c84d77e9903b7bb55a1
tree15c262d786e7b0cbc2db096eb1cc5eb87100ab34
parent19a9359fb17c975adc57eac8e1b58b6813f0e2a6
2006-09-23  Marek Safar  <marek.safar@seznam.cz>

* cfold.cs (BinaryFold): On the guest to unify empty constant cast.

* const.cs (Const.Define): Check for constant type.
(Const.IsConstantTypeValid): Looks for valid constant types.

* convert.cs (ImplicitReferenceConversion): NullCast to EmptyConstantCast.

* ecore.cs (EmptyConstantCast): New common class for all constant based
EmptyCast(s).

* expression.cs (Is.DoResolve): Handle null constant especially.
(New.DoResolve): Check for new void().
(MemberAccess.DoResolve): Cope with all kind of nulls.

* literal.cs (NullConstant): Uses EmptyConstantCast.
(NullDefault): Based on EmptyConstantCast.
(NullLiteral): Uses EmptyConstantCast.

* statement.cs (Block.ResolveMeta): Check for constant type.

GMCS:

2006-09-23  Marek Safar  <marek.safar@seznam.cz>

* convert.cs (ImplicitReferenceConversion): NullCast to EmptyConstantCast.

* cs-parser.jay: Parse correctly cast of default (T).

* generic.cs (DefaultValueExpression.DoResolve): Check for void type.
Store original type via EmptyConstantCast.

svn path=/trunk/mcs/; revision=65833
12 files changed:
mcs/gmcs/ChangeLog
mcs/gmcs/convert.cs
mcs/gmcs/cs-parser.jay
mcs/gmcs/generic.cs
mcs/mcs/ChangeLog
mcs/mcs/cfold.cs
mcs/mcs/const.cs
mcs/mcs/convert.cs
mcs/mcs/ecore.cs
mcs/mcs/expression.cs
mcs/mcs/literal.cs
mcs/mcs/statement.cs