diff options
Diffstat (limited to 'tools/clang/blink_gc_plugin/tests/legacy_naming/left_most_gc_base.h')
-rw-r--r-- | tools/clang/blink_gc_plugin/tests/legacy_naming/left_most_gc_base.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/tools/clang/blink_gc_plugin/tests/legacy_naming/left_most_gc_base.h b/tools/clang/blink_gc_plugin/tests/legacy_naming/left_most_gc_base.h new file mode 100644 index 00000000..0d76d616 --- /dev/null +++ b/tools/clang/blink_gc_plugin/tests/legacy_naming/left_most_gc_base.h @@ -0,0 +1,30 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef LEFT_MOST_GC_BASE_H_ +#define LEFT_MOST_GC_BASE_H_ + +#include "heap/stubs.h" + +namespace blink { + +class A { }; +class B { }; + +class Right : public A, public B, public GarbageCollected<Right> { }; // Error +class Left : public GarbageCollected<Left>, public B, public A { }; + +class DerivedRight : public Right, public Left { }; // Error +class DerivedLeft : public Left, public Right { }; + +class C : public GarbageCollected<C> { +public: + virtual void trace(Visitor*); +}; + +class IllFormed : public A, public C { }; // Error + +} + +#endif |