2001-10-12 Ravi Pratap <ravi@ximian.com>
[mono.git] / mcs / mcs / assign.cs
index 5bf0206a468cde804f05c59c1b9adccdf71c707b..36081efe19fa5bf07bf9e464354075ccedf5a1a4 100755 (executable)
@@ -42,10 +42,10 @@ namespace CIR {
                        }
                }
 
-               public override Expression Resolve (TypeContainer tc)
+               public override Expression DoResolve (EmitContext ec)
                {
-                       target = target.Resolve (tc);
-                       source = source.Resolve (tc);
+                       target = target.Resolve (ec);
+                       source = source.Resolve (ec);
 
                        if (target == null || source == null)
                                return null;
@@ -55,15 +55,16 @@ namespace CIR {
                        Type source_type = source.Type;
 
                        if (target_type != source_type){
-                               source = ConvertImplicitRequired (tc, source, target_type, l);
+                               source = ConvertImplicitRequired (ec, source, target_type, l);
                                if (source == null)
                                        return null;
                        }
                        
                        if (!(target is LValue)){
-                               tc.RootContext.Report.Error (131, "Left hand of an assignment must be a variable, a property or an indexer");
+                               Report.Error (131, "Left hand of an assignment must be a variable, a property or an indexer");
                        }
                        type = target_type;
+                       eclass = ExprClass.Value;
                        return this;
                }