Rubberduck.Parsing.Symbols.DeclarationFinder.FindEnum C# (CSharp) Method

FindEnum() public method

public FindEnum ( Rubberduck.Parsing.Symbols.Declaration parent, string name, bool includeBuiltIn = false ) : Rubberduck.Parsing.Symbols.Declaration
parent Rubberduck.Parsing.Symbols.Declaration
name string
includeBuiltIn bool
return Rubberduck.Parsing.Symbols.Declaration
        public Declaration FindEnum(Declaration parent, string name, bool includeBuiltIn = false)
        {
            Declaration result = null;
            try
            {
                var matches = MatchName(name);
                result = matches.SingleOrDefault(declaration => declaration.DeclarationType == DeclarationType.Enumeration
                    && (parent == null || parent.Equals(declaration.ParentDeclaration))
                    && (includeBuiltIn || !declaration.IsBuiltIn));
            }
            catch (Exception exception)
            {
                Debug.WriteLine("Multiple matches found for enum type '{0}'.\n{1}", name, exception);
            }

            return result;
        }