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

#ifndef __java_util_concurrent_Executors$6__
#define __java_util_concurrent_Executors$6__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace security
    {
        class PrivilegedExceptionAction;
    }
  }
}

class java::util::concurrent::Executors$6 : public ::java::lang::Object
{

public: // actually package-private
  Executors$6(::java::security::PrivilegedExceptionAction *);
public:
  ::java::lang::Object * call();
private:
  ::java::security::PrivilegedExceptionAction * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$action;
public:
  static ::java::lang::Class class$;
};

#endif // __java_util_concurrent_Executors$6__
