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

#ifndef __net_sf_snowball_ext_FinnishStemmer__
#define __net_sf_snowball_ext_FinnishStemmer__

#pragma interface

#include <net/sf/snowball/SnowballProgram.h>
#include <gcj/array.h>

extern "Java"
{
  namespace net
  {
    namespace sf
    {
      namespace snowball
      {
        namespace ext
        {
          class FinnishStemmer;
        }
        class Among;
      }
    }
  }
}

class net::sf::snowball::ext::FinnishStemmer : public ::net::sf::snowball::SnowballProgram
{
public:
  FinnishStemmer ();
private:
  void copy_from (::net::sf::snowball::ext::FinnishStemmer *);
  jboolean r_mark_regions ();
  jboolean r_R2 ();
  jboolean r_particle_etc ();
  jboolean r_possessive ();
  jboolean r_LONG ();
  jboolean r_VI ();
  jboolean r_case ();
  jboolean r_other_endings ();
  jboolean r_i_plural ();
  jboolean r_t_plural ();
  jboolean r_tidy ();
public:
  virtual jboolean stem ();
private:
  JArray< ::net::sf::snowball::Among *> * __attribute__((aligned(__alignof__( ::net::sf::snowball::SnowballProgram )))) a_0;
  JArray< ::net::sf::snowball::Among *> *a_1;
  JArray< ::net::sf::snowball::Among *> *a_2;
  JArray< ::net::sf::snowball::Among *> *a_3;
  JArray< ::net::sf::snowball::Among *> *a_4;
  JArray< ::net::sf::snowball::Among *> *a_5;
  JArray< ::net::sf::snowball::Among *> *a_6;
  JArray< ::net::sf::snowball::Among *> *a_7;
  JArray< ::net::sf::snowball::Among *> *a_8;
  JArray< ::net::sf::snowball::Among *> *a_9;
  static jcharArray g_AEI;
  static jcharArray g_v;
  static jcharArray g_V;
  static jcharArray g_particle_end;
  jboolean B_ending_removed;
  ::java::lang::StringBuffer *S_x;
  jint I_p2;
  jint I_p1;
public:

  static ::java::lang::Class class$;
};

#endif /* __net_sf_snowball_ext_FinnishStemmer__ */
