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