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

#ifndef __gnu_gcj_runtime_HelperClassLoader$1__
#define __gnu_gcj_runtime_HelperClassLoader$1__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace gnu
  {
    namespace gcj
    {
      namespace runtime
      {
          class HelperClassLoader;
          class HelperClassLoader$1;
      }
    }
  }
}

class gnu::gcj::runtime::HelperClassLoader$1 : public ::java::lang::Object
{

public: // actually package-private
  HelperClassLoader$1(::gnu::gcj::runtime::HelperClassLoader *);
public:
  jboolean accept(::java::io::File *, ::java::lang::String *);
public: // actually package-private
  ::gnu::gcj::runtime::HelperClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) this$0;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_gcj_runtime_HelperClassLoader$1__
