2002-01-31 Duncan Mak <duncan@ximian.com>
[mono.git] / mcs / mcs / const.cs
index bff455a1d5a523fc21f5e4b3b630329083cb8a27..60dce6d89e862f819da4f3a1402679722d775557 100755 (executable)
@@ -47,7 +47,7 @@ namespace Mono.CSharp {
                        ConstantType = constant_type;
                        Name = name;
                        Expr = expr;
-                       ModFlags = Modifiers.Check (AllowedModifiers, mod_flags, Modifiers.PRIVATE);
+                       ModFlags = Modifiers.Check (AllowedModifiers, mod_flags, Modifiers.PRIVATE, loc);
                        OptAttributes = attrs;
                }
 
@@ -58,6 +58,7 @@ namespace Mono.CSharp {
                        }
                }
 
+#if DEBUG
                void dump_tree (Type t)
                {
                        Console.WriteLine ("Dumping hierarchy");
@@ -67,6 +68,7 @@ namespace Mono.CSharp {
                                t = t.BaseType;
                        }
                }
+#endif
 
                /// <summary>
                ///   Defines the constant in the @parent
@@ -137,10 +139,10 @@ namespace Mono.CSharp {
                                ConstantValue = System.Enum.ToObject (
                                        type, ConstantValue);
                        }
-                       
+
                        FieldBuilder.SetConstant (ConstantValue);
 
-                       if (!TypeManager.RegisterField (FieldBuilder, ConstantValue))
+                       if (!TypeManager.RegisterFieldValue (FieldBuilder, ConstantValue))
                                return null;
 
                        return ConstantValue;
@@ -152,9 +154,6 @@ namespace Mono.CSharp {
                /// </summary>
                public void EmitConstant (TypeContainer parent)
                {
-                       if (FieldBuilder == null)
-                               return;
-                       
                        EmitContext ec = new EmitContext (parent, Location, null, type, ModFlags);
                        LookupConstantValue (ec);