public override string[] ConditionalConditions()
{
if ((caching_flags & (Flags.Excluded_Undetected | Flags.Excluded)) == 0)
return null;
if ((ModFlags & Modifiers.PARTIAL) != 0 && (caching_flags & Flags.Excluded) != 0)
return new string [0];
caching_flags &= ~Flags.Excluded_Undetected;
string[] conditions;
if (base_method == null) {
if (OptAttributes == null)
return null;
Attribute[] attrs = OptAttributes.SearchMulti (Module.PredefinedAttributes.Conditional);
if (attrs == null)
return null;
conditions = new string[attrs.Length];
for (int i = 0; i < conditions.Length; ++i)
conditions[i] = attrs[i].GetConditionalAttributeValue ();
} else {
conditions = base_method.MemberDefinition.ConditionalConditions();
}
if (conditions != null)
caching_flags |= Flags.Excluded;
return conditions;
}