Roll src/third_party/WebKit f36d5e0:68b67cd (svn 193299:193303)
[chromium-blink-merge.git] / tools / clang / blink_gc_plugin / tests / left_most_gc_base.h
blob0d76d6161f4046e0651f0fbda3d72f447c08f279
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.
5 #ifndef LEFT_MOST_GC_BASE_H_
6 #define LEFT_MOST_GC_BASE_H_
8 #include "heap/stubs.h"
10 namespace blink {
12 class A { };
13 class B { };
15 class Right : public A, public B, public GarbageCollected<Right> { }; // Error
16 class Left : public GarbageCollected<Left>, public B, public A { };
18 class DerivedRight : public Right, public Left { }; // Error
19 class DerivedLeft : public Left, public Right { };
21 class C : public GarbageCollected<C> {
22 public:
23 virtual void trace(Visitor*);
26 class IllFormed : public A, public C { }; // Error
30 #endif