Browse Source

Fix NRE when searching for full names, but the event or property definition doesn't have an accessor.

pull/3691/head
Siegfried Pammer 2 weeks ago
parent
commit
c813c5f102
  1. 4
      ILSpy/Languages/Language.cs

4
ILSpy/Languages/Language.cs

@ -341,13 +341,13 @@ namespace ICSharpCode.ILSpy @@ -341,13 +341,13 @@ namespace ICSharpCode.ILSpy
case HandleKind.EventDefinition:
var ed = metadata.GetEventDefinition((EventDefinitionHandle)handle);
var declaringType = metadata.GetMethodDefinition(ed.GetAccessors().GetAny()).GetDeclaringType();
if (fullName)
if (fullName && !declaringType.IsNil)
return ILAmbience.EscapeName(declaringType.GetFullTypeName(metadata).ToILNameString(omitGenerics) + "." + metadata.GetString(ed.Name));
return ILAmbience.EscapeName(metadata.GetString(ed.Name));
case HandleKind.PropertyDefinition:
var pd = metadata.GetPropertyDefinition((PropertyDefinitionHandle)handle);
declaringType = metadata.GetMethodDefinition(pd.GetAccessors().GetAny()).GetDeclaringType();
if (fullName)
if (fullName && !declaringType.IsNil)
return ILAmbience.EscapeName(declaringType.GetFullTypeName(metadata).ToILNameString(omitGenerics) + "." + metadata.GetString(pd.Name));
return ILAmbience.EscapeName(metadata.GetString(pd.Name));
default:

Loading…
Cancel
Save