2005-02-25 Martin Baulig <martin@ximian.com>
authorMartin Baulig <martin@novell.com>
Fri, 25 Feb 2005 18:43:07 +0000 (18:43 -0000)
committerMartin Baulig <martin@novell.com>
Fri, 25 Feb 2005 18:43:07 +0000 (18:43 -0000)
commit7716ba4749cb83a2d9b62292984c03e97c8641f3
tree09a673fff04a8c1ea99be9a3d589f6e0a188b91e
parent8b1b1b6e31b49100c30bb711af3853da30cb19e5
2005-02-25  Martin Baulig  <martin@ximian.com>

The first part of Nullable Types :-)

* generic.cs (NullableType): New public class.
(NullCoalescingOperator): New public class.
(TypeArguments.Resolve): Add a CS0306 check.

* cs-parser.jay (opt_error_modifier): Removed, this was unused.
(opt_nullable): New rule.
(type): Added `opt_nullable' to `namespace_or_type_name',
`builtin_types' and `pointer_type'.
(array_type): Added `opt_nullable'.
(opt_rank_specifier_or_nullable): New rule; this is the
combination of `opt_rank_specifier' and `opt_nullable'.
(opt_error): New rule; catch errors here.
(nullable_type_or_conditional): New rule; we use this to check for
nullable and still detect the conditional operator.
(local_variable_type): Use `opt_rank_specifier_or_nullable'
instead `opt_rank_specifier'.

* expression.cs (ComposedCast.DoResolveAsTypeStep): Added support
for nullables.

svn path=/trunk/mcs/; revision=41210
mcs/gmcs/ChangeLog
mcs/gmcs/cs-parser.jay
mcs/gmcs/cs-tokenizer.cs
mcs/gmcs/expression.cs
mcs/gmcs/generic.cs