Beispiel #1
0
        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);
        }
Beispiel #2
0
        /// <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);
        }