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