public IClass[] GetProjectContents(CodeCompletionDatabase db)
 {
     if (db != null)
         return db.GetClassList ();
     else
         return new IClass[0];
 }
        public string[] GetClassList(CodeCompletionDatabase db, string subNameSpace, bool includeReferences, bool caseSensitive)
        {
            ArrayList contents = new ArrayList ();

            if (db != null) {
                db.GetClassList (contents, subNameSpace, caseSensitive);
                if (includeReferences) {
                    foreach (ReferenceEntry re in db.References) {
                        CodeCompletionDatabase cdb = GetDatabase (re.Uri);
                        if (cdb == null) continue;
                        cdb.GetClassList (contents, subNameSpace, caseSensitive);
                    }
                }
            }

            if (includeReferences) {
                db = GetDatabase (CoreDB);
                db.GetClassList (contents, subNameSpace, caseSensitive);
            }

            return (string[]) contents.ToArray (typeof(string));
        }