Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / clang / blink_gc_plugin / Config.h
index 5339470..917d070 100644 (file)
@@ -56,26 +56,35 @@ class Config {
 
   static bool IsWTFCollection(const std::string& name) {
     return name == "Vector" ||
+           name == "Deque" ||
            name == "HashSet" ||
-           name == "HashMap" ||
-           name == "HashCountedSet" ||
            name == "ListHashSet" ||
-           name == "Deque";
-  }
-
-  static bool IsPersistentGCCollection(const std::string& name) {
-    return name == "PersistentHeapVector" ||
-           name == "PersistentHeapHashMap" ||
-           name == "PersistentHeapHashSet";
+           name == "LinkedHashSet" ||
+           name == "HashCountedSet" ||
+           name == "HashMap";
   }
 
   static bool IsGCCollection(const std::string& name) {
     return name == "HeapVector" ||
-           name == "HeapHashMap" ||
+           name == "HeapDeque" ||
            name == "HeapHashSet" ||
+           name == "HeapListHashSet" ||
+           name == "HeapLinkedHashSet" ||
+           name == "HeapHashCountedSet" ||
+           name == "HeapHashMap" ||
            IsPersistentGCCollection(name);
   }
 
+  static bool IsPersistentGCCollection(const std::string& name) {
+    return name == "PersistentHeapVector" ||
+           name == "PersistentHeapDeque" ||
+           name == "PersistentHeapHashSet" ||
+           name == "PersistentHeapListHashSet" ||
+           name == "PersistentHeapLinkedHashSet" ||
+           name == "PersistentHeapHashCountedSet" ||
+           name == "PersistentHeapHashMap";
+  }
+
   static bool IsHashMap(const std::string& name) {
     return name == "HashMap" ||
            name == "HeapHashMap" ||
@@ -102,6 +111,10 @@ class Config {
            IsGCMixinBase(name);
   }
 
+  static bool IsTreeSharedBase(const std::string& name) {
+    return name == "TreeShared";
+  }
+
   static bool IsAnnotated(clang::Decl* decl, const std::string& anno) {
     clang::AnnotateAttr* attr = decl->getAttr<clang::AnnotateAttr>();
     return attr && (attr->getAnnotation() == anno);