// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef TRACEIMPL_DEPENDENT_SCOPE_H_ #define TRACEIMPL_DEPENDENT_SCOPE_H_ #include "heap/stubs.h" namespace blink { class X : public GarbageCollected { public: virtual void Trace(Visitor*) {} }; template class Base : public GarbageCollected > { public: virtual void Trace(Visitor* visitor) {} }; template class Derived : public Base { public: void Trace(Visitor* visitor) override { Base::Trace(visitor); } }; template class DerivedMissingTrace : public Base { public: void Trace(Visitor* visitor) override { // Missing Base::Trace(visitor). } }; } #endif // TRACEIMPL_DEPENDENT_SCOPE_H_