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 IGNORE_CLASS_H_
      6 #define IGNORE_CLASS_H_
      7 
      8 #include "heap/stubs.h"
      9 
     10 namespace blink {
     11 
     12 class HeapObject : public GarbageCollected<HeapObject> { };
     13 
     14 // Don't require trace method on ignored class.
     15 class GC_PLUGIN_IGNORE("http://crbug.com/12345") A;
     16 class A : public GarbageCollected<A> {
     17 private:
     18     Member<HeapObject> m_obj;
     19 };
     20 
     21 // Don't require tracing of fields on ignored class.
     22 class GC_PLUGIN_IGNORE("http://crbug.com/12345") B;
     23 class B : public GarbageCollected<B> {
     24 public:
     25     virtual void trace(Visitor*);
     26 private:
     27     Member<HeapObject> m_obj;
     28 };
     29 
     30 // Don't require tracing of an ignored base class.
     31 class C : public B {
     32 public:
     33     void trace(Visitor*);
     34 private:
     35     Member<HeapObject> m_obj;
     36 };
     37 
     38 }
     39 
     40 #endif
     41