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

#ifndef __java_awt_TextArea$AccessibleAWTTextArea__
#define __java_awt_TextArea$AccessibleAWTTextArea__

#pragma interface

#include <java/awt/TextComponent$AccessibleAWTTextComponent.h>
extern "Java"
{
  namespace java
  {
    namespace awt
    {
        class TextArea;
        class TextArea$AccessibleAWTTextArea;
    }
  }
  namespace javax
  {
    namespace accessibility
    {
        class AccessibleStateSet;
    }
  }
}

class java::awt::TextArea$AccessibleAWTTextArea : public ::java::awt::TextComponent$AccessibleAWTTextComponent
{

public: // actually protected
  TextArea$AccessibleAWTTextArea(::java::awt::TextArea *);
public:
  virtual ::javax::accessibility::AccessibleStateSet * getAccessibleStateSet();
private:
  static const jlong serialVersionUID = 3472827823632144419LL;
public: // actually package-private
  ::java::awt::TextArea * __attribute__((aligned(__alignof__( ::java::awt::TextComponent$AccessibleAWTTextComponent)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __java_awt_TextArea$AccessibleAWTTextArea__
