private bool HasMethod(TypeReference type, MethodSignature method) { if (type.HasMethod (method)) return true; TypeDefinition td = type.Resolve (); return td != null && td.BaseType != null && HasMethod (td.BaseType, method); }
private void CheckOperatorPair (KeyValuePair<MethodSignature, MethodSignature> pair, TypeReference type, Severity severity) { MethodDefinition op = type.GetMethod (pair.Key); if (op == null) { //first one not defined pair = new KeyValuePair<MethodSignature, MethodSignature> (pair.Value, pair.Key); //reverse op = type.GetMethod (pair.Key); if (op == null) return; //neither one is defined } else { if (type.HasMethod (pair.Value)) return; //both are defined } string s = string.Format (CultureInfo.InvariantCulture, Message, pair.Key.Name, pair.Value.Name); Runner.Report (op, severity, Confidence.Total, s); }