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

FindClass() public method

public FindClass ( 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 FindClass(Declaration parent, string name, bool includeBuiltIn = false)
        {
            if (parent == null)
            {
                throw new ArgumentNullException("parent");
            }

            Declaration result = null;
            try
            {
                result = MatchName(name).SingleOrDefault(declaration => declaration.DeclarationType == DeclarationType.Class
                    && parent.Equals(declaration.ParentDeclaration)
                    && (includeBuiltIn || !declaration.IsBuiltIn));
            }
            catch (InvalidOperationException exception)
            {
                Debug.WriteLine("Multiple matches found for class '{0}'.\n{1}", name, exception);
            }

            return result;
        }
    }