OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "heap/stubs.h" | 5 #include "heap/stubs.h" |
6 | 6 |
7 namespace blink { | 7 namespace blink { |
8 | 8 |
9 struct HeapObject : public GarbageCollected<HeapObject> { | 9 struct HeapObject : public GarbageCollected<HeapObject> { |
10 void trace(Visitor*) { } | 10 void trace(Visitor*) { } |
11 }; | 11 }; |
12 | 12 |
13 template<typename T> | 13 template<typename T> |
14 class TemplateBase | 14 class TemplateBase |
15 : public GarbageCollected<TemplateBase<T> > { | 15 : public GarbageCollected<TemplateBase<T> > { |
16 public: | 16 public: |
17 void trace(Visitor* visitor) { visitor->trace(m_obj); } | 17 void trace(Visitor* visitor) { visitor->trace(m_obj); } |
18 private: | 18 private: |
19 Member<HeapObject> m_obj; | 19 Member<HeapObject> m_obj; |
20 }; | 20 }; |
21 | 21 |
22 class Subclass : public TemplateBase<Subclass> { | 22 class Subclass : public TemplateBase<Subclass> { |
23 }; | 23 }; |
24 | 24 |
25 } | 25 } |
OLD | NEW |