2010-07-07 Marek Safar <marek.safar@gmail.com>
authorMarek Safar <marek.safar@gmail.com>
Wed, 7 Jul 2010 16:55:07 +0000 (16:55 -0000)
committerMarek Safar <marek.safar@gmail.com>
Wed, 7 Jul 2010 16:55:07 +0000 (16:55 -0000)
* ecore.cs: Don't report NRE warning for lifted null.

svn path=/trunk/mcs/; revision=160014

mcs/mcs/ChangeLog
mcs/mcs/ecore.cs

index 3915fe636a46da210d8e317533dff12030e259ef..67fd55b0cb50072fcc3b2df80028310702a6df4b 100644 (file)
@@ -1,3 +1,7 @@
+2010-07-07  Marek Safar  <marek.safar@gmail.com>
+
+       * ecore.cs: Don't report NRE warning for lifted null.
+
 2010-07-07  Marek Safar  <marek.safar@gmail.com>
 
        * typemanager.cs, convert.cs, expression.cs: Another reference
index 137709384656bda5e69b617bacef2f511a70501a..8f3e098aaf8c340f2c0a9e071ab3463bbe009cf0 100644 (file)
@@ -2808,8 +2808,7 @@ namespace Mono.CSharp {
 
                public virtual MemberExpr ResolveMemberAccess (ResolveContext ec, Expression left, SimpleName original)
                {
-                       Constant c = left as Constant;
-                       if (c != null && c.GetValue () == null) {
+                       if (left != null && left.IsNull && TypeManager.IsReferenceType (left.Type)) {
                                ec.Report.Warning (1720, 1, left.Location,
                                        "Expression will always cause a `{0}'", "System.NullReferenceException");
                        }