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 #ifndef BASE_CLASS_MUST_DEFINE_VIRTUAL_TRACE_H_
      6 #define BASE_CLASS_MUST_DEFINE_VIRTUAL_TRACE_H_
      7 
      8 #include "heap/stubs.h"
      9 
     10 namespace blink {
     11 
     12 class PartBase {
     13     DISALLOW_ALLOCATION();
     14     // Missing virtual trace.
     15 };
     16 
     17 class PartDerived : public PartBase {
     18     DISALLOW_ALLOCATION();
     19 public:
     20     virtual void trace(Visitor*);
     21 };
     22 
     23 class HeapBase : public GarbageCollected<HeapBase> {
     24     // Missing virtual trace.
     25 };
     26 
     27 
     28 class HeapDerived : public HeapBase {
     29 public:
     30     virtual void trace(Visitor*);
     31 private:
     32     PartDerived m_part;
     33 };
     34 
     35 
     36 }
     37 
     38 #endif
     39