]> git.saurik.com Git - apple/javascriptcore.git/blobdiff - parser/SourceProviderCache.h
JavaScriptCore-1097.3.tar.gz
[apple/javascriptcore.git] / parser / SourceProviderCache.h
index 4df46f72ac61af7819faeb16cdffbc77e4296fe1..e94230d101dd49ce92094e9402b1a39b3a1ee1ea 100644 (file)
  * THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#ifndef SourceProviderCache_h
+#define SourceProviderCache_h
+
+#include "SourceProviderCacheItem.h"
 #include <wtf/HashMap.h>
+#include <wtf/OwnPtr.h>
 #include <wtf/PassOwnPtr.h>
 
 namespace JSC {
 
-class SourceProviderCacheItem;
-
 class SourceProviderCache {
 public:
     SourceProviderCache() : m_contentByteSize(0) {}
-    ~SourceProviderCache();
+    JS_EXPORT_PRIVATE ~SourceProviderCache();
 
-    void clear();
-    unsigned byteSize() const;
+    JS_EXPORT_PRIVATE void clear();
+    JS_EXPORT_PRIVATE unsigned byteSize() const;
     void add(int sourcePosition, PassOwnPtr<SourceProviderCacheItem>, unsigned size);
     const SourceProviderCacheItem* get(int sourcePosition) const { return m_map.get(sourcePosition); }
 
 private:
-    HashMap<int, SourceProviderCacheItem*> m_map;
+    HashMap<int, OwnPtr<SourceProviderCacheItem> > m_map;
     unsigned m_contentByteSize;
 };
 
 }
+
+#endif // SourceProviderCache_h