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

#ifndef __gnu_gcj_convert_Convert__
#define __gnu_gcj_convert_Convert__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace convert
      {
          class Convert;
      }
    }
  }
}

class gnu::gcj::convert::Convert : public ::java::lang::Object
{

public:
  Convert();
public: // actually package-private
  static void error(::java::lang::String *);
  static void help();
  static void version();
  static void missing(::java::lang::String *);
public:
  static void main(JArray< ::java::lang::String * > *);
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_convert_Convert__
