private IEnumerable<string> GetConditionalSymbols(IMethod method)
{
var mappedMethod = method as GenericMappedMethod;
if (mappedMethod != null)
return GetConditionalSymbols(mappedMethod.SourceMember);
var constructedMethod = method as GenericConstructedMethod;
if (constructedMethod != null)
return GetConditionalSymbols(constructedMethod.GenericDefinition);
var externalMethod = method as ExternalMethod;
if (externalMethod != null)
return GetConditionalSymbols(externalMethod);
var internalMethod = method as InternalMethod;
if (internalMethod != null)
return GetConditionalSymbols(internalMethod);
return NoSymbols;
}