Report less cascading errors
[mono.git] / mcs / mcs / dynamic.cs
index 1a0288e960e40f672ecc71f00670a615b28b05b8..0246c43a1b67fa9cba25972b19e283fd7558a5b2 100644 (file)
@@ -447,6 +447,7 @@ namespace Mono.CSharp
                                d.CreateContainer ();
                                d.DefineContainer ();
                                d.Define ();
+                               d.PrepareEmit ();
 
                                site.AddTypeContainer (d);
                                del_type = new TypeExpression (d.CurrentType, loc);
@@ -502,7 +503,7 @@ namespace Mono.CSharp
 
                        using (ec.With (BuilderContext.Options.OmitDebugInfo, true)) {
                                if (s.Resolve (bc)) {
-                                       Statement init = new If (new Binary (Binary.Operator.Equality, site_field_expr, new NullLiteral (loc), loc), s, loc);
+                                       Statement init = new If (new Binary (Binary.Operator.Equality, site_field_expr, new NullLiteral (loc)), s, loc);
                                        init.Emit (ec);
                                }
 
@@ -949,7 +950,7 @@ namespace Mono.CSharp
        sealed class DynamicSiteClass : HoistedStoreyClass
        {
                public DynamicSiteClass (TypeDefinition parent, MemberBase host, TypeParameters tparams)
-                       : base (parent, MakeMemberName (host, "DynamicSite", parent.DynamicSitesCounter, tparams, Location.Null), tparams, Modifiers.STATIC)
+                       : base (parent, MakeMemberName (host, "DynamicSite", parent.DynamicSitesCounter, tparams, Location.Null), tparams, Modifiers.STATIC, MemberKind.Class)
                {
                        parent.DynamicSitesCounter++;
                }