src/share/vm/classfile/classLoader.hpp
Print this page
*** 64,74 ****
// Attempt to locate file_name through this class path entry.
// Returns a class file parsing stream if successfull.
virtual ClassFileStream* open_stream(const char* name, TRAPS) = 0;
// Debugging
NOT_PRODUCT(virtual void compile_the_world(Handle loader, TRAPS) = 0;)
! NOT_PRODUCT(virtual bool is_rt_jar() = 0;)
};
class ClassPathDirEntry: public ClassPathEntry {
private:
--- 64,74 ----
// Attempt to locate file_name through this class path entry.
// Returns a class file parsing stream if successfull.
virtual ClassFileStream* open_stream(const char* name, TRAPS) = 0;
// Debugging
NOT_PRODUCT(virtual void compile_the_world(Handle loader, TRAPS) = 0;)
! NOT_PRODUCT(virtual bool is_jrt() = 0;)
};
class ClassPathDirEntry: public ClassPathEntry {
private:
*** 78,88 ****
const char* name() { return _dir; }
ClassPathDirEntry(const char* dir);
ClassFileStream* open_stream(const char* name, TRAPS);
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_rt_jar();)
};
// Type definitions for zip file and zip file entry
typedef void* jzfile;
--- 78,88 ----
const char* name() { return _dir; }
ClassPathDirEntry(const char* dir);
ClassFileStream* open_stream(const char* name, TRAPS);
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_jrt();)
};
// Type definitions for zip file and zip file entry
typedef void* jzfile;
*** 110,120 ****
u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS);
ClassFileStream* open_stream(const char* name, TRAPS);
void contents_do(void f(const char* name, void* context), void* context);
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_rt_jar();)
};
// For lazier loading of boot class path entries
class LazyClassPathEntry: public ClassPathEntry {
--- 110,120 ----
u1* open_entry(const char* name, jint* filesize, bool nul_terminate, TRAPS);
ClassFileStream* open_stream(const char* name, TRAPS);
void contents_do(void f(const char* name, void* context), void* context);
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_jrt();)
};
// For lazier loading of boot class path entries
class LazyClassPathEntry: public ClassPathEntry {
*** 136,146 ****
ClassFileStream* open_stream(const char* name, TRAPS);
void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; }
virtual bool is_lazy();
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_rt_jar();)
};
class PackageHashtable;
class PackageInfo;
class SharedPathsMiscInfo;
--- 136,164 ----
ClassFileStream* open_stream(const char* name, TRAPS);
void set_meta_index(MetaIndex* meta_index) { _meta_index = meta_index; }
virtual bool is_lazy();
// Debugging
NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_jrt();)
! };
!
! // For java image files
! class ImageFile;
! class ClassPathImageEntry: public ClassPathEntry {
! private:
! ImageFile *_image;
! public:
! bool is_jar_file() { return false; }
! bool is_open() { return _image != NULL; }
! const char* name();
! ClassPathImageEntry(char* name);
! ~ClassPathImageEntry();
! ClassFileStream* open_stream(const char* name, TRAPS);
!
! // Debugging
! NOT_PRODUCT(void compile_the_world(Handle loader, TRAPS);)
! NOT_PRODUCT(bool is_jrt();)
};
class PackageHashtable;
class PackageInfo;
class SharedPathsMiscInfo;
*** 224,233 ****
--- 242,252 ----
// Canonicalizes path names, so strcmp will work properly. This is mainly
// to avoid confusing the zip library
static bool get_canonical_path(const char* orig, char* out, int len);
public:
+ static jboolean decompress(void *in, u8 inSize, void *out, u8 outSize, char **pmsg);
static int crc32(int crc, const char* buf, int len);
static bool update_class_path_entry_list(const char *path,
bool check_for_duplicates,
bool throw_exception=true);
static void print_bootclasspath();