mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-25 10:55:52 +08:00
URLClassLoader.java: Removed.
2007-01-15 Gary Benson <gbenson@redhat.com> * java/net/URLClassLoader.java: Removed. * gnu/java/net/loader/Load_gcjlib.java: New file. * gnu/gcj/runtime/BootClassLoader.java: Ensure core URL handler is present in static executables. * sources.am, Makefile.in: Rebuilt. From-SVN: r120791
This commit is contained in:
parent
9ebe2d22e7
commit
a5c0f6fe87
@ -1,3 +1,11 @@
|
||||
2007-01-15 Gary Benson <gbenson@redhat.com>
|
||||
|
||||
* java/net/URLClassLoader.java: Removed.
|
||||
* gnu/java/net/loader/Load_gcjlib.java: New file.
|
||||
* gnu/gcj/runtime/BootClassLoader.java: Ensure core
|
||||
URL handler is present in static executables.
|
||||
* sources.am, Makefile.in: Rebuilt.
|
||||
|
||||
2007-01-14 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* Makefile.am (libgcj_la_LDFLAGS): Add
|
||||
|
@ -1922,6 +1922,7 @@ classpath/gnu/java/net/loader/FileResource.java \
|
||||
classpath/gnu/java/net/loader/FileURLLoader.java \
|
||||
classpath/gnu/java/net/loader/JarURLLoader.java \
|
||||
classpath/gnu/java/net/loader/JarURLResource.java \
|
||||
gnu/java/net/loader/Load_gcjlib.java \
|
||||
classpath/gnu/java/net/loader/RemoteResource.java \
|
||||
classpath/gnu/java/net/loader/RemoteURLLoader.java \
|
||||
classpath/gnu/java/net/loader/Resource.java \
|
||||
@ -4402,7 +4403,7 @@ classpath/java/net/SocketTimeoutException.java \
|
||||
classpath/java/net/URI.java \
|
||||
classpath/java/net/URISyntaxException.java \
|
||||
classpath/java/net/URL.java \
|
||||
java/net/URLClassLoader.java \
|
||||
classpath/java/net/URLClassLoader.java \
|
||||
classpath/java/net/URLConnection.java \
|
||||
classpath/java/net/URLDecoder.java \
|
||||
classpath/java/net/URLEncoder.java \
|
||||
|
Binary file not shown.
Binary file not shown.
BIN
libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class
Normal file
BIN
libjava/classpath/lib/gnu/java/net/loader/Load_gcjlib.class
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -37,6 +37,9 @@ public:
|
||||
::java::lang::Class * bootLoadClass(::java::lang::String *);
|
||||
::java::net::URL * bootGetResource(::java::lang::String *);
|
||||
::java::util::Enumeration * bootGetResources(::java::lang::String *);
|
||||
public: // actually package-private
|
||||
static ::java::lang::Class * coreHandler;
|
||||
public:
|
||||
static ::java::lang::Class class$;
|
||||
};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
/* Copyright (C) 2005 Free Software Foundation
|
||||
/* Copyright (C) 2005, 2007 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
@ -8,6 +8,7 @@ details. */
|
||||
|
||||
package gnu.gcj.runtime;
|
||||
|
||||
import gnu.java.net.protocol.core.Handler;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.util.Enumeration;
|
||||
@ -21,6 +22,11 @@ import java.util.Enumeration;
|
||||
*/
|
||||
public final class BootClassLoader extends HelperClassLoader
|
||||
{
|
||||
// This forces the core URL handler to be included in statically
|
||||
// linked executables. The line that adds core:/ to the search
|
||||
// path fails otherwise.
|
||||
static Class coreHandler = gnu.java.net.protocol.core.Handler.class;
|
||||
|
||||
BootClassLoader(String libdir)
|
||||
{
|
||||
// The BootClassLoader is the top of the delegation chain. It does not
|
||||
|
50
libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h
Normal file
50
libjava/gnu/java/net/loader/Load_gcjlib$SoResource.h
Normal file
@ -0,0 +1,50 @@
|
||||
|
||||
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
|
||||
|
||||
#ifndef __gnu_java_net_loader_Load_gcjlib$SoResource__
|
||||
#define __gnu_java_net_loader_Load_gcjlib$SoResource__
|
||||
|
||||
#pragma interface
|
||||
|
||||
#include <gnu/java/net/loader/Resource.h>
|
||||
extern "Java"
|
||||
{
|
||||
namespace gnu
|
||||
{
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
namespace loader
|
||||
{
|
||||
class Load_gcjlib;
|
||||
class Load_gcjlib$SoResource;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
class URL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class gnu::java::net::loader::Load_gcjlib$SoResource : public ::gnu::java::net::loader::Resource
|
||||
{
|
||||
|
||||
public: // actually package-private
|
||||
Load_gcjlib$SoResource(::gnu::java::net::loader::Load_gcjlib *, ::java::net::URL *);
|
||||
public:
|
||||
::java::io::InputStream * getInputStream();
|
||||
jint getLength();
|
||||
::java::net::URL * getURL();
|
||||
private:
|
||||
::java::net::URL * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::Resource)))) url;
|
||||
public:
|
||||
static ::java::lang::Class class$;
|
||||
};
|
||||
|
||||
#endif // __gnu_java_net_loader_Load_gcjlib$SoResource__
|
58
libjava/gnu/java/net/loader/Load_gcjlib.h
Normal file
58
libjava/gnu/java/net/loader/Load_gcjlib.h
Normal file
@ -0,0 +1,58 @@
|
||||
|
||||
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
|
||||
|
||||
#ifndef __gnu_java_net_loader_Load_gcjlib__
|
||||
#define __gnu_java_net_loader_Load_gcjlib__
|
||||
|
||||
#pragma interface
|
||||
|
||||
#include <gnu/java/net/loader/URLLoader.h>
|
||||
extern "Java"
|
||||
{
|
||||
namespace gnu
|
||||
{
|
||||
namespace gcj
|
||||
{
|
||||
namespace runtime
|
||||
{
|
||||
class SharedLibHelper;
|
||||
}
|
||||
}
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
namespace loader
|
||||
{
|
||||
class Load_gcjlib;
|
||||
class Resource;
|
||||
class URLStreamHandlerCache;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
class URL;
|
||||
class URLClassLoader;
|
||||
class URLStreamHandlerFactory;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class gnu::java::net::loader::Load_gcjlib : public ::gnu::java::net::loader::URLLoader
|
||||
{
|
||||
|
||||
public:
|
||||
Load_gcjlib(::java::net::URLClassLoader *, ::gnu::java::net::loader::URLStreamHandlerCache *, ::java::net::URLStreamHandlerFactory *, ::java::net::URL *, ::java::net::URL *);
|
||||
::java::lang::Class * getClass(::java::lang::String *);
|
||||
::gnu::java::net::loader::Resource * getResource(::java::lang::String *);
|
||||
private:
|
||||
::gnu::gcj::runtime::SharedLibHelper * __attribute__((aligned(__alignof__( ::gnu::java::net::loader::URLLoader)))) helper;
|
||||
public:
|
||||
static ::java::lang::Class class$;
|
||||
};
|
||||
|
||||
#endif // __gnu_java_net_loader_Load_gcjlib__
|
77
libjava/gnu/java/net/loader/Load_gcjlib.java
Normal file
77
libjava/gnu/java/net/loader/Load_gcjlib.java
Normal file
@ -0,0 +1,77 @@
|
||||
/* Copyright (C) 2007 Free Software Foundation
|
||||
|
||||
This file is part of libgcj.
|
||||
|
||||
This software is copyrighted work licensed under the terms of the
|
||||
Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
||||
details. */
|
||||
|
||||
package gnu.java.net.loader;
|
||||
|
||||
import gnu.gcj.runtime.SharedLibHelper;
|
||||
import java.io.InputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import java.net.URLClassLoader;
|
||||
import java.net.URLConnection;
|
||||
import java.net.URLStreamHandlerFactory;
|
||||
|
||||
/**
|
||||
* A <code>Load_gcjlib</code> is a type of <code>URLLoader</code>
|
||||
* that loads classes and resources from a shared library.
|
||||
*/
|
||||
public final class Load_gcjlib extends URLLoader
|
||||
{
|
||||
private SharedLibHelper helper;
|
||||
|
||||
public Load_gcjlib(URLClassLoader classloader,
|
||||
URLStreamHandlerCache cache,
|
||||
URLStreamHandlerFactory factory,
|
||||
URL url, URL absoluteUrl)
|
||||
{
|
||||
super(classloader, cache, factory, url, absoluteUrl);
|
||||
helper = SharedLibHelper.findHelper(classloader, url.getFile(),
|
||||
noCertCodeSource, true);
|
||||
}
|
||||
|
||||
public Class getClass(String className)
|
||||
{
|
||||
return helper.findClass(className);
|
||||
}
|
||||
|
||||
public Resource getResource(String name)
|
||||
{
|
||||
URL url = helper.findResource(name);
|
||||
if (url == null)
|
||||
return null;
|
||||
return new SoResource(this, url);
|
||||
}
|
||||
|
||||
final static class SoResource extends Resource
|
||||
{
|
||||
private final URL url;
|
||||
|
||||
SoResource(Load_gcjlib loader, URL url)
|
||||
{
|
||||
super(loader);
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public InputStream getInputStream() throws IOException
|
||||
{
|
||||
URLConnection conn = url.openConnection();
|
||||
return conn.getInputStream();
|
||||
}
|
||||
|
||||
public int getLength()
|
||||
{
|
||||
// FIXME we could find this by asking the core object.
|
||||
return -1;
|
||||
}
|
||||
|
||||
public URL getURL ()
|
||||
{
|
||||
return url;
|
||||
}
|
||||
}
|
||||
}
|
@ -11,14 +11,26 @@
|
||||
|
||||
extern "Java"
|
||||
{
|
||||
namespace gnu
|
||||
{
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
namespace loader
|
||||
{
|
||||
class Resource;
|
||||
class URLStreamHandlerCache;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
namespace java
|
||||
{
|
||||
namespace net
|
||||
{
|
||||
class URL;
|
||||
class URLClassLoader;
|
||||
class URLClassLoader$Resource;
|
||||
class URLStreamHandler;
|
||||
class URLStreamHandlerFactory;
|
||||
}
|
||||
namespace security
|
||||
@ -52,12 +64,9 @@ public: // actually protected
|
||||
public:
|
||||
virtual ::java::lang::String * toString();
|
||||
private:
|
||||
::java::net::URLClassLoader$Resource * findURLResource(::java::lang::String *);
|
||||
::gnu::java::net::loader::Resource * findURLResource(::java::lang::String *);
|
||||
public:
|
||||
virtual ::java::net::URL * findResource(::java::lang::String *);
|
||||
public: // actually package-private
|
||||
virtual ::java::net::URLStreamHandler * getURLStreamHandler(::java::lang::String *);
|
||||
public:
|
||||
virtual ::java::util::Enumeration * findResources(::java::lang::String *);
|
||||
public: // actually protected
|
||||
virtual ::java::security::PermissionCollection * getPermissions(::java::security::CodeSource *);
|
||||
@ -68,8 +77,8 @@ public:
|
||||
public: // actually package-private
|
||||
static ::java::lang::Class * access$0(::java::net::URLClassLoader *, ::java::lang::String *, JArray< jbyte > *, jint, jint, ::java::security::CodeSource *);
|
||||
private:
|
||||
static ::java::util::HashMap * urlloaders;
|
||||
static ::java::util::HashMap * factoryCache;
|
||||
static ::gnu::java::net::loader::URLStreamHandlerCache * factoryCache;
|
||||
static ::java::lang::String * URL_LOADER_PREFIX;
|
||||
::java::util::Vector * __attribute__((aligned(__alignof__( ::java::security::SecureClassLoader)))) urls;
|
||||
::java::util::Vector * urlinfos;
|
||||
::java::net::URLStreamHandlerFactory * factory;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1338,6 +1338,7 @@ classpath/gnu/java/net/loader/FileResource.java \
|
||||
classpath/gnu/java/net/loader/FileURLLoader.java \
|
||||
classpath/gnu/java/net/loader/JarURLLoader.java \
|
||||
classpath/gnu/java/net/loader/JarURLResource.java \
|
||||
gnu/java/net/loader/Load_gcjlib.java \
|
||||
classpath/gnu/java/net/loader/RemoteResource.java \
|
||||
classpath/gnu/java/net/loader/RemoteURLLoader.java \
|
||||
classpath/gnu/java/net/loader/Resource.java \
|
||||
@ -4846,7 +4847,7 @@ classpath/java/net/SocketTimeoutException.java \
|
||||
classpath/java/net/URI.java \
|
||||
classpath/java/net/URISyntaxException.java \
|
||||
classpath/java/net/URL.java \
|
||||
java/net/URLClassLoader.java \
|
||||
classpath/java/net/URLClassLoader.java \
|
||||
classpath/java/net/URLConnection.java \
|
||||
classpath/java/net/URLDecoder.java \
|
||||
classpath/java/net/URLEncoder.java \
|
||||
|
Loading…
Reference in New Issue
Block a user