2002-11-14 Martin Baulig <martin@ximian.com>
[mono.git] / mcs / mcs / modifiers.cs
index 67b3435fb6f6ed3bf7ad30d82f420e5a5c41c49f..a5cf6f62c036aa69c09f8546ef6b5cbd5fdc0024 100755 (executable)
@@ -65,13 +65,12 @@ namespace Mono.CSharp {
 
                        return s;
                }
-               
-               public static TypeAttributes TypeAttr (int mod_flags, TypeContainer caller)
+
+               public static TypeAttributes TypeAttr (int mod_flags, bool is_toplevel)
                {
                        TypeAttributes t = 0;
-                       bool top_level = caller.IsTopLevel;
 
-                       if (top_level){
+                       if (is_toplevel){
                                if ((mod_flags & PUBLIC) != 0)
                                        t |= TypeAttributes.Public;
                                if ((mod_flags & PRIVATE) != 0)
@@ -94,6 +93,13 @@ namespace Mono.CSharp {
                        if ((mod_flags & ABSTRACT) != 0)
                                t |= TypeAttributes.Abstract;
 
+                       return t;
+               }
+               
+               public static TypeAttributes TypeAttr (int mod_flags, TypeContainer caller)
+               {
+                       TypeAttributes t = TypeAttr (mod_flags, caller.IsTopLevel);
+
                        // If we do not have static constructors, static methods
                        // can be invoked without initializing the type.
                        if (!caller.HaveStaticConstructor)