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

#ifndef __java_net_URLClassLoader$2__
#define __java_net_URLClassLoader$2__

#pragma interface

#include <java/lang/Object.h>
extern "Java"
{
  namespace java
  {
    namespace net
    {
        class URLClassLoader;
        class URLClassLoader$2;
    }
  }
}

class java::net::URLClassLoader$2 : public ::java::lang::Object
{

public: // actually package-private
  URLClassLoader$2(::java::lang::ClassLoader *, ::java::lang::Object *);
public:
  virtual ::java::net::URLClassLoader * URLClassLoader$2$run();
  virtual ::java::lang::Object * run();
private:
  ::java::lang::ClassLoader * __attribute__((aligned(__alignof__( ::java::lang::Object)))) val$parent;
  ::java::lang::Object * val$securityContext;
public:
  static ::java::lang::Class class$;
};

#endif // __java_net_URLClassLoader$2__
