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 a27f81023e68efbe9a6d265bd36bbea467ae4696..710b3158dd3901bd32a182f05181effa3a7275b5 100644 |
--- a/tools/clang/blink_gc_plugin/RecordInfo.h |
+++ b/tools/clang/blink_gc_plugin/RecordInfo.h |
@@ -32,13 +32,17 @@ class GraphPoint { |
class BasePoint : public GraphPoint { |
public: |
- BasePoint(RecordInfo* info, const TracingStatus& status) |
- : info_(info), status_(status) {} |
- RecordInfo* info() { return info_; } |
+ BasePoint(const clang::CXXBaseSpecifier& spec, |
+ RecordInfo* info, |
+ const TracingStatus& status) |
+ : spec_(spec), info_(info), status_(status) {} |
const TracingStatus NeedsTracing() { return status_; } |
// Needed to change the status of bases with a pure-virtual trace. |
void MarkUnneeded() { status_ = TracingStatus::Unneeded(); } |
+ const clang::CXXBaseSpecifier& spec() { return spec_; } |
+ RecordInfo* info() { return info_; } |
private: |
+ const clang::CXXBaseSpecifier& spec_; |
RecordInfo* info_; |
TracingStatus status_; |
}; |
@@ -85,6 +89,7 @@ class RecordInfo { |
bool IsStackAllocated(); |
bool RequiresTraceMethod(); |
+ bool NeedsFinalization(); |
TracingStatus NeedsTracing(Edge::NeedsTracingOption); |
private: |