Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / tools / clang / blink_gc_plugin / tests / class_does_not_require_finalization.h
blob000dfd74142ebbaf0915a8328c1a43dd207294c1
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 CLASS_DOES_NOT_REQUIRE_FINALIZATION_BASE_H_
6 #define CLASS_DOES_NOT_REQUIRE_FINALIZATION_BASE_H_
8 #include "heap/stubs.h"
10 namespace blink {
12 class DoesNeedFinalizer : public GarbageCollectedFinalized<DoesNeedFinalizer> {
13 public:
14 ~DoesNeedFinalizer() { ; }
15 void trace(Visitor*);
18 class DoesNotNeedFinalizer
19 : public GarbageCollectedFinalized<DoesNotNeedFinalizer> {
20 public:
21 void trace(Visitor*);
24 class DoesNotNeedFinalizer2
25 : public GarbageCollectedFinalized<DoesNotNeedFinalizer2> {
26 public:
27 ~DoesNotNeedFinalizer2();
28 void trace(Visitor*);
31 class HasEmptyDtor {
32 public:
33 virtual ~HasEmptyDtor() { }
36 class DoesNotNeedFinalizer3
37 : public GarbageCollectedFinalized<DoesNotNeedFinalizer3>,
38 public HasEmptyDtor {
39 public:
40 void trace(Visitor*);
45 #endif