Author: marek
Date: 2008-02-13 10:46:10 -0500 (Wed, 13 Feb 2008)
New Revision: 95585
Modified:
trunk/mcs/mcs/ChangeLog
trunk/mcs/mcs/generic.cs
Log:
2008-02-13 Marek Safar <[EMAIL PROTECTED]>
* generic.cs (ConstraintChecker): Use cached member lookup when looking
for
the parameterless constructor.
Modified: trunk/mcs/mcs/ChangeLog
===================================================================
--- trunk/mcs/mcs/ChangeLog 2008-02-13 15:38:19 UTC (rev 95584)
+++ trunk/mcs/mcs/ChangeLog 2008-02-13 15:46:10 UTC (rev 95585)
@@ -1,5 +1,10 @@
2008-02-13 Marek Safar <[EMAIL PROTECTED]>
+ * generic.cs (ConstraintChecker): Use cached member lookup when looking
for
+ the parameterless constructor.
+
+2008-02-13 Marek Safar <[EMAIL PROTECTED]>
+
* generic.cs, typemanager.cs, iterators.cs, codegen.cs: Refactored core
lookup methods to use standard member cache when doing member lookup.
Modified: trunk/mcs/mcs/generic.cs
===================================================================
--- trunk/mcs/mcs/generic.cs 2008-02-13 15:38:19 UTC (rev 95584)
+++ trunk/mcs/mcs/generic.cs 2008-02-13 15:46:10 UTC (rev 95585)
@@ -1756,17 +1756,16 @@
tparam.GenericConstraints.HasValueTypeConstraint;
}
- MemberList list = TypeManager.FindMembers (
- atype, MemberTypes.Constructor,
- BindingFlags.Public | BindingFlags.Instance |
- BindingFlags.DeclaredOnly, null, null);
+ MemberInfo [] list = TypeManager.MemberLookup (null,
null, atype, MemberTypes.Constructor,
+ BindingFlags.Public | BindingFlags.Instance |
BindingFlags.DeclaredOnly,
+ ConstructorInfo.ConstructorName, null);
- if (atype.IsAbstract || (list == null))
+ if (list == null)
return false;
foreach (MethodBase mb in list) {
ParameterData pd = TypeManager.GetParameterData
(mb);
- if ((pd.Count == 0) && mb.IsPublic &&
!mb.IsStatic)
+ if (pd.Count == 0)
return true;
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches