+2010-05-12 Marek Safar <marek.safar@gmail.com>
+
+ A fix for bug #604981
+ * generic.cs, decl.cs, anonymous.cs: Reset more type arguments
+ details for nested anonymous methods stories.
+
2010-05-11 Marek Safar <marek.safar@gmail.com>
A fix for bug #604735
type_params = null;
spec.IsGeneric = false;
spec.DeclaringType = parentStorey.CurrentType;
-// MemberName.TypeArguments = null;
+ MemberName.TypeArguments = null;
}
protected override bool DoResolveTypeParameters ()
}
if (inner_access == null) {
- if (field.Parent.MemberName.IsGeneric) {
+ if (field.Parent.IsGeneric) {
var fs = MemberCache.GetMember (field.Parent.CurrentType, field.Spec);
inner_access = new FieldExpr (fs, field.Location);
} else {
//
public class MemberName {
public readonly string Name;
- public readonly TypeArguments TypeArguments;
+ public TypeArguments TypeArguments;
public readonly MemberName Left;
public readonly Location Location;
//
// Return true when this member is a generic in C# terms
- // therefore nested non-generic type of generic type will
- // return false
+ // A nested non-generic type of generic type will return false
//
public bool IsGeneric {
get {
var inflated = (MemberSpec) MemberwiseClone ();
inflated.declaringType = inflator.TypeInstance;
inflated.state |= StateFlags.PendingMetaInflate;
+#if DEBUG
+ if (inflated.ID > 0)
+ inflated.ID = -inflated.ID;
+#endif
return inflated;
}
}
// Inflate generic type
- if (ts.IsGeneric)
+ if (ts.Arity > 0)
return InflateTypeParameters (ts);
return ts;