[kaffe] CVS kaffe (robilad): Resynced with gjdoc
Kaffe CVS
cvs-commits at kaffe.org
Wed Dec 8 17:32:17 PST 2004
PatchSet 5578
Date: 2004/12/09 01:28:00
Author: robilad
Branch: HEAD
Tag: (none)
Log:
Resynced with gjdoc
Members:
ChangeLog:1.3124->1.3125
configure:1.396->1.397
configure.ac:1.91->1.92
tools/gjdoc/javalib/Makefile.am:1.5->1.6
tools/gjdoc/javalib/Makefile.in:1.32->1.33
tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java:1.1->1.2
tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/doclets/AbstractDoclet.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/doclets/htmldoclet/CssClass.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/AbstractTagImpl.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ClassDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ClassDocProxy.java:1.3->1.4
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/DocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/FieldDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/Main.java:1.3->1.4
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/MemberDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/MethodDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/PackageDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ParamTagImpl.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/Parser.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/RootDocImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/SeeTagImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java:1.2->1.3
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/TagImpl.java:1.1->1.2
tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java:1.1->1.2
Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.3124 kaffe/ChangeLog:1.3125
--- kaffe/ChangeLog:1.3124 Wed Dec 8 22:58:25 2004
+++ kaffe/ChangeLog Thu Dec 9 01:28:00 2004
@@ -28,6 +28,187 @@
2004-12-08 Dalibor Topic <robilad at kaffe.org>
+ * tools/gjdoc/javalib/gnu/classpath/tools/StringToolkit.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/TagContainer.java:
+ tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java,
+ tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/doclets/AbstractDoclet.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/doclets/htmldoclet/CssClass.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/AbstractTagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ClassDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ClassDocProxy.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/DocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/FieldDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/Main.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/MemberDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/MethodDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/PackageDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ParamTagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/Parser.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/RootDocImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/SeeTagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/TagImpl.java,
+ tools/gjdoc/javalib/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java:
+ Resyned with gjdoc.
+
+ * configure.ac:
+ Build gjdoc by default.
+
+ * configure,
+ tools/gjdoc/javalib/Makefile.am,
+ tools/gjdoc/javalib/Makefile.in:
+ Regenerated.
+
+
+ 2004-12-08 Julian Scheid <julian at sektor37.de>
+
+ * src/gnu/classpath/tools/doclets/AbstractDoclet.java: allow run()
+ to throw DocletConfigurationException; use printError() instead of
+ System.err.println() for error message output.
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java:
+ generate package-list file; implement options -link, -linkoffset.
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java:
+ initial version.
+
+ 2004-12-08 Julian Scheid <julian at sektor37.de>
+
+ * src/gnu/classpath/tools/StringToolkit.java: initial version.
+
+ 2004-12-08 Julian Scheid <julian at sektor37.de>
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java:
+ implement tag {@docRoot}.
+
+ * src/gnu/classpath/tools/gjdoc/DocImpl.java: fix handling of
+ generic inline tags.
+
+ 2004-12-08 Julian Scheid <julian at sektor37.de>
+
+ * src/gnu/classpath/tools/doclets/AbstractDoclet.java: omit unnamed
+ package from index; add method getAllPackages().
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/CssClass.java: add
+ new CSS classes for overriding information.
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java: show
+ overriding information; show field type; properly handle classes
+ in the unnamed package; add link to package overview page to
+ package class list; use getAllPackages() instead of
+ rootDoc.specifiedPackages() for package menu and overview page;
+ handle case when source files are not located in the proper
+ package directory.
+
+ * src/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java:
+ remove dead code.
+
+ * src/gnu/classpath/tools/gjdoc/Main.java: emit warning when -J
+ option is ignored; simulate option -JD (set system property);
+ allow user to specify Java source files on the command line.
+
+ * src/gnu/classpath/tools/gjdoc/PackageDocImpl.java: use TreeSet
+ instead of ArrayList for set of all classes.
+
+ * src/gnu/classpath/tools/gjdoc/Parser.java: have
+ processSourceFile() return the resulting ClassDoc.
+
+ * src/gnu/classpath/tools/gjdoc/RootDocImpl.java: handle source
+ files specified on command line.
+
+ * src/gnu/classpath/tools/FileSystemClassLoader.java: remove debug
+ output and dead code.
+
+ 2004-12-07 Julian Scheid <julian at sektor37.de>
+
+ * src/gnu/classpath/tools/gjdoc/Parser.java: sort methods, fields,
+ and constructors.
+
+ * src/gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java: fix
+ problems with final parameters and whitespace within array
+ dimension specifiers.
+
+ 2004-12-07 Julian Scheid <julian at sektor37.de>
+
+ * src/com/sun/javadoc/ClassDoc.java: add methods fields(boolean),
+ methods(boolean) and constructors(boolean).
+
+ * src/com/sun/javadoc/FieldDoc.java: add method constantValue().
+
+ * src/gnu/classpath/tools/FileSystemClassLoader.java: consider
+ Class-Path manifest attribute in jar files; add support for
+ finding resources.
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/CssClass.java: add
+ classes for return type and specifying interfaces.
+
+ * src/gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java: show
+ return type, specifying interfaces. output arbitrary inline tags.
+
+ * src/gnu/classpath/tools/gjdoc/AbstractTagImpl.java:
+ implement interface TagContainer; pass context member and context
+ tag to tag parser.
+
+ * src/gnu/classpath/tools/gjdoc/ClassDocImpl.java: add support for
+ unfiltered method, field and constructor arrays; implement
+ methods(boolean), fields(boolean) and constructors(boolean);
+ implement getFieldDoc, getMethodDoc, getConstructorDoc.
+
+ * src/gnu/classpath/tools/gjdoc/ClassDocProxy.java: implement
+ methods(boolean), fields(boolean) and constructors(boolean).
+
+ * src/gnu/classpath/tools/gjdoc/DocImpl.java: consider context
+ member and context tag in tag parser; add support for comment
+ inheritance.
+
+ * src/gnu/classpath/tools/gjdoc/FieldDocImpl.java: add dummy
+ implementation for constantValue().
+
+ * src/gnu/classpath/tools/gjdoc/InheritDocTagImpl.java: initial
+ version.
+
+ * src/gnu/classpath/tools/gjdoc/Main.java: ignore options starting
+ with -J; properly support -docletpath option.
+
+ * src/gnu/classpath/tools/gjdoc/MemberDocImpl.java: override
+ resolveComments() with support for automatic comment inheritance.
+
+ * src/gnu/classpath/tools/gjdoc/MethodDocImpl.java: remove
+ special-case handling of comment inheritance.
+
+ * src/gnu/classpath/tools/gjdoc/PackageDocImpl.java: pass null
+ context member and context tag to tag parser.
+
+ * src/gnu/classpath/tools/gjdoc/ParamTagImpl.java: support context
+ member and context tag.
+
+ * src/gnu/classpath/tools/gjdoc/Parser.java: support unfiltered
+ fields, methods and constructors.
+
+ * src/gnu/classpath/tools/gjdoc/RootDocImpl.java: don't close
+ rawCommentCache before doclet has run.
+
+ * src/gnu/classpath/tools/gjdoc/SeeTagImpl.java: remove debug
+ code.
+
+ * src/gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java: support
+ for context member and context tag.
+
+ * src/gnu/classpath/tools/gjdoc/TagImpl.java: likewise.
+
+ * src/gnu/classpath/tools/gjdoc/ThrowsTagImpl.java: likewise.
+
+ * src/gnu/classpath/tools/gjdoc/TagContainer.java: initial
+ version.
+
+2004-12-08 Dalibor Topic <robilad at kaffe.org>
+
* libraries/javalib/gnu/xml/dom/DomAttr.java,
libraries/javalib/gnu/xml/dom/DomCharacterData.java,
libraries/javalib/gnu/xml/dom/DomDoctype.java,
Index: kaffe/configure
diff -u kaffe/configure:1.396 kaffe/configure:1.397
--- kaffe/configure:1.396 Wed Dec 1 02:41:43 2004
+++ kaffe/configure Thu Dec 9 01:28:02 2004
@@ -1094,7 +1094,7 @@
--enable-libxmlj Enable building of libxmlj
--disable-xmltest Do not try to compile and run a test LIBXML program
--disable-xslttest Do not try to compile and run a test LIBXSLT program
- --enable-gjdoc Enable building of gjdoc
+ --disable-gjdoc Disable building of gjdoc
--enable-binreloc compile with binary relocation support
(default=enable when available)
@@ -56133,6 +56133,8 @@
if test "${enable_gjdoc+set}" = set; then
enableval="$enable_gjdoc"
+else
+ enable_gjdoc=yes
fi;
Index: kaffe/configure.ac
diff -u kaffe/configure.ac:1.91 kaffe/configure.ac:1.92
--- kaffe/configure.ac:1.91 Wed Dec 1 02:41:46 2004
+++ kaffe/configure.ac Thu Dec 9 01:28:08 2004
@@ -1909,8 +1909,10 @@
dnl -------------------------------------------------------------------------
AC_ARG_ENABLE([gjdoc],
- AS_HELP_STRING([--enable-gjdoc],
- [Enable building of gjdoc]))
+ AS_HELP_STRING([--disable-gjdoc],
+ [Disable building of gjdoc]),
+ [],
+ [enable_gjdoc=yes])
AM_CONDITIONAL([COND_GJDOC], [test x"$enable_gjdoc" = x"yes"])
Index: kaffe/tools/gjdoc/javalib/Makefile.am
diff -u kaffe/tools/gjdoc/javalib/Makefile.am:1.5 kaffe/tools/gjdoc/javalib/Makefile.am:1.6
--- kaffe/tools/gjdoc/javalib/Makefile.am:1.5 Sun Dec 5 18:26:36 2004
+++ kaffe/tools/gjdoc/javalib/Makefile.am Thu Dec 9 01:28:09 2004
@@ -19,98 +19,103 @@
toolslib_DATA = $(CLASSFILE)
gjdoc_jar_SRCS = \
- com/sun/javadoc/ClassDoc.java \
- com/sun/javadoc/ConstructorDoc.java \
- com/sun/javadoc/Doc.java \
- com/sun/javadoc/DocErrorReporter.java \
- com/sun/javadoc/Doclet.java \
- com/sun/javadoc/ExecutableMemberDoc.java \
- com/sun/javadoc/FieldDoc.java \
- com/sun/javadoc/MemberDoc.java \
- com/sun/javadoc/MethodDoc.java \
- com/sun/javadoc/PackageDoc.java \
- com/sun/javadoc/ParamTag.java \
- com/sun/javadoc/Parameter.java \
- com/sun/javadoc/ProgramElementDoc.java \
- com/sun/javadoc/RootDoc.java \
- com/sun/javadoc/SeeTag.java \
- com/sun/javadoc/SerialFieldTag.java \
+ com/sun/javadoc/ClassDoc.java \
+ com/sun/javadoc/ConstructorDoc.java \
+ com/sun/javadoc/Doc.java \
+ com/sun/javadoc/DocErrorReporter.java \
+ com/sun/javadoc/Doclet.java \
+ com/sun/javadoc/ExecutableMemberDoc.java \
+ com/sun/javadoc/FieldDoc.java \
+ com/sun/javadoc/MemberDoc.java \
+ com/sun/javadoc/MethodDoc.java \
+ com/sun/javadoc/PackageDoc.java \
+ com/sun/javadoc/ParamTag.java \
+ com/sun/javadoc/Parameter.java \
+ com/sun/javadoc/ProgramElementDoc.java \
+ com/sun/javadoc/RootDoc.java \
+ com/sun/javadoc/SeeTag.java \
+ com/sun/javadoc/SerialFieldTag.java \
+ com/sun/javadoc/Tag.java \
+ com/sun/javadoc/ThrowsTag.java \
+ com/sun/javadoc/Type.java \
com/sun/javadoc/SourcePosition.java \
- com/sun/javadoc/Tag.java \
- com/sun/javadoc/ThrowsTag.java \
- com/sun/javadoc/Type.java \
- com/sun/tools/doclets/Taglet.java \
- gnu/classpath/tools/FileSystemClassLoader.java \
- gnu/classpath/tools/IOToolkit.java \
- gnu/classpath/tools/doclets/AbstractDoclet.java \
- gnu/classpath/tools/doclets/DocletConfigurationException.java \
- gnu/classpath/tools/doclets/DocletOption.java \
- gnu/classpath/tools/doclets/DocletOptionColonSeparated.java \
- gnu/classpath/tools/doclets/DocletOptionFile.java \
- gnu/classpath/tools/doclets/DocletOptionFlag.java \
- gnu/classpath/tools/doclets/DocletOptionString.java \
- gnu/classpath/tools/doclets/InvalidPackageWildcardException.java \
- gnu/classpath/tools/doclets/PackageGroup.java \
- gnu/classpath/tools/doclets/PackageMatcher.java \
- gnu/classpath/tools/doclets/StandardTaglet.java \
- gnu/classpath/tools/doclets/TagletPrinter.java \
- gnu/classpath/tools/doclets/htmldoclet/CssClass.java \
- gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java \
- gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java \
- gnu/classpath/tools/doclets/xmldoclet/Driver.java \
- gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java \
- gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java \
- gnu/classpath/tools/doclets/xmldoclet/TargetContext.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java \
- gnu/classpath/tools/gjdoc/AbstractTagImpl.java \
- gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java \
- gnu/classpath/tools/gjdoc/ClassDocImpl.java \
- gnu/classpath/tools/gjdoc/ClassDocProxy.java \
- gnu/classpath/tools/gjdoc/ConstructorDocImpl.java \
- gnu/classpath/tools/gjdoc/Debug.java \
- gnu/classpath/tools/gjdoc/DirectoryTree.java \
- gnu/classpath/tools/gjdoc/DocImpl.java \
- gnu/classpath/tools/gjdoc/ErrorReporter.java \
- gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java \
- gnu/classpath/tools/gjdoc/FieldDocImpl.java \
- gnu/classpath/tools/gjdoc/GjdocPackageDoc.java \
- gnu/classpath/tools/gjdoc/GjdocRootDoc.java \
- gnu/classpath/tools/gjdoc/JavadocWrapper.java \
- gnu/classpath/tools/gjdoc/LinkTagImpl.java \
- gnu/classpath/tools/gjdoc/Main.java \
- gnu/classpath/tools/gjdoc/MemberDocImpl.java \
- gnu/classpath/tools/gjdoc/MethodDocImpl.java \
- gnu/classpath/tools/gjdoc/PackageDocImpl.java \
- gnu/classpath/tools/gjdoc/ParamTagImpl.java \
- gnu/classpath/tools/gjdoc/ParameterImpl.java \
- gnu/classpath/tools/gjdoc/ParseException.java \
- gnu/classpath/tools/gjdoc/Parser.java \
- gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java \
- gnu/classpath/tools/gjdoc/RootDocImpl.java \
- gnu/classpath/tools/gjdoc/SeeTagImpl.java \
- gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java \
- gnu/classpath/tools/gjdoc/SourcePositionImpl.java \
- gnu/classpath/tools/gjdoc/TagImpl.java \
- gnu/classpath/tools/gjdoc/TemporaryStore.java \
- gnu/classpath/tools/gjdoc/TextTagImpl.java \
- gnu/classpath/tools/gjdoc/ThrowsTagImpl.java \
- gnu/classpath/tools/gjdoc/Timer.java \
- gnu/classpath/tools/gjdoc/TimerDoclet.java \
- gnu/classpath/tools/gjdoc/TypeImpl.java \
- gnu/classpath/tools/gjdoc/WritableType.java \
- gnu/classpath/tools/java2xhtml/Java2xhtml.java \
- gnu/classpath/tools/taglets/AuthorTaglet.java \
- gnu/classpath/tools/taglets/CopyrightTaglet.java \
- gnu/classpath/tools/taglets/DeprecatedTaglet.java \
- gnu/classpath/tools/taglets/GenericTaglet.java \
- gnu/classpath/tools/taglets/SinceTaglet.java \
- gnu/classpath/tools/taglets/TagletContext.java \
- gnu/classpath/tools/taglets/VersionTaglet.java
+ com/sun/tools/doclets/Taglet.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java \
+ gnu/classpath/tools/doclets/xmldoclet/Driver.java \
+ gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java \
+ gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java \
+ gnu/classpath/tools/doclets/xmldoclet/TargetContext.java \
+ gnu/classpath/tools/doclets/htmldoclet/CssClass.java \
+ gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java \
+ gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java \
+ gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java \
+ gnu/classpath/tools/doclets/AbstractDoclet.java \
+ gnu/classpath/tools/doclets/DocletConfigurationException.java \
+ gnu/classpath/tools/doclets/DocletOption.java \
+ gnu/classpath/tools/doclets/DocletOptionColonSeparated.java \
+ gnu/classpath/tools/doclets/DocletOptionFile.java \
+ gnu/classpath/tools/doclets/DocletOptionFlag.java \
+ gnu/classpath/tools/doclets/DocletOptionString.java \
+ gnu/classpath/tools/doclets/InvalidPackageWildcardException.java \
+ gnu/classpath/tools/doclets/PackageGroup.java \
+ gnu/classpath/tools/doclets/PackageMatcher.java \
+ gnu/classpath/tools/doclets/StandardTaglet.java \
+ gnu/classpath/tools/doclets/TagletPrinter.java \
+ gnu/classpath/tools/gjdoc/AbstractTagImpl.java \
+ gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java \
+ gnu/classpath/tools/gjdoc/ClassDocImpl.java \
+ gnu/classpath/tools/gjdoc/ClassDocProxy.java \
+ gnu/classpath/tools/gjdoc/ConstructorDocImpl.java \
+ gnu/classpath/tools/gjdoc/Debug.java \
+ gnu/classpath/tools/gjdoc/DirectoryTree.java \
+ gnu/classpath/tools/gjdoc/DocImpl.java \
+ gnu/classpath/tools/gjdoc/ErrorReporter.java \
+ gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java \
+ gnu/classpath/tools/gjdoc/FieldDocImpl.java \
+ gnu/classpath/tools/gjdoc/JavadocWrapper.java \
+ gnu/classpath/tools/gjdoc/LinkTagImpl.java \
+ gnu/classpath/tools/gjdoc/Main.java \
+ gnu/classpath/tools/gjdoc/MemberDocImpl.java \
+ gnu/classpath/tools/gjdoc/MethodDocImpl.java \
+ gnu/classpath/tools/gjdoc/PackageDocImpl.java \
+ gnu/classpath/tools/gjdoc/ParamTagImpl.java \
+ gnu/classpath/tools/gjdoc/ParameterImpl.java \
+ gnu/classpath/tools/gjdoc/ParseException.java \
+ gnu/classpath/tools/gjdoc/Parser.java \
+ gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java \
+ gnu/classpath/tools/gjdoc/RootDocImpl.java \
+ gnu/classpath/tools/gjdoc/SeeTagImpl.java \
+ gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java \
+ gnu/classpath/tools/gjdoc/TagImpl.java \
+ gnu/classpath/tools/gjdoc/TemporaryStore.java \
+ gnu/classpath/tools/gjdoc/TextTagImpl.java \
+ gnu/classpath/tools/gjdoc/ThrowsTagImpl.java \
+ gnu/classpath/tools/gjdoc/Timer.java \
+ gnu/classpath/tools/gjdoc/TimerDoclet.java \
+ gnu/classpath/tools/gjdoc/TypeImpl.java \
+ gnu/classpath/tools/gjdoc/WritableType.java \
+ gnu/classpath/tools/gjdoc/GjdocPackageDoc.java \
+ gnu/classpath/tools/gjdoc/GjdocRootDoc.java \
+ gnu/classpath/tools/gjdoc/SourcePositionImpl.java \
+ gnu/classpath/tools/gjdoc/InheritDocTagImpl.java \
+ gnu/classpath/tools/gjdoc/TagContainer.java \
+ gnu/classpath/tools/taglets/CopyrightTaglet.java \
+ gnu/classpath/tools/taglets/AuthorTaglet.java \
+ gnu/classpath/tools/taglets/DeprecatedTaglet.java \
+ gnu/classpath/tools/taglets/GenericTaglet.java \
+ gnu/classpath/tools/taglets/SinceTaglet.java \
+ gnu/classpath/tools/taglets/TagletContext.java \
+ gnu/classpath/tools/taglets/VersionTaglet.java \
+ gnu/classpath/tools/java2xhtml/Java2xhtml.java \
+ gnu/classpath/tools/FileSystemClassLoader.java \
+ gnu/classpath/tools/IOToolkit.java \
+ gnu/classpath/tools/StringToolkit.java
+
## Do not delete the previous blank line; update-class-list depends on it
Index: kaffe/tools/gjdoc/javalib/Makefile.in
diff -u kaffe/tools/gjdoc/javalib/Makefile.in:1.32 kaffe/tools/gjdoc/javalib/Makefile.in:1.33
--- kaffe/tools/gjdoc/javalib/Makefile.in:1.32 Mon Dec 6 13:17:13 2004
+++ kaffe/tools/gjdoc/javalib/Makefile.in Thu Dec 9 01:28:09 2004
@@ -358,98 +358,102 @@
SRCDIRS = com gnu
toolslib_DATA = $(CLASSFILE)
gjdoc_jar_SRCS = \
- com/sun/javadoc/ClassDoc.java \
- com/sun/javadoc/ConstructorDoc.java \
- com/sun/javadoc/Doc.java \
- com/sun/javadoc/DocErrorReporter.java \
- com/sun/javadoc/Doclet.java \
- com/sun/javadoc/ExecutableMemberDoc.java \
- com/sun/javadoc/FieldDoc.java \
- com/sun/javadoc/MemberDoc.java \
- com/sun/javadoc/MethodDoc.java \
- com/sun/javadoc/PackageDoc.java \
- com/sun/javadoc/ParamTag.java \
- com/sun/javadoc/Parameter.java \
- com/sun/javadoc/ProgramElementDoc.java \
- com/sun/javadoc/RootDoc.java \
- com/sun/javadoc/SeeTag.java \
- com/sun/javadoc/SerialFieldTag.java \
+ com/sun/javadoc/ClassDoc.java \
+ com/sun/javadoc/ConstructorDoc.java \
+ com/sun/javadoc/Doc.java \
+ com/sun/javadoc/DocErrorReporter.java \
+ com/sun/javadoc/Doclet.java \
+ com/sun/javadoc/ExecutableMemberDoc.java \
+ com/sun/javadoc/FieldDoc.java \
+ com/sun/javadoc/MemberDoc.java \
+ com/sun/javadoc/MethodDoc.java \
+ com/sun/javadoc/PackageDoc.java \
+ com/sun/javadoc/ParamTag.java \
+ com/sun/javadoc/Parameter.java \
+ com/sun/javadoc/ProgramElementDoc.java \
+ com/sun/javadoc/RootDoc.java \
+ com/sun/javadoc/SeeTag.java \
+ com/sun/javadoc/SerialFieldTag.java \
+ com/sun/javadoc/Tag.java \
+ com/sun/javadoc/ThrowsTag.java \
+ com/sun/javadoc/Type.java \
com/sun/javadoc/SourcePosition.java \
- com/sun/javadoc/Tag.java \
- com/sun/javadoc/ThrowsTag.java \
- com/sun/javadoc/Type.java \
- com/sun/tools/doclets/Taglet.java \
- gnu/classpath/tools/FileSystemClassLoader.java \
- gnu/classpath/tools/IOToolkit.java \
- gnu/classpath/tools/doclets/AbstractDoclet.java \
- gnu/classpath/tools/doclets/DocletConfigurationException.java \
- gnu/classpath/tools/doclets/DocletOption.java \
- gnu/classpath/tools/doclets/DocletOptionColonSeparated.java \
- gnu/classpath/tools/doclets/DocletOptionFile.java \
- gnu/classpath/tools/doclets/DocletOptionFlag.java \
- gnu/classpath/tools/doclets/DocletOptionString.java \
- gnu/classpath/tools/doclets/InvalidPackageWildcardException.java \
- gnu/classpath/tools/doclets/PackageGroup.java \
- gnu/classpath/tools/doclets/PackageMatcher.java \
- gnu/classpath/tools/doclets/StandardTaglet.java \
- gnu/classpath/tools/doclets/TagletPrinter.java \
- gnu/classpath/tools/doclets/htmldoclet/CssClass.java \
- gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java \
- gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java \
- gnu/classpath/tools/doclets/xmldoclet/Driver.java \
- gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java \
- gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java \
- gnu/classpath/tools/doclets/xmldoclet/TargetContext.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java \
- gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java \
- gnu/classpath/tools/gjdoc/AbstractTagImpl.java \
- gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java \
- gnu/classpath/tools/gjdoc/ClassDocImpl.java \
- gnu/classpath/tools/gjdoc/ClassDocProxy.java \
- gnu/classpath/tools/gjdoc/ConstructorDocImpl.java \
- gnu/classpath/tools/gjdoc/Debug.java \
- gnu/classpath/tools/gjdoc/DirectoryTree.java \
- gnu/classpath/tools/gjdoc/DocImpl.java \
- gnu/classpath/tools/gjdoc/ErrorReporter.java \
- gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java \
- gnu/classpath/tools/gjdoc/FieldDocImpl.java \
- gnu/classpath/tools/gjdoc/GjdocPackageDoc.java \
- gnu/classpath/tools/gjdoc/GjdocRootDoc.java \
- gnu/classpath/tools/gjdoc/JavadocWrapper.java \
- gnu/classpath/tools/gjdoc/LinkTagImpl.java \
- gnu/classpath/tools/gjdoc/Main.java \
- gnu/classpath/tools/gjdoc/MemberDocImpl.java \
- gnu/classpath/tools/gjdoc/MethodDocImpl.java \
- gnu/classpath/tools/gjdoc/PackageDocImpl.java \
- gnu/classpath/tools/gjdoc/ParamTagImpl.java \
- gnu/classpath/tools/gjdoc/ParameterImpl.java \
- gnu/classpath/tools/gjdoc/ParseException.java \
- gnu/classpath/tools/gjdoc/Parser.java \
- gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java \
- gnu/classpath/tools/gjdoc/RootDocImpl.java \
- gnu/classpath/tools/gjdoc/SeeTagImpl.java \
- gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java \
- gnu/classpath/tools/gjdoc/SourcePositionImpl.java \
- gnu/classpath/tools/gjdoc/TagImpl.java \
- gnu/classpath/tools/gjdoc/TemporaryStore.java \
- gnu/classpath/tools/gjdoc/TextTagImpl.java \
- gnu/classpath/tools/gjdoc/ThrowsTagImpl.java \
- gnu/classpath/tools/gjdoc/Timer.java \
- gnu/classpath/tools/gjdoc/TimerDoclet.java \
- gnu/classpath/tools/gjdoc/TypeImpl.java \
- gnu/classpath/tools/gjdoc/WritableType.java \
- gnu/classpath/tools/java2xhtml/Java2xhtml.java \
- gnu/classpath/tools/taglets/AuthorTaglet.java \
- gnu/classpath/tools/taglets/CopyrightTaglet.java \
- gnu/classpath/tools/taglets/DeprecatedTaglet.java \
- gnu/classpath/tools/taglets/GenericTaglet.java \
- gnu/classpath/tools/taglets/SinceTaglet.java \
- gnu/classpath/tools/taglets/TagletContext.java \
- gnu/classpath/tools/taglets/VersionTaglet.java
+ com/sun/tools/doclets/Taglet.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTranslet.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletConfigurationException.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletException.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/JarClassLoader.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/OutputFileInfo.java \
+ gnu/classpath/tools/doclets/xmldoclet/doctranslet/DocTransletOptions.java \
+ gnu/classpath/tools/doclets/xmldoclet/Driver.java \
+ gnu/classpath/tools/doclets/xmldoclet/Driver1_4.java \
+ gnu/classpath/tools/doclets/xmldoclet/HtmlRepairer.java \
+ gnu/classpath/tools/doclets/xmldoclet/TargetContext.java \
+ gnu/classpath/tools/doclets/htmldoclet/CssClass.java \
+ gnu/classpath/tools/doclets/htmldoclet/HtmlDoclet.java \
+ gnu/classpath/tools/doclets/htmldoclet/HtmlPage.java \
+ gnu/classpath/tools/doclets/htmldoclet/ExternalDocSet.java \
+ gnu/classpath/tools/doclets/AbstractDoclet.java \
+ gnu/classpath/tools/doclets/DocletConfigurationException.java \
+ gnu/classpath/tools/doclets/DocletOption.java \
+ gnu/classpath/tools/doclets/DocletOptionColonSeparated.java \
+ gnu/classpath/tools/doclets/DocletOptionFile.java \
+ gnu/classpath/tools/doclets/DocletOptionFlag.java \
+ gnu/classpath/tools/doclets/DocletOptionString.java \
+ gnu/classpath/tools/doclets/InvalidPackageWildcardException.java \
+ gnu/classpath/tools/doclets/PackageGroup.java \
+ gnu/classpath/tools/doclets/PackageMatcher.java \
+ gnu/classpath/tools/doclets/StandardTaglet.java \
+ gnu/classpath/tools/doclets/TagletPrinter.java \
+ gnu/classpath/tools/gjdoc/AbstractTagImpl.java \
+ gnu/classpath/tools/gjdoc/ArrayCharacterIterator.java \
+ gnu/classpath/tools/gjdoc/ClassDocImpl.java \
+ gnu/classpath/tools/gjdoc/ClassDocProxy.java \
+ gnu/classpath/tools/gjdoc/ConstructorDocImpl.java \
+ gnu/classpath/tools/gjdoc/Debug.java \
+ gnu/classpath/tools/gjdoc/DirectoryTree.java \
+ gnu/classpath/tools/gjdoc/DocImpl.java \
+ gnu/classpath/tools/gjdoc/ErrorReporter.java \
+ gnu/classpath/tools/gjdoc/ExecutableMemberDocImpl.java \
+ gnu/classpath/tools/gjdoc/FieldDocImpl.java \
+ gnu/classpath/tools/gjdoc/JavadocWrapper.java \
+ gnu/classpath/tools/gjdoc/LinkTagImpl.java \
+ gnu/classpath/tools/gjdoc/Main.java \
+ gnu/classpath/tools/gjdoc/MemberDocImpl.java \
+ gnu/classpath/tools/gjdoc/MethodDocImpl.java \
+ gnu/classpath/tools/gjdoc/PackageDocImpl.java \
+ gnu/classpath/tools/gjdoc/ParamTagImpl.java \
+ gnu/classpath/tools/gjdoc/ParameterImpl.java \
+ gnu/classpath/tools/gjdoc/ParseException.java \
+ gnu/classpath/tools/gjdoc/Parser.java \
+ gnu/classpath/tools/gjdoc/ProgramElementDocImpl.java \
+ gnu/classpath/tools/gjdoc/RootDocImpl.java \
+ gnu/classpath/tools/gjdoc/SeeTagImpl.java \
+ gnu/classpath/tools/gjdoc/SerialFieldTagImpl.java \
+ gnu/classpath/tools/gjdoc/TagImpl.java \
+ gnu/classpath/tools/gjdoc/TemporaryStore.java \
+ gnu/classpath/tools/gjdoc/TextTagImpl.java \
+ gnu/classpath/tools/gjdoc/ThrowsTagImpl.java \
+ gnu/classpath/tools/gjdoc/Timer.java \
+ gnu/classpath/tools/gjdoc/TimerDoclet.java \
+ gnu/classpath/tools/gjdoc/TypeImpl.java \
+ gnu/classpath/tools/gjdoc/WritableType.java \
+ gnu/classpath/tools/gjdoc/GjdocPackageDoc.java \
+ gnu/classpath/tools/gjdoc/GjdocRootDoc.java \
+ gnu/classpath/tools/gjdoc/SourcePositionImpl.java \
+ gnu/classpath/tools/gjdoc/InheritDocTagImpl.java \
+ gnu/classpath/tools/gjdoc/TagContainer.java \
+ gnu/classpath/tools/taglets/CopyrightTaglet.java \
+ gnu/classpath/tools/taglets/AuthorTaglet.java \
+ gnu/classpath/tools/taglets/DeprecatedTaglet.java \
+ gnu/classpath/tools/taglets/GenericTaglet.java \
+ gnu/classpath/tools/taglets/SinceTaglet.java \
+ gnu/classpath/tools/taglets/TagletContext.java \
+ gnu/classpath/tools/taglets/VersionTaglet.java \
+ gnu/classpath/tools/java2xhtml/Java2xhtml.java \
+ gnu/classpath/tools/FileSystemClassLoader.java \
+ gnu/classpath/tools/IOToolkit.java \
+ gnu/classpath/tools/StringToolkit.java
gjdoc_ressources = \
dtd/dbcentx.mod \
Index: kaffe/tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java
diff -u kaffe/tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java:1.1 kaffe/tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java:1.2
--- kaffe/tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java:1.1 Wed Apr 14 19:41:07 2004
+++ kaffe/tools/gjdoc/javalib/com/sun/javadoc/ClassDoc.java Thu Dec 9 01:28:09 2004
@@ -140,6 +140,21 @@
/**
* This method returns the list of fields that are visible to the user in
+ * this class, or the list of all fields in this class.
+ *
+ * @param filtered if true, only return visible (included) fields;
+ * otherwise, return all fields.
+ *
+ * @return The list of visible fields in this class, or the list of
+ * all fields in this class.
+ */
+public abstract FieldDoc[]
+fields(boolean filtered);
+
+/*************************************************************************/
+
+/**
+ * This method returns the list of fields that are visible to the user in
* this class. Does this depend on the -private -protected, etc flags
* passed to javadoc?
*
@@ -151,6 +166,22 @@
/*************************************************************************/
/**
+ * This method returns either the list of methods that are visible to
+ * the user in the class represented by this object, or a list of all
+ * methods, excluding constructor methods.
+ *
+ * @param filtered if true, only return visible (included) methods;
+ * otherwise, return all methods.
+ *
+ * @return The list of all methods in this class, or the list of
+ * visible methods in this class.
+ */
+public abstract MethodDoc[]
+methods(boolean filtered);
+
+/*************************************************************************/
+
+/**
* This method returns the list of methods that are visible to the user in
* the class represented by this object, excluding constructor methods.
*
@@ -158,6 +189,22 @@
*/
public abstract MethodDoc[]
methods();
+
+/*************************************************************************/
+
+/**
+ * This method returns either the list of constructors that are
+ * visible to the user in the class represented by this object, or
+ * the list of all constructors.
+ *
+ * @param filtered if true, only return visible (included)
+ * constructors; otherwise, return all constructors.
+ *
+ * @return The list of all constructors in this class, or the list
+ * visible constructors in this class.
+ */
+public abstract ConstructorDoc[]
+constructors(boolean filtered);
/*************************************************************************/
Index: kaffe/tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java
diff -u kaffe/tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java:1.1 kaffe/tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java:1.2
--- kaffe/tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java:1.1 Wed Apr 14 19:41:07 2004
+++ kaffe/tools/gjdoc/javalib/com/sun/javadoc/FieldDoc.java Thu Dec 9 01:28:09 2004
@@ -67,5 +67,17 @@
public abstract SerialFieldTag[]
serialFieldTags();
+/*************************************************************************/
+
+/**
+ * This method returns the value of this static field.
+ *
+ * @return The value of this static field.
+ */
+public abstract Object
+constantValue();
+
+
+
} // interface FieldDoc
Index: kaffe/tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java
diff -u kaffe/tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java:1.1 kaffe/tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java:1.2
--- kaffe/tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java:1.1 Sun Dec 5 18:26:40 2004
+++ kaffe/tools/gjdoc/javalib/gnu/classpath/tools/FileSystemClassLoader.java Thu Dec 9 01:28:10 2004
@@ -25,13 +25,21 @@
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.IOException;
+import java.io.StreamTokenizer;
+import java.io.StringReader;
+import java.net.MalformedURLException;
+import java.net.URL;
+
+import java.util.LinkedList;
import java.util.List;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
+import java.util.jar.Manifest;
+import java.util.jar.Attributes;
/**
* A <code>ClassLoader</code> implementation which looks for classes
@@ -53,6 +61,12 @@
for (StringTokenizer st = new StringTokenizer(path, File.pathSeparator); st.hasMoreTokens(); ) {
File pathComponent = new File(st.nextToken());
components.add(pathComponent);
+ if (pathComponent.exists() && !pathComponent.isDirectory()) {
+ List subComponents = tryGetJarFileClassPathComponents(pathComponent);
+ if (null != subComponents) {
+ components.addAll(subComponents);
+ }
+ }
}
File[] componentArray = new File[components.size()];
this.pathComponents = (File[])components.toArray(componentArray);
@@ -86,6 +100,23 @@
return defineClass(name, b, 0, b.length);
}
+ public URL findResource(String name)
+ {
+ StreamInfo streamInfo = getResourceStream(name);
+ if (null == streamInfo) {
+ return super.findResource(name);
+ }
+ else {
+ try {
+ return streamInfo.getURL();
+ }
+ catch (MalformedURLException e) {
+ System.err.println("WARNING: In FileSystemClassLoader: could not derive URL from file or jar entry: " + e.toString());
+ return null;
+ }
+ }
+ }
+
private byte[] readFromStream(InputStream in, long size)
throws IOException
{
@@ -98,38 +129,168 @@
in.close();
return result;
}
+
+ private byte[] readFromStream(StreamInfo streamInfo)
+ throws IOException
+ {
+ InputStream in = streamInfo.openStream();
+ long size = streamInfo.getSize();
+
+ byte[] result = new byte[(int)size];
+ int nread = 0;
+ int offset = 0;
+ while (offset < size && (nread = in.read(result, offset, (int)(size - offset))) >= 0) {
+ offset += nread;
+ }
+ in.close();
+ return result;
+ }
+
+ private static interface StreamInfo
+ {
+ public InputStream openStream()
+ throws IOException;
+ public long getSize();
+ public URL getURL()
+ throws MalformedURLException;
+ }
+
+ private static class FileStreamInfo
+ implements StreamInfo
+ {
+ File file;
+
+ FileStreamInfo(File file)
+ {
+ this.file = file;
+ }
+
+ public InputStream openStream()
+ throws IOException
+ {
+ return new FileInputStream(file);
+ }
+
+ public long getSize()
+ {
+ return file.length();
+ }
+
+ public URL getURL()
+ throws MalformedURLException
+ {
+ return file.toURL();
+ }
+ }
+
+ private static class JarStreamInfo
+ implements StreamInfo
+ {
+ private File file;
+ private JarFile jarFile;
+ private JarEntry jarEntry;
+
+ JarStreamInfo(File file, JarFile jarFile, JarEntry jarEntry)
+ {
+ this.file = file;
+ this.jarFile = jarFile;
+ this.jarEntry = jarEntry;
+ }
+
+ public InputStream openStream()
+ throws IOException
+ {
+ return jarFile.getInputStream(jarEntry);
+ }
+
+ public long getSize()
+ {
+ return jarEntry.getSize();
+ }
+
+ public URL getURL()
+ throws MalformedURLException
+ {
+ String urlString = "jar:" + file.toURL() + "!/" + jarEntry.getName();
+ return new URL(urlString);
+ }
+ }
+ private StreamInfo getResourceStream(String path)
+ {
+ for (int i = 0; i < pathComponents.length; ++i) {
+ try {
+ File parent = pathComponents[i];
+ if (parent.isDirectory()) {
+ File file = new File(parent, path);
+ if (file.exists()) {
+ return new FileStreamInfo(file);
+ }
+ }
+ else {
+ JarFile jarFile = new JarFile(parent, false, JarFile.OPEN_READ);
+ JarEntry jarEntry = jarFile.getJarEntry(path);
+ if (null != jarEntry) {
+ return new JarStreamInfo(parent, jarFile, jarEntry);
+ }
+ }
+ }
+ catch (IOException ignore) {
+ }
+ }
+ return null;
+ }
+
private byte[] loadClassData(String className)
throws ClassNotFoundException
{
+ String classFileName = className.replace('.', File.separatorChar) + ".class";
+ StreamInfo streamInfo = getResourceStream(classFileName);
+
try {
- String classFileName = className.replace('.', File.separatorChar) + ".class";
-
- for (int i = 0; i < pathComponents.length; ++i) {
- try {
- File parent = pathComponents[i];
- if (parent.isDirectory()) {
- File file = new File(parent, classFileName);
- if (file.exists()) {
- return readFromStream(new FileInputStream(file), file.length());
- }
- }
- else {
- JarFile jarFile = new JarFile(parent, false, JarFile.OPEN_READ);
- JarEntry jarEntry = jarFile.getJarEntry(classFileName);
- if (null != jarEntry) {
- return readFromStream(jarFile.getInputStream(jarEntry),
- jarEntry.getSize());
+ if (null != streamInfo) {
+ return readFromStream(streamInfo);
+ }
+ }
+ catch (IOException ignore) {
+ }
+
+ throw new ClassNotFoundException(className);
+ }
+
+ private static List tryGetJarFileClassPathComponents(File file)
+ {
+ try {
+ JarFile jarFile = new JarFile(file, false, JarFile.OPEN_READ);
+ Manifest manifest = jarFile.getManifest();
+ if (null != manifest) {
+ Attributes mainAttributes = manifest.getMainAttributes();
+ if (null != mainAttributes) {
+ String classPath = mainAttributes.getValue(Attributes.Name.CLASS_PATH);
+ if (null != classPath) {
+ List result = new LinkedList();
+ StreamTokenizer tokenizer = new StreamTokenizer(new StringReader(classPath));
+ tokenizer.resetSyntax();
+ tokenizer.wordChars(0, Integer.MAX_VALUE);
+ tokenizer.whitespaceChars(9, 9); // tab
+ tokenizer.whitespaceChars(10, 10); // lf
+ tokenizer.whitespaceChars(13, 13); // cr
+ tokenizer.whitespaceChars(32, 32); // space
+ tokenizer.quoteChar('"');
+ int token;
+ while ((token = tokenizer.nextToken()) != StreamTokenizer.TT_EOF) {
+ if (StreamTokenizer.TT_WORD == token) {
+ result.add(new File(file.getParentFile(), tokenizer.sval));
+ }
}
+ return result;
}
*** Patch too long, truncated ***
More information about the kaffe
mailing list