TryBindGenericParameters should look like:
foreach (var method in MethodBases) {
if (method.IsGenericMethodDefinition) {
if (typeArguments.Length ==
method.GetGenericArguments().Length) {
Debug.Assert(!(method is ConstructorInfo));
boundMethods.Add(((MethodInfo)method).MakeGenericMethod(typeArguments));
}
} else if (typeArguments.Length == 0) {
boundMethods.Add(method);
}
}
Will include this fix in Indexers2 shelveset.
Tomas
-----Original Message-----
From: Curt Hagenlocher
Sent: Tuesday, January 13, 2009 4:34 PM
To: Tomas Matousek; IronRuby External Code Reviewers
Cc: [email protected]
Subject: RE: Code Review: GenericMethodsAndOverloads
Changes look good overall.
In RubyMethodGroupInfo.TryBindGenericParameters, an empty set of types will
return all methods in MethodBases whether or not they're generic. What's the
reason for this behavior?
There's a chunk of code that was added to Utils.cs that's indented too far.
-----Original Message-----
From: Tomas Matousek
Sent: Monday, January 12, 2009 2:34 PM
To: IronRuby External Code Reviewers
Cc: [email protected]
Subject: Code Review: GenericMethodsAndOverloads
tfpt review "/shelveset:GenericMethodsAndOverloads;REDMOND\tomat"
Implements generic methods parameters binding and explicit overload
selection. Adds methods Method/UnboundMethod#of and
Method/UnboundMethod#overloads. Method#of takes a list of Ruby classes or CLR
types and returns a Method instance that has bound generic parameters to these
classes/types. Method#overloads takes a list of Ruby classes or CLR types and
returns a Method instance that includes only those CLR methods grouped in the
Method object whose parameters are of the given types.
Tomas
_______________________________________________
Ironruby-core mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/ironruby-core