public bool Match(Signatures.ISignature sig) { // match schema if given if (!String.IsNullOrEmpty(Schema) && !String.Equals(sig.Schema, Schema, StringComparison.InvariantCultureIgnoreCase)) { return(false); } // match and remove prefix if given var nm = sig.Name; if (!String.IsNullOrEmpty(Prefix)) { if (!nm.StartsWith(Prefix)) { return(false); } nm = nm.Substring(Prefix.Length); } // match pattern if also given if (!String.IsNullOrEmpty(Pattern) && !GetRegex().IsMatch(nm)) { return(false); } return(true); }
/// <summary> /// Compares a procedure name to our parameters and decides whether /// it should be ignored or processed. /// </summary> /// <param name="sig"></param> /// <returns></returns> public bool Match(Signatures.ISignature sig) { // match against a specific mapping foreach (var mo in Mappings) { if (mo.Match(sig)) { return(true); } } // matches the default mapping? if (ParseNames) { return(null != ParseNamesPattern ? ParseNamesPattern.IsMatch(sig.Name) : sig.Name.StartsWith(ParseNamesPrefix)); } // doesnt match return(!IgnoreNonMatchingProcedures); }