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