Merge pull request #1898 from alexanderkyte/debugger_variable_reflection
[mono.git] / mcs / class / corlib / System.Reflection.Emit / ConstructorOnTypeBuilderInst.cs
index 9b29c058dac094b7dc90892ef76c8f430d099366..149e5dbd6633d1a5d6940d761cfcc18be4a8e37f 100644 (file)
@@ -27,6 +27,7 @@
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+#if !FULL_AOT_RUNTIME
 using System;
 using System.Globalization;
 using System.Reflection;
@@ -73,6 +74,12 @@ namespace System.Reflection.Emit
                        }
                }
 
+               public override Module Module {
+                       get {
+                               return cb.Module;
+                       }
+               }
+
                public override bool IsDefined (Type attributeType, bool inherit)
                {
                        return cb.IsDefined (attributeType, inherit);
@@ -103,20 +110,25 @@ namespace System.Reflection.Emit
                        if (!instantiation.IsCreated)
                                throw new NotSupportedException ();
 
+                       return GetParametersInternal ();
+               }
+
+               internal override ParameterInfo[] GetParametersInternal ()
+               {
                        ParameterInfo [] res;
                        if (cb is ConstructorBuilder) {
                                ConstructorBuilder cbuilder = (ConstructorBuilder)cb;
                                res = new ParameterInfo [cbuilder.parameters.Length];
                                for (int i = 0; i < cbuilder.parameters.Length; i++) {
                                        Type type = instantiation.InflateType (cbuilder.parameters [i]);
-                                       res [i] = new ParameterInfo (cbuilder.pinfo == null ? null : cbuilder.pinfo [i], type, this, i + 1);
+                                       res [i] = ParameterInfo.New (cbuilder.pinfo == null ? null : cbuilder.pinfo [i], type, this, i + 1);
                                }
                        } else {
                                ParameterInfo[] parms = cb.GetParameters ();
                                res = new ParameterInfo [parms.Length];
                                for (int i = 0; i < parms.Length; i++) {
                                        Type type = instantiation.InflateType (parms [i].ParameterType);
-                                       res [i] = new ParameterInfo (parms [i], type, this, i + 1);
+                                       res [i] = ParameterInfo.New (parms [i], type, this, i + 1);
                                }
                        }
                        return res;
@@ -128,9 +140,9 @@ namespace System.Reflection.Emit
                        }
                }
 
-               internal override int GetParameterCount ()
+               internal override int GetParametersCount ()
                {
-                       return cb.GetParameterCount ();
+                       return cb.GetParametersCount ();
                }
 
                public override Object Invoke (Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
@@ -192,3 +204,4 @@ namespace System.Reflection.Emit
        }
 }
 
+#endif