Index: tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.h |
diff --git a/tools/clang/blink_gc_plugin/tests/base_requires_tracing.h b/tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.h |
similarity index 55% |
copy from tools/clang/blink_gc_plugin/tests/base_requires_tracing.h |
copy to tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.h |
index de3f186e3a96e72c5454efeaa285b15e8d7916c5..2d403a3f8768932df6cbc574331a819ab3821e3d 100644 |
--- a/tools/clang/blink_gc_plugin/tests/base_requires_tracing.h |
+++ b/tools/clang/blink_gc_plugin/tests/virtual_and_trace_after_dispatch.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef BASE_REQUIRES_TRACING_H_ |
-#define BASE_REQUIRES_TRACING_H_ |
+#ifndef VIRTUAL_AND_TRACE_AFTER_DISPATCH_H_ |
+#define VIRTUAL_AND_TRACE_AFTER_DISPATCH_H_ |
#include "heap/stubs.h" |
@@ -11,23 +11,20 @@ namespace WebCore { |
class A : public GarbageCollected<A> { |
public: |
- virtual void trace(Visitor*); |
-}; |
- |
-class B : public A { |
- // Does not need trace |
-}; |
- |
-class C : public B { |
-public: |
void trace(Visitor*); |
+ void traceAfterDispatch(Visitor*); |
+protected: |
+ enum Type { TB }; |
+ A(Type type) : m_type(type) { } |
private: |
- Member<A> m_a; |
+ Type m_type; |
}; |
-class D : public C { |
+class B : public A { |
public: |
- void trace(Visitor*); |
+ B() : A(TB) { } |
+ void traceAfterDispatch(Visitor*); |
+ virtual void foo() { } |
private: |
Member<A> m_a; |
}; |