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 LEFT_MOST_GC_BASE_H_ 6 #define LEFT_MOST_GC_BASE_H_ 7 8 #include "heap/stubs.h" 9 10 namespace blink { 11 12 class A { }; 13 class B { }; 14 15 class Right : public A, public B, public GarbageCollected<Right> { }; // Error 16 class Left : public GarbageCollected<Left>, public B, public A { }; 17 18 class DerivedRight : public Right, public Left { }; // Error 19 class DerivedLeft : public Left, public Right { }; 20 21 class C : public GarbageCollected<C> { 22 public: 23 virtual void Trace(Visitor*); 24 }; 25 26 class IllFormed : public A, public C { }; // Error 27 28 } 29 30 #endif 31