| Index: tools/clang/blink_gc_plugin/Config.h
|
| diff --git a/tools/clang/blink_gc_plugin/Config.h b/tools/clang/blink_gc_plugin/Config.h
|
| index f0c4aeca33bacd8a434dd0048bffe842225abb1d..235bd28be3171aa5f63bad3afc6c3c8e09f3d0c2 100644
|
| --- a/tools/clang/blink_gc_plugin/Config.h
|
| +++ b/tools/clang/blink_gc_plugin/Config.h
|
| @@ -145,6 +145,10 @@ class Config {
|
| IsGCMixinBase(name);
|
| }
|
|
|
| + static bool IsScriptWrappable(const std::string& name) {
|
| + return name == "ScriptWrappable";
|
| + }
|
| +
|
| static bool IsIterator(const std::string& name) {
|
| return name == kIteratorName || name == kConstIteratorName ||
|
| name == kReverseIteratorName || name == kConstReverseIteratorName;
|
| @@ -156,15 +160,16 @@ class Config {
|
| return IsGCBase(name) || IsRefCountedBase(name);
|
| }
|
|
|
| - static bool IsAnnotated(clang::Decl* decl, const std::string& anno) {
|
| - clang::AnnotateAttr* attr = decl->getAttr<clang::AnnotateAttr>();
|
| - return attr && (attr->getAnnotation() == anno);
|
| - }
|
| + static bool IsAnnotated(clang::Decl* decl, const std::string& anno);
|
|
|
| static bool IsStackAnnotated(clang::Decl* decl) {
|
| return IsAnnotated(decl, "blink_stack_allocated");
|
| }
|
|
|
| + static bool IsStaticSingleton(clang::Decl* decl) {
|
| + return IsAnnotated(decl, "blink_gc_singleton_type");
|
| + }
|
| +
|
| static bool IsIgnoreAnnotated(clang::Decl* decl) {
|
| return IsAnnotated(decl, "blink_gc_plugin_ignore");
|
| }
|
|
|