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

#ifndef __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__
#define __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__

#pragma interface

#include <java/awt/MenuItem$AccessibleAWTMenuItem.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class CheckboxMenuItem;
        class CheckboxMenuItem$AccessibleAWTCheckboxMenuItem;
    }
  }
}

class java::awt::CheckboxMenuItem$AccessibleAWTCheckboxMenuItem : public ::java::awt::MenuItem$AccessibleAWTMenuItem
{

public: // actually protected
  CheckboxMenuItem$AccessibleAWTCheckboxMenuItem(::java::awt::CheckboxMenuItem *);
private:
  static const jlong serialVersionUID = -1122642964303476LL;
public: // actually package-private
  ::java::awt::CheckboxMenuItem * __attribute__((aligned(__alignof__( ::java::awt::MenuItem$AccessibleAWTMenuItem)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_CheckboxMenuItem$AccessibleAWTCheckboxMenuItem__
