X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fmcs%2Fparameter.cs;h=275f1013e8b9dfb533215ddeaeb466e4d4a8faf9;hb=631d194f74cdf9feb8684931805a813d3e6fb40a;hp=adac136fdc07b1600a751e9f0fef356b019541e8;hpb=96b46d1ad02df1386622116a211e8bacd60f3509;p=mono.git diff --git a/mcs/mcs/parameter.cs b/mcs/mcs/parameter.cs index adac136fdc0..275f1013e8b 100644 --- a/mcs/mcs/parameter.cs +++ b/mcs/mcs/parameter.cs @@ -563,7 +563,8 @@ namespace Mono.CSharp { if (TypeSpecComparer.IsEqual (default_expr.Type, parameter_type) || (default_expr is NullConstant && TypeSpec.IsReferenceType (parameter_type) && !parameter_type.IsGenericParameter) || - parameter_type.BuiltinType == BuiltinTypeSpec.Type.Object) { + parameter_type.BuiltinType == BuiltinTypeSpec.Type.Object || + parameter_type.BuiltinType == BuiltinTypeSpec.Type.Dynamic) { return; } @@ -958,6 +959,19 @@ namespace Mono.CSharp { return sb.ToString (); } + public static bool HasSameParameterDefaults (AParametersCollection a, AParametersCollection b) + { + if (a == null) + return b == null; + + for (int i = 0; i < a.Count; ++i) { + if (a.FixedParameters [i].HasDefaultValue != b.FixedParameters [i].HasDefaultValue) + return false; + } + + return true; + } + public bool HasArglist { get { return has_arglist; } } @@ -1322,6 +1336,9 @@ namespace Mono.CSharp { for (int i = 0; i < parameters.Length; ++i) { Parameter p = (Parameter) parameters [i]; + if (p.Type != null) + p.Type.CheckObsoleteness (m, p.Location); + // // Try not to enter default values resolution if there are is not any default value possible //