* roottypes.cs: Rename from tree.cs.
[mono.git] / mcs / class / corlib / System.Reflection.Emit / EnumBuilder.cs
index b7a3d8d2c7864739c555088447c8afb485d3712b..206085ca3f699ee9d371da7c155878e6eb0b4e83 100644 (file)
@@ -36,9 +36,15 @@ using System.Reflection;
 using System.Reflection.Emit;
 using System.Globalization;
 using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
 
 namespace System.Reflection.Emit {
-       public sealed class EnumBuilder : Type {
+#if NET_2_0
+       [ComVisible (true)]
+       [ComDefaultInterface (typeof (_EnumBuilder))]
+#endif
+       [ClassInterface (ClassInterfaceType.None)]
+       public sealed class EnumBuilder : Type, _EnumBuilder {
                private TypeBuilder _tb;
                private FieldBuilder _underlyingField;
                private Type _underlyingType;
@@ -339,6 +345,9 @@ namespace System.Reflection.Emit {
                        _tb.SetCustomAttribute (customBuilder);
                }
 
+#if NET_2_0
+               [ComVisible (true)]
+#endif
                public void SetCustomAttribute (ConstructorInfo con, byte[] binaryAttribute)
                {
                        SetCustomAttribute (new CustomAttributeBuilder (con, binaryAttribute));
@@ -351,13 +360,6 @@ namespace System.Reflection.Emit {
                        throw new NotImplementedException ();
                }
 
-               [MonoTODO]
-               public override bool HasGenericArguments {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-               }
-
                [MonoTODO]
                public override bool ContainsGenericParameters {
                        get {
@@ -378,18 +380,31 @@ namespace System.Reflection.Emit {
                                throw new NotImplementedException ();
                        }
                }
-
-               [MonoTODO]
-               public override MethodInfo DeclaringMethod {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-               }
 #endif
 
                private Exception CreateNotSupportedException ()
                {
                        return new NotSupportedException ("The invoked member is not supported in a dynamic module.");
                }
+
+               void _EnumBuilder.GetIDsOfNames ([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               void _EnumBuilder.GetTypeInfo (uint iTInfo, uint lcid, IntPtr ppTInfo)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               void _EnumBuilder.GetTypeInfoCount (out uint pcTInfo)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               void _EnumBuilder.Invoke (uint dispIdMember, [In] ref Guid riid, uint lcid, short wFlags, IntPtr pDispParams, IntPtr pVarResult, IntPtr pExcepInfo, IntPtr puArgErr)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }