Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(36)

Unified Diff: tools/clang/blink_gc_plugin/RecordInfo.h

Issue 834373003: BlinkGCPlugin: require GC mixin instances to declare local trace(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add missing 'override' annotations; sync heap/stubs.h with upstream defs Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/clang/blink_gc_plugin/Config.h ('k') | tools/clang/blink_gc_plugin/RecordInfo.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/clang/blink_gc_plugin/RecordInfo.h
diff --git a/tools/clang/blink_gc_plugin/RecordInfo.h b/tools/clang/blink_gc_plugin/RecordInfo.h
index d04ce9cd2c2e54421610e1dbe74d847e37865dce..82fb604137dfedd0a0cb3361506600e1c9a2de08 100644
--- a/tools/clang/blink_gc_plugin/RecordInfo.h
+++ b/tools/clang/blink_gc_plugin/RecordInfo.h
@@ -92,10 +92,13 @@ class RecordInfo {
bool IsStackAllocated();
bool IsNonNewable();
bool IsOnlyPlacementNewable();
+ bool IsGCMixinInstance();
clang::CXXMethodDecl* DeclaresNewOperator();
bool RequiresTraceMethod();
bool NeedsFinalization();
+ bool DeclaresGCMixinMethods();
+ bool DeclaresLocalTraceMethod();
TracingStatus NeedsTracing(Edge::NeedsTracingOption);
clang::CXXMethodDecl* InheritsNonVirtualTrace();
bool IsConsideredAbstract();
@@ -126,6 +129,8 @@ class RecordInfo {
CachedBool is_non_newable_;
CachedBool is_only_placement_newable_;
CachedBool does_need_finalization_;
+ CachedBool has_gc_mixin_methods_;
+ CachedBool is_declaring_local_trace_;
bool determined_trace_methods_;
clang::CXXMethodDecl* trace_method_;
« no previous file with comments | « tools/clang/blink_gc_plugin/Config.h ('k') | tools/clang/blink_gc_plugin/RecordInfo.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698