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 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