• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "traceimpl_overloaded.h"
6 
7 namespace blink {
8 
Trace(Visitor * visitor)9 void ExternBase::Trace(Visitor* visitor) {
10   TraceImpl(visitor);
11 }
12 
Trace(InlinedGlobalMarkingVisitor visitor)13 void ExternBase::Trace(InlinedGlobalMarkingVisitor visitor) {
14   TraceImpl(visitor);
15 }
16 
17 template <typename VisitorDispatcher>
TraceImpl(VisitorDispatcher visitor)18 inline void ExternBase::TraceImpl(VisitorDispatcher visitor) {
19   visitor->Trace(x_base_);
20 }
21 
Trace(Visitor * visitor)22 void ExternDerived::Trace(Visitor* visitor) {
23   TraceImpl(visitor);
24 }
25 
Trace(InlinedGlobalMarkingVisitor visitor)26 void ExternDerived::Trace(InlinedGlobalMarkingVisitor visitor) {
27   TraceImpl(visitor);
28 }
29 
30 template <typename VisitorDispatcher>
TraceImpl(VisitorDispatcher visitor)31 inline void ExternDerived::TraceImpl(VisitorDispatcher visitor) {
32   visitor->Trace(x_derived_);
33   ExternBase::Trace(visitor);
34 }
35 
36 }
37