Avoid random failure in CountdownEvent unit test
[mono.git] / mcs / class / corlib / System.Reflection.Emit / PropertyBuilder.cs
index 17aabfbbfeddc0ac9c3ff9f57f4a4ed71d4be720..6bbfff10e6d631db9f6c66d44a74632da5683ff0 100644 (file)
@@ -39,12 +39,13 @@ using System.Runtime.CompilerServices;
 using System.Runtime.InteropServices;
 
 namespace System.Reflection.Emit {
-#if NET_2_0
        [ComVisible (true)]
        [ComDefaultInterface (typeof (_PropertyBuilder))]
-#endif
        [ClassInterface (ClassInterfaceType.None)]
        public sealed class PropertyBuilder : PropertyInfo, _PropertyBuilder {
+
+// Managed version of MonoReflectionPropertyBuilder
+#pragma warning disable 169, 414
                private PropertyAttributes attrs;
                private string name;
                private Type type;
@@ -59,10 +60,14 @@ namespace System.Reflection.Emit {
                private Type[] returnModOpt;
                private Type[][] paramModReq;
                private Type[][] paramModOpt;
+               CallingConventions callingConvention;           
+#pragma warning restore 169, 414
                
-               internal PropertyBuilder (TypeBuilder tb, string name, PropertyAttributes attributes, Type returnType, Type[] returnModReq, Type[] returnModOpt, Type[] parameterTypes, Type[][] paramModReq, Type[][] paramModOpt) {
+               internal PropertyBuilder (TypeBuilder tb, string name, PropertyAttributes attributes, CallingConventions callingConvention, Type returnType, Type[] returnModReq, Type[] returnModOpt, Type[] parameterTypes, Type[][] paramModReq, Type[][] paramModOpt)
+               {
                        this.name = name;
                        this.attrs = attributes;
+                       this.callingConvention = callingConvention;
                        this.type = returnType;
                        this.returnModReq = returnModReq;
                        this.returnModOpt = returnModOpt;
@@ -133,13 +138,12 @@ namespace System.Reflection.Emit {
                        def_value = defaultValue;
                }
                public void SetCustomAttribute( CustomAttributeBuilder customBuilder) {
-#if NET_2_0
                        string attrname = customBuilder.Ctor.ReflectedType.FullName;
                        if (attrname == "System.Runtime.CompilerServices.SpecialNameAttribute") {
                                attrs |= PropertyAttributes.SpecialName;
                                return;
                        }
-#endif
+
                        if (cattrs != null) {
                                CustomAttributeBuilder[] new_array = new CustomAttributeBuilder [cattrs.Length + 1];
                                cattrs.CopyTo (new_array, 0);
@@ -151,9 +155,7 @@ namespace System.Reflection.Emit {
                        }
                }
 
-#if NET_2_0
                [ComVisible (true)]
-#endif
                public void SetCustomAttribute( ConstructorInfo con, byte[] binaryAttribute) {
                        SetCustomAttribute (new CustomAttributeBuilder (con, binaryAttribute));
                }
@@ -168,13 +170,11 @@ namespace System.Reflection.Emit {
                public override void SetValue( object obj, object value, BindingFlags invokeAttr, Binder binder, object[] index, CultureInfo culture) {
                }
 
-#if NET_2_0
                public override Module Module {
                        get {
                                return base.Module;
                        }
                }
-#endif
 
                 void _PropertyBuilder.GetIDsOfNames([In] ref Guid riid, IntPtr rgszNames, uint cNames, uint lcid, IntPtr rgDispId)
                 {