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

FindUserDefinedType() public method

public FindUserDefinedType ( 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 FindUserDefinedType(Declaration parent, string name, bool includeBuiltIn = false)
        {
            Declaration result = null;
            try
            {
                var matches = MatchName(name);
                result = matches.SingleOrDefault(declaration => declaration.DeclarationType == DeclarationType.UserDefinedType
                    && (parent == null || parent.Equals(declaration.ParentDeclaration))
                    && (includeBuiltIn || !declaration.IsBuiltIn));
            }
            catch (Exception exception)
            {
                Debug.WriteLine("Multiple matches found for user-defined type '{0}'.\n{1}", name, exception);
            }

            return result;
        }