
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_gcj_runtime_FinalizerThread__
#define __gnu_gcj_runtime_FinalizerThread__

#pragma interface

#include <java/lang/Thread.h>
extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace runtime
      {
          class FinalizerThread;
      }
    }
  }
}

class gnu::gcj::runtime::FinalizerThread : public ::java::lang::Thread
{

public:
  FinalizerThread();
private:
  void init();
public: // actually package-private
  static void finalizerReady();
public:
  void run();
private:
  static jboolean finalizer_ready;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_runtime_FinalizerThread__
