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