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