From e8277538e74bb70bcf8367267b527e8501eb1238 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 18 Jan 2008 00:38:04 +0000 Subject: [PATCH] Reverted implementation of ImmutableMap::find() to return a TreeTy* instead of an iterator, since the implementation returned an iterator that pointed to a different node! Renamed this implementation to SlimFind() so that users do not expect it to return an iterator (it is a more efficient implementation than returning an iterator if the user just wants to find the value of a key). Added a FIXME to implement ImmutableMap::find() that returns an iterator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46150 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/ImmutableMap.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/llvm/ADT/ImmutableMap.h b/include/llvm/ADT/ImmutableMap.h index 273a2977387..de1c5875a32 100644 --- a/include/llvm/ADT/ImmutableMap.h +++ b/include/llvm/ADT/ImmutableMap.h @@ -188,15 +188,17 @@ public: iterator begin() const { return iterator(Root); } iterator end() const { return iterator(); } - iterator find(key_type_ref K) const { + TreeTy* SlimFind(key_type_ref K) const { if (Root) { TreeTy* T = Root->find(K); - if (T) return iterator(T); + if (T) return T; } - return iterator(); + return NULL; } + // FIXME: Add 'find' that returns an iterator instead of a TreeTy*. + //===--------------------------------------------------===// // Utility methods. //===--------------------------------------------------===//