[Mono-bugs] [Bug 389280] New: TypeManager. MemberLookup_FindMembers method throws NullReferenceException for arrays of emitting types
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon May 12 06:04:11 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=389280
Summary: TypeManager.MemberLookup_FindMembers method throws
NullReferenceException for arrays of emitting types
Product: Mono: Compilers
Version: 1.9.0
Platform: x86
OS/Version: Windows XP
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: mihailik at gmail.com
QAContact: mono-bugs at lists.ximian.com
Depends on: 389279
Found By: Other
Mono.CSharp.TypeManager.MemberLookup_FindMembers method
throws NullReferenceException for arrays of emitting types in MS_COMPATIBLE
mode
and with original Microsoft .NET 2.0 SP1
Proposed fix is to add check for IsArray:
private static MemberInfo [] MemberLookup_FindMembers (Type t,
MemberTypes mt,
BindingFlags bf,
string name, out
bool
used_cache)
{
MemberCache cache;
//
// If this is a dynamic type, it's always in the
`builder_to_declspace' hash table
// and we can ask the DeclSpace for the MemberCache.
//
#if MS_COMPATIBLE
if (t.Assembly == CodeGen.Assembly.Builder && !t.IsArray) {
if (t.IsGenericParameter) {
TypeParameter tparam = (TypeParameter)
builder_to_type_param[t];
used_cache = true;
if (tparam.MemberCache == null)
return new MemberInfo[0];
return tparam.MemberCache.FindMembers (
mt, bf, name,
FilterWithClosure_delegate, null);
}
if (t.IsGenericType && !t.IsGenericTypeDefinition)
t = t.GetGenericTypeDefinition ();
#else
if (t is TypeBuilder) {
#endif
DeclSpace decl = (DeclSpace) builder_to_declspace [t];
cache = decl.MemberCache;
…
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list