162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Copyright 2015 The Chromium Authors. All rights reserved.
262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// Use of this source code is governed by a BSD-style license that can be
362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch// found in the LICENSE file.
462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch#include "traceimpl_overloaded_error.h"
662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochnamespace blink {
862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid ExternBase::trace(Visitor* visitor) {
1062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  traceImpl(visitor);
1162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
1262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
1362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid ExternBase::trace(InlinedGlobalMarkingVisitor visitor) {
1462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  traceImpl(visitor);
1562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
1662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
1762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochtemplate <typename VisitorDispatcher>
1862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochinline void ExternBase::traceImpl(VisitorDispatcher visitor) {
1962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // Missing visitor->trace(x_base_).
2062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
2162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
2262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid ExternDerived::trace(Visitor* visitor) {
2362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  traceImpl(visitor);
2462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
2562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
2662ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochvoid ExternDerived::trace(InlinedGlobalMarkingVisitor visitor) {
2762ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  traceImpl(visitor);
2862ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
2962ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
3062ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochtemplate <typename VisitorDispatcher>
3162ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdochinline void ExternDerived::traceImpl(VisitorDispatcher visitor) {
3262ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch  // Missing visitor->trace(x_derived_) and ExternBase::trace(visitor).
3362ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
3462ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch
3562ed631aa0ff23db68a47fd423efa9c019ff2c9eBen Murdoch}
36