class_does_not_require_finalization.h revision 1320f92c476a1ad9d19dba2a48c72b75566198e9
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 CLASS_DOES_NOT_REQUIRE_FINALIZATION_BASE_H_
6#define CLASS_DOES_NOT_REQUIRE_FINALIZATION_BASE_H_
7
8#include "heap/stubs.h"
9
10namespace blink {
11
12class DoesNeedFinalizer : public GarbageCollectedFinalized<DoesNeedFinalizer> {
13public:
14    ~DoesNeedFinalizer() { ; }
15    void trace(Visitor*);
16};
17
18class DoesNotNeedFinalizer
19    : public GarbageCollectedFinalized<DoesNotNeedFinalizer> {
20public:
21    void trace(Visitor*);
22};
23
24class DoesNotNeedFinalizer2
25    : public GarbageCollectedFinalized<DoesNotNeedFinalizer2> {
26public:
27    ~DoesNotNeedFinalizer2();
28    void trace(Visitor*);
29};
30
31class HasEmptyDtor {
32public:
33    virtual ~HasEmptyDtor() { }
34};
35
36class DoesNotNeedFinalizer3
37    : public GarbageCollectedFinalized<DoesNotNeedFinalizer3>,
38      public HasEmptyDtor {
39public:
40    void trace(Visitor*);
41};
42
43}
44
45#endif
46