1// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "trace_templated_super.h"
6
7namespace blink {
8
9template<typename T>
10void Super<T>::clearWeakMembers(Visitor* visitor)
11{
12    (void)m_weak;
13}
14
15template<typename T>
16void Super<T>::trace(Visitor* visitor)
17{
18    visitor->registerWeakMembers<Super<T>, &Super<T>::clearWeakMembers>(this);
19    visitor->trace(m_obj);
20    Mixin::trace(visitor);
21}
22
23template<typename T>
24void Sub<T>::trace(Visitor* visitor)
25{
26    // Missing trace of m_obj.
27    Super<T>::trace(visitor);
28}
29
30void HeapObject::trace(Visitor* visitor)
31{
32    visitor->trace(m_obj);
33    Sub<HeapObject>::trace(visitor);
34}
35
36}
37