Run definitely assigned check on dynamic member access. Fixes #593369
authorMarek Safar <marek.safar@gmail.com>
Wed, 7 Sep 2011 16:54:15 +0000 (17:54 +0100)
committerMarek Safar <marek.safar@gmail.com>
Thu, 8 Sep 2011 14:36:38 +0000 (15:36 +0100)
mcs/errors/cs0165-15.cs
mcs/errors/known-issues-net_4_0
mcs/mcs/expression.cs

index a9c1b0ded11f0e5fac561492b23461854abf3475..fd3c76bc7e5d25f85f740521480aa4c445f61ae6 100644 (file)
@@ -1,5 +1,5 @@
 // CS0165: Use of unassigned local variable `errors'
-// Line: 8
+// Line: 9
 
 class T
 {
index 9cffc8e1742e816fa832698c5423bab33a69b690..ccb55996527b26534710cb8d9701edffac6d2eac 100644 (file)
@@ -17,8 +17,6 @@ cs0162-7.cs NO ERROR
 cs0457-2.cs
 cs0457.cs
 
-cs0165-15.cs NO ERROR # Bug 593369
-
 # all the following are from bug #628673
 cs1979.cs
 cs0168-2.cs
index 1bc5740a9666496385ecd2e9152b599f3385c578..8bf3151c9f922ca5eb72005eac79f3f27ef2dd61 100644 (file)
@@ -7708,6 +7708,16 @@ namespace Mono.CSharp
                                if (me != null)
                                        me.ResolveInstanceExpression (rc, null);
 
+                               //
+                               // Run defined assigned checks on expressions resolved with
+                               // disabled flow-analysis
+                               //
+                               if (sn != null) {
+                                       var vr = expr as VariableReference;
+                                       if (vr != null)
+                                               vr.VerifyAssigned (rc);
+                               }
+
                                Arguments args = new Arguments (1);
                                args.Add (new Argument (expr));
                                return new DynamicMemberBinder (Name, args, loc);