root/tools/clang/blink_gc_plugin/tests/class_requires_finalization_base.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


// 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 CLASS_REQUIRES_FINALIZATION_BASE_H_
#define CLASS_REQUIRES_FINALIZATION_BASE_H_

#include "heap/stubs.h"

namespace WebCore {

class A : public GarbageCollected<A> {
public:
    virtual void trace(Visitor*) {}
};

class B {
public:
    ~B() { /* user-declared, thus, non-trivial */ }
};

// Second base class needs finalization.
class NeedsFinalizer : public A, public B {
public:
    void trace(Visitor*);
};

// Base does not need finalization.
class DoesNotNeedFinalizer : public A {
public:
    void trace(Visitor*);
};

}

#endif

/* [<][>][^][v][top][bottom][index][help] */