Home | History | Annotate | Download | only in tests
      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 
      7 namespace blink {
      8 
      9 template<typename T>
     10 void Super<T>::clearWeakMembers(Visitor* visitor)
     11 {
     12     (void)m_weak;
     13 }
     14 
     15 template<typename T>
     16 void 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 
     23 template<typename T>
     24 void Sub<T>::trace(Visitor* visitor)
     25 {
     26     // Missing trace of m_obj.
     27     Super<T>::trace(visitor);
     28 }
     29 
     30 void HeapObject::trace(Visitor* visitor)
     31 {
     32     visitor->trace(m_obj);
     33     Sub<HeapObject>::trace(visitor);
     34 }
     35 
     36 }
     37