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

#ifndef __gnu_java_lang_reflect_FieldSignatureParser__
#define __gnu_java_lang_reflect_FieldSignatureParser__

#pragma interface

#include <gnu/java/lang/reflect/GenericSignatureParser.h>
extern "Java"
{
  namespace gnu
  {
    namespace java
    {
      namespace lang
      {
        namespace reflect
        {
            class FieldSignatureParser;
        }
      }
    }
  }
}

class gnu::java::lang::reflect::FieldSignatureParser : public ::gnu::java::lang::reflect::GenericSignatureParser
{

public:
  FieldSignatureParser(::java::lang::Class *, ::java::lang::String *);
  ::java::lang::reflect::Type * getFieldType();
private:
  ::java::lang::reflect::Type * __attribute__((aligned(__alignof__( ::gnu::java::lang::reflect::GenericSignatureParser)))) type;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_java_lang_reflect_FieldSignatureParser__
