if (TypeBuilder != null)
return TypeBuilder;
- TypeAttributes attr = Modifiers.TypeAttr (ModFlags, IsTopLevel);
-
ec = new EmitContext (this, this, Location, null, null, ModFlags, false);
ec.InEnumContext = true;
- attr |= TypeAttributes.Class | TypeAttributes.Sealed;
-
if (!(BaseType is TypeLookupExpression)) {
Report.Error (1008, Location,
"Type byte, sbyte, short, ushort, int, uint, " +
ModuleBuilder builder = CodeGen.Module.Builder;
- TypeBuilder = builder.DefineType (Name, attr, TypeManager.enum_type);
+ TypeBuilder = builder.DefineType (Name, TypeAttr, TypeManager.enum_type);
} else {
TypeBuilder builder = Parent.TypeBuilder;
TypeBuilder = builder.DefineNestedType (
- Basename, attr, TypeManager.enum_type);
+ Basename, TypeAttr, TypeManager.enum_type);
}
ec.ContainerType = TypeBuilder;
}
}
+ protected override TypeAttributes TypeAttr {
+ get {
+ return Modifiers.TypeAttr (ModFlags, IsTopLevel) |
+ TypeAttributes.Class | TypeAttributes.Sealed |
+ base.TypeAttr;
+ }
+ }
+
+
protected override void VerifyObsoleteAttribute()
{
// UnderlyingType is never obsolete