Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / tools / clang / blink_gc_plugin / tests / non_virtual_trace.h
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 NON_VIRTUAL_TRACE_H_
6 #define NON_VIRTUAL_TRACE_H_
7
8 #include "heap/stubs.h"
9
10 namespace blink {
11
12 class A : public GarbageCollected<A> {
13 public:
14     void trace(Visitor*);
15 };
16
17 class B : public A {
18 };
19
20 class C : public B {
21 public:
22     void trace(Visitor*); // Cannot override a non-virtual trace.
23 };
24
25 class D : public B {
26 public:
27     virtual void trace(Visitor*); // Cannot override a non-virtual trace.
28 };
29
30 }
31
32 #endif