2010-06-02 Marek Safar <marek.safar@gmail.com>
[mono.git] / mcs / mcs / method.cs
index 852393a0ae004610bfbea170e7f88e3493dfbeed..2b92e4260b3140c4d1add641f97c5f5b42cd1ef1 100644 (file)
@@ -980,7 +980,9 @@ namespace Mono.CSharp {
                                        tp.Type.TypeArguments = base_tparam.TypeArguments;
 
                                        // TODO MemberCache: Inflate with different MVAR ?
-                                       tp.Type.Interfaces = base_tparam.InterfacesDefined;
+                                       if (base_tparam.InterfacesDefined != null)
+                                               tp.Type.Interfaces = new List<TypeSpec> (base_tparam.InterfacesDefined);
+
                                        tp.Type.BaseType = base_tparam.BaseType;
                                } else if (MethodData.implementing != null) {
                                        var base_tp = MethodData.implementing.Constraints[i];
@@ -1958,7 +1960,7 @@ namespace Mono.CSharp {
                                if (method_expr == null)
                                        throw new NotImplementedException ();
 
-                               method_expr.IsBase = true;
+                               method_expr.QueriedBaseType = base_type;
                                method_expr.InstanceExpression = new CompilerGeneratedThis (Parent.Definition, Location);
 
                                ToplevelBlock new_block = new ToplevelBlock (Compiler, Block.StartLocation);