public IClass DeepGetClass(CodeCompletionDatabase db, string typeName, bool caseSensitive) { ArrayList visited = new ArrayList (); IClass c = DeepGetClassRec (visited, db, typeName, caseSensitive); if (c != null) return c; db = GetDatabase (CoreDB); return db.GetClass (typeName, caseSensitive); }
public IClass GetClass(CodeCompletionDatabase db, string typeName, bool caseSensitive) { if (db != null) { IClass c = db.GetClass (typeName, caseSensitive); if (c != null) return c; foreach (ReferenceEntry re in db.References) { CodeCompletionDatabase cdb = GetDatabase (re.Uri); if (cdb == null) continue; c = cdb.GetClass (typeName, caseSensitive); if (c != null) return c; } } db = GetDatabase (CoreDB); return db.GetClass (typeName, caseSensitive); }
internal IClass DeepGetClassRec(ArrayList visitedDbs, CodeCompletionDatabase db, string typeName, bool caseSensitive) { if (db == null) return null; if (visitedDbs.Contains (db)) return null; visitedDbs.Add (db); IClass c = db.GetClass (typeName, caseSensitive); if (c != null) return c; foreach (ReferenceEntry re in db.References) { CodeCompletionDatabase cdb = GetDatabase (re.Uri); if (cdb == null) continue; c = DeepGetClassRec (visitedDbs, cdb, typeName, caseSensitive); if (c != null) return c; } return null; }