• 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